Agent Assist pour l'intégration vocale Salesforce avec Twilio Flex

L'intégration de Twilio à Salesforce Service Cloud Voice (SCV) permet aux représentants Salesforce de passer et de recevoir des appels dans Salesforce à l'aide des fonctionnalités de la plate-forme Twilio.

Avant de commencer

Pour intégrer la voix Salesforce à Twilio Flex, vous devez avoir accès aux ressources suivantes :

Étape 1 : Configurer Twilio Service Cloud Voice

Suivez les instructions du guide Twilio pour configurer Salesforce SCV avec Twilio comme fournisseur de téléphonie partenaire.

Étape 2 : Intégrer Agent Assist à Twilio Flex

Suivez ces étapes pour intégrer Agent Assist à Twilio Flex.

Installer le module complémentaire du connecteur SIPREC

Le module complémentaire de connecteur SIPREC permet à votre compte Twilio Flex de créer des forks SIPREC des flux multimédias d'appels vocaux vers Agent Assist. Pour installer le module complémentaire du connecteur SIPREC, procédez comme suit.

  1. Accédez à Twilio Home et saisissez Marketplace dans le champ de recherche.

    Twilio Home

  2. Cliquez sur Catalogue > Connecteurs de flux > Connecteur Siprec > Installer > Ajouter une instance.

  3. Accédez à l'onglet Configurer et configurez le plug-in avec les informations suivantes :

    • Nom unique : SipRec1
    • Serveur d'enregistrement de session : sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
  4. Cliquez sur Enregistrer.

Configurer les fonctions Twilio

Pour configurer deux fonctions Twilio, conversation-name et wrap-up, procédez comme suit.

  1. Accédez à la console Twilio et saisissez Function dans le champ de recherche.
  2. Cliquez sur Functions > Create service (Fonctions > Créer un service).
  3. Nommez le nouveau service ui-connector-auth, puis cliquez sur Suivant.
  4. Cliquez sur Ajouter + > Ajouter une fonction.

Pour créer la fonction conversation-name, procédez comme suit.

  1. Nommez la fonction conversation-name.
  2. Cliquez sur le cadenas et définissez la visibilité de la fonction sur Public.
  3. Copiez le code ui-connector-auth.js et collez-le dans l'éditeur.
  4. Cliquez sur Enregistrer.

Vous pouvez automatiser le processus de finalisation des appels avec une fonction wrap-up et EventCallbackUrl. Il n'est donc plus nécessaire de clôturer manuellement les appels dans Salesforce et Twilio Flex. Suivez ces étapes pour créer une fonction wrap-up permettant de recevoir des événements via EventCallbackUrl.

  1. Accédez à la console Twilio > barre de recherche et saisissez Taskrouter Workspace.
  2. Sélectionnez Espaces de travail TaskRouter.
  3. Notez le SID dans la colonne "Espace de travail".
  4. Accédez à l'éditeur et nommez la fonction wrap-up.
  5. Ajoutez le code suivant dans l'éditeur.

    /**
    * @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. Localisez la variable workspaceSid et mettez-la à jour avec le SID de l'espace de travail de l'étape "SID de l'espace de travail Taskrouter".

  7. Notez l'URL de votre service. Vous devez utiliser l'URL complète de la fonction wrap-up à l'étape suivante.

  8. Cliquez sur Enregistrer > Déployer tout.

  9. Accédez à la console Twilio et saisissez Taskrouter Workspaces dans la barre de recherche.

  10. Cliquez sur l'espace de travail que vous utilisez > Paramètres > Rappels d'événement > URL de rappel d'événement.

  11. Saisissez l'URL de la fonction wrap-up de l'étape précédente.

  12. Cliquez sur Événements de rappel et définissez-le sur Événements spécifiques.

  13. Cliquez sur Tout sélectionner > Enregistrer.

Configurer un SVI avec Flex Studio

Pour configurer votre menu téléphonique automatisé, utilisez Twilio Studio afin de créer un flux d'appels qui lance une bifurcation SIPREC. Cette bifurcation envoie un flux multimédia directement à Agent Assist. Le flux d'appel effectue également une requête HTTP POST pour partager le numéro de téléphone et l'ID de conversation avec Agent Assist.

Suivez ces étapes pour configurer la réponse vocale interactive (RVI) avec Flex Studio.

  1. Accédez à la console Twilio et saisissez Studio dans le champ de recherche.
  2. Cliquez sur Studio. La page du tableau de bord Studio s'ouvre et affiche la liste des flux.
  3. Sur la page du tableau de bord Studio, vous pouvez effectuer les actions suivantes :

    • Mettez à jour le flux existant.
    • Créez un flux.

Mettre à jour un flux existant

Suivez ces étapes dans la console Twilio pour mettre à jour les flux existants.

  1. Sélectionnez le flux que vous souhaitez modifier.
  2. Cliquez sur Develop > Phone Numbers > Manage > Active Numbers (Développer > Numéros de téléphone > Gérer > Numéros actifs). Le tableau doit comporter une ligne avec le numéro Twilio par défaut provisionné pour votre compte Flex.
  3. Accédez à Voix > Workflow Studio, puis cliquez sur Réponse vocale interactive.

Créer un flux

Créez des flux pour envoyer une requête HTTP, exécuter une fonction, dupliquer un flux et l'envoyer à Flex. Suivez ces étapes dans la console Twilio pour créer un flux de requêtes HTTP.

  1. Accédez à la page Tableau de bord Studio, puis cliquez sur Créer un flux.
  2. Accédez à widget Recherche et saisissez HTTP.
  3. Faites glisser le widget Make HTTP request (Envoyer une requête HTTP) vers le panneau de flux.
  4. Configurez un widget avec les informations suivantes, puis cliquez sur Enregistrer.

    • Nom du widget : register_twilio
    • Méthode de requête : POST
    • URL de la requête :
      your-ui-connector-cloud-run-url.run.app/register-app
    • Type de contenu : application/json
    • Corps de la requête :

      {
      "accountSid": "yourTwilioAccountSid",
      "authToken": "yourTwilioAccountAuthToken"
      }
      

Suivez ces étapes pour créer un flux de fonction d'exécution.

  1. Saisissez Run function (Exécuter la fonction) dans le widget de recherche.
  2. Faites glisser le widget Run function (Exécuter la fonction) sur le panneau de flux pour le connecter aux sorties Success (Succès) et Fail (Échec) du widget register_twilio.
  3. Configurez le widget de fonction d'exécution avec les informations suivantes :

    • Nom du widget : conversation_name
    • Service : ui-connector-auth
    • Environnement : ui
    • Fonction : /conversation-name
    • Paramètres de la fonction : saisissez les paramètres de fonction suivants.

      • Jeton :
        {{ widgets.register_twilio.parsed.token }}
      • Point de terminaison :
        your-ui-connector-cloud-run-url.run.app/conversation-name
      • Téléphone :
        {{ trigger.call.From | replace_first:'+','' }}
      • ConversationName :
        projects/project/locations/location/conversations/{{ trigger.call.CallSid }}
  4. Cliquez sur Enregistrer.

Suivez ces étapes pour créer un flux de bifurcation.

  1. Saisissez Fork stream dans le widget de recherche.
  2. Déplacez le widget Fork Stream vers le panneau de flux pour le connecter aux sorties Success et Fail du widget Make HTTP request.
  3. Configurez le widget de flux de fork avec les détails suivants :

    • Action de flux : Démarrer
    • Type de flux : Siprec
    • Nom du connecteur : Siprec1
    • Pistes : les deux pistes
    • Paramètres du flux : saisissez les paramètres de flux suivants.

      • Clé : conversation
      • Valeur :
        projects/project-id/conversations/{{trigger.call.CallSid}}
  4. Cliquez sur Enregistrer.

Suivez ces étapes pour créer le flux "Envoyer à Flex".

  1. Saisissez Envoyer vers Flex dans le widget de recherche.
  2. Déplacez Envoyer à Flex vers le panneau de flux, puis connectez Suivant de Flux de bifurcation à Envoyer à Flex.
  3. Cliquez sur Envoyer à Flex.
  4. Configurez le widget "Envoyer vers Flex" avec les informations suivantes.

    • Workflow : choisissez le workflow que vous utilisez pour SCV.
    • Canal de tâches : Voix
    • Attributs :
      {"agent_assist__ConversationId__c":"{{trigger.call.CallSid}}"}
    • Méthode de l'URL : POST
  5. Cliquez sur Enregistrer > Publier.

Étape 4 : Configurez la page d'enregistrement pour Agent Assist

Suivez ces étapes pour configurer la page d'enregistrement pour Agent Assist.

  1. Créez une page d'enregistrement des appels vocaux pour Agent Assist.
  2. Cliquez sur Activation > Par défaut de l'application > Attribuer comme par défaut de l'application.
  3. Sélectionnez Twilio for service cloud voice.
  4. Cliquez sur Suivant > Enregistrer.

Étape 5 : Tester l'intégration d'Agent Assist

Suivez ces étapes pour tester Agent Assist.

  1. Accédez à Salesforce.
  2. Cliquez sur Lanceur d'applications Applications.
  3. Dans le champ de recherche, saisissez Twilio for service cloud voice. La page Demandes s'ouvre.
  4. Accédez au panneau Omnicanal, puis cliquez sur Nouveau.
  5. Cliquez sur check_circle Vérifier pour appeler votre numéro Twilio Flex. Vous l'avez noté au début.
  6. Testez les deux côtés de la conversation et assurez-vous que les fonctionnalités Agent Assist fonctionnent comme vous les avez configurées.