L'integrazione di Twilio con Salesforce Service Cloud Voice (SCV) consente ai rappresentanti di Salesforce di effettuare e ricevere chiamate in Salesforce utilizzando le funzionalità della piattaforma Twilio.
Prima di iniziare
Per integrare la voce di Salesforce con Twilio Flex, devi accedere alle seguenti risorse:
- Risorse di Salesforce e Agent Assist
- Agent Assist per l'app Salesforce
Account Flex
Segui le istruzioni nella pagina di configurazione di Twilio per creare un account Flex. Annota l'identificatore della stringa dell'account (SID), il numero di telefono Twilio e il token di autenticazione.
Numero di telefono di cui è stato eseguito il provisioning della piattaforma di telefonia di Google
Segui le istruzioni riportate in Piattaforma di telefonia Google per ottenere un numero di telefono di cui è stato eseguito il provisioning da integrare con il componente aggiuntivo del connettore Siprec di Twilio.
Passaggio 1: configura Twilio Service Cloud Voice
Segui le istruzioni nella guida di Twilio per configurare Salesforce SCV con Twilio come fornitore di telefonia partner.
Passaggio 2: integra Agent Assist con Twilio Flex
Segui questi passaggi per integrare Agent Assist con Twilio Flex.
Installare il componente aggiuntivo del connettore SIPREC
Il componente aggiuntivo connettore SIPREC consente al tuo account Twilio Flex di creare fork SIPREC di flussi multimediali di chiamate vocali per Agent Assist. Segui questi passaggi per installare il componente aggiuntivo del connettore SIPREC.
Vai a Twilio Home e inserisci Marketplace nella casella di ricerca.
Fai clic su Catalogo > Connettori di stream > Connettore Siprec > Installa > Aggiungi istanza.
Vai alla scheda Configura e configura il plug-in con i seguenti dettagli:
- Nome univoco:
SipRec1 - Server di registrazione della sessione:
sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
- Nome univoco:
Fai clic su Salva.
Configura le funzioni Twilio
Segui questi passaggi per configurare due funzioni Twilio, conversation-name e wrap-up.
- Vai alla console Twilio e inserisci Function nella casella di ricerca.
- Fai clic su Funzioni > Crea servizio.
- Assegna un nome al nuovo servizio
ui-connector-authe fai clic su Avanti. - Fai clic su Aggiungi + > Aggiungi funzione.
Segui questi passaggi per creare la funzione conversation-name.
- Assegna alla funzione il nome
conversation-name. - Fai clic sul lucchetto e imposta la visibilità della funzione su Pubblico.
- Copia il codice
ui-connector-auth.jse incollalo nell'editor. - Fai clic su Salva.
Puoi automatizzare il processo di completamento della chiamata con una funzione wrap-up e EventCallbackUrl. In questo modo non è necessario chiudere manualmente le chiamate sia in Salesforce che in Twilio Flex. Segui questi passaggi per creare una funzione wrap-up per ricevere eventi tramite EventCallbackUrl.
- Vai alla console Twilio > barra di ricerca e inserisci Taskrouter Workspace.
- Seleziona Workspace TaskRouter.
- Prendi nota dell'SID nella colonna dello spazio di lavoro.
- Vai all'editor e assegna alla funzione il nome
wrap-up. Aggiungi il seguente codice nell'editor.
/** * @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); } };Individua la variabile
workspaceSide aggiornala con l'ID spazio di lavoro del passaggio ID spazio di lavoro TaskRouter.Prendi nota dell'URL del tuo servizio. Nel passaggio successivo devi utilizzare l'URL completo della funzione
wrap-up.Fai clic su Salva > Esegui il deployment di tutto.
Vai alla console Twilio e inserisci Taskrouter Workspaces nella barra di ricerca.
Fai clic sullo spazio di lavoro che utilizzi > Impostazioni > Callback eventi > URL callback eventi.
Inserisci l'URL della funzione
wrap-updel passaggio precedente.Fai clic su Eventi di callback e imposta l'opzione Eventi specifici.
Fai clic su Seleziona tutto > Salva.
Configura l'IVR con Flex Studio
Per configurare il menu telefonico automatico, utilizza Twilio Studio per creare un flusso di chiamata che avvii una biforcazione SIPREC. Questo fork invia un flusso multimediale direttamente ad Agent Assist. Il flusso di chiamata esegue anche un post HTTP per condividere il numero di telefono e l'ID conversazione con Agent Assist.
Segui questi passaggi per configurare la risposta vocale interattiva (IVR) con Flex Studio.
- Vai alla console Twilio e inserisci Studio nella casella di ricerca.
- Fai clic su Studio e si apre la pagina della dashboard di Studio con l'elenco dei flussi.
Nella pagina della dashboard di Studio puoi:
- Aggiorna il flusso esistente.
- Crea un flusso.
Aggiorna il flusso esistente
Segui questi passaggi nella console Twilio per aggiornare i flussi esistenti.
- Seleziona il flusso che vuoi aggiornare.
- Fai clic su Sviluppa > Numeri di telefono > Gestisci > Numeri attivi. Nella tabella deve essere presente una riga con il numero Twilio predefinito di cui è stato eseguito il provisioning per il tuo account Flex.
- Vai a Voice - Studio Workflow e fai clic su Voice IVR.
crea un flusso
Crea nuovi flussi per inviare una richiesta HTTP, eseguire una funzione, creare una diramazione di uno stream e inviarlo a Flex. Segui questi passaggi nella console Twilio per creare un flusso di richieste HTTP.
- Vai alla pagina Dashboard di Studio e fai clic su Crea nuovo flusso.
- Vai al widget Ricerca e inserisci HTTP.
- Trascina il widget Invia richiesta HTTP nel riquadro del flusso.
Configura un widget con i seguenti dettagli e fai clic su Salva.
- Nome widget:
register_twilio - Metodo di richiesta:
POST - URL richiesta:
your-ui-connector-cloud-run-url.run.app/register-app
- Tipo di contenuto: Application/JSON
Corpo della richiesta:
{ "accountSid": "yourTwilioAccountSid", "authToken": "yourTwilioAccountAuthToken" }
- Nome widget:
Per creare un flusso di funzioni di esecuzione:
- Inserisci Funzione Esegui nel widget di ricerca.
- Trascina il widget Esegui funzione nel pannello del flusso per connetterti alle uscite Riuscito e Non riuscito del widget
register_twilio. Configura il widget della funzione di esecuzione con i seguenti dettagli:
- Nome widget:
conversation_name - Servizio:
ui-connector-auth - Ambiente: ui
- Funzione:
/conversation-name Parametri funzione: inserisci i seguenti parametri funzione
- Token:
{{ widgets.register_twilio.parsed.token }}
- Endpoint:
your-ui-connector-cloud-run-url.run.app/conversation-name
- Smartphone:
{{ trigger.call.From | replace_first:'+','' }}
ConversationName:projects/project/locations/location/conversations/{{ trigger.call.CallSid }}
- Token:
- Nome widget:
Fai clic su Salva.
Per creare un flusso di stream con biforcazione:
- Inserisci Fork stream nel widget di ricerca.
- Sposta il widget Fork Stream nel pannello del flusso per connetterti agli output Success e Fail del widget make HTTP request.
Configura il widget del flusso di forking con i seguenti dettagli:
- Azione stream: avvia
- Tipo di stream:
Siprec - Nome connettore:
Siprec1 - Tracce: entrambe le tracce
Parametri di streaming: inserisci i seguenti parametri di streaming.
- Chiave: conversazione
- Valore:
projects/project-id/conversations/{{trigger.call.CallSid}}
Fai clic su Salva.
Segui questi passaggi per creare il flusso Invia a Flex.
- Inserisci Send to Flex nel widget di ricerca.
- Sposta Invia a Flex nel riquadro del flusso e collega Avanti da Fork Stream a Invia a Flex.
- Fai clic su Invia a Flex.
Configura il widget Invia a Flex con i seguenti dettagli.
- Workflow: scegli il workflow che utilizzi per SCV.
- Canale di attività: voce
- Attributi:
{"agent_assist__ConversationId__c":"{{trigger.call.CallSid}}"} - Metodo dell'URL:
POST
Fai clic su Salva > Pubblica.
Passaggio 4: configura la pagina del record per Agent Assist
Segui questi passaggi per configurare la pagina del record per Agent Assist.
- Crea una pagina di registrazione delle chiamate vocali per Agent Assist.
- Fai clic su Attivazione > App predefinita > Assegna come app predefinita.
- Seleziona Twilio per Service Cloud Voice.
- Fai clic su Avanti > Salva.
Passaggio 5: testa l'integrazione di Agent Assist
Segui questi passaggi per testare Agent Assist.
- Vai a Salesforce.
- Fai clic su Avvio app.
- Nel campo di ricerca, inserisci Twilio for service cloud voice. Si apre la pagina Richieste.
- Vai al riquadro Omnicanale e fai clic su Nuovo.
- Fai clic su check_circle Controlla per chiamare il tuo numero Twilio Flex. L'hai annotato all'inizio.
- Testa entrambi i lati della conversazione e assicurati che le funzionalità di Agent Assist funzionino come le hai configurate.