Integrera Twilio Flex med Dynamics 365 konversationsintelligens (förhandsversion)
[Denna artikel är en förhandsversion av dokumentationen och kan komma att ändras.]
Denna integration låter dina säljare ringa och ta emot Twilio Flex-samtal från Dynamics 365 och få transkriberingar i realtid under samtalet och AI-genererade samtalsinsikter efter samtalet.
Viktigt!
- Detta är en förhandsversion.
- Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. Funktionerna är föremål för kompletterande användningsvillkor så att kunder kan få tidig tillgång och ge feedback.
Förutsättningar
Ett Twilio-konto
Ett Twilio Flex-konto – se denna länk för mer information om hur du upprättar ett Flex-konto
En Microsoft Dynamics 365 Sales-miljö med Sales Premium- eller Sales Enterprise-licens, tillsammans med privilegier för systemadministratör
Konversationsintelligens installerad och konfigurerad – Mer information
Dynamics 365 Ramverk för kanalintegration 1.0 installerad. Läs mer
En lokal Node JS-miljö konfigurerad
Programmet skapa-plugin-program
Steg 1: Konfigurera Twilio Flex som kanalleverantör
I Dynamics 365 Ramverk för kanalintegration skapar du en kanalleverantör för Twilio Flex. Se skärmbilden nedan som exempel:
Ange följande värden::
Kanal-URL:https://flex.twilio.com/agent-desktop
Aktivera utgående kommunikation: Ja
API-version: 1.0
Kanalorder: 1
Betrodd domän:https://flex.twilio.com/
Välj enhetligt gränssnitt appar för kanal: Försäljningsnav (eller någon annan app som du vill ska aktiveras för integreringen)
Välj säkerhetsroller för kanalen: Lägg till de roller som ska använda Twilio Flex. Till exempel säljare, försäljningschef och så vidare. För att bädda in Twilio Flex som en iFrame i Dynamics 365, lägg till Dynamics 365-organisationens URL till listan över tillåtna URL:er. Mer information finns i denna artikel.
Steg 2: Installera SIPREC-anslutningsprogram och dirigera samtal till Dynamics 365
Installera tillägget SIPREC-anslutningsprogram.
Öppna inställningarna för Twilio-administratörscentret och konfigurera det för att dela media till Dynamics 365-inspelare som illustreras i följande skärmbild:
Följande fält är viktiga:
Unikt namn: Ange ett namn och notera det. Du måste använda den i nästa steg
Sessionsinspelningsserver: Ange URL:en till Dynamics 365-servern för medieinspelning. En lista över de regioner som stöds finns i Inspelare och regioner som stöds.
Om du vill föra över media till närmaste webbplats använder du följande URL: sip:SRS@media.recording.dynamics.com:5061;secure=true
Fält med autentiseringsuppgifter kan förbli tomma. Autentiseringen sker med certifikat på TLS-installationen mellan Twilio och Dynamics.
Steg 3: Konfigurera samtalsflödet för att öka medias genom att använda Dynamics 365
Navigera till avsnittet Studio Flows i Console och välj Voice IVR-flöde.
På höger sida, under avsnitt Röst i widgetbiblioteket, lägg till widget Förgreningsström:
Konfigurera nu widgeten så att flödet förgrenas med hjälp av SIPREC-anslutningsprogrammet du definierade tidigare:
Ange följande värden:
- Strömåtgärd: Starta
- Strömtyp: Siprec
- Kopplingens namn: Det namn som du bekräftar till SIPREC-anslutningsprogram. I vårt exempel är det SipRec1.
- Spår: Båda spåren
-
Flödesparametrar:
Roll: inkommande (i vårt exempel kommer vi att spela in inkommande samtal)
CallerDisplayName: {{trigger.call.From}}
CalleeDisplayName: {{trigger.call.To}}
På flik Övergångar, konfigurera Förgreningsström att vara innan samtalet skickas till handläggaren:
Spara flödet och publicera.
Steg 4: Konfigurera ett Twilio-telefonnummer
Du måste peka på ett Twilio-telefonnummer till ditt nyskapade Studioflöde.
Välj ett nummer som du äger – eller köp ett nytt nummer – i konsolen för Twilio-telefonnummer.
Öppna telefonnumret genom att markera det och rulla sedan ned till avsnittet Röst på sidan.
Välj det flöde som du hade definierat tidigare i fälten Samtal kommer in (se bilden nedan):
Steg 5: Konfigurera Dynamics 365 för integreringen
Vi konfigurerar Twilio som samtalsleverantör och konfigurerar en registreringspolicy för att definiera vem som kan registrera samtal och annan information som används för konversationsinsikter.
I appen Försäljningsnav, gå till Ändra område och välj Inställningar för Sales Insights.
Välj Konversationsintelligens.
Välj Twilio i avsnittet Samtalsleverantörer och ange Twilio-konto SID.
Spara ändringarna.
Konfigurera en registreringsprincipen med hjälp av Twilio-samtalsleverantören.
Välj Skapa en inspelnings policy och konfigurera policyn. Läs mer.
Välj Skapa och publicera sedan inställningarna.
Steg 6: Förbereda Flex plugin-programmet för att integrera realtidsupplevelsen
Flex är ett React-projekt och anpassningar som du gör i användargränssnittet skapas som plugin-komponenter.
Att förbereda en nodmiljö och ställa in en tom Flex-plugin ligger utanför ramen för denna dokumentation. Se Twilio dokumentation för en stegvis guide om att skapa ditt första Flex-plugin-program.
Skapa ett nytt plugin-program som gör att du kan lägga till anpassningskoden för Dynamics.
Vid det här laget kommer din plugin JS-fil att se ut så här:
Lägg till Microsoft CIF-klientens bibliotek i plugin-programmet. Klientbiblioteket måste läsas in asynkront när Entitet lanserar, så lägg till följande kod i 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);
}
}
Publicera plugin-programmet.
Vi har nu ett plugin-program för Flex redo att testas!
Steg 7: Testa Dynamics 365 konversationsintelligens och Flex-integrering
Logga in i appen Försäljningsnav, välj ikonen Samtal. Twilio Flex inbäddad i den högra rutan.
Make sure you've set your status as Available i Twilio och ring ett samtal till det Twilio-telefonnummer som du angett i Steg 4: KOnfigurera ett Twilio-telefonnummer.
När du har besvarat samtalet och börjar spela in går du till fliken Transkription för att visa transkription i realtid och visar sedan samtalsinsikter på sidan Samtalssammanfattning efter att samtalet har avslutats.