Agent Assist per l'integrazione vocale di Salesforce con Twilio Flex

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:

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.

  1. Vai a Twilio Home e inserisci Marketplace nella casella di ricerca.

    Twilio Home

  2. Fai clic su Catalogo > Connettori di stream > Connettore Siprec > Installa > Aggiungi istanza.

  3. 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
  4. Fai clic su Salva.

Configura le funzioni Twilio

Segui questi passaggi per configurare due funzioni Twilio, conversation-name e wrap-up.

  1. Vai alla console Twilio e inserisci Function nella casella di ricerca.
  2. Fai clic su Funzioni > Crea servizio.
  3. Assegna un nome al nuovo servizio ui-connector-auth e fai clic su Avanti.
  4. Fai clic su Aggiungi + > Aggiungi funzione.

Segui questi passaggi per creare la funzione conversation-name.

  1. Assegna alla funzione il nome conversation-name.
  2. Fai clic sul lucchetto e imposta la visibilità della funzione su Pubblico.
  3. Copia il codice ui-connector-auth.js e incollalo nell'editor.
  4. 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.

  1. Vai alla console Twilio > barra di ricerca e inserisci Taskrouter Workspace.
  2. Seleziona Workspace TaskRouter.
  3. Prendi nota dell'SID nella colonna dello spazio di lavoro.
  4. Vai all'editor e assegna alla funzione il nome wrap-up.
  5. 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);
      }
    };
    
  6. Individua la variabile workspaceSid e aggiornala con l'ID spazio di lavoro del passaggio ID spazio di lavoro TaskRouter.

  7. Prendi nota dell'URL del tuo servizio. Nel passaggio successivo devi utilizzare l'URL completo della funzione wrap-up.

  8. Fai clic su Salva > Esegui il deployment di tutto.

  9. Vai alla console Twilio e inserisci Taskrouter Workspaces nella barra di ricerca.

  10. Fai clic sullo spazio di lavoro che utilizzi > Impostazioni > Callback eventi > URL callback eventi.

  11. Inserisci l'URL della funzione wrap-up del passaggio precedente.

  12. Fai clic su Eventi di callback e imposta l'opzione Eventi specifici.

  13. 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.

  1. Vai alla console Twilio e inserisci Studio nella casella di ricerca.
  2. Fai clic su Studio e si apre la pagina della dashboard di Studio con l'elenco dei flussi.
  3. 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.

  1. Seleziona il flusso che vuoi aggiornare.
  2. 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.
  3. 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.

  1. Vai alla pagina Dashboard di Studio e fai clic su Crea nuovo flusso.
  2. Vai al widget Ricerca e inserisci HTTP.
  3. Trascina il widget Invia richiesta HTTP nel riquadro del flusso.
  4. 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"
      }
      

Per creare un flusso di funzioni di esecuzione:

  1. Inserisci Funzione Esegui nel widget di ricerca.
  2. Trascina il widget Esegui funzione nel pannello del flusso per connetterti alle uscite Riuscito e Non riuscito del widget register_twilio.
  3. 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 }}
  4. Fai clic su Salva.

Per creare un flusso di stream con biforcazione:

  1. Inserisci Fork stream nel widget di ricerca.
  2. Sposta il widget Fork Stream nel pannello del flusso per connetterti agli output Success e Fail del widget make HTTP request.
  3. 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}}
  4. Fai clic su Salva.

Segui questi passaggi per creare il flusso Invia a Flex.

  1. Inserisci Send to Flex nel widget di ricerca.
  2. Sposta Invia a Flex nel riquadro del flusso e collega Avanti da Fork Stream a Invia a Flex.
  3. Fai clic su Invia a Flex.
  4. 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
  5. 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.

  1. Crea una pagina di registrazione delle chiamate vocali per Agent Assist.
  2. Fai clic su Attivazione > App predefinita > Assegna come app predefinita.
  3. Seleziona Twilio per Service Cloud Voice.
  4. Fai clic su Avanti > Salva.

Passaggio 5: testa l'integrazione di Agent Assist

Segui questi passaggi per testare Agent Assist.

  1. Vai a Salesforce.
  2. Fai clic su Avvio app.
  3. Nel campo di ricerca, inserisci Twilio for service cloud voice. Si apre la pagina Richieste.
  4. Vai al riquadro Omnicanale e fai clic su Nuovo.
  5. Fai clic su check_circle Controlla per chiamare il tuo numero Twilio Flex. L'hai annotato all'inizio.
  6. Testa entrambi i lati della conversazione e assicurati che le funzionalità di Agent Assist funzionino come le hai configurate.