Partajați prin


Integrați Twilio Flex cu Dynamics 365 Informații despre conversații (versiune preliminară)

[Acest articol este documentație de prelansare și poate suferi modificări.]

Această integrare le permite vânzătorilor să efectueze și să primească apeluri Twilio Flex de la Dynamics 365 și să obțină transcripții în timp real în timpul apelului și Detalii despre apeluri generat de AI după apel.

Important

  • Aceasta este o caracteristică de previzualizare.
  • Caracteristicile în regim de previzualizare nu sunt destinate utilizării în producție și pot avea funcționalități restricționate. Aceste funcții sunt supuse termenilor de utilizare suplimentari și sunt disponibile înainte de o lansare oficială, astfel încât clienții să poată avea acces anticipat și să poată oferi feedback.

Cerințe preliminare

  • Un cont Twilio

  • Un cont Twilio Flex – consultați acest link pentru mai multe informații despre cum să configurați un cont Flex

  • A Microsoft Dynamics Mediu de vânzări 365 cu licență Sales Premium sau Sales Enterprise, împreună cu privilegii de administrator de sistem

  • Informații despre conversații instalat și configurat – Aflați mai multe

  • Cadru de lucru pentru integrarea canalelor Dynamics 365 1.0 instalat. Află mai multe

  • Un mediu local Node JS configurat

  • Aplicația create-flex-plugin

Pas 1: Configurați Twilio Flex ca furnizor de canal

În Cadru de lucru pentru integrarea canalelor Dynamics 365, creați un furnizor de canal pentru Twilio Flex. Vedeți captura de ecran de mai jos ca exemplu:

Captură de ecran cu Twilio adăugată ca furnizor de canal.

Introduceți următoarele valori::

  • Adresa URL a canalului:https://flex.twilio.com/agent-desktop

  • Activați comunicarea în ieșire: Da

  • Versiunea API: 1.0

  • Ordinea canalului: 1

  • Domeniu de încredere:https://flex.twilio.com/

  • Selectați Interfață unificată Aplicații pentru canal: Hub de vânzări (sau orice altă aplicație pentru care doriți să fie activată integrarea)

  • Selectați rolurile de securitate pentru canal: Adăugați rolurile care ar folosi Twilio Flex. De exemplu, agentul de vânzări, managerul de vânzări și astfel on.To încorporează Twilio Flex ca iframe în Dynamics 365, adăugați adresa URL a organizației Dynamics 365 la lista de URL-uri permise. Pentru mai multe informații, consultați acest articol.

Pas 2: Instalați conectorul SIPREC și direcționați apelurile către Dynamics 365

  1. Instalați suplimentul conector SIPREC .

  2. Deschideți setările centrului de administrare Twilio și configurați-l pentru a transfera media la reportofonul Dynamics 365, așa cum este ilustrat în următoarea captură de ecran:

    Captură de ecran a setărilor centrului de administrare Twilio.

    Următoarele câmpuri sunt importante de reținut:

    • Nume unic: Specificați un nume și notați-l. Va trebui să-l folosești în următorii pași

    • Server de înregistrare a sesiunii: Specificați adresa URL a serverului de înregistrare media Dynamics 365. Pentru o listă de înregistratoare și regiuni acceptate, consultați Punctele finale și regiunile de înregistrare acceptate.

      • Dacă doriți să transferați media la cel mai apropiat recorder, utilizați următorul URL: sip:SRS@media.recording.dynamics.com:5061;secure=true

      • Câmpurile de acreditări pot rămâne goale. Autentificarea se face cu certificat pe configurarea TLS între Twilio și Dynamics.

Pas 3: Configurați fluxul de apeluri pentru a transfera media la Dynamics 365

  1. Navigați la secțiunea Studio Flows din Consolă și selectați Voice IVR flow.

  2. În partea dreaptă, sub secțiunea Voice din biblioteca widget, adăugați Fork Stream widget:

    Captură de ecran a fluxului Fork widget.

  3. Acum, configurați widget pentru a bifurca fluxul folosind conectorul SIPREC pe care l-ați definit mai devreme:

    Captură de ecran a configurației Fork Stream widget.

  4. Introduceți următoarele valori:

    - Acțiune în flux: Începeți

    • Tip flux: Siprec
    • Nume conector: Numele pe care l-ați dat conectorului SIPREC. În exemplul nostru, este SipRec1.
    • Piese: Ambele piese
    • Parametrii fluxului:
      • Rol: inbound (În exemplul nostru, vom înregistra apelurile primite)

      • CallerDisplayName: {{trigger.call.From}}

      • CalleeDisplayName: {{trigger.call.To}}

  5. În fila Tranziții , configurați Fork Stream să fie înainte ca apelul să fie trimis agentului:

    Captură de ecran a filei Twilio Transition.

  6. Salvați fluxul și publicați.

Pas 4: Configurați un număr de telefon Twilio

Trebuie să indicați un număr de telefon Twilio către Studio Flow nou creat.

  1. Selectați un număr pe care îl dețineți – sau cumpărați un număr nou – din consola Twilio Phone Numbers.

  2. Deschideți numărul de telefon selectându-l, apoi derulați în jos la secțiunea Voce de pe pagină.

  3. Selectați fluxul pe care l-ați definit mai devreme în câmpurile Apelul vine așa cum este ilustrat în următoarea captură de ecran:

    Captură de ecran cu Twilio Call Comes in Fields.

Pas 5: Configurați Dynamics 365 pentru integrare

Să setăm Twilio ca furnizor de apeluri și să configuram o politică de înregistrare pentru a defini cine poate înregistra apelurile și alte informații utilizate pentru informații despre conversație.

  1. În aplicația Hub de vânzări, accesați zona Modificare și selectați Setări Sales Insights.

  2. Selectați Informații despre conversații.

    Captură de ecran a paginii de setări Informații despre conversații

  3. Selectați Twilio în secțiunea Furnizori de apeluri și specificați SID-ul contului Twilio.

  4. Salvați modificările.

  5. Configurați o politică de înregistrare folosind furnizorul de apeluri Twilio.

    1. Selectați Creați o politică de înregistrare și configurați politica. Aflați mai multe.

    2. Selectați Creați și apoi publicați setările.

Pas 6: Pregătiți pluginul Flex pentru a integra experiența în timp real

Flex este un proiect React, iar personalizările pe care le faceți în interfața de utilizare sunt create ca componente de plugin.

Pregătirea unui mediu Node și configurarea unui plugin Flex gol nu fac parte din domeniul de aplicare al acestei documentații. Consultați documentația Twilio pentru un tutorial pas cu pas despre crearea primului plugin Flex.

Creați un plugin nou care este gata pentru a adăuga codul de personalizare pentru Dynamics.

În acest moment, fișierul dvs. JS plugin va arăta astfel:

Captură de ecran a fișierului plugin.js.

Adăugați biblioteca Microsoft CIF Client la pluginul dvs. Biblioteca client trebuie să fie încărcată asincron la lansarea Flex, așa că adăugați următorul cod la funcția 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);
  }
}

Publicați pluginul.
Avem acum un plugin Flex care este gata pentru a fi testat!

Pas 7: Testați integrarea Dynamics 365 Informații despre conversații și Flex

Conectați-vă la aplicația Hub de vânzări, selectați pictograma Apel . Veți vedea Twilio Flex încorporat în panoul din dreapta.

Captură de ecran a dialerului Twilio încorporat în aplicația Hub de vânzări.

Asigurați-vă că v-ați setat starea ca Disponibil în Twilio și efectuați un apel la numărul de telefon Twilio pe care l-ați configurat în pas 4: Configurați un număr de telefon Twilio.

Captură de ecran a notificării de apel pe dialer-ul încorporat

După ce răspundeți la apel și începeți înregistrarea, navigați la fila Transcriere pentru a vedea transcrierea în timp real, apoi vizualizați Detalii despre apeluri în rezumat apel pagina după încheierea apelului.

Vizualizați și înțelegeți pagina rezumat apel