Intégrer des numéroteurs Twilio Flex à l’intelligence conversationnelle de Dynamics 365 (version préliminaire)
[Cet article fait partie de la documentation en version préliminaire et peut faire l’objet de modifications.]
Cette intégration permet à vos vendeurs de passer et de recevoir des appels Twilio Flex depuis Dynamics 365 et d’obtenir des transcriptions en temps réel pendant l’appel et des informations sur les appels générées par l’IA après l’appel.
Important
- Cette fonctionnalité est en version préliminaire.
- Les fonctionnalités en version préliminaire ne sont pas destinées à une utilisation en production et peuvent être restreintes. Ces fonctionnalités sont soumises à des conditions d’utilisation supplémentaires, et sont disponibles avant une version officielle de telle sorte que les clients puissent tirer parti d’un accès anticipé et fournir leurs commentaires.
Conditions préalables
Un compte Twilio
Un compte Twilio Flex – consultez ce lien pour plus d’informations sur la configuration d’un compte Flex
Un environnement Microsoft Dynamics 365 Sales avec la licence Sales Premium ou Sales Enterprise, ainsi que les privilèges d’administrateur système
Intelligence conversationnelle installée et configurée – En savoir plus
Environnement d’intégration du canal de Dynamics 365 1.0 installé. En savoir plus
Configuration d’environnement Node JS local
Application create-flex-plugin
Étape 1 : Configurer Twilio Flex en tant que fournisseur de canaux
Dans l’environnement d’intégration du canal Dynamics 365, créez un fournisseur de canaux pour Twilio Flex. Voir la capture d’écran ci-dessous comme exemple :
Tapez les valeurs suivantes::
URL de canal :https://flex.twilio.com/agent-desktop
Activer la communication sortante : Oui
Version de l’API : 1.0
Commande de canal : 1
Domaine approuvé :https://flex.twilio.com/
Sélectionner les applications Unified Interface pour le canal : centre des ventes (ou toute autre application pour laquelle vous souhaitez que l’intégration soit activée)
Sélectionner les rôles de sécurité pour le canal : ajoutez les rôles qui utiliseraient Twilio Flex. Par exemple, Salesperson, Sales Manager, etc. on.To intègrent Twilio Flex en tant qu’iframe dans Dynamics 365, ajoutez l’URL de l’organisation Dynamics 365 à la liste des URL autorisées. Pour plus d’informations, consultez cet article.
Étape 2 : Installer le connecteur SIPREC et acheminer les appels vers Dynamics 365
Installez le module complémentaire connecteur SIPREC .
Ouvrez les paramètres du centre d’administration Twilio et configurez-le pour débrancher le média vers l’enregistreur Dynamics 365 comme illustré dans la capture d’écran suivante :
Les champs suivants sont importants à noter :
Nom unique : spécifiez un nom et notez-le. Vous en aurez besoin aux prochaines étapes
Serveur d’enregistrement de session : spécifiez l’URL du serveur d’enregistrement média Dynamics 365. Pour obtenir une liste des enregistreurs et des régions pris en charge, consultez Points de terminaison d’enregistreur et régions pris en charge.
Si vous souhaitez dupliquer le média vers l’enregistreur le plus proche, utilisez l’URL suivante : sip:SRS@media.recording.dynamics.com:5061;secure=true
Les champs d’informations d’identification peuvent rester vides. L’authentification se fait avec certificat sur la configuration TLS entre Twilio et Dynamics.
Étape 3 : Configurer le flux d’appels pour dupliquer le média sur Dynamics 365
Accédez à la section Flux Studio dans la console et sélectionnez le flux RVI vocal.
À droite, sous la section Voice dans la bibliothèque de widgets, ajoutez le widget Dupliquer le flux :
Maintenant, configurez le widget pour dupliquer le flux à l’aide du connecteur SIPREC que vous avez défini précédemment :
Saisissez les valeurs suivantes :
- Action du flux : Démarrer
- Type de flux : Siprec
- Nom du connecteur : le nom que vous avez donné au connecteur SIPREC. Dans notre exemple, il s’agit de SipRec1.
- Suivis : les deux suivis
-
Paramètres du flux :
Rôle : entrant (dans notre exemple, nous allons enregistrer les appels entrants)
CallerDisplayName : {{trigger.call.From}}
CalleeDisplayName : {{trigger.call.To}}
Dans l’onglet Transitions, configurez l’onglet Dupliquer le flux avant que l’appel ne soit envoyé à l’agent :
Enregistrez le flux et publiez.
Étape 4 : Configurer un numéro de téléphone Twilio
Vous devez pointer un numéro de téléphone Twilio vers votre flux Studio récemment créé.
Sélectionnez un numéro que vous possédez ou achetez un nouveau numéro à partir de la console Numéros de téléphone Twilio.
Ouvrez le numéro de téléphone en le sélectionnant, puis faites défiler jusqu’à la section Voice sur la page.
Sélectionnez le flux que vous avez défini précédemment dans les champs L’appel arrive comme illustré dans la capture d’écran suivante :
Étape 5 : Configurer Dynamics 365 pour l’intégration
Configurons Twilio en tant que fournisseur d’appels et configurons une stratégie d’enregistrement pour définir qui peut enregistrer les appels et d’autres informations utilisées pour les informations sur la conversation.
Dans l’application Centre des ventes, accédez à Changer de zone et sélectionnez Paramètres Sales Insights.
Sélectionnez Intelligence conversationnelle.
Sélectionnez Twilio dans la section Fournisseurs d’appels et spécifiez le SID du compte Twilio.
Enregistrez les modifications.
Configurez une stratégie d’enregistrement à l’aide du fournisseur d’appels Twilio.
Sélectionnez Créer une stratégie d’enregistrement et configurez la stratégie. En savoir plus.
Sélectionnez Créer, puis publiez les paramètres.
Étape 6 : Préparez le plug-in Flex pour intégrer l’expérience en temps réel
Flex est un projet React et les personnalisations que vous apportez à l’interface utilisateur sont créées en tant que composants de plug-in.
La préparation d’un environnement Node et la configuration d’un plug-in Flex vide sortent du cadre de cette documentation. Reportez-vous à la documentation de Twilio pour un didacticiel étape par étape sur la création de votre premier plug-in Flex.
Créez un nouveau plug-in prêt à ajouter votre code de personnalisation pour Dynamics.
À ce stade, votre fichier JS de plug-in doit ressembler à ceci :
Ajoutez la bibliothèque Microsoft CIF Client à votre plug-in. La bibliothèque cliente doit être chargée de manière asynchrone lors du lancement de Flex. Ajoutez donc le code suivant à la fonctionnalité Flex init.
import React from 'react';
import \* as Flex from '@twilio/flex-ui';
import { FlexPlugin } from '@twilio/flex-plugin';
import reducers, { namespace } from './states';
const PLUGIN\_NAME = 'SamplePlugin';
export interface CallStartedEvent {
callId: string;
startTime: Date;
isIncomingCall: boolean;
contactNumber: string;
contactName: string;
}
export interface CallEndedEvent {
callId: string;
callDurationInSeconds: number;
callTerminationReason: string; // \['success', 'error'\]
callEndTime: Date;
isCallStarted: boolean;
}
export default class SamplePlugin extends FlexPlugin {
constructor() {
super(PLUGIN\_NAME);
}
/\*\*
\* This code is run when your plugin is being started
\* Use this to modify any UI components or attach to the actions framework
\*
\* @param flex { typeof Flex }
\* @param manager { Flex.Manager }
\*/
async init(flex: typeof Flex, manager: Flex.Manager): Promise<void> {
this.registerReducers(manager);
this.loadCIF();
flex.Actions.addListener('afterAcceptTask', (payload) => {
const callStartedEvent : CallStartedEvent = {
callId: payload.task.\_task.attributes.call\_sid,
startTime: new Date(),
isIncomingCall: true,
contactName: payload.task.\_task.attributes.caller,
contactNumber: payload.task.\_task.attributes.caller
};
// @ts-ignore
Microsoft.CIFramework.raiseEvent('WIDGET\_CALL\_STARTED', callStartedEvent);
});
flex.Actions.addListener('afterCompleteTask', (payload) => {
// @ts-ignore
Microsoft.CIFramework.raiseEvent('WIDGET\_CALL\_ENDED', {
callId: payload.task.\_task.attributes.call\_sid,
callTerminationReason: 'success',
callEndTime: new Date(),
isCallStarted: true
});
const callEndedEvent : CallEndedEvent = {
callId: payload.task.\_task.attributes.call\_sid,
callEndTime: new Date(),
callTerminationReason: 'success',
isCallStarted: true
};
// @ts-ignore
Microsoft.CIFramework.raiseEvent('WIDGET\_CALL\_ENDED', callEndedEvent);
});
const options: Flex.ContentFragmentProps = { sortOrder: -1 };
flex.AgentDesktopView.Panel1.Content.add(<div key="SamplePlugin-component" >Hello Partner!</div>, options);
}
loadCIF = () => {
const script = document.createElement("script");
script.src = \`${window.location.ancestorOrigins\[0\]}/webresources/Widget/msdyn\_ciLibrary.js\`;
script.setAttribute('data-crmurl', window.location.ancestorOrigins\[0\]);
script.setAttribute('data-cifid', 'CIFMainLibrary');
document.body.appendChild(script);
}
/\*\*
\* Registers the plugin reducers
\*
\* @param manager { Flex.Manager }
\*/
private registerReducers(manager: Flex.Manager) {
if (!manager.store.addReducer) {
// eslint-disable-next-line
console.error(\`You need FlexUI > 1.9.0 to use built-in redux; you are currently on ${Flex.VERSION}\`);
return;
}
manager.store.addReducer(namespace, reducers);
}
}
Publiez le plug-in.
Nous avons maintenant un plug-in Flex prêt à être testé !
Étape 7 : Testez l’intelligence conversationnelle Dynamics 365 et l’intégration Flex
Connectez-vous à l’application Centre des ventes, sélectionnez l’icône Appeler. Vous verrez Twilio Flex intégré dans le volet de droite.
Assurez-vous que vous avez défini votre statut sur Disponible dans Twilio et appelez le numéro de téléphone Twilio que vous avez configuré à l’ Étape 4 : Configurer un numéro de téléphone Twilio.
Une fois que vous avez répondu à l’appel et commencé l’enregistrement, accédez à l’onglet Transcription pour afficher la transcription en temps réel, puis consultez les informations sur les appels sur la page Synthèse de l’appel à l’issue de l’appel.