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

CRM-конектор працює на основі версії віджета, визначеної у робочому столі JSON. Вкрай важливо переконатися, що версія віджета в Desktop Layout постійно оновлюється. Станом на листопад 2025 року остання версія віджета — 5.0.0 (V5).

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

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

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

  • Доступ до Webex Contact Center.

  • Доступ адміністратора до Control Hub за адресою https://admin.webex.com та порталу керування Webex Contact Center. URL-адреси Управлінського порталу специфічні для вашого регіону.

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

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

    • *.service-now.com

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

  • Обліковий запис порталу розробника 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 Contact Center, — це Ванкувер, Юта, Токія, Вашингтон і Ксанаду. Детальніше див. Webex Contact Center Інтеграція з ServiceNow.

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

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

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

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

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

1

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

2

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

Скріншот порталу розробників ServiceNow з виділеною кнопкою «Почати будівництво».

3

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

Екземпляр розробника ServiceNow показує пошук навігатора фільтра 'plugins'.

4

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

Екземпляр розробника ServiceNow на екрані Applications, що показує пошук і результати 'OpenFrame'.

5

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

6

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

Екземпляр розробника ServiceNow показує спливаюче вікно плагіна OpenFrame із виділеною кнопкою «Активувати».

7

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

Екземпляр розробника ServiceNow показує активацію плагіна OpenFrame при завантаженні.

Екземпляр розробника ServiceNow показує вікно успішної активації плагіна OpenFrame із виділеною кнопкою «Закрити та перезавантажити форму».

8

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

9

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

Екземпляр розробника ServiceNow показує конфігурації 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

Скріншот репозиторії Github для Webex Contact Center інтеграцій з CRM – ServiceNow.

2

У вашому екземплярі ServiceNow, у полі Filter navigator у верхньому лівому куті вікна, перейдіть до System Update Sets > Update Sets to Commit.

Екземпляр розробника ServiceNow показує пошук у навігаторі фільтрів у розділах 'All' Tab для опції 'Update set' та 'Update Sets to Commit' виділено.

3

Натисніть на Import Update Set за посиланням XML .

Екземпляр розробника ServiceNow на сторінці результатів Update Sets з виділеним розділом 'Related Links: Import Update Set from XML'.

4

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

Імпорт екземпляра розробника ServiceNow XML екран.

Портал розробників ServiceNow отримав список наборів оновлень.

Набір оновлень з'являється у списку Retrieved Update Sets і перебуває у стані Loaded .
5

Зі списку Retrieved Update Sets натисніть Name Update Set File Name (посилання), щоб відкрити Update Set.

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

6

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

Портал розробників ServiceNow отримав список наборів оновлень для оновленого файлу з виділеною кнопкою «Preview Update Set».

7

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

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

8

Натисніть Commit Update Set.

Портал розробників ServiceNow отримав список оновлених наборів для оновленого файлу з виділеною кнопкою 'Commit Update Set'.

9

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

Портал розробників ServiceNow із повідомленням про успіх фіксації оновлення.

1

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

Екземпляр розробника ServiceNow показує пошук у навігаторі фільтра на 'All' Tab для 'sys_properties.list'

2

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

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

3

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

4

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

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

5

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

6

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

На сторінці властивостей системи натисніть webexccactivitytable .

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

Деталі властивості системи розробника ServiceNow для webexactivitytable.

7

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

  1. У полі Filter navigator у верхньому лівому куті вікна перейдіть до Groups у розділі System Security.

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

    Сторінка групи екземплярів розробників ServiceNow для WebexccAgentsGroup.

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

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

    Сторінка редагування групи екземплярів розробників ServiceNow, що показує пошук колекції.

    Сторінка редагування групи розробників ServiceNow з показом колекції, переміщеної у список ролей.

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

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

    Сторінка групи екземплярів розробників ServiceNow з призначеними ролями користувачів.

1

З поля навігатора фільтрів перейдіть до OpenFrame > Configurations.

ServiceNow для розробників фільтрує навігатор, додаючи 'openframe' у полі пошуку та 'Configurations' у розділі 'OpenFrame', виділені у результатах.

2

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

Сторінка OpenFrame Configurations для розробника ServiceNow з виділеним розділом 'New'.

3

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

  • Назва: Webex Contact Center Робочий стіл

  • Назва: Webex Contact Center

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

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

4

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

Екземпляр розробника ServiceNow OpenFrame Configurations – Нова сторінка запису з виділеною іконкою замка.

5

(За бажанням) Виберіть групи користувачів/агентів для призначення конфігурації.

OpenFrame Configurations для розробника ServiceNow – Новий запис вибору користувацької групи.

6

Натисніть Submit (Надіслати). URL з'являється як посилання.

Екземпляр розробника ServiceNow OpenFrame Configurations – Нова сторінка запису з посиланням на URL, що з'являється після подання вибору групи користувачів.

7

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

1

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

Екран Github для Webex Contact Center Інтеграцій CRM – Макети робочого столу – ServiceNow.

2

Оновіть властивості у файлі Desktop Layout, якщо потрібно.

3

Перейдіть на портал управління Webex Contact Center.

4

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

Webex Contact Center Сторінка налаштування Порталу управління з виділеним Desktop Layout у лівій навігації.

5

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

6

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

7

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

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

8

З поля навігатора фільтрів перейдіть до робочого простору Service Operations.

Сторінка ServiceNow Home з інтегрованою Webex Contact Center Agent Desktop з ServiceNow.

Наступні розділи описують кроки встановлення конектора ServiceNow для ліцензованих корпоративних інстансів.

1

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

2

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

Скріншот порталу розробників ServiceNow з виділеною кнопкою «Почати будівництво».

3

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

Екземпляр розробника ServiceNow показує пошук навігатора фільтра 'plugins'.

4

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

Екземпляр розробника ServiceNow на екрані Applications, що показує пошук і результати 'OpenFrame'.

5

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

6

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

Екземпляр розробника ServiceNow показує спливаюче вікно плагіна OpenFrame із виділеною кнопкою «Активувати».

7

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

Екземпляр розробника ServiceNow показує активацію плагіна OpenFrame при завантаженні.

Екземпляр розробника ServiceNow показує вікно успішної активації плагіна OpenFrame із виділеною кнопкою «Закрити та перезавантажити форму».

8

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

9

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

Екземпляр розробника ServiceNow показує конфігурації OpenFrame у пошуку навігатора фільтрів.

1

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

Екземпляр розробника ServiceNow показує пошук у навігаторі фільтра на 'All' Tab для 'sys_properties.list'

2

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

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

3

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

4

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

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

5

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

6

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

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

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

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

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

7

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

  1. У полі Filter navigator у верхньому лівому куті вікна перейдіть до Groups у розділі System Security.

    Результати фільтра екземплярів ServiceNow для 'Groups.'

    Сторінка групи екземплярів розробників SeviceNow для 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 для webexccagentsgroup з доданими ролями.

1

З поля навігатора фільтрів перейдіть до OpenFrame > Configurations.

ServiceNow для розробників фільтрує навігатор, додаючи 'openframe' у полі пошуку та 'Configurations' у розділі 'OpenFrame', виділені у результатах.

2

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

Сторінка OpenFrame Configurations для розробника ServiceNow з виділеним розділом 'New'.

3

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

  • Назва: Webex Contact Center Десктоп

  • Назва: Webex Contact Center

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

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

4

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

Екземпляр розробника ServiceNow OpenFrame Configurations – Нова сторінка запису з виділеною іконкою замка.

5

(За бажанням) Виберіть групи користувачів/агентів для призначення конфігурації.

OpenFrame Configurations для розробника ServiceNow – Новий запис вибору користувацької групи.

6

Натисніть Submit (Надіслати). URL з'являється як посилання.

Екземпляр розробника ServiceNow OpenFrame Configurations – Новий запис з доданим URL.

7

З поля навігатора фільтрів перейдіть до робочого простору Service Operations.

Сторінка ServiceNow Home з інтегрованою Webex Contact Center Agent Desktop з ServiceNow.

8

(За бажанням) У списку групи користувачів перемістіть групи, які мають доступ до робочого столу Webex Contact Center, з «Доступно » до «Вибрані ».

9

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

1

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

Екран Github для інтеграцій Webex Contact Center CRM – Верстки робочих столів – ServiceNow.

2

Оновіть властивості у файлі Desktop Layout, якщо потрібно.

3

Перейдіть на портал управління Webex Contact Center.

4

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

Webex Contact Center Сторінка налаштування Порталу управління з виділенням Desktop Layout у лівій навігації.

5

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

6

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

7

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

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

8

З поля навігатора фільтрів перейдіть до робочого простору Service Operations.

Сторінка ServiceNow Home з інтегрованою Webex Contact Center Agent Desktop з ServiceNow.

1

З поля навігатора фільтра перейдіть до Інциденти > Відкриті інциденти.

2

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

Вікно інстансів розробника ServiceNow з виділеною опцією Configure Directory.

3

Додати з комою Атрибути "ref_contributions=show_phone,.

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

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

4

З поля навігатора фільтрів перейдіть до робочого простору Service Operations.

Сторінка ServiceNow Home з інтегрованою Webex Contact Center Agent Desktop з ServiceNow.

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

Agent Desktop у консолі ServiceNow

Перед тим, як здійснювати вихідні дзвінки, переконайтеся, що ви зробили наступне:

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

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

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

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

З поля навігатора фільтрів перейдіть до робочого простору Service Operations.

Сторінка ServiceNow Home з інтегрованою Webex Contact Center Agent Desktop з ServiceNow.

Для інформації про використання Desktop дивіться Agent Tab у довідці Webex Contact Center.

Огляд

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

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

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

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

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

Зафіксуйте віджет оновлень для дій

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

Щоб налаштувати віджет Actions для екземплярів розробника, завантажте останній файл 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. Щоб зафіксувати набір оновлень для віджета Actions, дивіться кроки 2–9 у розділі Commit the Update Set.

Віджет увімкнути дії

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

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

  • Керування записами активності — натисніть Переглянути/Редагувати запис активності, щоб переглянути список записів активності, пов'язаних із абонентом.
  • Асоціюйте об'єкти CRM — натисніть «Асоціювати з записами активності», щоб додати об'єкти CRM, такі як тип виклику (вхідний або вихідний), об'єкт виклику, нотатки дзвінків тощо до запису активності.
  • Керуйте інцидентами — натисніть Create Incident. Створюється новий інцидент із попередньо заповненими даними абонента. Ви можете внести необхідні оновлення щодо інциденту. Ви можете змінити тип запису від інциденту до справи, HR-модуля тощо відповідно до ваших вимог. Щоб змінити тип запису, змініть значення властивості typeOfRecord у конфігурації віджета Actions. Наприклад:
    { "comp": "md-tab-panel", "атрибути": { "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. Перейдіть у фільтр-навігатор і знайдіть Сценарій включає.

    Виберіть Script Includes у системному інтерфейсі.

  2. Відфільтруйте ім'я та знайдіть propUtils.

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

    Curent:

    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= 'телефон'; 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='телефон'; 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. Відфільтруйте ім'я та знайдіть AgentDesktop.

  3. Змініть screenpop функції у скрипті клієнта.

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

    screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = новий GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('поле', 'телефон'); gaout.addParam('значення', 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('поле', 'телефон'); 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 //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

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

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

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

Огляд

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

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

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

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

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

Cisco надає лише техніки налаштування та розширення конектора.

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

Додати колонку до діяльності WebexCC IMP

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

    Таблиця активності WebexCC IMP розробника ServiceNow.

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

    Навигатор фільтра екземплярів розробника ServiceNow на All Tab з введеним 'studio' у фільтр.

    Виберіть Webex Contact Center

    Додаток Studio для ServiceNow з відкритим вікном Select Application.

    або

    Додаток Studio для ServiceNow з відкритим вікном Select Application і вибраним 'Select Store App to Customize'.

    Додаток Studio для ServiceNow з відкритим вікном 'Вибрати додаток Store to Customize' і вибраним 'Webex Contact Center'.

    Додаток Studio для ServiceNow з деталями файлу Webex Contact Center.

  3. Виберіть Діяльність WebexCC IMP стіл

    Додаток Studio для ServiceNow WebexCC IMP Activity таблиці.

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

    Додаток Studio для ServiceNow, таблиця активності WebexCC IMP, приклад нового стовпця.

    Додаток Studio для ServiceNow, таблиця активності WebexCC IMP, новий приклад стовпця з доданим новим стовпцем.

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

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

    Пошук у instance розробників ServiceNow для таблиці журналів телефону.

    Таблиця журналів телефону для розробника ServiceNow.

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

    ServiceNow Developer Instance телефонний журнал таблиці нових прикладів стовпців.

    ServiceNow Developer Instance телефонна таблиця журналу, новий приклад стовпця, з доданим новим стовпцем.

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

Додаток Studio для ServiceNow WebexCC Activity Transform Map.

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

Додаток Studio для ServiceNow, WebexCC Activity Transform Map, новий приклад стовпця для відображення полів CustomerName.

Додаток Studio для ServiceNow WebexCC Activity Transform Map новий приклад стовпця з обраним CustomeName у полі Target.

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

Додаток Studio для ServiceNow WebexCC Activity Transform Map з спливаючим вікном для персоналізованих стовпців списку. Опція дії вибору виділена у стовпці «Вибрано».

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

Додаток Studio для ServiceNow WebexCC Activity Transform Map зі стовпцем дії Choice, що показує випадаюче меню для вибору «ігнорувати» або «створити».

Додаток Studio для ServiceNow WebexCC Activity Transform Map з виділеними стовпцями дії Choice та 'ignore' для поля джерела імені клієнта.

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

Додаток Studio для ServiceNow налаштовує список журналів телефону з виділеним CustomerName у колонці Вибране.

Перейти до Script Include

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

Навигатор фільтра екземплярів розробників — пошук 'script includes.'

Сторінка екземпляра розробника ServiceNow Script Includes Pages.

Зразок сценарію

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

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; інакше // повернути null; var grInt = новий GlideRecord ('взаємодія'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'телефон'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); повернути 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; Цей рядок додається — щоб зафіксувати його в журналі активності webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Діяльність у реєстрі інцидентів; var actInfoString =this.getParameter('actInfo'); var suser = новий 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; }, type: 'propUtils' });

Створіть CAD-змінну в Flow designer

Webex Contact Center Дизайнер змінних потоків CAD з спливаючим вікном Add Flow Variable для CustomerName.

Додайте змінну CAD до Desktop Layout

Приклад

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

Приклад вихідного коду для додавання змінної CAD до Desktop Layout.

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

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

Приклад новододаної CAD-змінної в таблиці WebexCC Activity, що відображає 'Ім'я клієнта" у спливаючому вікні Cisco WebexCC.

Приклад новододаної CAD-змінної ServiceNow у таблиці активності WebexCC, де 'CustomerName' відображається у коментарях у розділах 'Activity' та 'System Administrator'.

Приклад екземпляра розробника ServiceNow новододаної змінної CAD у таблиці WebexCC Activity, що показує стовпець 'CustomerName'.

Створити змінну CAD для Flow Designer

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

Webex Contact Center Flow Designer створіть екран CAD-змінних, що показує спливаюче вікно змінної потоку редагування для змінної терміновості інциденту.

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

Webex Contact Center Flow Designer створіть екран CAD-змінних, що показує спливаюче вікно змінної потоку редагування для змінної терміновості інциденту.

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

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

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

    Виберіть опцію «Script Includes » у системному інтерфейсі.

    Навигатор фільтра екземплярів розробників — пошук 'script includes'

  2. Фільтруйте назву за допомогою propUtils.

    Скрипт розробника ServiceNow включає фільтр імен за 'propUtils'

  3. Зміни метод UserGetSysId у полі сценарію .

    Script для розробника ServiceNow включає — сторінка деталей propUtils.

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

    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= 'телефон'; 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='Дзвінок, отриманий з '+ 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; return JSON.stringify(sysidlist);//sysid; },

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

    Виберіть опцію UI Pages у системному інтерфейсі.

    Пошук навигатора Developer instance filter navigator for 'Ui page'

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

    File-фільтр імен UI сторінок ServiceNow для пошуку 'agentdesktop'

  3. Змініть screenpop функції у полі скрипту.

    Сторінка інтерфейсу екземпляра розробника ServiceNow – сторінка деталей Agentdesk.

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

    функція pop-екрану screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('поле', 'телефон'); gaout.addParam('значення', 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 != невизначено) { 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(«цінність», callerani); gaout.addParam («Інтермінованість», 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: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

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

Приклад інциденту в ServiceNow.

Приклад взаємодії в ServiceNow.

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

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

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

ServiceNow розробник WebexCC Activity TransformMap.

Сторінка деталей TransformMap для розробника ServiceNow для розробника WebexCC Activity.

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

Екземпляр розробника ServiceNow WebexCC Activity TransformMap новий стовпець, InteractionNumber.

Сторінка деталей TransformMap для розробника ServiceNow для розробника WebexCC Activity TransformMap, де додано нову колонку 'interactionnumber'.

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

Сторінка розробника ServiceNow WebexCC Activity TransformMap з додаванням нової колонки 'incidentnumber'.

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

Сторінка деталей TransformMap для розробника ServiceNow для розробника WebexCC Activity TransformMap показує редагування максимальної довжини стовпця IncidentNumber.

Сторінка деталей TransformMap для розробника ServiceNow WebexCC Activity TransformMap, де додано новий стовпець 'incidentnumber'.

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

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

Таблиця журналу телефону для розробника ServiceNow.

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

Запис каталогу екземпляра розробника ServiceNow – сторінка нового запису з новою колонкою для InteractionsNumber.

Таблиця журналу телефону екземпляра розробника ServiceNow з доданим стовпцем InteractionsNumber.

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

Запис у каталог екземпляра розробника ServiceNow – сторінка нового запису з новою колонкою для IncidentNumber.

Таблиця журналу телефону екземпляра розробника ServiceNow з доданим стовпцем IncidentNumber.

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

Відкривати Відображення трансформації від навігатора фільтра

Пошук навігатора фільтра екземплярів розробників за 'transform map'

Instance розробника ServiceNow Table Transform Maps показує WebexCC Activity TransformMap у результатах.

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

ServiceNow розробник WebexCC Activity TransformMap.

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

Екземпляр розробника WebexCC Activity TransformMap з введенням 'InteractionNumber' у поле 'Target'

Екземпляр розробника ServiceNow WebexCC Activity TransformMap з доданим 'InteractionNumber'.

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

Екземпляр розробника WebexCC Activity TransformMap з введенням 'IncidentNumber' у поле 'Target'

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

Екземпляр розробника ServiceNow WebexCC Activity TransformMap з доданим 'IncidentNumber'.

Зміни у сценарії включають

  1. Перейдіть у Filter Navigator і знайдіть "script includes".

    Виберіть Script Includes у системному інтерфейсі.

    Навигатор фільтра екземплярів розробників ServiceNow з пошуком 'script includes'

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

    Script для розробника ServiceNow Include з фільтром імені, застосованим до пошуку, та 'propUtils', введеним у поле пошуку.

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

    Скрипт розробника ServiceNow включає сторінку propUtils

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

    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']; видалити 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='Оновлення стану до закритого.'; 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 = новий 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=інтенум; sys_id=webexcc.Insert(); } повернути sys_id; },

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

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

    Виберіть опцію UI Pages у системному інтерфейсі.

    Навигатор фільтра екземплярів розробників ServiceNow з пошуком 'Ui page'

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

    Сторінки UI екземпляра розробника ServiceNow з фільтром імені, застосованим до пошуку.

  3. Змініть nowАктивності та screenpop функції у сценарії.

    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('поле', 'телефон'); gaout.addParam('значення', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', запит: '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.

Наступні налаштування застосовуються до версій 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", ім'я); } 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(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) для інциденту позначається як Істинна.

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Оновіть URL screenpop за допомогою власного CTI Rule " cti.do?sysparm_cti_rule=createIncident&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 записі, позначеному як client callable .

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

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

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

Посилання

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

Огляд

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

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

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

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

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

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

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

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

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Перейдіть до Studio > Webex Contact Center.

    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.
Створити новий скрипт включає

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

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.CustomerName; з підтримуючим коментарем.

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; // Цей рядок додано — щоб зафіксувати його у журналі активності webexcc. u_customername=actInfo.CustomerName; sys_id=webexcc.Insert(); Діяльність у реєстрі інцидентів; var actInfoString =this.getParameter('actInfo'); var suser = новий 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(); } } повернення sys_id; }, type: 'propUtils2' });
Відредагуйте сторінку інтерфейсу з новою назвою скриптуApp Engine Studio agentdesktop UI page with new script name.

Створіть CAD-змінну в Flow designerWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Додайте змінну CAD до Desktop LayoutWebex 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.