השילוב של Twilio עם Salesforce Service Cloud Voice (SCV) מאפשר לנציגי Salesforce לבצע ולקבל שיחות ב-Salesforce באמצעות היכולות של פלטפורמת Twilio.
לפני שמתחילים
כדי לשלב את Salesforce Voice עם Twilio Flex, אתם צריכים גישה למשאבים הבאים:
- משאבים בנושא Salesforce ו-Agent Assist
- האפליקציה Agent Assist for Salesforce
חשבון Flex
פועלים לפי ההוראות בדף ההגדרה של Twilio כדי ליצור חשבון Flex. רושמים את מזהה המחרוזת של החשבון (SID), את מספר הטלפון ב-Twilio ואת אסימון האימות.
מספר טלפון שהוקצה בפלטפורמת הטלפוניה של Google
פועלים לפי ההוראות בפלטפורמת הטלפוניה של Google כדי לקבל מספר טלפון שהוקצה לשילוב עם תוסף מחבר Siprec של Twilio.
שלב 1: הגדרת Twilio service cloud voice
פועלים לפי ההוראות במדריך של Twilio כדי להגדיר את Salesforce SCV עם Twilio כספק טלפוניה שותף.
שלב 2: שילוב של Agent Assist עם Twilio Flex
כדי לשלב את Agent Assist עם Twilio Flex, פועלים לפי השלבים הבאים.
התקנת תוסף מחבר SIPREC
תוסף המחבר SIPREC מאפשר לחשבון Twilio Flex שלכם ליצור פיצולים של SIPREC של מדיה של שיחות קוליות ל-Agent Assist. כדי להתקין את תוסף מחבר SIPREC:
מנווטים אל Twilio Home ומזינים Marketplace בתיבת החיפוש.
לוחצים על קטלוג > מחברים של שידורים > מחבר Siprec > התקנה > הוספת מופע.
עוברים לכרטיסייה Configure (הגדרה) ומגדירים את הפלאגין עם הפרטים הבאים:
- שם ייחודי:
SipRec1 - שרת להקלטת סשנים:
sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
- שם ייחודי:
לוחצים על Save.
הגדרת פונקציות של Twilio
כדי להגדיר שתי פונקציות של Twilio, conversation-name ו-wrap-up, פועלים לפי השלבים הבאים.
- מנווטים אל מסוף Twilio ומזינים Function בתיבת החיפוש.
- לוחצים על Functions (פונקציות) > Create service (יצירת שירות).
- נותנים שם לשירות החדש
ui-connector-authולוחצים על הבא. - לוחצים על הוספה + > הוספת פונקציה.
כדי ליצור את הפונקציה conversation-name:
- נותנים לפונקציה את השם
conversation-name. - לוחצים על סמל הנעילה ומשנים את הרשאות הגישה של הפונקציה לגלוי לכולם.
- מעתיקים את הקוד
ui-connector-auth.jsומדביקים אותו בכלי העריכה. - לוחצים על Save.
אפשר להגדיר אוטומציה של תהליך השלמת השיחה באמצעות פונקציה wrap-up ו-EventCallbackUrl. כך לא צריך לסגור את השיחות באופן ידני גם ב-Salesforce וגם ב-Twilio Flex. כדי ליצור פונקציה לקבלת אירועים דרך EventCallbackUrl, פועלים לפי השלבים הבאים.wrap-up
- עוברים אל מסוף Twilio > סרגל החיפוש ומזינים Taskrouter Workspace.
- בוחרים באפשרות Taskrouter workspaces (סביבות עבודה של Taskrouter).
- רושמים את ה-SID בעמודה של סביבת העבודה.
- עוברים אל העורך ונותנים לפונקציה את השם
wrap-up. מוסיפים את הקוד הבא לעורך.
/** * @desc A Twilio Function that wraps up a conversation automatically to avoid agents being stuck * in a wrap up state while in Salesforce's Service Console. */ exports.handler = function(context, event, callback) { const response = new Twilio.Response(); const client = context.getTwilioClient(); /** * @TODO Add your workspaceSid to this variable. */ const workspaceSid = "" response.appendHeader('Content-Type', 'application/json'); if (!event.EventType) { response.setBody({}); return callback(null, response); } /** * This event is dispatched with the Event Callback Url, which is assigned in a Taskrouter Workspace's * Settings. */ if (event.EventType === 'task.wrapup') { client.taskrouter.v1.workspaces(workspaceSid) .tasks(event.TaskSid) .update({ assignmentStatus: 'completed', reason: 'Auto-completed via Function' }) .then(() => { response.setBody({ status: "completed" }); callback(null, response); }) .catch(err => { response.setStatusCode(500); response.setBody({ error: err.message }); callback(null, response); }); } else { response.setBody({ status: "ignored" }); callback(null, response); } };מאתרים את המשתנה
workspaceSidומעדכנים אותו עם ה-SID של סביבת העבודה מתוך השלב Taskrouter Workspace SID.רושמים את כתובת ה-URL של השירות. בשלב הבא תצטרכו להשתמש בכתובת ה-URL המלאה של הפונקציה
wrap-up.לוחצים על שמירה > פריסה של הכול.
עוברים למסוף Twilio ומזינים Taskrouter Workspaces בסרגל החיפוש.
לוחצים על סביבת העבודה שבה אתם משתמשים > הגדרות > קריאות חוזרות (callback) לאירועים > כתובת URL של קריאה חוזרת (callback) לאירועים.
מזינים את כתובת ה-URL של הפונקציה
wrap-upמהשלב הקודם.לוחצים על Callback events (אירועי קריאה חוזרת) ומגדירים את האפשרות Specific events (אירועים ספציפיים).
לוחצים על בחירת הכול > שמירה.
הגדרת IVR באמצעות Flex Studio
כדי להגדיר תפריט טלפוני אוטומטי, משתמשים ב-Twilio Studio כדי ליצור זרימת שיחות שמתחילה פיצול של SIPREC. הפיצול הזה שולח זרם מדיה ישירות ל-Agent Assist. בנוסף, זרימת השיחה מבצעת בקשת HTTP POST כדי לשתף את מספר הטלפון ואת מזהה השיחה עם Agent Assist.
כדי להגדיר תגובה קולית אינטראקטיבית (IVR) באמצעות Flex Studio, מבצעים את השלבים הבאים.
- מנווטים אל מסוף Twilio ומזינים Studio בתיבת החיפוש.
- לוחצים על Studio ונפתח דף מרכז הבקרה של Studio עם רשימת התהליכים.
בדף לוח הבקרה של הסטודיו, אפשר לבצע את הפעולות הבאות:
- עדכון של תהליך קיים.
- יוצרים רצף פעולות.
עדכון של תהליך עבודה קיים
כדי לעדכן תהליכי עבודה קיימים, פועלים לפי השלבים הבאים במסוף Twilio.
- בוחרים את התהליך שרוצים לעדכן.
- לוחצים על פיתוח > מספרי טלפון > ניהול > מספרים פעילים. צריכה להיות שורה אחת בטבלה עם מספר ברירת המחדל של Twilio שהוקצה לחשבון Flex שלכם.
- מנווטים אל Voice - Studio Workflow ולוחצים על Voice IVR.
יצירת רצף פעולות
יוצרים תהליכים חדשים כדי לבצע בקשת HTTP, להפעיל פונקציה, לפצל שידור ולשלוח אותו ל-Flex. כדי ליצור תהליך של בקשת HTTP, פועלים לפי השלבים הבאים במסוף Twilio.
- עוברים לדף מרכז הבקרה של Studio ולוחצים על יצירת תהליך חדש.
- מנווטים אל ווידג'ט חיפוש Google ומזינים HTTP.
- גוררים את הווידג'ט Make HTTP request (שליחת בקשת HTTP) לחלונית התהליך.
מגדירים את הווידג'ט עם הפרטים הבאים ולוחצים על שמירה.
- שם הווידג'ט:
register_twilio - שיטת הבקשה:
POST - כתובת ה-URL של הבקשה:
your-ui-connector-cloud-run-url.run.app/register-app
- סוג התוכן: Application/JSON
גוף הבקשה:
{ "accountSid": "yourTwilioAccountSid", "authToken": "yourTwilioAccountAuthToken" }
- שם הווידג'ט:
כדי ליצור תהליך עבודה של פונקציית הפעלה:
- מזינים Run function (הפעלת פונקציה) בווידג'ט החיפוש.
- גוררים את הווידג'ט Run function אל חלונית התהליך כדי להתחבר אל הפלט Success ואל הפלט Fail של הווידג'ט
register_twilio. מגדירים את הווידג'ט של פונקציית ההפעלה עם הפרטים הבאים:
- שם הווידג'ט:
conversation_name - שירות:
ui-connector-auth - סביבה: ui
- פונקציה:
/conversation-name פרמטרים של פונקציה: מזינים את הפרמטרים הבאים של הפונקציה
- טוקן:
{{ widgets.register_twilio.parsed.token }}
- נקודת קצה:
your-ui-connector-cloud-run-url.run.app/conversation-name
- טלפון:
{{ trigger.call.From | replace_first:'+','' }}
ConversationName:projects/project/locations/location/conversations/{{ trigger.call.CallSid }}
- טוקן:
- שם הווידג'ט:
לוחצים על Save.
כדי ליצור זרימת שידור מסועפת, פועלים לפי השלבים הבאים.
- כותבים Fork stream בווידג'ט החיפוש.
- מעבירים את הווידג'ט Fork Stream אל חלונית הזרימה כדי להתחבר אל הפלט Success ואל הפלט Fail של הווידג'ט make HTTP request.
מגדירים את הווידג'ט של מקור הנתונים המפוצל עם הפרטים הבאים:
- פעולת שידור: התחלה
- סוג מקור הנתונים:
Siprec - שם המחבר:
Siprec1 - טראקים: שני הטראקים
פרמטרים של סטרימינג: מזינים את הפרמטרים הבאים של הסטרימינג.
- מפתח: שיחה
- ערך:
projects/project-id/conversations/{{trigger.call.CallSid}}
לוחצים על Save.
כדי ליצור את התהליך של שליחה ל-Flex, פועלים לפי השלבים הבאים.
- מזינים Send to Flex (שליחה ל-Flex) בווידג'ט החיפוש.
- מעבירים את Send to Flex לחלונית של התהליך ומקשרים את Next מ-Fork Stream אל Send to Flex.
- לוחצים על שליחה ל-Flex.
מגדירים את הווידג'ט 'שליחה ל-Flex' עם הפרטים הבאים.
- תהליך עבודה: בוחרים את תהליך העבודה שבו משתמשים ל-SCV.
- ערוץ משימות: קול
- מאפיינים:
{"agent_assist__ConversationId__c":"{{trigger.call.CallSid}}"} - URL method:
POST
לוחצים על שמירה > פרסום.
שלב 4: הגדרת דף הרשומה ב-Agent Assist
כדי להגדיר את דף הרשומה עבור Agent Assist, פועלים לפי השלבים הבאים.
- יוצרים דף של רשומת שיחת טלפון ל-Agent Assist.
- לוחצים על הפעלה > ברירת מחדל של אפליקציה > הקצאה כברירת מחדל של אפליקציה.
- בוחרים באפשרות Twilio for service cloud voice.
- לוחצים על הבא > שמירה.
שלב 5: בדיקת השילוב של Agent Assist
כדי לבדוק את Agent Assist, מבצעים את השלבים הבאים.
- עוברים אל Salesforce.
- לוחצים על אפליקציות מרכז האפליקציות.
- בשדה החיפוש, מזינים Twilio for service cloud voice. ייפתח הדף Cases.
- עוברים לחלונית Omni channel (ערוץ אומני) ולוחצים על New (חדש).
- לוחצים על check_circle בדיקה כדי להתקשר למספר Twilio Flex. הזכרת את זה בהתחלה.
- בודקים את שני הצדדים של השיחה ומוודאים שהתכונות של Agent Assist פועלות כמו שהגדרתם אותן.