Integrer Twilio Flex med samtaleintelligens i Dynamics 365 (forhåndsversjon)
[Denne artikkelen inneholder dokumentasjon for forhåndsversjonen og kan bli endret.]
Denne integreringen gjør at selgerne kan foreta og motta Twilio Flex-anrop fra Dynamics 365 og få sanntidstranskripsjoner under samtalen og KI-generert samtaleinnsikt etter samtalen.
Viktig
- Dette er forhåndsversjonsfunksjon.
- Forhåndsversjonsfunksjonene er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er underlagt tilleggsvilkår for bruk og er tilgjengelige før en offisielle utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemeldinger.
Forutsetning
En Twilio-konto
En Twilio Flex-konto – se denne koblingen hvis du vil ha mer informasjon om hvordan du konfigurerer en Flex-konto
Et Microsoft Dynamics 365 Sales-miljø med Sales Premium- eller Sales Enterprise-lisensen, sammen med rettigheter for systemansvarlig
Samtaleintelligens installert og konfigurert – Finn ut mer
Kanalintegreringsrammeverk for Dynamics 365 1.0 er installert. Finn ut mer
Et lokalt Node JS-miljø er konfigurert
Programmet create-flex-plugin
Trinn 1: Konfigurer Twilio Flex som kanalleverandør
I Kanalintegreringsrammeverk for Dynamics 365 oppretter du en kanalleverandør for Twilio Flex. Se skjermbildet nedenfor for få et eksempel:
Angi følgende verdier::
Nettadresse til kanal:https://flex.twilio.com/agent-desktop
Aktiver utgående kommunikasjon: Ja
API-versjon: 1.0
Kanalrekkefølge: 1
Klarert domene:https://flex.twilio.com/
Velg Enhetlig grensesnitt-apper for kanalen: Salgssenter (eller en annen app du ønsker at integreringen skal aktiveres for)
Velg sikkerhetsrollene for kanalen: Legg til rollene som skal bruke Twilio Flex. Det vil si Selger, Salgsleder og så videre. Hvis du vil bygge inn Twilio Flex som en iFrame i Dynamics 365, legger du til nettadressen til Dynamics 365-organisasjonen i listen over tillatte nettadresser. Hvis du vil ha mer informasjon, kan du se denne artikkelen.
Trinn 2: Installer SIPREC-koblingen, og rut samtalene til Dynamics 365
Installer tillegget SIPREC-kobling.
Åpne innstillingene i administrasjonssenteret for Twilio, og konfigurer den slik at den forgrener mediene til Dynamics 365-opptakeren, som vist på følgende skjermbilde:
Det er viktig å være oppmerksom på følgende felter:
Unikt navn: Angi et navn, og noter det. Du må bruke det i de neste trinnene
Server for øktopptak: Angi nettadressen til medieopptaksserveren for Dynamics 365. Hvis du vil ha en liste over opptakere og områder som støttes, kan du se Endepunkter og områder støttes for opptaker.
Hvis du vil forgrene mediene til nærmeste opptaker, bruker du følgende nettadresse: sip:SRS@media.recording.dynamics.com:5061;secure=true
Legitimasjonsfelter kan forbli tomme. Autentiseringen utføres med et sertifikat i TLS-oppsettet mellom Twilio og Dynamics.
Trinn 3: Konfigurer oppkallsflyten for å forgrene mediene til Dynamics 365
Gå til Studio Flows-delen i konsollen, og velg Voice IVR flow.
Til høyre i Tale-delen i kontrollprogrambiblioteket legger du til Forgren strøm:
Konfigurer kontrollprogrammet slik at det forgrener strømmen ved hjelp av SIPREC-koblingen du definerte tidligere:
Angi følgende verdier:
- Strømhandling: Start
- Strømtype: Siprec
- Koblingsnavn: Navnet du gav SIPREC-koblingen. I vårt eksempel er SipRec1.
- Spor: Begge spor
-
Parametere for strøm:
Rolle: innkommende (i vårt eksempel skal vi registrere innkommende samtaler)
CallerDisplayName: {{trigger.call.From}}
CalleeDisplayName: {{trigger.call.To}}
Konfigurer Forgren strøm i Overganger-fanen, slik at den er før samtalen sendes til agenten:
Lagre flyten og publiser den.
Trinn 4: Konfigurer et Twilio-telefonnummer
Du må peke et Twilio-telefonnummer til det nyopprettede Studio Flow.
Velg et nummer du eier, eller kjøp et nytt nummer fra konsollen for Twilio-telefonnumre.
Åpne telefonnummeret ved å velge det, og rull deretter ned til Tale-delen på siden.
Velg flyten du definerte tidligere i feltene for Samtale kommer inn, som vist på følgende skjermbilde:
Trinn 5: Konfigurer Dynamics 365 for integreringen
La oss konfigurere Twilio som samtaleleverandør og konfigurere en opptakspolicy for å definere hvem som kan ta opp samtaler og annen informasjon som brukes til samtaleinnsikt.
Gå til Endre område og velg Sales Insights-innstillinger i Salgssenter-appen.
Velg Samtaleintelligens.
Velg Twilio i delen Samtaleleverandører, og angi SID for Twilio-konto.
Lagre endringer.
Konfigurer en opptakspolicy ved hjelp av Twilio-samtaleleverandøren.
Velg Opprett en opptakspolicy, og konfigurer policyen. Lær mer.
Velg Opprett, og publiser deretter innstillingene.
Trinn 6: Klargjør programtillegget Flex for å integrere sanntidsopplevelsen
Flex er et React-prosjekt, og tilpassinger du gjør i brukergrensesnittet, opprettes som programtilleggskomponenter.
Klargjøring av et Node-miljø og konfigureringen av et tomt Flex-programtillegg beskrives ikke i denne dokumentasjonen. Se i dokumentasjonen for Twilio hvis du vil ha en trinnvis opplæring i hvordan du oppretter ditt første Flex-programtillegg.
Opprett et nytt programtillegg som er klart til at du kan legge til tilpassingskoden for Dynamics.
Nå skal JS-filen for programtillegg se slik ut:
Legg til klientbiblioteket Microsoft CIF i programtillegget. Du må laste inn klientbiblioteket asynkront inn når Flex startes, så legg til følgende kode i funksjonen 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);
}
}
Publiser programtillegget.
Vi har nå et Flex-programtillegg som er klart for oss å teste.
Trinn 7: Test integrering av samtaleintelligens i Dynamics 365 og Flex
Logg deg på Salgssenter-appen, og velg Samtale-ikonet. Du skal se Twilio Flex innbygd i høyre rute.
Kontroller at du har angitt statusen som Tilgjengelig i Twilio, og ring Twilio-telefonnummeret du konfigurerte i Trinn 4: Konfigurer et Twilio-telefonnummer.
Etter at du har svart på anropet og startet opptaket, går du til Utskrift-fanen for å vise sanntidstranskripsjon og deretter vise anropsinnsikt på siden Samtalesammendrag etter at samtalen er over.