Bagikan melalui


Integrasikan Twilio Flex dengan Dynamics 365 Kecerdasan Percakapan (pratinjau)

[Artikel ini adalah dokumentasi prarilis dan dapat berubah.]

Integrasi ini memungkinkan penjual Anda melakukan dan menerima panggilan Twilio Flex dari Dynamics 365 dan mendapatkan transkripsi real-time selama panggilan dan Wawasan Panggilan yang dihasilkan AI setelah panggilan.

Penting

  • Ini adalah fitur pratinjau.
  • Fitur pratinjau tidak dimaksudkan untuk digunakan dalam produksi dan fungsinya mungkin terbatas. Fitur-fitur ini tunduk pada ketentuan penggunaan tambahan, dan tersedia sebelum rilis resmi sehingga pelanggan bisa mendapatkan akses awal dan memberikan umpan balik.

Prasyarat

  • Akun Twilio

  • Akun Twilio Flex – lihat tautan ini untuk info lebih lanjut tentang cara menyiapkan akun Flex

  • Microsoft Dynamics Lingkungan 365 Sales dengan lisensi Sales Premium atau Sales Enterprise, bersama dengan hak istimewa administrator sistem

  • Kecerdasan Percakapan diinstal dan disiapkan – Pelajari lebih lanjut

  • Kerangka Kerja Integrasi Saluran Dynamics 365 1.0 diinstal. Pelajari lebih lanjut

  • Pengaturan lingkungan Node JS lokal

  • Aplikasi create-flex-plugin

Langkah 1: Konfigurasikan Twilio Flex sebagai penyedia saluran

Di Kerangka Kerja Integrasi Saluran Dynamics 365, buat penyedia saluran untuk Twilio Flex. Lihat tangkapan layar di bawah ini sebagai contoh:

Tangkapan layar Twilio ditambahkan sebagai penyedia saluran.

Masukkan nilai berikut::

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

  • Aktifkan Komunikasi Keluar: Ya

  • Versi API: 1.0

  • Urutan saluran: 1

  • Domain Tepercaya:https://flex.twilio.com/

  • Pilih Aplikasi Antarmuka Terpadu untuk Saluran: Pusat Penjualan (atau aplikasi lain yang Anda inginkan untuk mengaktifkan integrasinya)

  • Pilih peran keamanan untuk saluran: Tambahkan peran yang akan menggunakan Twilio Flex. Misalnya, Tenaga Penjualan, Manajer Penjualan, dan sebagainya on.To menyematkan Twilio Flex sebagai iframe di dalam Dynamics 365, tambahkan URL organisasi Dynamics 365 ke daftar URL yang Diizinkan. Untuk informasi selengkapnya, lihat artikel ini.

Langkah 2: Instal konektor SIPREC dan rutekan panggilan ke Dynamics 365

  1. Instal add-on konektor SIPREC.

  2. Buka pengaturan pusat admin Twilio dan konfigurasikan untuk memisahkan media ke perekam Dynamics 365 seperti yang diilustrasikan dalam cuplikan layar berikut:

    Cuplikan layar pengaturan pusat admin Twilio.

    Bidang berikut penting untuk diperhatikan:

    • Nama unik: Tentukan nama dan catat. Anda harus menggunakannya di langkah berikutnya

    • Server Perekaman Sesi: Tentukan URL server perekaman media Dynamics 365. Untuk daftar perekam dan wilayah yang didukung, lihat Titik akhir perekam dan wilayah yang didukung.

      • Jika Anda ingin mencabang media ke perekam terdekat, gunakan URL berikut: sip:SRS@media.recording.dynamics.com:5061; aman=benar

      • Bidang kredensial dapat tetap kosong. Autentikasi dilakukan dengan sertifikat pada penyiapan TLS antara Twilio dan Dynamics.

Langkah 3: Mengonfigurasi alur panggilan untuk membuat fork media ke Dynamics 365

  1. Buka bagian Alur Studio di Konsol dan pilih alur IVR Suara.

  2. Di sisi kanan, di bawah bagian Suara di pustaka widget, tambahkan widget Fork Stream :

    Tangkapan layar widget Fork Stream.

  3. Sekarang, konfigurasikan widget untuk melakukan fork aliran menggunakan konektor SIPREC yang Anda tentukan sebelumnya:

    Tangkapan layar konfigurasi widget Fork Stream.

  4. Masukkan nilai berikut:

    - Tindakan Streaming: Mulai

    • Jenis Aliran: Siprec
    • Nama Konektor: Nama yang Anda berikan kepada konektor SIPREC. Dalam contoh kita, itu adalah SipRec1.
    • Trek: Kedua Trek
    • Parameter aliran:
      • Peran: inbound (Dalam contoh kita, kita akan merekam panggilan masuk)

      • Nama Penelepon: {{trigger.call.From}}

      • Nama Tampilan Panggilan: {{trigger.call.To}}

  5. Di tab Transisi , konfigurasikan Aliran Garpu menjadi sebelum panggilan dikirim ke agen:

    Tangkapan layar tab Transisi Twilio.

  6. Simpan alur dan terbitkan.

Langkah 4: Konfigurasikan nomor telepon Twilio

Anda perlu mengarahkan nomor telepon Twilio ke Studio Flow yang baru dibuat.

  1. Pilih nomor yang Anda miliki – atau beli nomor baru – dari konsol Nomor Telepon Twilio.

  2. Buka nomor telepon dengan memilihnya, lalu gulir ke bawah ke bagian Suara di halaman.

  3. Pilih alur yang telah Anda tentukan sebelumnya di bidang Panggilan Masuk seperti yang diilustrasikan dalam cuplikan layar berikut:

    Tangkapan layar Twilio Call hadir di bidang.

Langkah 5: Mengonfigurasi Dynamics 365 untuk integrasi

Mari kita siapkan Twilio sebagai penyedia panggilan dan konfigurasikan kebijakan perekaman untuk menentukan siapa yang dapat merekam panggilan, dan informasi lain yang digunakan untuk wawasan percakapan.

  1. Di aplikasi Pusat Penjualan, buka area Ubah dan pilih Pengaturan Sales Insights.

  2. PilihKecerdasan Percakapan.

    Screenshot halaman pengaturan Kecerdasan Percakapan

  3. Pilih Twilio di bagian Penyedia panggilan dan tentukan SID akun Twilio.

  4. Simpan perubahan.

  5. Konfigurasikan kebijakan perekaman menggunakan penyedia panggilan Twilio.

    1. Pilih Buat kebijakan perekaman dan konfigurasikan kebijakan. Pelajari selengkapnya.

    2. Pilih Buat lalu publikasikan pengaturan.

Langkah 6: Siapkan plugin Flex untuk mengintegrasikan pengalaman real-time

Flex adalah proyek React dan penyesuaian yang Anda buat pada UI dibuat sebagai komponen plugin.

Menyiapkan lingkungan Node dan menyiapkan plugin Flex kosong berada di luar cakupan dokumentasi ini. Lihat dokumentasi Twilio untuk tutorial langkah demi langkah tentang membuat plugin Flex pertama Anda.

Buat plugin baru yang siap bagi Anda untuk menambahkan kode penyesuaian untuk Dynamics.

Pada titik ini, file JS plugin Anda akan terlihat seperti ini:

Tangkapan layar file plugin.js.

Tambahkan pustaka Klien CIF Microsoft ke plugin Anda. Library klien harus dimuat secara asinkron saat Flex diluncurkan, jadi tambahkan kode berikut ke fungsi init Flex.

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);
  }
}

Publikasikan plugin.
Kami sekarang memiliki plugin Flex yang siap untuk kami uji!

Langkah 7: Uji integrasi Dynamics 365 Kecerdasan Percakapan dan Flex

Masuk ke aplikasi Pusat Penjualan, pilih ikon Panggil . Anda akan melihat Twilio Flex disematkan di panel kanan.

Cuplikan layar dialer Twilio yang disematkan di aplikasi Pusat Penjualan.

Pastikan Anda telah mengatur status Anda sebagai Tersedia di Twilio dan lakukan panggilan ke Nomor Telepon Twilio yang Anda siapkan di Langkah 4: Mengonfigurasi nomor telepon Twilio.

Cuplikan layar pemberitahuan panggilan pada dialer yang disematkan

Setelah Anda menjawab panggilan dan mulai merekam, navigasikan ke tab Transskrip untuk melihat transkripsi waktu nyata, lalu lihat Wawasan Panggilan di halaman ringkasan panggilan setelah panggilan berakhir.

Melihat dan memahami halaman ringkasan panggilan