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

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


 

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

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

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

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

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

1

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

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

2

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

3

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

4

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

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

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

6

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

7

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

8

Натисніть Commit Update Set (Зафіксувати набір оновлень).

9

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

1

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

2

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

3

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

4

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

5

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

6

(Необов'язково.) Щоб змінити ім'я таблиці «Активність», змініть властивості webexccactivitytable за потреби.

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

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

7

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

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

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

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

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

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

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

1

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

2

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

3

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

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

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

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

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

4

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

5

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

6

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

7

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

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

8

У полі «Навігатор фільтрів» перейдіть до розділу Робоче середовище агента> Домашня сторінка робочого простору агента.

Натисніть на лівий нижній значок телефону.

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

1

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

2

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

3

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

4

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

5

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

6

(Необов'язково.) Щоб змінити ім'я таблиці активності, за потреби змініть властивості таблиці x_caci_webexcc.webexccactivitytable .

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

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

7

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

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

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

    • sn_openframe_user

    • x_caci_webexcc.агент

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

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

2

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

3

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

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

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

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

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

4

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

5

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

6

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

7

У полі «Навігатор фільтрів» перейдіть до розділу Робоче середовище агента> Домашня сторінка робочого простору агента.

Натисніть ліву нижню піктограму телефону.

8

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

9

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

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

8

У полі «Навігатор фільтрів» перейдіть до розділу Робоче середовище агента> Домашня сторінка робочого простору агента.

Натисніть на лівий нижній значок телефону.

1

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

2

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

3

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

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

4

У полі «Навігатор фільтрів» перейдіть до розділу «Робоче середовище агента> Домашня сторінка робочого простору агента».

Натисніть ліву нижню піктограму телефону.

Agent Desktop в консолі ServiceNow

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

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

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

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

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

У полі «Навігатор фільтрів» перейдіть до розділу Робоче середовище агента> Домашня сторінка робочого простору агента.

Натисніть ліву нижню піктограму телефону.

Інформацію про те, як користуватися робочим столом, можна знайти в Cisco Webex Contact Center Agent Desktop Посібнику користувача.

Розбиття сховища сторонніми розробниками

Можлива проблема, пов'язана з нещодавнім оновленням Google Chrome і Edge 116 або новішої версії, може порушити ваш процес входу в конектори CRM у Webex контакт-центрі. Ця проблема впливає на вхід на комп'ютер на консолі CRM ServiceNow.

Щоб вирішити цю проблему у веб-переглядачі Google Chrome:

  1. Відкрийте браузер Google Chrome і введіть chrome://flags/#third-party-storage-partitioning в адресному рядку.

  2. Вимкніть прапорець Експериментальне стороннє сховище з розділами .

  3. Закрийте та перезапустіть Chrome.

  4. знову увійдіть на робочий стіл у консолі ServiceNow CRM.

Щоб вирішити цю проблему в браузері Edge:

  1. Відкрийте браузер і введіть edge://flags/#third-party-storage-partitioning в адресному рядку.

  2. Вимкніть прапорець Експериментальне стороннє сховище з розділами .

  3. Збережіть зміни та перезапустіть браузер.

  4. знову увійдіть на робочий стіл у консолі ServiceNow CRM.

Щоб вирішити цю проблему в браузері Firefox:

  1. Відкрийте браузер і введіть about:config в адресному рядку.

    Може з'явитися сторінка з попередженням. Натисніть «Прийняти ризик» і «Продовжити », щоб перейти на сторінку about:config .

  2. Введіть network.cookie.cookieBehavior у полі Search preference name (Назва параметра пошуку) у верхній частині сторінки about:config , щоб знайти потрібний параметр.

  3. Двічі клацніть параметр або клацніть піктограму «Редагувати », щоб відредагувати параметр.

  4. Змініть значення на 0.

  5. Збережіть зміни та перезапустіть браузер.

  6. знову увійдіть на робочий стіл у консолі ServiceNow CRM.

Огляд

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

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


 

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

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

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

Зафіксуйте віджет Update Set for Actions

Для ліцензованих корпоративних екземплярів інсталюйте віджет Дії з'єднувача ServiceNow версії 1.9 із магазину ServiceNow.

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

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

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

Увімкнувши віджет дій у нетиповій розкладці стільниці, ви можете виконати такі дії:

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

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

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

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

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

  3. Змініть метод UserGetSysId у Скрипті.

    Курент:

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); 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.short_description='дзвінок, отриманий від '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); 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); },

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

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

  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('поле', 'телефон'); 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('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Для змін, пов'язаних з інцидентом var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_ id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }

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

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

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

Огляд

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

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

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


 

Це лише довідкова документація, у якій показано, як це зробити для зразка змінної САПР під назвою «Ім'я клієнта», яка зберігає ім'я клієнта в IVR і публікує його в ServiceNow.

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

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

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

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

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

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

    Виберіть Webex Contact Center

    або

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

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

Додати колонку до журналу телефону

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

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

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

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

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

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

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

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


 

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

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

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

var propUtils = Class.create(); propUtils.prototype = 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 // повернути null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'телефон'; grInt.opened_for= opened_for; var sysid=grInt.insert(); повернути сисида; }, setWebexcctable: function () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Цей рядок додано - щоб зафіксувати його в Журналі активності webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); Діяльність з обліку інцидентів; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } повернути sys_id; }, тип: 'propUtils' });

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

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

Приклад

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

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

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

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

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

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

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

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

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

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

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

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

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

    UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); 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('Вплив'); inc.short_description='Виклик, отриманий від '+ this.getParameter('value'); sysidlist.incsysid=inc.insert(); } } var grInt = new GlideRecordSecure('interaction'); 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. Перейдіть до навігатора фільтрів і знайдіть сторінки інтерфейсу користувача.

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

  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) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('поле', 'телефон'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Вплив', Вплив); gaout.getXMLWait(); var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); } else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",JSON.stringify(sysObj)); }

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

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

Додайте нові стовпчики до Активність WebexCC IMP стіл

Відкрийте файл Активність WebexCC IMP стіл

Додавання нового стовпця - InteractionsNumber

Додавання нового стовпця - Номер інциденту

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

Додайте нові стовпчики до Журнал телефонних розмов стіл

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

Додавання нового стовпця - InteractionsNumber

Додавання нового стовпця - Номер інциденту

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

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

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

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

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

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

Зміни в скрипті включають

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

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

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

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

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

    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()) { //Actions on Incident record; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum=""; var intenum=""; видалити 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='Оновити стан до закритого.'; 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=інтенум; sys_id=webexcc.insert(); } повернути sys_id; },

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

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

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

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

  3. Змініть nowActivities та screenpop у скрипті.

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

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

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


 

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

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

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

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

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

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

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

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

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

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

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

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

Приклад

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

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

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


 

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

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

Посилання

Налаштування # 2 - Додавання змінної САПР в таблицю активності Webex контакт-центру

Огляд

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

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

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


 
  • Це лише довідкова документація, і вона показує, як це зробити для зразка змінної САПР під назвою «Ім'я клієнта», яка зберігає ім'я клієнта всередині IVR і публікує його в ServiceNow.

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

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

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

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

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

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

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

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

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

 

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

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

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

var propUtils2 = Class.create(); propUtils2.prototype = 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 = new GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(діючий рядок),null,2); inc.comments =jsonPretty; inc.update(); } } } повернути sys_id; }, тип: 'propUtils2' });
Відредагуйте сторінку інтерфейсу користувача з новою назвою сценарію

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

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

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

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