Інтеграція контактного центру Webex з ServiceNow (версія 1 — застаріла версія)

list-menuНадіслати відгук?
Коли ви інтегруєте контактний центр Webex з консоллю ServiceNow CRM, ви можете запустити робочий стіл контактного центру Webex з ServiceNow.

передумови

Мінімальний підтримуваний розмір інтерфейсу софтфона становить 500px. Будь-яке значення нижче 500 пікселів може призвести до проблем із відображенням або функціональністю.

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

  • Доступ до контактного центру Webex.

  • Доступ адміністратора до центру управління за адресою https://admin.webex.com та контактного центру Management Portal Webex. URL-адреси Management Portal залежать від вашого регіону.

  • Агент з доступом до робочого столу. URL-адреса робочого столу залежить від вашого регіону.

  • Доступ агента до наступного домену, доданого до списку дозволених політик безпеки вмісту:

    • *.сервіс-ноу.com

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

  • Обліковий запис порталу розробників ServiceNow. Щоб створити обліковий запис, перейдіть на портал розробників ServiceNow за адресою https://developer.servicenow.com/dev.do та натисніть За реєструватися та Почніть створення.

  • Доступ до наступних файлів за адресою https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:

    • Набір оновлень ServiceNow (XML)

    • Макет робочого столу контактного центру ServiceNow (JSON)

  • Видання ServiceNow, які підтримує Контактний центр Webex, - це Ванкувер, Юта, Токья, Вашингтон та Xanadu. Для отримання додаткової інформації див. Інте грація контактного центру Webex з ServiceNow.

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

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

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

Цифрові канали, такі як чат та електронна пошта, не підтримуються за допомогою роз'ємів CRM. Це стосується всіх CRM-інтеграцій, що використовують ці роз'єми. Будь ласка, сплануйте робочі процеси розгортання та залучення клієнтів відповідно.

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

1

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

2

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

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

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

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

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

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

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

6

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

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

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

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

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

9

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

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

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

Назва файлу: Web Excc-ServiceNow-Update-Setv (X) .xml

Github repo screenshot for Webex Contact Center CRM integrations – ServiceNow.

2

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

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘Update set’ and ‘Update Sets to Commit’ option highlighted.

3

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

ServiceNow developer instance on the Update Sets results page with ‘Related Links: Import Update Set from XML’ highlighted.

4

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

ServiceNow developer instance import XML screen.

ServiceNow developer portal retrieved update sets list.

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

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

ServiceNow developer portal retrieved update sets list for an updated file.

6

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

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Preview Update Set’ button highlighted.

7

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

ServiceNow developer portal with the update set preview success notification.

8

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

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Commit Update Set’ button highlighted.

9

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

ServiceNow developer portal with the update set commit success notification.

1

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

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

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

ServiceNow developer instance system properties page.

3

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

4

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

ServiceNow developer instance system property details for agentdesktop_url.

5

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

6

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

На сторінці Власти вості системи натисніть на webex ccactivitytable.

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

ServiceNow developer instance system property details for webexactivitytable.

7

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

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

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Створіть нову групу користувачів або використовуйте існуючу.

    ServiceNow developer instance group page for WebexccAgentsGroup.

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

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

    ServiceNow developer instance group edit members page showing a search for a collection.

    ServiceNow developer instance group edit members page showing a collection moved into the roles list.

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

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

    ServiceNow developer instance group page with user roles assigned.

1

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

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

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

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

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

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

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

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

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

4

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

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

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

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

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

ServiceNow developer instance OpenFrame Configurations – New Record page showing the URL link that appears after submitting the user group selections.

7

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

1

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

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

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

3

Перейдіть до контактного центру Management Portal Webex.

4

На панелі Management Portal навігації виберіть «Забезпечення » > «Макет робочого столу».

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

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

6

Завантажте файл JSON макета робочого столу ServiceNow.

7

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

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

8

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

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

1

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

2

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

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

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

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

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

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

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

6

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

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

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

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

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

9

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

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

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

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

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

ServiceNow developer instance system properties page results.

3

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

4

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

ServiceNow developer instance system property details page for agentdesktop_url.

5

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

6

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

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

    ServiceNow developer instance system properties page results for x_caci_webexcc.webexccactivitytable.

  2. Змініть поле Зна чення, як потрібно.

    ServiceNow developer instance system property page for x_caci_webexcc.webexccactivitytable.

7

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

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

    ServiceNow developer instance filter navigator results for ‘Groups.’

    SeviceNow developer instance group page for webexccagentsgroup.

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

    • sn_openframe_user

    • x_caci_webexcc.агент

    • agent_workspace_user

    • x_caci_webexcc. webexcc_imp_activity_user

    • x_caci_webexcc. webex_contact_center

    SeviceNow developer instance group page for webexccagentsgroup with rolls added.

1

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

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

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

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

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

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

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

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

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

4

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

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

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

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

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

ServiceNow developer instance OpenFrame Configurations – New Record with URL added.

7

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

8

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

9

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

1

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

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

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

3

Перейдіть до контактного центру Management Portal Webex.

4

На панелі Management Portal навігації виберіть «Забезпечення » > «Макет робочого столу».

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

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

6

Завантажте файл JSON макета робочого столу ServiceNow.

7

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

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

8

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

1

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

2

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

ServiceNow developer instance Incidents window with the Configure Directory option highlighted.

3

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

ServiceNow developer instance call incident window for a Directory Entry.

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

4

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

  • Ми підтримуємо вхід Agent Desktop за допомогою WebRTC лише для роз'ємів Salesforce (SFDC) та Microsoft Dynamics (MS Dynamics).
  • В даний час ця функція застосовується лише до агентів.

Agent Desktopв консолі ServiceNow

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

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

  • Увімкнути вихідний ANI для профілю агента.

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

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

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

Щоб отримати інформацію про використання робочого столу, див. вкладку А ген т у довідці Контактного центру Webex.

Огляд

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

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

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

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

У наступних розділах наведено докладну інформацію про те, як налаштувати, увімкнути та керувати віджетом «Дії» для екземплярів розробників та підприємств.

Здійснити набір оновлень для віджета дій

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

Щоб налаштувати віджет «Дії» для екземплярів розробника, завантажте найновіший 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": "panel", "class": "widget-pane" },
                  "children": [
                    {
                      "comp": "agentx-custom-desktop",
                      "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js",
                      "properties": {
                        "isWidgetDisplayEnabled": true,
                        "typeOfRecord" : "Create Incident" 
                      },
                      "wrapper": {
                        "title": "SNOW Actions !",
                        "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();
    return sysid;
    },

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

    UserGetSysId : function () {
                var opened_for;
    
            //Incident related changes
                 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.short_description='Call Received From '+ this.getParameter('value');
                                        sysidlist.incsysid=inc.insert();
                                    }
                  } 
                var grInt = new GlideRecordSecure('interaction');
                    grInt.initialize(); 
                    grInt.assigned_to= gs.getUserID(); 
                    grInt.type= 'phone'; 
                    grInt.opened_for= opened_for; 
                var sysid=grInt.insert();
                sysidlist.sysid=sysid;
                
                return JSON.stringify(sysidlist);
            },

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

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

  2. Відфільтруйте ім'я та шукайте agentdesktop.

  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();
    
    // For Incident-related change
          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 //'a2ba0ba62fd121106446cc96f699b6b8'  
           });
        }
       
    }

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

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

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

Огляд

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

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

Ви можете створити більш специфічні для бізнесу змінні (змінні САПР) всередині конструктора потоку WebExCC та додати змінні CAD всередині журналу активності після дзвінків ServiceNow, а також зберегти це до даних таблиці активності після виклику.

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

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

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

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

Додати стовпець до активності WebExCC IMP

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

    ServiceNow developer instance WebexCC IMP activity table.

  2. Переходимо в навігатор фільтрів і шукаємо студію.

    ServiceNow developer instance filter navigator on the All tab with ‘studio’ entered in the filter.

    Виберіть Кон тактний центр Webex

    Studio app for ServiceNow with the Select Application window open.

    або

    Studio app for ServiceNow with the Select Application window open and ‘Select Store App to Customize’ selected.

    Studio app for ServiceNow with the ‘Select Store App to Customize’ window open and ‘Webex Contact Center’ selected.

    Studio app for ServiceNow with Webex Contact Center application file details.

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

    Studio app for ServiceNow WebexCC IMP Activity table.

  4. Додати новий стовпець, наприклад, CustomerName

    Studio app for ServiceNow WebexCC IMP Activity table new column example.

    Studio app for ServiceNow WebexCC IMP Activity table new column example with new column added.

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

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

    ServiceNow developer instance search for a phone log table.

    ServiceNow developer instance phone log table.

  2. Додайте новий стовпець, наприклад, CustomerName.

    ServiceNow developer instance phone log table new column examples.

    ServiceNow developer instance phone log table new column example with new column added.

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

Studio app for ServiceNow WebexCC Activity Transform Map.

Додайте новий стовпець, наприклад, відображення поля CustomerName.

Studio app for ServiceNow WebexCC Activity Transform Map new column example for CustomerName field mapping.

Studio app for ServiceNow WebexCC Activity Transform Map new column example with CustomeName selected in the Target field.

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

Studio app for ServiceNow WebexCC Activity Transform Map with popup window to personalized list columns. Choice action option is highlighted in the Selected column.

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

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column, showing the dropdown to choose ‘ignore’ or ‘create.’

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column and ‘ignore’ highlighted for the customer name source field.

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

Studio app for ServiceNow configuring phone log list with CustomerName highlighted in the Selected column.

Перейти до скрипта Включити

Додайте лише один рядок webexcc. u_customername=ActInfo.Назва клієнта до PropUtils.

ServiceNow developer instance filter navigator search for ‘script includes.’

ServiceNow developer instance Script Includes page.

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

Дивіться рядок: webexcc. u_customername=ActInfo.Назва замовника; з допоміжним коментарем.

var propUtils = Class.create();
propUtils.prototype = Object.extendsObject(global.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
//               return null;
            var grInt = new GlideRecord('interaction');
                grInt.initialize();
                grInt.assigned_to= gs.getUserID();
                grInt.type= 'phone';
                grInt.opened_for= opened_for;
            var sysid=grInt.insert();
            return sysid;
        },
        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 =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;
                 
                // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
                 
                sys_id=webexcc.insert();
 
                //Activities on Incident record;
                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();
     
                            }
                    }
            }  
            return sys_id;
       },
 
    type: 'propUtils'
});

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

Webex Contact Center CAD variable flow designer with Add Flow Variable popup for CustomerName.

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

Приклад

"CadName1:SnowField1,CadName2:SnowField2"
 CadName1 is CustomerName
 SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Example source code for adding the CAD variable to the Desktop Layout.

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

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

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘Customer Name’ in the Cisco WebexCC popup.

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘CustomerName’ in the comments section under ‘Activity’ and ‘System Administrator.’

ServiceNow developer instance example of the newly added CAD variable in the WebexCC Activity table, showing the ‘CustomerName’ column.

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

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

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

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

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

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

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

  1. Перейдіть в навігатор фільтрів і шукайте script includes

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

    ServiceNow developer instance filter navigator search for ‘script includes’

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

    ServiceNow developer instance Script Includes name filter by ‘propUtils’

  3. Змініть метод UserGetSysID в полі С крипт.

    ServiceNow developer instance Script Includes – propUtils details page.

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

    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();
    return 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('Impact');
                                        inc.short_description='Call Received From '+ this.getParameter('value');
                                        sysidlist.incsysid=inc.insert();
                                    }
                  } 
                var grInt = new GlideRecordSecure('interaction');
                    grInt.initialize(); 
                    grInt.assigned_to= gs.getUserID(); 
                    grInt.type= 'phone'; 
                    grInt.opened_for= opened_for; 
                var sysid=grInt.insert();
                sysidlist.sysid=sysid;
                
                return JSON.stringify(sysidlist);//sysid;
            },

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

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

    ServiceNow developer instance filter navigator search for ‘Ui page’

  2. Фільтруйте сторінки інтерфей су користувача за назвою та шукайте agentdesktop.

    ServiceNow developer instance UI Pages name filter to search ‘agentdesktop’

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

    ServiceNow developer instance UI Page – agentdesktop details page.

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

    // 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) {
       
        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('field', 'phone');
            gaout.addParam('value', callerani);
            gaout.addParam('IncUrgency', IncUrgency);
            gaout.addParam('Impact', Impact);
            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: 'incident',
            query: 'sys_id=-1',
            'interaction_sys_id': sysObj.sysid  
           });
        }
        window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj));
       
    }

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

ServiceNow example of an incident.

ServiceNow example of an interaction.

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

Додавання нових стовпців до таблиці активності WebExCC IMP

Відкрийте таблицю активності WebExCC IMP

ServiceNow developer instance WebexCC Activity TransformMap.

ServiceNow developer instance WebexCC Activity TransformMap details page.

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

ServiceNow developer instance WebexCC Activity TransformMap new column, InteractionNumber.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘interactionnumber’ column added.

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

ServiceNow developer instance WebexCC Activity TransformMap details page showing adding a new ‘incidentnumber’ column.

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

ServiceNow developer instance WebexCC Activity TransformMap details page showing editing the max length for the IncidentNumber column.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘incidentnumber’ column added.

Додавання нових стовпців до таблиці журналу телефону

Відкриття таблиці журналу телефону

ServiceNow developer instance Phone Log table.

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

ServiceNow developer instance Directory Entry – New Record page showing a new column for InteractionsNumber.

ServiceNow Developer instance Phone Log table with InteractionsNumber column added.

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

ServiceNow developer instance Directory Entry – New Record page showing a new column for IncidentNumber.

ServiceNow Developer instance Phone Log table with IncidentNumber column added.

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

Відкрити карту трансформації з навігатора фільтрів

ServiceNow developer instance filter navigator search for ‘transform map’

ServiceNow developer instance Table Transform Maps showing WebexCC Activity TransformMap in results.

Натисніть на Карту транс формації активності WebExCC

ServiceNow developer instance WebexCC Activity TransformMap.

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

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ entered into the ‘Target field’

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ added.

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

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ entered into the ‘Target field’

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

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ added.

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

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

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

    ServiceNow developer instance filter navigator with search for ‘script includes’

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

    ServiceNow developer instance Script Includes with Name filter applied to search and  ‘propUtils’ entered into the search field.

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

    ServiceNow developer instance Script includes - propUtils page

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

    setWebexcctable : function () {
                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()) {
                    
                    //Activities on Incident record;
                    //var actInfoString =this.getParameter('actInfo');
                    var incsysid=actInfo.incident_sys_id;
                    var interactionsysid=actInfo.interaction_sys_id;
                    var incnum="";
                    var intenum="";
                    delete actInfo['interaction_sys_id'];
                    delete actInfo['incident_sys_id'];
                    if( interactionsysid!= null && interactionsysid != undefined){
                        var inte = new GlideRecordSecure('interaction');
                        //inte.get('sys_id', interactionsysid );
                        
                        inte.addQuery('sys_id', interactionsysid );
                        inte.query();
                        if (inte.next()) {
                            intenum=inte.number;
                           // inte.setValue('state','Closed Complete');
                            inte.work_notes='Update State to closed.';
                            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("phone", 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();
    
                    
                                
                }    
                return sys_id;
           },

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

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

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

    ServiceNow developer instance filter navigator with search for ‘Ui page’

  2. Фільтруйте сторінки інтерфейсу користувача за назвою та шукайте agentdesktop.

    ServiceNow developer instance UI Pages with Name filter applied to search.

  3. Змініть функцію NowActivities і скріншоп у скрипті.

    ServiceNow developer instance UI Page – agentdesktop.

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

    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);
    
    
    }
    
    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();
          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  
           });
        }
        window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj));
            
       
    }
    
    

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

ServiceNow developer instance Phone Logs page.

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

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

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

Для кожного нового виклику в роз'єм WebExCC CRM у ServiceNow створіть новий запис інциденту.

  1. Пошук бізнес-правил у навігаторі фільтрів

    ServiceNow developer instance Business Rules page header.
  2. Натисніть кнопку Створити.

    ServiceNow developer instance Business Rule – New Record.

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

    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", 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;
                }
                answer = url;
                return url;
    }
     
    function UserGetSysId(field, value) {
      var user = new GlideRecord("sys_user");
      user.addQuery(field, value);
      user.query();
      if (user.next())
         return user.sys_id;
      else
         return null;
    }

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

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Увімкнути виклик клієнта

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

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

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Оновіть URL-адресу екрана за допомогою спеціального правила CTI "cti.do? sysparm_cti_rule=Створити випадку& = "sysparm_caller_phone

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Приклад

sysparm_cti_rule=name, де 'name' — це назва функції, слід викликати для обробки CTI, а не використовувати сцена рій за замовчуванням.

Визначте функцію в записі, позначен sys_scriptому клієнтом, що можна викликати.

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

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

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

Посилання

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

Огляд

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

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

Ви можете створити більше специфічних для бізнесу змінних (змінних CAD) всередині конструктора потоку WebExCC та додати ці змінні CAD у журнал активності після викликів ServiceNow та зберегти це до даних таблиці активності після виклику.

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

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

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

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

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

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Перейдіть до студії > Кон тактний центр Webex.

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

  3. Виберіть Т аблиця активності WebExCC.

    App Engine Studio WebexCC Activity table.
  4. Наприклад, Ім'я клієнта.

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

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

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Створити новий скрипт Включає

Цей крок не обов'язковий, якщо ви використовуєте набір оновлень XML - для додавання потрібно лише один рядок "webexcc. u_customername=ActInfo.Назва замовника "до прототилів.

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

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

Дивіться рядок з: webexcc. u_customername=ActInfo.Назва замовника; з допоміжним коментарем.

var propUtils2 = Class.create();
propUtils2.prototype = Object.extendsObject(global.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("callobject", 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;
 
               // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
 
                sys_id=webexcc.insert();
  
                // Activities on Incident record;
                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(acting string),null,2);  
                                    inc.comments =jsonPretty;
                                inc.update();
                                 }
                    } 
            }    
            return sys_id;
       },
 
    type: 'propUtils2'
});
Редагування сторінки інтерфейсу користувача з новою назвою сценаріюApp Engine Studio agentdesktop UI page with new script name.

Створення змінної CAD в конструкторі потокуWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Додавання змінної CAD до макета робочого столуWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

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

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

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.

Роз'єм CRM працює на основі версії віджета, зазначеної в макеті робочого столу JSON. Надзвичайно важливо забезпечити оновлення версії віджетів у макеті робочого столу.

Очікується, що адміністратори гарантують, що всі макети робочого столу для цього роз'єму CRM використовують цю версію віджета. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.

  • Останнє оновлення ServiceNow— ServiceNow_Desktop_0 .1.0_v5.0.3.json. Станом на березень 2024 року версія пакета становить 1.0.9
  • Останнє оновлення XML — WebExcc-ServiceNow-Update-SetV7-1-ActionsWidget.xml, червень 2024 року

Чи була ця стаття корисною?
Чи була ця стаття корисною?