Twilio Flexin integrointi Dynamics 365 -keskusteluanalytiikan kanssa (esiversio)
[Tämä artikkeli sisältää julkaisua edeltävää materiaalia ja voi muuttua.]
Tämän integroinnin avulla myyjäsi voivat soittaa ja vastaanottaa Twilio Flex -puheluita Dynamics 365:stä sekä tarkastella reaaliaikaisia transkripitoita puhelun aikana ja tekoälyn tuottamaa puheluanalyttiikkaa puhelun jälkeen.
Tärkeää
- Tämä on esiversiotoiminto.
- Esiversiotoimintoja ei ole tarkoitettu tuotantokäyttöön, ja niiden toiminnot voivat olla rajoitettuja. Näihin toimintoihin sovelletaan lisäkäyttöehtoja ja ne ovat käytettävissä ennen virallista julkaisua, jotta asiakkaat voivat käyttää niitä aikaisessa vaiheessa ja antaa palautetta.
Edellytykset
Twilio-tili
Twilio Flex -tili – katso lisätietoja Flex-tilin määrittämisestä tästä linkistä
Microsoft Dynamics 365 Sales -ympäristö sekä Sales Premium- tai Sales Enterprise -käyttöoikeus ja järjestelmänvalvojat käyttöoikeudet
Keskustelyanalytiikka asennettuna ja määritettynä – Lisätietoja
Dynamics 365 -kanavan integrointikehys 1.0 asennettuna. Lisätietoja
Paikallisen Node JS -ympäristön määrittäminen
create-flex-plugin-sovellus
Vaihe 1: Määritä Twilio Flex kanavantarjoajaksi
Luo Twilio Flexille kanavantarjoaja Dynamics 365 -kanavan integrointikehyksessä. Katso esimerkki alla olevasta näyttökuvasta:
Syötä seuraavat arvot::
Kanavan URL-osoite:https://flex.twilio.com/agent-desktop
Ota lähtevä tietoliikenne käyttöön: Kyllä
Ohjelmointirajapinnan versio: 1.0
Kanavan järjestysnumero: 1
Luotettu verkkotunnus:https://flex.twilio.com/
Valitse kanavan Unified Interface -sovellukset: Myyntikeskus (tai mikä tahansa muu sovellus, jolle haluat ottaa integraation käyttöön)
Valitse kanavan käyttöoikeusroolit: Lisää roolit, jotka tulevat käyttämään Twilio Flexiä. Voit esimerkiksi lisätä Myyjä- ja Myyntipäällikkö-roolit jne. Jos haluat upottaa Twilio Flexin iframe-kehyksenä Dynamics 365:een, lisää Dynamics 365 -organisaation URL-osoite sallittujen URL-osoitteiden luetteloon. Lisätietoja on tässä artikkelissa.
Vaihe 2: Asenna SIPREC-yhdistin ja reititä puhelut Dynamics 365:een
Asenna SIPREC-yhdistimen lisäosa.
Avaa Twilio-hallintakeskuksen asetukset ja määritä se haaroittamaan media Dynamics 365 -tallentimeen seuraavan näyttökuvan osoittamalla tavalla:
Seuraavat kentät on tärkeää huomioida:
Unique name: Määritä nimi ja pane se muistiin. Tarvitset sitä seuraavissa vaiheissa
Session Recording Server: Määritä Dynamics 365 -mediatallentimen palvelimen URL-osoite. Katso tuettujen tallentimien ja alueiden luettelo kohdasta Tuetut tallentimien päätepisteet ja alueet.
Jos haluat haaroittaa median lähimpään tallentimeen, käytä seuraavaa URL-osoitetta: sip:SRS@media.recording.dynamics.com:5061;secure=true
Tunnistetietokentät voivat jäädä tyhjiksi. Todennus tapahtuu TLS-määritysten varmenteella Twilion ja Dynamicsin välillä.
Vaihe 3: Määritä puheluiden työnkulku haaroittamaan media Dynamics 365:een
Siirry konsolin Studio Flows -osioon ja valitse Voice IVR -työnkulku.
Lisää Fork Stream -pienoissovellus oikeanpuoleisesta pienoissovellusten kirjaston Voice-osiosta:
Määritä nyt pienoissovellus haaroittamaan viestivirta käyttämällä aiemmin määrittämääsi SIPREC-yhdistintä:
Syötä seuraavat arvot:
- Stream Action: Start
- Stream Type: Siprec
- Connector Name: SIPREC-yhdistimelle antamasi nimi. Tässä esimerkissä se on SipRec1.
- Tracks: Both Tracks
-
Stream parameters:
Role: inbound (tässä esimerkissä nauhoitamme saapuvia puheluita)
CallerDisplayName: {{trigger.call.From}}
CalleeDisplayName: {{trigger.call.To}}
Määritä Transitions-välilehdessä Fork Stream tapahtumaan ennen kuin puhelu lähetetään asiakaspalvelijalle:
Tallenna ja julkaise työnkulku.
Vaihe 4: Määritä Twilio-puhelinnumero
Sinun täytyy määrittää Twilio-puhelinnumero osoittamaan juuri luomaasi Studio Flow -työnkulkuun.
Valitse omistamasi numero – tai osta uusi numero – Twilion Phone Numbers -konsolista.
Avaa puhelinnumero valitsemalla se ja siirry sitten alas sivun Voice-osioon .
Valitse aiemmin luomasi työnkulku Call Comes In -kentissä seuraavassa näyttökuvassa kuvatulla tavalla:
Vaihe 5: Dynamics 365:n määrittäminen integrointia varten
Nyt määritämme Twilion puhelupalveluntarjoajaksi ja määritämme tallennuskäytännön, joka määrittää, kuka voi nauhoittaa puheluita, sekä muita keskusteluanalytiikassa käytettäviä tietoja.
Siirry Myyntikeskus-sovelluksen Vaihda aluetta -osioon ja valitse Sales Insightsin asetukset.
Valitse Keskusteluanalytiikka.
Valitse Puhelupalvelun tarjoajat -osiosta Twilio ja määritä Twilio-tilin SID.
Tallenna muutokset.
Määritä tallennuskäytäntö käyttämällä Twilio-puhelupalvelua.
Valitse Luo tallennuskäytäntö ja määritä käytäntö. Lisätietoja.
Valitse Luo ja julkaise asetukset.
Vaihe 6: Valmistele Flex-laajennus reaaliaikaisen käyttökokemuksen integrointia varten
Flex on React-projekti, ja käyttöliittymään tekemäsi mukautukset luodaan laajennuskomponentteina.
Tässä dokumentaatiossa ei käsitellä Node-ympäristön valmistelemista tai tyhjän Flex-laajennuksen määrittämistä. Katso yksinkertaiset ohjeet ensimmäisen Flex-laajennuksesi luomiseen Twilion dokumentaatiosta.
Luo uusi laajennus, jolla voit lisätä mukautuskoodiasi Dynamicsia varten.
JS-laajennustiedostosi tulisi näyttää tässä vaiheessa tältä:
Lisää Microsoft CIF Client -kirjasto laajennukseesi. Asiakaskirjasto täytyy ladata asynkronisesti, kun Flex käynnistyy, joten lisää Flexin init-funktioon seuraava koodi.
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);
}
}
Julkaise laajennus.
Nyt sinulla on Flex-laajennus, joka on valmiina testaukseen!
Vaihe 7: Testaa Dynamics 365 -keskusteluanalytiikkaa ja Flex-integraatiota
Kirjaudu Myyntikeskus-sovellukseen ja valitse Puhelu-kuvake . Näet Twilio Flexin upotettuna oikeanpuoleiseen ruutuun.
Varmista, että olet määrittänyt Twiliossa tilaksesi Saatavilla, ja soita Twilio-puhelinnumeroon, jonka määritit kohdassa Vaihe 4: Määritä Twilio-puhelinnumero.
Kun vastaat puheluun ja aloitat nauhoittamisen, siirry Transkriptio-välilehteen nähdäksesi reaaliaikaisen transkriptin. Puhelun päätyttyä voit tarkastella puheluanalytiikkaa Puhelun yhteenveto -sivulla.