Integrere Twilio Flex med Dynamics 365-samtaleintelligens (forhåndsversion)
[Denne artikel er til dokumentationen til den foreløbige udgivelse. Der kan forekomme ændringer.]
Denne integration giver dine sælgere mulighed for at foretage og modtage Twilio Flex-opkald fra Dynamics 365 og få transskriptioner i realtid under opkaldet og AI-genererede opkaldsindsigt efter opkaldet.
Vigtigt
- Dette er en forhåndsversion af funktionen.
- Forhåndsversionsfunktionerne er ikke beregnet til produktionsformål og kan have begrænset funktionalitet. Disse funktioner er underlagt supplerende vilkår for anvendelse, og er tilgængelige før en officiel udgivelse, så kunderne kan få tidlig adgang og give feedback.
Forudsætninger
En Twilio-konto
En Twilio Flex-konto – se dette link for at få flere oplysninger om, hvordan du konfigurerer en Flex-konto
Et Microsoft Dynamics 365 Sales-miljø med licensen Sales Premium eller Sales Enterprise sammen med systemadministratorrettigheder
Samtaleintelligens installeret og konfigureret – Få mere at vide
Installeret Dynamics 365-kanalintegrationsstruktur 1.0. Få mere at vide
Konfigureret lokalt Node JS-miljø
Programmet create-flex-plugin
Trin 1: Konfigurer Twilio Flex som kanaludbyder
I Dynamics 365-kanalintegrationsstruktur skal du oprette en kanaludbyder for Twilio Flex. Se skærmbilledet nedenfor som et eksempel:
Angiv følgende værdier::
Kanal-URL:https://flex.twilio.com/agent-desktop
Aktivér udgående kommunikation: Ja
API-version: 1.0
Kanalrækkefølge: 1
Domæne, der er tillid til:https://flex.twilio.com/
Vælg Unified Interface-apps til kanal: Salgshub (eller en anden app, du vil have, at integrationen skal aktiveres for)
Vælg sikkerhedsrollerne for kanalen: Tilføj de roller, der skulle bruge Twilio Flex. Du kan f.eks. være sælger, salgschef osv. Du kan integrere Twilio Flex som en iframe i Dynamics 365 og føje URL-adressen til Dynamics 365-organisationen til listen Tilladte URL-adresser. Du kan finde flere oplysninger i denne artikel.
Trin 2: Installer SIPREC connector, og diriger opkaldene til Dynamics 365
Installer tilføjelsesprogrammet SIPREC-connector.
Åbn indstillingerne i Twilio Administration, og konfigurer dem til at forgrene mediet til Dynamics 365-optageren som vist på følgende skærmbillede:
Følgende felter er vigtige at bemærke:
Entydigt navn: Angiv et navn, og notér det ned. Du skal bruge det i de næste trin
Sessionsoptagelsesserver: Angiv URL-adressen til Dynamics 365-medieoptagelsesserveren. Du kan se en liste over understøttede optagere og områder under Optagerslutpunkter og områder understøttes.
Hvis du vil forgrene mediet til den nærmeste optager, skal du bruge følgende URL-adresse: sip:SRS@media.recording.dynamics.com:5061;secure=true
Felter til legitimationsoplysninger kan forblive tomme. Godkendelsen udføres med certifikat på TLS-konfigurationen mellem Twilio og Dynamics.
Trin 3: Konfigurer opkaldsflow til at forgrene mediet til Dynamics 365
Naviger til sektionen Studio-flows i konsollen, og vælg Stemme-ISR-flow.
Tilføj Forgren stream-widget'en i højre side under Stemmesektionen i widgetbiblioteket:
Konfigurer nu widget'en til at forgrene streamingen ved hjælp af SIPREC connector, du definerede tidligere:
Angiv følgende værdier:
- Streamhandling: Start
- Stream-type: Siprec
- Connectornavn: Det navn, du har givet SIPREC-connectoren. I vores eksempel er det SipRec1.
- Spor: Begge spor
-
Streamparametre:
Rolle: indgående (i eksemplet skal vi optage indgående opkald)
CallerDisplayName: {{trigger.call.From}}
CalleeDisplayName: {{trigger.call.To}}
Konfigurer Forgren stream til at være, før opkaldet sendes til helpdesk-medarbejderen, under fanen Overgange:
Gem og publicer flowet.
Trin 4: Konfigurer et Twilio-telefonnummer
Du skal pege på et Twilio-telefonnummeret på det netop oprettede Studio-flow.
Vælg et nummer, som du ejer – eller køb et nyt nummer – fra Twilio-telefonnummerkonsollen.
Åbn telefonnummeret ved at vælge det, og rul derefter ned til sektionen Stemme på siden.
Vælg det flow, du tidligere har defineret, i felterne Opkaldet kommer ind som vist på følgende skærmbillede:
Trin 5: Konfigurer Dynamics 365 til integrationen
Lad os konfigurere Twilio som opkaldsudbyder og konfigurere en optagepolitik for at definere, hvem der kan optage opkald, og andre oplysninger, der bruges til at få samtaleindsigt.
Gå i Salgshub-appen til Skift område, og vælg Indstillinger for Sales Insights.
Vælg Samtaleintelligens.
Vælg Twilio i sektionen Opkaldsudbydere, og angiv SID for Twilio-konto.
Gem ændringerne.
Konfigurer en optagelsespolitik ved hjælp af Twilio-opkaldsudbyderen.
Vælg Opret en politik for optagelse, og konfigurer politikken. Få mere at vide.
Vælg Opret, og publicer derefter indstillingerne.
Trin 6: Klargør Flex-plug-in for at integrere realtidsoplevelsen
Flex er et React-projekt, og tilpasninger, du foretager i brugergrænsefladen, er oprettet som plug-in-komponenter.
Forberedelse af et Node-miljø og konfiguration af en tom Flex-plugin findes ikke i denne dokumentation. Du kan finde et trinvist selvstudium i oprettelse af den første Flex-plug-in i dokumentationen til Twilio.
Opret en ny plug-in, der er klar til, at du tilføjer tilpasningskoden til Dynamics.
På dette tidspunkt skal plugin JS filen se sådan ud:
Føj Microsoft CIF klientbiblioteket til din plug-in. Klientbiblioteket skal indlæses asynkront, når Flex startes, så føj følgende kode til Flex init-funktionen.
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);
}
}
Publicer plugin.
Vi har nu en Flex plug-in, som er klar til, at vi kan teste den!
Trin 7: Test Dynamics 365-samtaleintelligens og integration af Flex
Log på appen Salgshub, og vælg ikonet Opkald. Du kan se Twilio integreret i ruden til højre.
Kontrollér, at du har angivet din status som Tilgængelig i Twilio, og foretag et opkald til det Twilio-telefonnummer, du konfigurerede i Trin 4: Konfigurer et Twilio-telefonnummer.
Når du har besvaret opkaldet og startet optagelsen, skal du gå til fanen Afskrift for at få vist realtidsafskrift og derefter se opkaldsindsigt på siden Opkaldsoversigt, når opkaldet er slut.