Condividi tramite


Integra Twilio Flex con Conversazione intelligente di Dynamics 365 (anteprima)

[Questo articolo fa parte della documentazione non definitiva, pertanto è soggetto a modifiche.]

Questa integrazione consente ai tuoi venditori di effettuare e ricevere chiamate Twilio Flex da Dynamics 365 e ottenere trascrizioni in tempo reale durante la chiamata e informazioni dettagliate sulla chiamata generate dall'intelligenza artificiale dopo la chiamata.

Importante

  • Questa è una funzionalità di anteprima.
  • Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Queste funzionalità sono soggette a condizioni per l'utilizzo supplementari e sono disponibili prima di una versione ufficiale in modo che i clienti possano ottenere l'accesso iniziale e fornire feedback.

Prerequisiti

  • Un account Twilio

  • Un account Twilio Flex: vedi questo collegamento per ulteriori informazioni su come configurare un account Flex

  • Un ambiente Microsoft Dynamics 365 Sales con licenza Sales Premium o Sales Enterprise, insieme ai privilegi di amministratore di sistema

  • Conversazione intelligente installata e configurata: Ulteriori informazioni

  • Framework di integrazione del canale Dynamics 365 1.0 installato. Ulteriori informazioni

  • Configurazione di un ambiente Node JS locale

  • L'applicazione create-flex-plugin

Passaggio 1: configurare Twilio Flex come provider di canali

In Dynamics 365 Channel Integration Framework, crea un provider di canale per Twilio Flex. Vedi lo screenshot di seguito come esempio:

Screenshot di Twilio aggiunto come provider di canali.

Immetti i valori seguenti::

  • URL canale:https://flex.twilio.com/agent-desktop

  • Abilita comunicazioni in uscita:

  • Versione API: 1.0

  • Ordine canale: 1

  • Dominio attendibile:https://flex.twilio.com/

  • Seleziona le app Unified Interface per il canale: Hub delle vendite (o qualsiasi altra app per cui desideri abilitare l'integrazione)

  • Seleziona i ruoli di sicurezza per il canale: Aggiungi i ruoli che utilizzeranno Twilio Flex. Ad esempio, Venditore, Direttore commerciale e così via.Per incorporare Twilio Flex come iframe all'interno di Dynamics 365, aggiungi l'URL dell'organizzazione Dynamics 365 all'elenco degli URL consentiti. Per altre informazioni, vedi questo articolo.

Passaggio 2: installa il connettore SIPREC e instrada le chiamate a Dynamics 365

  1. Installa il componente aggiuntivo Connettore SIPREC.

  2. Apri le impostazioni dell'interfaccia di amministrazione di Twilio e configurale per eseguire il fork del contenuto multimediale nel registratore Dynamics 365, come illustrato nello screenshot seguente:

    Screenshot delle impostazioni dell'interfaccia di amministrazione di Twilio.

    È importante notare i seguenti campi:

    • Nome univoco: specifica un nome e annotalo. Dovrai usare questo file nei passaggi successivi

    • Server di registrazione sessione: specifica l'URL del server di registrazione multimediale di Dynamics 365. Per un elenco di registratori e aree geografiche supportati, vedi Endpoint e aree geografiche del registratore supportati.

      • Se desideri trasferire il contenuto multimediale al registratore più vicino, utilizza il seguente URL: sip:SRS@media.recording.dynamics.com:5061;secure=true

      • I campi delle credenziali possono rimanere vuoti. L'autenticazione viene eseguita con certificato sulla configurazione TLS tra Twilio e Dynamics.

Passaggio 3: configura il flusso delle chiamate per eseguire il fork del contenuto multimediale in Dynamics 365

  1. Accedi a Sezione Flussi di Studio nella Console e seleziona Flusso Voice IVR.

  2. A destra, nella sezione Voce nella libreria dei widget, aggiungi il widget Flusso Fork:

    Screenshot del widget Flusso Fork.

  3. Ora, configura il widget per eseguire il fork del flusso utilizzando il connettore SIPREC che hai definito in precedenza:

    Screenshot della configurazione del widget Flusso Fork.

  4. Immettere i valori seguenti:

    - Azione flusso: Avvio

    • Tipo di flusso: Siprec
    • Nome connettore: il nome che hai dato al connettore SIPREC. In questo esempio, è SipRec1.
    • Tracce: entrambe le tracce
    • Parametri flusso:
      • Ruolo: in entrata (nel nostro esempio, registreremo le chiamate in entrata)

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

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

  5. Nella scheda Transizioni, configura il Flusso Fork per essere prima che la chiamata venga inviata all'agente:

    Screenshot della scheda Transizione Twilio.

  6. Salva e pubblica il flusso.

Passaggio 4: configura un numero di telefono Twilio

Devi indirizzare un numero di telefono Twilio al tuo Flusso Studio appena creato.

  1. Seleziona un numero che possiedi o acquista un nuovo numero dalla console dei numeri di telefono di Twilio.

  2. Apri il numero di telefono selezionandolo, quindi scorri verso il basso fino alla sezione Voce della pagina.

  3. Seleziona il flusso che avevi definito in precedenza nei campi La chiamata arriva come illustrato nella seguente screenshot:

    Screenshot di La chiamata arriva Twilio nei campi.

Passaggio 5: configura Dynamics 365 per l'integrazione

Impostiamo Twilio come provider di chiamate e configuriamo criteri di registrazione per definire chi può registrare le chiamate e altre informazioni utilizzate per le informazioni dettagliate sulle conversazioni.

  1. Nell'app Hub delle vendite cai all'area di modifica e seleziona Impostazioni di Sales Insights.

  2. Seleziona Conversazione intelligente.

    Screenshot della pagina delle impostazioni Conversazione intelligente

  3. Seleziona Twilio nella sezione Provider di chiamata e specifica il SID dell'account Twilio.

  4. Salvare le modifiche.

  5. Configurare criteri di registrazione utilizzando il provider di chiamate Twilio.

    1. Seleziona Crea recordi di registrazione e configurali. Ulteriori informazioni.

    2. Seleziona Crea quindi pubblica le impostazioni.

Passaggio 6: prepara il plug-in Flex per integrare l'esperienza in tempo reale

Flex è un progetto React e le personalizzazioni apportate all'interfaccia utente vengono create come componenti plug-in.

La preparazione di un ambiente Node e l'impostazione di un plug-in Flex vuoto non rientrano nell'ambito di questa documentazione. Fai riferimento alla documentazione di Twilio per un'esercitazione dettagliata sulla creazione del primo plug-in Flex.

Crea un nuovo plug-in pronto per aggiungere il tuo codice di personalizzazione per Dynamics.

A questo punto, il file del plugin JS dovrebbe essere così:

Screenshot del file plugin.js.

Aggiungi la libreria Microsoft CIF Client al tuo plug-in. La libreria client deve essere caricata in modo asincrono all'avvio di Flex, quindi aggiungi il seguente codice alla funzione 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);
  }
}

Pubblica il plugin.
Ora abbiamo un plug-in Flex pronto per essere testato.

Passaggio 7: verifica Conversazione intelligente e l'integrazione Flex di Dynamics 365

Accedi all'app Hub delle vendite, seleziona l'icona Chiama. Vedrai Twilio Flex incorporato nel riquadro di destra.

Screenshot del dialer Twilio incorporato nell'app Hub delle vendite.

Assicurati di aver impostato il tuo stato su Disponibile in Twilio ed effettua una chiamata al numero di telefono Twilio che hai impostato in Passaggio 4: configurare un numero di telefono Twilio.

Screenshot della notifica di chiamata sul dialer incorporato

Una volta che rispondi alla chiamata e inizi la registrazione, vai alla scheda Trascrizione per visualizzare la trascrizione in tempo reale e quindi visualizzare le informazioni dettagliate sulla chiamata nella pagina Riepilogo chiamata dopo la fine della chiamata.

Visualizzare e comprendere la pagina di riepilogo delle chiamate