Споделяне чрез


Интегриране на Twilio Flex с Dynamics 365 разузнаване чрез разговор (преглед)

[Тази статия е предварително издание на документацията и подлежи на промяна.]

Тази интеграция позволява на вашите продавачи да извършват и получават Twilio Flex повиквания от Dynamics 365 и да получават транскрипции в реално време по време на разговора и генерирани от AI аналитични данни за обаждания след разговора.

Важно

  • Това е функция за предварителен преглед.
  • Функциите на етап преглед не са предназначени за производствена употреба и може да са с ограничени възможности. Тези функции са предмет на допълнителни условия за ползване и са налични преди официалното издание, така че клиентите да могат да получат ранен достъп и да предоставят обратна връзка.

Предварителни изисквания

  • Профил в Twilio

  • Акаунт в Twilio Flex – вижте тази връзка за повече информация как да настроите акаунт във Flex

  • Среда Microsoft Dynamics 365 Sales с лиценз Sales Premium или Sales Enterprise, заедно с привилегии на системен администратор

  • разузнаване чрез разговор, инсталирано и настроено – Научете повече

  • Рамка за интеграция на канали на Dynamics 365 1.0 инсталирана. Научете повече

  • Настроена е локална JS среда на Node

  • Приложението create-flex-plugin

Стъпка 1: Конфигурирайте Twilio Flex като доставчик на канали

В Рамка за интеграция на канали на Dynamics 365 създайте доставчик на канали за Twilio Flex. Вижте екранната снимка по-долу като пример:

Екранна снимка на Twilio, добавена като доставчик на канали.

Въведете следните стойности::

  • URL адрес на канала:https://flex.twilio.com/agent-desktop

  • Активиране на изходяща комуникация: Да

  • Версия на API: 1.0

  • Ред на каналите: 1

  • Доверен домейн:https://flex.twilio.com/

  • Изберете Приложения с Унифициран интерфейс за Канал: център за продажби (или всяко друго приложение, за което искате интеграцията да бъде разрешена)

  • Изберете правата за достъп за канала: Добавете ролите, които ще използват Twilio Flex. Например, Salesman, Sales Manager и така on.To вграждат Twilio Flex като iframe в Dynamics 365, добавят URL адреса на Dynamics 365 организация към списъка с разрешени URL адреси. За повече информация вижте тази статия.

Стъпка 2: Инсталирайте конектора SIPREC и маршрутизирайте повикванията към Dynamics 365

  1. Инсталирайте добавката за конектор SIPREC.

  2. Отворете настройките на центъра за администриране на Twilio и го конфигурирайте да разклонява мултимедията към рекордера на Dynamics 365, както е показано на следната екранна снимка:

    Екранна снимка на настройките на центъра за администриране на Twilio.

    Важно е да се отбележат следните полета:

    • Уникално име: Посочете име и го запишете. Ще трябва да го използвате в следващите стъпки

    • Сървър за запис на сесии: Задайте URL адреса на сървъра за запис на мултимедия на Dynamics 365. За списък на поддържаните рекордери и региони вижте Крайни точки на записващото устройство и поддържани региони.

      • Ако искате да разклоните носителя към най-близкия рекордер, използвайте следния URL: sip:SRS@media.recording.dynamics.com:5061; secure=вярно

      • Полетата за идентификационни данни могат да останат празни. Удостоверяването се извършва със сертификат за настройката на TLS между Twilio и Dynamics.

Стъпка 3: Конфигуриране на потока на повикванията за разклоняване на мултимедията към Dynamics 365

  1. Отидете до секцията Studio Flows в конзолата и изберете Voice IVR поток.

  2. Вдясно, под секцията Глас в библиотеката с графични компоненти, добавете потока графичния компонент Fork Stream:

    Екранна снимка на графичен компонент Fork Stream.

  3. Сега конфигурирайте графичен компонент да разклонява потока с помощта на конектора SIPREC, който дефинирахте по-рано:

    Екранна снимка на конфигурацията на графичен компонент Fork Stream.

  4. Въведете стойностите по-долу:

    - Действие на потока: Старт

    • Тип поток: Siprec
    • Име на конектора: Името, което сте дали на конектора SIPREC. В нашия пример това е SipRec1.
    • Песни: И двете песни
    • Параметри на потока:
      • Role: inbound (В нашия пример ще записваме входящи повиквания)

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

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

  5. В раздела Преходи конфигурирайте потока на разклонението да бъде преди повикването да бъде изпратено до агента:

    Екранна снимка на раздела Twilio Transition.

  6. Запазете потока и публикувайте.

Стъпка 4: Конфигуриране на телефонен номер на Twilio

Трябва да посочите телефонен номер на Twilio към новосъздадения си Studio Flow.

  1. Изберете номер, който притежавате – или купете нов номер – от конзолата Twilio Phone Numbers.

  2. Отворете телефонния номер, като го изберете, след което превъртете надолу до секцията Voice (Глас) на страницата.

  3. Изберете потока, който сте дефинирали по-рано в полетата Call Isis , както е показано на следната екранна снимка:

    Екранната снимка на Twilio Call идва в полета.

Стъпка 5: Конфигуриране на Dynamics 365 за интеграцията

Нека настроим Twilio като доставчик на обаждания и да конфигурираме правила за запис, за да определим кой може да записва разговори и друга информация, използвана за прозрения за разговори.

  1. В приложението център за продажби отидете в областта Промяна и изберете Настройки на Sales Insights.

  2. Изберете разузнаване чрез разговор.

    Екранна снимка на страницата с настройки за разузнаване чрез разговор

  3. Изберете Twilio в секцията Доставчици на обаждания и посочете SID на акаунта в Twilio.

  4. Запишете промените.

  5. Конфигуриране на правила за запис с помощта на доставчика на повиквания Twilio.

    1. Изберете Създаване на правила за запис и конфигурирайте правилата. Научете повече.

    2. Изберете Създаване и след това публикувайте настройките.

Стъпка 6: Подгответе плъгина Flex за интегриране на изживяването в реално време

Flex е проект на React и персонализациите, които правите в потребителския интерфейс, се създават като компоненти на плъгини.

Подготовката на среда на Node и настройката на празен плъгин Flex са извън обхвата на тази документация. Вижте документацията на Twilio за урок стъпка по стъпка за създаване на първия ви плъгин Flex.

Създайте нов плъгин, който е готов за добавяне на вашия код за персонализиране за Dynamics.

В този момент вашият плъгин JS файл ще изглежда така:

Екранна снимка на файла plugin.js.

Добавете клиентската библиотека на Microsoft CIF към вашия плъгин. Клиентската библиотека трябва да се зарежда асинхронно, когато Flex се стартира, така че добавете следния код към функцията 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);
  }
}

Публикувайте плъгина.
Вече имаме Flex плъгин, който е готов за тестване!

стъпка 7: Интеграция на тестови Dynamics 365 разузнаване чрез разговор и Flex

Влезте в приложението център за продажби, изберете иконата Обаждане . Ще видите Twilio Flex, вграден в десния панел.

Екранна снимка на вградения Twilio dialer в приложението център за продажби.

Уверете се, че сте задали състоянието си като Налично в Twilio и се обадете на телефонния номер на Twilio, който сте настроили в Стъпка 4: Конфигуриране на телефонен номер на Twilio.

Екранна снимка на известие за повикване на вградения дайлер

След като отговорите на повикването и започнете да записвате, отидете до раздела Препис , за да видите транскрипцията в реално време и след това view аналитични данни за обаждания в страницата Резюме на обаждането след края на разговора.

Преглед и разбиране на страницата с резюме на обаждането