Необхідні умови

Перш ніж інтегрувати контакт-центр Webex із консоллю CRM ServiceNow, переконайтеся, що у вас є такі параметри:

Дотримуйтесь одного з двох наведених нижче способів:

Для екземплярів розробника радимо виконати дії, описані в посібнику з інсталяції розробника.

Якщо у вас є інсталяція з корпоративною ліцензією, дотримуйтеся вказівок щодо інсталяцій із корпоративною ліцензією.

Ми не рекомендуємо змішувати програму з корпоративною ліцензією з інсталяціями в ізольованому середовищі для розробників.

У наведених нижче розділах описано кроки для інсталяції конектора ServiceNow для екземплярів розробників.

1

увійдіть у свій обліковий запис на порталі розробника ServiceNow і відкрийте консоль адміністрування .

2

В області «Мій екземпляр » меню «Обліковий запис » натисніть «Почати збирання».

3

У вашому екземплярі розробника в полі Навігатор фільтрів у верхньому лівому куті вікна перейдіть до розділу Плагіни.

4

Знайдіть плагін Openframe, який має назву Openframe. Можливо, вам доведеться прокрутити список.

5

Натисніть Встановити , щоб встановити плагін Openframe.

6

У діалоговому вікні «Активувати плагін» натисніть « Активувати».

7

Коли активація плагіна буде завершена, натисніть « Закрити та перезавантажити форму » в діалоговому вікні «Активація плагіна».

8

Щоб перевірити активацію плагіна, у полі Навігатор фільтрів у верхньому лівому куті вікна перейдіть до OpenFrame.

9

Натисніть «Конфігурації» та переконайтеся, що плагін OpenFrame відображається у списку «Конфігурації OpenFrame».

1

Завантажте останній файл System Update Set XML, доступний у репозиторії github за цим місцем : https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Ім'я файлу: webexcc-servicenow-update-setV(X).xml

2

У вашому екземплярі ServiceNow у полі «Навігатор фільтрів» у верхньому лівому куті вікна перейдіть до розділу «Набори оновлень> оновлення системи для фіксації».

3

Перейдіть за посиланням Імпортувати набір оновлень із XML .

4

Натисніть « Вибрати файл», виберіть файл «Набір оновлень системи» XML, а потім натисніть «Завантажити».

Набір оновлень відображається у списку «Отримані набори оновлень» і перебуває в стані «Завантажено ».
5

У списку Отримані набори оновлень клацніть назву файлу набору оновлень (посилання), щоб відкрити набір оновлень.

6

У верхньому правому куті вікна клацніть Попередній перегляд набору оновлень , щоб перевірити набір оновлень на наявність проблем.

7

Після завершення попереднього перегляду натисніть Закрити у діалоговому вікні попереднього перегляду набору оновлень.

8

Натисніть Закріпити набір оновлень.

9

Клацніть Закрити у діалоговому вікні Закріплення набору оновлень після завершення фіксації набору оновлень.

1

У полі Навігатор фільтрів у верхньому лівому куті вікна введіть sys_properties.list і натисніть enter.

2

На сторінці Властивості системи відсортуйте властивості за датою оновлення. Переконайтеся, що ви бачите такі властивості Webex Contact Center:

3

Натисніть agentdesktop_url , щоб відкрити сторінку Властивості системи agentdesktop_url .

4

У полі Значення введіть URL-адресу робочого столу Webex Contact Center відповідно до регіону роботи.

5

Натисніть Оновити щоб зберегти зміни.

6

(Необов’язково) Щоб змінити ім’я таблиці активності, за потреби відредагуйте властивості webexccactivitytable .

На сторінці Властивості системи клацніть таблицю webexccactivity.

За потреби змініть поле Значення .

7

(Необов’язково) Додайте групи користувачів такими способами:

  1. У полі Навігатор фільтрів у верхньому лівому куті вікна перейдіть до Групи у розділі Безпека системи.

  2. Створіть нову групу користувачів або використовуйте існуючу.

  3. Натисніть Редагувати.

  4. Знайдіть sn_openframe_user у розділі Collection і перемістіть його до своєї групи користувачів.

  5. Натисніть Зберегти.

  6. Додайте користувача як члена групи.

1

У полі Навігатор фільтрів перейдіть до OpenFrame > Конфігурації.

2

Натисніть кнопку Створити.

3

Введіть такі властивості для URL-адреси:

  • Ім'я: Webex Контактний центр робочий стіл

  • Title: Webex Contact Center

  • Ширина: 550 (рекомендовано)

  • Висота: 600 (рекомендовано)

4

Праворуч від поля URL натисніть кнопку Lock і додайте agentdesktop.do як URL. (Виконайте цей крок, щоб налаштувати конфігурацію на сторінку інтерфейсу користувача)

5

(Необов’язково) Виберіть групи користувачів/агентів, щоб призначити конфігурацію.

6

Натисніть Submit (Надіслати). URL-адреса відображається як посилання.

7

Перш ніж спробувати використовувати телефон OpenFrame, переконайтеся, що ви завантажили JSON-файл спеціального макета робочого столу ServiceNow на Webex Портал керування контакт-центру. Щоб отримати додаткові відомості, перегляньте розділ Налаштування макета робочого столу ServiceNow у Webex Contact Center.

1

Завантажте макет робочого столу для ServiceNow із https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

За потреби оновіть властивості у файлі макета робочого столу.

3

Перейдіть на портал керування контакт-центром Webex.

4

На панелі навігації порталу керування виберіть Provisioning > Desktop Layout.

5

Клацніть Новий макет та введіть деталі для макета робочого столу.

6

Завантажте файл ServiceNow Desktop Layout JSON.

7

Натисніть Зберегти щоб зберегти конфігурацію.

Тепер ви можете запустити робочий стіл Webex Contact Center на консолі ServiceNow.

8

У полі Навігатор фільтрів перейдіть до Робочої області операцій служби.

Домашня сторінка ServiceNow із контактним центром Webex Agent Desktop, інтегрованим із ServiceNow.

У наступних розділах описано кроки для встановлення з’єднувача ServiceNow для ліцензованих корпоративних екземплярів.

1

увійдіть у свій обліковий запис порталу розробника ServiceNow і відкрийте консоль адміністрування .

2

В області Мій екземпляр меню Обліковий запис клацніть Почати створення.

3

У вашому екземплярі розробника з поля Навігатор фільтрів у верхньому лівому куті вікна перейдіть до Плагіни.

4

Знайдіть плагін Openframe із назвою Openframe. Можливо, вам доведеться прокрутити список.

5

Натисніть Встановити щоб інсталювати плагін Openframe.

6

У діалоговому вікні Активувати плагін клацніть Активувати.

7

Коли активація плагіна буде завершена, натисніть « Закрити та перезавантажити форму » в діалоговому вікні «Активація плагіна».

8

Щоб перевірити активацію плагіна, у полі Навігатор фільтрів у верхньому лівому куті вікна перейдіть до OpenFrame.

9

Натисніть «Конфігурації» та переконайтеся, що плагін OpenFrame відображається у списку «Конфігурації OpenFrame».

1

У полі Навігатор фільтрів у верхньому лівому куті вікна введіть sys_properties.list.

2

На сторінці «Властивості системи» відсортуйте властивості за датою оновлення. Переконайтеся, що ви бачите такі властивості контакт-центру Webex:

3

Натисніть кнопку agentdesktop_url , щоб відкрити сторінку agentdesktop_url властивостей системи.

4

У полі Значення введіть URL-адресу робочого столу контакт-центру Webex відповідно до регіону роботи.

5

Натисніть Оновити , щоб зберегти зміни.

6

(Необов'язково.) Щоб змінити ім'я таблиці активності, за потреби відредагуйте властивості таблиці x_caci_webexcc.webexccactivity.

  1. На сторінці «Властивості системи» натисніть на x_caci_webexcc.webexccactivitytable.

  2. За потреби змініть поле «Значення ».

7

(Необов'язково.) Додавайте групи користувачів наступними способами:

  1. У полі Навігатор фільтрів у верхньому лівому куті вікна перейдіть до розділу Групи в розділі Безпека системи.

  2. Натисніть «Редагувати » та додайте такі ролі:

    • sn_openframe_user

    • x_caci_webexcc.агент

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_контактний_центр

1

У полі Навігатор фільтрів перейдіть до розділу OpenFrame > Configurations.

2

Натисніть кнопку Створити.

3

Введіть такі властивості для URL-адреси:

  • Назва: Робочий стіл контакт-центру Webex

  • Назва: Контакт-центр Webex

  • Ширина: 550 (рекомендовано)

  • Висота: 600 (рекомендована)

4

Праворуч від поля URL-адреси натисніть кнопку «Заблокувати » та додайте x_caci_webexcc_agentdesktop.do як URL-адресу. (Виконайте цей крок, щоб вказати конфігурацію на сторінку інтерфейсу користувача)

5

(Необов'язково.) Виберіть Групи користувачів / Агентів, щоб призначити конфігурацію.

6

Натисніть Submit (Надіслати). URL-адреса відображається у вигляді посилання.

7

У полі Навігатор фільтрів перейдіть до робочої області Service Operations.

Домашня сторінка ServiceNow з Webex Contact Center Agent Desktop, інтегрованим з ServiceNow.

8

(Необов'язково.) У списку «Групи користувачів» перемістіть групи користувачів, які мають доступ до робочого столу контакт-центру Webex, з «Доступних» до «Вибраних ».

9

Перш ніж намагатися використовувати телефон OpenFrame, переконайтеся, що ви завантажили власний JSON-файл ServiceNow Desktop Layout на портал керування контакт-центром Webex. Щоб отримати додаткові відомості, перегляньте статтю Налаштування макета робочого стола ServiceNow у контакт-центрі Webex.

1

Завантажте макет робочого столу для ServiceNow з https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

2

За потреби оновіть властивості у файлі макета робочого столу.

3

Перейдіть на портал керування контакт-центром Webex.

4

На панелі переходів порталу керування виберіть «Підготовка > макет робочого стола.

5

Натисніть « Новий макет » і введіть відомості про макет робочого стола.

6

Завантажте JSON-файл ServiceNow Desktop Layout.

7

Натисніть Зберегти , щоб зберегти конфігурацію.

Тепер ви можете запустити робочий стіл контакт-центру Webex у консолі ServiceNow.

8

У полі Навігатор фільтрів перейдіть до робочої області Service Operations.

Домашня сторінка ServiceNow з Webex Contact Center Agent Desktop, інтегрованим з ServiceNow.

1

У полі Навігатор фільтрів перейдіть до розділу Інциденти > Відкритий інцидент.

2

Клацніть правою кнопкою миші на полі абонента та виберіть Налаштувати словник.

3

Додайте відокремлені комами атрибути "ref_contributions=show_phone,.

Тепер ви можете почати використовувати робочий стіл контакт-центру Webex у консолі ServiceNow.

4

У полі Навігатор фільтрів перейдіть до робочої області Service Operations.

Домашня сторінка ServiceNow з Webex Contact Center Agent Desktop, інтегрованим з ServiceNow.

Agent Desktop в консолі ServiceNow

Перш ніж здійснювати вихідні дзвінки, переконайтеся, що ви виконали такі дії:

  • Створіть вихідну точку входу та налаштуйте стратегію вихідної точки входу.

  • Увімкніть outdial ANI для профілю агента.

  • Встановіть вихідний ANI на зіставлення номера набору з точкою входу.

Для отримання додаткової інформації перегляньте розділ «Підготовка » Посібника з налаштування та адміністрування Cisco Webex Contact Center.

У полі Навігатор фільтрів перейдіть до робочої області Service Operations.

Домашня сторінка ServiceNow з Webex Contact Center Agent Desktop, інтегрованим з ServiceNow.

Інформацію про використання настільного комп'ютера наведено на вкладці Агент у довідці контакт-центру Webex.

Огляд

У цій статті розглянуто кілька способів налаштування бізнес-правил для конектора ServiceNow CRM. У ньому детально описано, як ви можете налаштувати випадки використання на основі бізнес-правил, специфічних для ServiceNow.

Клієнт повинен самостійно керувати цими випадками використання на ServiceNow. Конфігурація стосується конкретно ServiceNow, а не програмного забезпечення чи експертизи контакт-центру Webex.

Це довідкова документація, яка допомагає змінювати правила ведення бізнесу. Розробники ServiceNow створюватимуть бізнес-правила та керуватимуть ними, а також надаватимуть підтримку.

Cisco надає лише зразки документації.

У наведених нижче розділах докладно описано, як налаштувати, увімкнути та керувати віджетом дій для інсталяцій розробників і підприємств.

Зафіксуйте віджет «Набір оновлень для дій»

Для ліцензованих корпоративних інсталяцій інсталюйте останню програму Webex Contact Center із магазину ServiceNow.

Щоб налаштувати віджет Дії для екземплярів розробника, завантажте останній файл System Update Set XML, доступний у репозиторії github за цим місцезнаходженням: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Ім'я файлу – webexcc-servicenow-update-setv7-1-ActionsWidget.xml. Щоб зафіксувати набір оновлень для віджета Дії, перегляньте кроки з 2 по 9 у розділі Фіксація набору оновлень.

Увімкнути віджет дій

Використовуйте властивість isWidgetDisplayEnabled , щоб увімкнути віджет Дії. Ви не повинні змінювати значення цієї властивості в розділі без голови користувацького макета робочого столу. Властивість завжди встановлюється як false у розділі без голови користувацького макета робочого столу. Ви повинні оновлювати значення властивості лише в розділі панелі користувацького макета робочого столу.

Після того, як ви увімкнете віджет Дії у нетиповому макеті робочого столу, ви зможете виконати такі дії:

  • Керування записами активності: натисніть «Переглянути/редагувати запис активності», щоб переглянути список записів активності, пов'язаних із абонентом.
  • Зв'язати об'єкти CRM: клацніть «Зв'язати із записами активності», щоб додати до запису активності такі об'єкти CRM, як тип виклику (вхідний або вихідний), об'єкт виклику, нотатки про виклик тощо.
  • Керування інцидентами: натисніть «Створити інцидент». Створюється новий інцидент із попередньо заповненими даними абонента. Ви можете внести необхідні оновлення до інциденту. Ви можете змінити тип запису від інциденту до інциденту, модуль HR тощо залежно від ваших вимог. Щоб змінити тип запису, змініть значення властивості typeOfRecord у конфігурації віджета Дії. Наприклад:
    { "comp": "md-tab-panel", "attributes": { "slot": "панель", "class": "віджет-панель" }, "діти": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Створити інцидент" }, "wrapper": { "title": "Дії SNOW !", "maximizeAreaName": "app-maximize-area" } } ] }
  • Додавання нотаток до виклику в реальному часі: ви можете зафіксувати додаткову інформацію про дзвінок у текстовому полі та завершити дзвінок. Ці нотатки можна додати як нотатки про виклик у записі активності.

Зміна коду на ServiceNow

Сценарій включає зміни
  1. Перейдіть до навігатора фільтрів і знайдіть Сценарій включає в себе.

    Виберіть Включення сценарію в розділі Системний інтерфейс користувача.

  2. Відфільтруйте Ім'я та виконайте пошук за запитом propUtils.

  3. Змініть метод UserGetSysId у Сценарії.

    Курент:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); повернути sysid; },

    Новий зразок коду для інциденту:

    UserGetSysId: function () { var opened_for; //Зміни пов'язані з інцидентами var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state', 'IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='телефон'; inc.short_description='дзвінок отримано від '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = новий GlideRecordSecure('взаємодія'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'телефон'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; повертає JSON.stringify(sysidlist); },

Зміна методу на сторінках інтерфейсу користувача
  1. Перейдіть до навігатора фільтрів і знайдіть сторінку інтерфейсу користувача.

    Виберіть сторінки інтерфейсу користувача в розділі Системний інтерфейс.

  2. Відфільтруйте Ім'я та виконайте пошук за запитом Робочий стіл агента.

  3. Змініть Скрінпоп у скрипті клієнта.

    Поточна функція:

    screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });

    Приблизний код для інциденту:

    screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Для змін, пов'язаних з інцидентом, var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_ id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba62fd121106446cc96f699b6b8' }); } }

Якщо інформація про абонента існує в CRM, а з цим контактом вже відкрито новий інцидент, додаток відкриває інцидент незавершеного виконання

Якщо інформації про абонента в CRM немає, додаток відкриває новий інцидент

Якщо інформація про абонента існує в CRM, додаток відкриває новий інцидент із заздалегідь заповненими даними

Огляд

У цьому випадку використання детально описано процес додавання додаткового стовпця до таблиці ServiceNow - webexcc_imp_activity та створення sn_openframe_phone_log після встановлення Webex CC для ServiceNow CRM Connector.

За замовчуванням таблиця містить певні готові системні поля та значення.

Ви можете створювати більше змінних для конкретного бізнесу (CAD Variables) у конструкторі WebexCC Flow і додавати змінні CAD у журнал активності після дзвінків ServiceNow, а також зберігати їх у даних таблиці активності після дзвінка.

Це лише довідкова документація - і вона показує, як це зробити для зразка змінної CAD під назвою Customer Name, яка зберігає ім'я клієнта всередині IVR і публікує це в ServiceNow.

Очікується, що розробники Partner+customer ServiceNow налаштують та керуватимуть цією конфігурацією, оскільки вона є налаштуванням існуючого конектора.

Cisco лише надає методи налаштування та розширення з'єднувача.

Станом на цю статтю команда Cisco перевірила підтримку додавання змінної CAD до журналу активності та таблиці активності за допомогою методу, описаного нижче:

Додавання стовпця до активності WebexCC IMP

  1. Відредагуйте таблицю у версії для розробників ServiceNow.

  2. Перейдіть до навігатора фільтрів і знайдіть студію.

    Виберіть Webex Contact Center

    або

  3. Натисніть кнопку Активність WebexCC у IMP стіл

  4. Додайте новий стовпець, наприклад, Ім'я клієнта

Додати стовпець до журналу телефону

  1. Відредагуйте таблицю журналу телефону.

  2. Додайте новий стовпець, наприклад, Ім'я клієнта.

Карта трансформації активності WebexCC

Додайте новий стовпець, наприклад, Ім'я клієнта картографування полів.

Персоналізація стовпців списку

Як рекомендує Service Now, змініть дію «Вибір» з «створити» на «ігнорувати».

Налаштування списку журналів телефонних дзвінків

Перейти до включення сценарію

Додайте лише один рядок webexcc.u_customername=actInfo.CustomerName до propUtils.

Приклад сценарію

Дивись рядок: webexcc.u_customername=actInfo.CustomerName; з підтримуючим коментарем.

var propUtils = Class.create(); propUtils.prototype = Об'єкт.extendsObject(глобальний. AbstractAjaxProcessor,{ getWebexccProp: function () { var webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url'); // webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id;//return user.sys_id; else // повернути null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'телефон'; grInt.opened_for= opened_for; var sysid=grInt.insert(); зворотний сисид; }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Цей рядок додано - щоб зафіксувати його в Журналі активності webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Діяльність з обліку інцидентів; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } повернути sys_id; }, тип: 'propUtils' });

Створення змінної CAD у Flow designer

Додавання змінної CAD до макета робочого столу

Приклад

"CadName1:SnowField1,CadName2:SnowField2" CadName1 - це CustomerName, SnowField1 також використовується як CustomerName, що є частиною зразка scirpt, показаного вище "actInfo.CustomerName".

Демо скріншоти

Перегляньте нещодавно додану змінну CAD у таблиці активності WebexCC.

Створення змінної CAD для Flow Designer

Терміновість інциденту

Вплив інциденту

Оновлення сценарію Service Now

Оновлення сценарію включають

  1. Перейдіть до навігатора фільтрів і знайдіть скрипт включення

    Виберіть опцію «Сценарій включає» в розділі «Системний інтерфейс ».

  2. Відфільтруйте ім'я за допомогою propUtils.

  3. Змініть метод UserGetSysId у полі Сценарій .

    Поточний сценарій:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); повернути sysid; },

    Новий зразок коду для інциденту:

    UserGetSysId: function () { var opened_for; var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); } else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.urgency=this.getParameter('IncUrgency'); inc.impact=this.getParameter('Вплив'); inc.short_description='Виклик отримано від '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = новий GlideRecordSecure('взаємодія'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'телефон'; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; повернути JSON.stringify(sysidlist);//sysid; },

Зміна методу на сторінках інтерфейсу користувача
  1. Перейдіть до навігатора фільтрів і знайдіть сторінки інтерфейсу користувача.

    Виберіть параметр Сторінки інтерфейсу користувача в розділі Інтерфейс користувача системи.

  2. Відфільтруйте сторінки інтерфейсу користувача за допомогою назви та знайдіть agentdesktop.

  3. Змінити скрінпоп функцію в полі сценарію.

    Поточна функція:

    // функція появи екрана screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('поле', 'телефон'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid }); }

    Зразок коду інциденту:

    // функція появи екрану screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('поле', 'телефон'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Вплив', Вплив); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'інцидент', запит: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

Якщо інформація про абонента існує в CRM і немає нового інциденту або інциденту, що триває, програма відкриває новий інцидент

Змініть код на ServiceNow

Додайте нові стовпці до WebexCC IMP Діяльність стіл

Відкрийте WebexCC IMP Діяльність стіл

Додайте новий стовпець - InteractionsNumber

Додайте новий стовпець - IncidentNumber

Натисніть Оновити.

Додайте нові стовпці до Телефонний журнал стіл

Відкрийте Телефонний журнал стіл

Додайте новий стовпець - InteractionsNumber

Додайте новий стовпець - IncidentNumber

Карта перетворення активності WebexCC

ВІДЧИНЕНО трансформувати карту з навігатора фільтрів

Натисніть на WebexCC Activity TransformMap

Додати нове - для карти номерів взаємодії

Додати нове - для карти номерів інцидентів

Натисніть Update (Оновити).

Включає зміни до сценарію

  1. Перейдіть до навігатора фільтрів і знайдіть «скрипт включає».

    Виберіть Script Includes у розділі System UI.

  2. Відфільтрувати Ім'я за допомогою propUtils.

  3. Змініть метод setWebexcctable.

    Новий зразок коду для інциденту:

    setWebexcctable: функція () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Дії щодо запису інцидентів; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var взаємодіїsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; видалити actInfo['interaction_sys_id']; видалити actInfo['incident_sys_id']; if(interactionsysid!= null && interakcijsysid != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', взаємодіїsysid); inte.addQuery('sys_id', взаємодіїsysid); inte.query(); if (inte.next()) { intenum=inte.number; // inte.setValue('state','Closed Complete'); inte.work_notes='Оновити стан до закритого.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } }else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("телефон", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(actInfo,null,2); inc.comments =jsonPretty; inc.update(); } } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.ActivityDate; webexcc.u_callobject =actInfo.CallObject; webexcc.u_calltype =actInfo.CallType; webexcc.u_calldisposition=actInfo.CallDisposition; webexcc.u_incidentnumber=incnum; webexcc.u_interactionsnumber=intenum; sys_id=webexcc.insert(); } повертає sys_id; },

Зміни методів на сторінках інтерфейсу користувача

  1. Перейдіть до навігатора фільтрів і знайдіть Сторінки інтерфейсу користувача

    Виберіть Сторінки інтерфейсу користувача варіант під Інтерфейс системи.

  2. Фільтрувати сторінки інтерфейсу користувача за допомогою Ім'я і шукати agentdesktop.

  3. Змінити nowActivities і вікно функцію в сценарії.

    Поточна функція:

    function nowActivities(actInfo, ani) { var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }

    Зразок коду інциденту:

    function nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null && sysObjstr != undefined) { var sysObjjson=JSON.parse(sysObjstr); actInfo.interaction_sys_id=sysObjjson.sysid; actInfo.incident_sys_id=sysObjjson.incsysid; } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'setWebexcctable'); gaout.addParam('actInfo', JSON.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); } функція screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('поле', 'телефон'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'інцидент', запит: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); } 

Результати після оновлення

Наступні налаштування застосовуються до версій 1.0.5 і нижче. Для налаштувань для новіших версій 1.0.7 і вище виконайте наведені вище дії.

Налаштування № 1. Додайте власні бізнес-правила для випадків використання потоку викликів

Створіть новий запис інциденту для кожного виклику

Для кожного нового виклику конектора WebexCC CRM у ServiceNow створюйте новий запис про інцидент.

  1. Знайдіть бізнес-правила в навігаторі фільтрів

  2. Натисніть кнопку Створити.

    Зразок коду для довідки:

    function customcti() { var url = null; var name = sysparm_caller_name; eid = sysparm_caller_id; var phone = sysparm_caller_phone; var taskID = sysparm_task_id; var fQuery = sysparm_query; if (fQuery == null) fQuery = ''; var view = sysparm_view; if (view == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } if (userID == null && name != null && name != '') { userID = UserGetSysId("name", ім'я); } if (userID == null && phone != null && phone != '') { userID = UserGetSysId("phone", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "ˆ"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } відповідь = url; URL-адреса повернення; } function UserGetSysId(поле, значення) { var user = new GlideRecord("sys_user"); user.addQuery(поле, значення); user.query(); if (user.next()) повертає user.sys_id; else повертає null; }

    Приблизна конфігурація бізнес-правила

  3. Увімкнути функцію виклику клієнта

    Обробка даних про інцидент інтеграції комп'ютерної телефонії (CTI) позначається як True.

  4. Оновіть URL-адресу screenpop за допомогою спеціального правила CTI"cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

Приклад

sysparm_cti_rule =name , де 'name' - це ім'я функції , для якої слід викликати CTI Обробка , а не використання стандартного скрипту.

Визначте функцію в sys_script записі з позначкою client callable .

Якщо вам потрібно вставити, оновити або видалити будь-які GlideRecords у функції, викличте окрему неклієнтську функцію для виконання оновлень.

Щоб зробити скрипт клієнт-викликом, потрібно встановити прапорець Client-callable на формі, який відображається при відображенні запису sys_script.

Прапорець для виклику клієнта не відображається за замовчуванням. Для перегляду необхідно змінити поля, які відображаються на формі, за допомогою значка шестерні та механізму відра для сльоти.

Посилання

Налаштування # 2 - Додайте змінну CAD в таблицю активності контакт-центру Webex

Огляд

У цій статті докладно описано процес додавання додаткового стовпця до таблиці ServiceNow - webexcc_activity, який створюється під час інсталяції Webex CC для ServiceNow CRM Connector.

За замовчуванням таблиця містить готові системні поля та значення.

Потенційно ви можете створювати більше змінних для конкретного бізнесу (змінні CAD) у конструкторі WebexCC Flow і додавати ці змінні CAD у журнал активності після дзвінків ServiceNow, а потім зберігати їх у даних таблиці активності після дзвінка.

  • Це лише довідкова документація - і показує, як це зробити для зразка змінної CAD під назвою Customer Name, яка зберігає ім'я клієнта всередині IVR і публікує це в ServiceNow.

  • Розробники Partner+customer ServiceNow будуть налаштовувати та керувати цією конфігурацією, оскільки вона є налаштуванням існуючого з'єднувача.

  • Cisco лише надасть методи налаштування та розширення з'єднувача.

  • Станом на цю статтю команда Cisco перевірила підтримку додавання змінної CAD до журналу активності та таблиці активності за допомогою методу, описаного нижче.

Додавання стовпця до активності WebexCC
  1. Відредагуйте таблицю у версії для розробників ServiceNow.

  2. Перейдіть до контакт-центру Studio >Webex.

  3. Виберіть таблицю активності WebexCC.

  4. Наприклад, CustomerName.

  5. Виберіть Макет списку для активності WebexCC.

Створення нового сценарію включає

Цей крок не потрібен, якщо ви використовуєте Update Set XML - Потрібно додати лише один рядок "webexcc.u_customername=actInfo.CustomerName" до propUtils.

Приклад сценарію

Дивіться рядок з:webexcc.u_customername=actInfo.CustomerName; з підтримуючим коментарем.

var propUtils2 = Class.create(); propUtils2.prototype = Об'єкт.extendsObject(глобально. AbstractAjaxProcessor,{ getWebexccProp: function () { var webexccprop = {}; webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/'; webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url'); webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url'); return JSON.stringify(webexccprop); }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_ webexcc.webexccactivitytable')); webexcc.addQuery("об'єкт виклику", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Цей рядок додано - щоб зафіксувати його в Журналі активності webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Діяльність з обліку інцидентів; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(діючий рядок),null,2); inc.comments =jsonPretty; inc.update(); } } } повернути sys_id; }, тип: 'propUtils2' });
Відредагуйте сторінку інтерфейсу користувача з новою назвою сценарію

Створення змінної CAD у Flow designer

Додавання змінної CAD до макета робочого столу

Демо скріншоти

Перегляньте нещодавно додану змінну CAD у таблиці активності WebexCC.