Del via


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:

Skjermbilde av Twilio lagt til som kanalleverandør.

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

  1. Installer tillegget SIPREC-kobling.

  2. Åpne innstillingene i administrasjonssenteret for Twilio, og konfigurer den slik at den forgrener mediene til Dynamics 365-opptakeren, som vist på følgende skjermbilde:

    Skjermbilde av innstillinger i administrasjonssenteret for Twilio.

    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

  1. Gå til Studio Flows-delen i konsollen, og velg Voice IVR flow.

  2. Til høyre i Tale-delen i kontrollprogrambiblioteket legger du til Forgren strøm:

    Skjermbilde av kontrollprogrammet Forgren strøm.

  3. Konfigurer kontrollprogrammet slik at det forgrener strømmen ved hjelp av SIPREC-koblingen du definerte tidligere:

    Skjermbilde av konfigurasjonen av kontrollprogrammet Forgren strøm.

  4. 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}}

  5. Konfigurer Forgren strøm i Overganger-fanen, slik at den er før samtalen sendes til agenten:

    Skjermbilde av fanen Twilio Transition.

  6. Lagre flyten og publiser den.

Trinn 4: Konfigurer et Twilio-telefonnummer

Du må peke et Twilio-telefonnummer til det nyopprettede Studio Flow.

  1. Velg et nummer du eier, eller kjøp et nytt nummer fra konsollen for Twilio-telefonnumre.

  2. Åpne telefonnummeret ved å velge det, og rull deretter ned til Tale-delen på siden.

  3. Velg flyten du definerte tidligere i feltene for Samtale kommer inn, som vist på følgende skjermbilde:

    Skjermbilde av feltene for Twilio-samtale kommer inn.

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.

  1. Gå til Endre område og velg Sales Insights-innstillinger i Salgssenter-appen.

  2. Velg Samtaleintelligens.

    Skjermbilde av siden for innstillinger for samtaleintelligens

  3. Velg Twilio i delen Samtaleleverandører, og angi SID for Twilio-konto.

  4. Lagre endringer.

  5. Konfigurer en opptakspolicy ved hjelp av Twilio-samtaleleverandøren.

    1. Velg Opprett en opptakspolicy, og konfigurer policyen. Lær mer.

    2. 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:

Skjermbilde av filen plugin.js.

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.

Skjermbilde av den innebygde Twilio-oppringingen i Salgssenter-appen.

Kontroller at du har angitt statusen som Tilgjengelig i Twilio, og ring Twilio-telefonnummeret du konfigurerte i Trinn 4: Konfigurer et Twilio-telefonnummer.

Skjermbilde av samtalevarsel i den innebygde oppringingen

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.

Vis og forstå siden for samtalesammendrag