Интегрирайте Webex Contact Center с ServiceNow (версия 1 – наследена)
Предпоставки
CRM конекторът работи въз основа на версията на джаджата, посочена в оформлението на работния плот JSON. Изключително важно е да се гарантира, че версията на джаджата в оформлението на работния плот се актуализира. От ноември 2025 г. най-новата версия на джаджата е 5.0.0 (V5).
От администраторите се очаква да гарантират, че всички оформления на работния плот за този CRM конектор използват тази версия на джаджата. Ако оформлението не бъде актуализирано, за да използва най-новата версия, функционалността вече няма да се поддържа и може да спре да работи правилно.
Преди да интегрирате 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 |
От областта Моят екземпляр на менюто Акаунт щракнете върху Стартиране на изграждането.
|
| 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 |
Щракнете върху Избор на файл, изберете файла System Update Set XML и след това щракнете върху Качване.
Наборът за актуализации се появява в списъка Извлечени комплекти за актуализация и е в състояние Заредено .
|
| 5 |
От списъка Извлечени комплекти за актуализация щракнете върху името на файла за актуализиране на комплекта (връзка), за да отворите набора за актуализиране.
|
| 6 |
В горния десен ъгъл на прозореца щракнете върху Визуализация на комплекта за актуализиране, за да проверите набора за актуализации за проблеми.
|
| 7 |
Щракнете върху Затвори в диалоговия прозорец Преглед на комплекта за актуализиране, след като визуализацията приключи.
|
| 8 |
Щракнете върху Комплект за актуализация на ангажимента.
|
| 9 |
Щракнете върху Затвори в диалоговия прозорец Update Set Commit , след като ангажирането на Update Set приключи.
|
| 1 |
В полето Филтър навигатор в горния ляв ъгъл на прозореца въведете
|
| 2 |
На страницата Свойства на системата сортирайте свойствата по дата на актуализиране. Уверете се, че можете да видите следните свойства Webex Contact Center:
|
| 3 |
Кликнете върху agentdesktop_url , за да отворите страницата agentdesktop_url "Системна собственост". |
| 4 |
В полето Стойност въведете URL адреса за работния плот Webex Contact Center според региона на работа.
|
| 5 |
Щракнете върху Актуализиране , за да запазите промените. |
| 6 |
(По избор) За да промените името на таблицата на активността, редактирайте свойствата на webexccactivitytable според изискванията. На страницата Свойства на системата щракнете върху webexccactivitytable. Променете полето Стойност , ако е необходимо.
|
| 7 |
(По избор) Добавете потребителски групи по следните начини:
|
| 1 |
От полето Филтър навигатор отидете до .
|
| 2 |
Натиснете Нов.
|
| 3 |
Въведете следните свойства за URL адреса:
|
| 4 |
Вдясно от полето за URL адрес щракнете върху бутона Заключване и добавете
|
| 5 |
(По избор) Изберете групите потребители/агенти, за да зададете конфигурацията.
|
| 6 |
Щракнете върху Подаване. URL адресът се показва като връзка.
|
| 7 |
Преди да опитате да използвате телефона OpenFrame, уверете се, че сте качили JSON файла за оформление на работния плот по избор на ServiceNow в портала за управление Webex Contact Center. За повече информация вижте Настройване на оформлението на работния плот на ServiceNow на Webex Contact Center. |
| 1 |
Изтеглете оформлението на работния плот за ServiceNow от https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.
|
| 2 |
Актуализирайте свойствата във файла за оформление на работния плот, ако е необходимо. |
| 3 |
Отидете на портала за управление Webex Contact Center. |
| 4 |
От навигационната лента на портала за управление изберете .
|
| 5 |
Щракнете върху Ново оформление и въведете подробностите за оформлението на работния плот. |
| 6 |
Качете JSON файла за оформление на работния плот на ServiceNow. |
| 7 |
Щракнете върху Запазване , за да запазите конфигурацията. Вече можете да стартирате работния плот Webex Contact Center в конзолата ServiceNow. |
| 8 |
От полето Навигатор за филтриране отидете до за операции на услуги.
|
Следващите раздели описват стъпките за инсталиране на конектора ServiceNow за лицензирани корпоративни екземпляри.
| 1 |
влезте в акаунта си в портала за разработчици на ServiceNow и отворете конзолата за администриране . |
| 2 |
От областта Моят екземпляр на менюто Акаунт щракнете върху Стартиране на изграждането.
|
| 3 |
Във вашия екземпляр за разработчици от полето Филтър навигатор в горния ляв ъгъл на прозореца отидете до Плъгини.
|
| 4 |
Потърсете плъгина Openframe, който има заглавие Openframe. Може да се наложи да превъртите списъка.
|
| 5 |
Щракнете върху Инсталиране , за да инсталирате плъгина Openframe. |
| 6 |
В диалоговия прозорец Активиране на плъгин щракнете върху Активиране.
|
| 7 |
Когато активирането на плъгина приключи, щракнете върху Затвори и презареждане на формуляра в диалоговия прозорец Активиране на плъгин.
|
| 8 |
За да проверите активирането на плъгина, от полето Филтър навигатор в горния ляв ъгъл на прозореца отидете до OpenFrame. |
| 9 |
Щракнете върху Конфигурации и се уверете, че плъгинът OpenFrame се появява в списъка Конфигурации на OpenFrame.
|
Екземплярите, които имат корпоративни лицензи, могат да инсталират приложението Webex Contact Center директно от магазина на ServiceNow.
|
Изтеглете и инсталирайте пакета Webex Contact Center от магазина ServiceNow: https://store.servicenow.com/sn_appstore_store.do#!/store/application/6c8e2a4edbc73410e1c75e25ca961947.
|
| 1 |
В полето Филтър навигатор в горния ляв ъгъл на прозореца въведете
|
| 2 |
На страницата Свойства на системата сортирайте свойствата по дата на актуализиране. Уверете се, че можете да видите следните свойства Webex Contact Center:
|
| 3 |
Кликнете върху agentdesktop_url , за да отворите страницата agentdesktop_url "Системна собственост". |
| 4 |
В полето Стойност въведете URL адреса за работния плот Webex Contact Center според региона на работа.
|
| 5 |
Щракнете върху Актуализиране , за да запазите промените. |
| 6 |
(По избор) За да промените името на таблицата на дейността, редактирайте свойствата на x_caci_webexcc.webexccactivitytable , ако е необходимо.
|
| 7 |
(По избор) Добавете потребителски групи по следните начини:
|
| 1 |
От полето Филтър навигатор отидете до .
|
| 2 |
Натиснете Нов.
|
| 3 |
Въведете следните свойства за URL адреса:
|
| 4 |
Вдясно от полето URL адрес щракнете върху бутона Заключване и добавете
|
| 5 |
(По избор) Изберете групите потребители/агенти, за да зададете конфигурацията.
|
| 6 |
Щракнете върху Подаване. URL адресът се показва като връзка.
|
| 7 |
От полето Навигатор за филтриране отидете до за операции на услуги.
|
| 8 |
(По избор) В списъка Потребителска група преместете потребителските групи, които имат достъп до работния плот Webex Contact Center, от Налични в Избрани. |
| 9 |
Преди да опитате да използвате телефона OpenFrame, уверете се, че сте качили JSON файла с оформление на работния плот по избор на ServiceNow в портала за управление Webex Contact Center. За повече информация вижте Настройване на оформлението на работния плот на ServiceNow на Webex Contact Center. |
| 1 |
Изтеглете оформлението на работния плот за ServiceNow от https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.
|
| 2 |
Актуализирайте свойствата във файла за оформление на работния плот, ако е необходимо. |
| 3 |
Отидете на портала за управление Webex Contact Center. |
| 4 |
От навигационната лента на портала за управление изберете .
|
| 5 |
Щракнете върху Ново оформление и въведете подробностите за оформлението на работния плот. |
| 6 |
Качете JSON файла за оформление на работния плот на ServiceNow. |
| 7 |
Щракнете върху Запазване , за да запазите конфигурацията. Вече можете да стартирате работния плот Webex Contact Center в конзолата ServiceNow. |
| 8 |
От полето Навигатор за филтриране отидете до за операции на услуги.
|
| 1 |
От полето Филтриране на навигатор отидете до Инциденти > Отваряне на инциденти. |
| 2 |
Щракнете с десния бутон върху полето на обаждащия се и щракнете върху Конфигуриране на речника.
|
| 3 |
Добавете разделени със запетаи атрибути
Вече можете да започнете да използвате работния плот Webex Contact Center в конзолата ServiceNow. |
| 4 |
От полето Навигатор за филтриране отидете до за операции на услуги.
|
- Поддържаме влизане в Agent Desktop, като използваме само конектори WebRTC за Salesforce (SFDC) и Microsoft Dynamics (MS Dynamics).
- В момента тази функция е приложима само за агенти.
Agent Desktop в конзолата ServiceNow
Преди да извършвате изходящи повиквания, уверете се, че сте направили следното:
-
Създайте входната точка за изходящ изход и настройте стратегия за входна точка за изходящ номер.
-
Активирайте изходящото ANI за профила на агента.
-
Задайте изходящото ANI на съпоставяне на номер за набиране към входна точка.
За повече информация вижте главата Осигуряване на # Cisco Webex Contact Center Ръководство за настройка и администриране.
От полето Навигатор за филтриране отидете до за операции на услуги.
За информация как да използвате Desktop вижте Agent Tab в помощта Webex Contact Center.
Общ преглед
Тази статия обхваща няколко начина за персонализиране на вашите бизнес правила за конектора на ServiceNow CRM. Той описва подробно как можете да персонализирате случаите на употреба въз основа на бизнес правила, които са специфични за ServiceNow.
Клиентът трябва сам да управлява тези случаи на употреба в ServiceNow. Конфигурацията е специфична за ServiceNow, а не Webex Contact Center софтуер или експертиза.
Това е справочна документация за подпомагане на промяната на бизнес правилата. Разработчиците на ServiceNow ще създават и управляват бизнес правилата и ще предоставят поддръжка.
Cisco предоставя само примерна документация.
Следващите раздели предоставят подробности за това как да настроите, активирате и управлявате приспособлението за действия за екземпляри за разработчици и предприятия.
Ангажиране на джаджата Update Set for Actions
За лицензираните корпоративни екземпляри инсталирайте най-новото приложение 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. За да ангажирате набора за актуализации за джаджата Действия, вижте стъпки от 2 до 9 в Ангажиране на набора за актуализации.
Активиране на джаджата за действия
Използвайте свойството isWidgetDisplayEnabled , за да активирате приспособлението Действия. Не трябва да променяте стойността на това свойство в секцията без глава на персонализираното оформление на работния плот. Свойството винаги е зададено на false в секцията без глава на персонализираното оформление на работния плот. Трябва да актуализирате стойността на свойството само в секцията на панела на персонализираното оформление на работния плот.
След като активирате приспособлението Действия в оформлението на работния плот по избор, можете да извършите следните действия:
- Управление на записи на дейност – Щракнете върху Преглед/редактиране на запис на активност, за да видите списъка със записи на дейност, свързани с обаждащия се.
- Свързване на CRM обекти – Щракнете върху Свързване към записи на дейност, за да добавите CRM обекти, като например тип повикване (входящо или изходящо), обект на повикване, бележки за повикване и т.н. към записа на дейността.
- Управление на инциденти – щракнете върху Създаване на инцидент. Създава се нов инцидент с предварително попълнени данни за обаждащия се. Можете да направите необходимите актуализации на инцидента. Можете да изберете да промените типа на записа от инцидент до случай, модул за човешки ресурси и т.н. въз основа на вашите изисквания. За да промените типа на записа, променете стойността на свойството typeOfRecord в конфигурацията на приспособлението Actions. Например:
{ "comp": "md-tab-panel", "attributes": { "slot": "panel", "class": "widget-pane" }, "children": [ { "comp": "agentx-custom-desktop", "script": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "properties": { "isWidgetDisplayEnabled": true, "typeOfRecord" : "Създаване на инцидент" }, "wrapper": { "title": "SNOW Actions!", "maximizeAreaName": "app-maximize-area" } } ] } - Добавяне на бележки за обаждане на живо – можете да уловите допълнителна информация за разговора в текстовата област и да завършите разговора. Можете да видите тези бележки, добавени като бележки за повикване в записа на дейността.
Промяна на кода в ServiceNow
Скриптът включва промени-
Отидете в навигатора за филтриране и потърсете
скриптът включва
.Изберете скрипта , който включва под Системен потребителски интерфейс.
-
Филтрирайте името и потърсете
propUtils
. -
Променете метода
UserGetSysId
в сценария.Курент:
UserGetSysId: function () { var opened_for; var user = new GlideRecord("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.Insert(); return sysid; },Нов примерен код за инцидента:
UserGetSysId: function () { var opened_for; //Incident related changes var sysidlist = {}; var user = new GlideRecordSecure("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if(user.next()) { opened_for=user.sys_id;//return user.sys_id; var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', opened_for); inc.addQuery('state','IN','1,2'); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { sysidlist.incsysid=inc.getUniqueValue(); }else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phone'; inc.short_description='Повикване, получено от '+ 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); },
-
Отидете на навигатора за филтри и потърсете
страницас потребителски интерфейс.Изберете страници на потребителския интерфейс под Системен потребителски интерфейс.
-
Филтрирайте името и потърсете
agentdesktop
. -
Променете
Екран
функция в Клиентски скрипт.Текуща функция:
screen pop функция screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openFrameAPI.openServiceNowForm({ entity: 'interaction', query: 'sys_id='+sysid });Примерен код за инцидента:
screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // За промяна, свързана с инцидент, var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_ id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: 'incident', query: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid //'a2ba0ba62fd121106446cc96f699b6b8' }); } }
Ако информацията за обаждащия се съществува в CRM и вече има нов инцидент, отворен с този контакт, приложението отваря инцидента с неизпълнение
Ако информацията за обаждащия се не съществува в CRM, приложението отваря нов инцидент
Ако информацията за обаждащия се съществува в CRM, приложението отваря нов инцидент с предварително попълнени данни
Общ преглед
Този случай на употреба описва подробно процеса за добавяне на допълнителна колона към таблицата ServiceNow - webexcc_imp_activity и създаване на sn_openframe_phone_log при инсталирането на Webex CC за ServiceNow CRM конектор.
По подразбиране таблицата съдържа определени готови системни полета и стойности.
Можете да създадете по-специфични за бизнеса променливи (CAD променливи) в дизайнера на WebexCC Flow и да добавите CAD променливите в регистъра на активността на повикванията ServiceNow POST, както и да запазите това в данните на таблицата за активност на повикванията POST.
Това е само справочна документация - и показва как да направите това за примерна CAD променлива, наречена Име на клиент, която съхранява името на клиента в IVR и го публикува в ServiceNow.
Очаква се разработчиците на партньор+клиент ServiceNow да конфигурират и управляват тази конфигурация, тъй като тя е персонализиране на съществуващия конектор.
Cisco предоставя само техниките за персонализиране и разширяване на конектора.
От тази статия екипът Cisco е валидирал поддръжката за добавяне на CAD променлива към дневника на дейностите и таблицата на активностите, използвайки техниката, описана по-долу:
Добавяне на колона към дейността на WebexCC IMP
-
Редактирайте таблицата във версията за разработчици на ServiceNow.

-
Отидете в навигатора за филтри и потърсете студио.

Избор
Cisco Unified Contact Center

или



-
Изберете бутона
Дейност на WebexCC IMP
маса
-
Добавете нова колона, например,
Име на клиента


Добавяне на колона към регистрационния файл на телефона
-
Редактирайте таблицата на регистрационния файл на телефона.


-
Добавете нова колона, например,
Име на клиента
.

Карта за трансформиране на дейност на 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 = нов 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; }, тип: 'propUtils' });
Създаване на CAD променлива в дизайнера на поток

Добавете CAD променливата към оформлението на работния плот
Пример
"CadName1:SnowField1,CadName2:SnowField2" CadName1 е CustomerName SnowField1 се използва и като CustomerName, което е част от примерен scirpt, показан по-горе "actInfo.CustomerName".

Демонстрационни екранни снимки
Вижте новодобавената CAD променлива в таблицата WebexCC Activity.



Създаване на CAD променлива за Flow Designer
Спешност при инциденти
Въздействие на инцидента

Актуализация на скрипта "Услуга сега"
Актуализациите на скрипта включват
-
Отидете в навигатора на филтъра и потърсете
скрипт включваИзберете опцията Скрипт включва под Системен потребителски интерфейс.

-
Филтрирайте името с
propUtils.
-
Променете метода
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('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; връща JSON.stringify(sysidlist);//sysid; },
-
Отидете в навигатора за филтри и потърсете
страницина потребителския интерфейс.Изберете опцията Страници на потребителския интерфейс под Системен потребителски интерфейс.

-
Филтрирайте страниците на потребителския интерфейс с име и потърсете
agentdesktop.
-
Променете
Екран
функция в полето script.
Текуща функция:
изскачаща функция на екрана 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 }); }Примерен код за инцидента:
функция за изскачане на екрана 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('стойност', 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маса





Кликнете върху Актуализиране.


Добавяне на нови колони към Дневник на телефона
маса
Отворете Дневник на телефона
маса





Карта за трансформиране на дейност на WebexCC
Отваряне Трансформиране на картата
от филтърния навигатор


Кликнете върху Трансформиране на дейността на WebexCC




Щракнете върху Актуализиране.

Промените в скрипта включват
-
Отидете в навигатора за филтри и потърсете "скрипт включва".
Изберете скрипта, който включва под Системен потребителски интерфейс.

-
Филтрирайте името с
propUtils
.
-
Променете метода
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()) { //Дейности върху записа на инцидента; //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']; да се изтрие 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=intenum; sys_id=webexcc.Insert(); } връщане sys_id; },
Промени в методите на страниците на потребителския интерфейс
-
Отидете в навигатора за филтриране и потърсете
Потребителски интерфейс страници
Изберете опцията Страници на потребителския интерфейс под Системен потребителски интерфейс.

-
Филтрирайте страниците на потребителския интерфейс с име и потърсете
agentdesktop.
-
Променете
nowДейности и 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('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: 'incident', заявка: '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 създайте нов запис на инцидента.
Търсене на бизнес правила в навигатора за филтри

Натиснете Нов.

Примерен код за справка:
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(field, value); user.query(); if (user.next()) return user.sys_id; else return null; }Примерна конфигурация на бизнес правилото

Активиране на повикване на клиент

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

Актуализирайте URL адреса на екрана с персонализираното CTI правило " cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone="

sysparm_cti_rule=name , където ' name' е името на функция , трябва да се извика за обработкаCTI , вместо да се използва скрипт по подразбиране.
Дефинирайте функцията в sys_script запис, маркиран с клиентски извикване.
Ако трябва Insert, актуализиране или изтриване на GlideRecords във функцията, извикайте отделна функция, която не може да се извиква от клиент, за да извършите актуализациите.
За да направите скрипт клиент-извикваем, трябва да поставите отметка в квадратчето за извикване на клиент във формуляра, който се показва, когато се покаже записът sys_script.
Квадратчето за отметка за извикване на клиент не се показва по подразбиране. За да видите, трябва да промените полетата, които се показват във формуляра, като използвате иконата на зъбно колело и механизма на кофата за киша.
Персонализиране # 2 - Добавяне на CAD променлива в таблицата с активности Webex Contact Center
Общ прегледТази статия описва подробно процеса за добавяне на допълнителна колона към таблицата ServiceNow - webexcc_activity, която се създава при инсталирането на Webex CC за ServiceNow CRM конектора.
По подразбиране таблицата съдържа готови системни полета и стойности.
Можете потенциално да създадете по-специфични за бизнеса променливи (CAD променливи) в дизайнера на WebexCC Flow и да добавите тези CAD променливи в регистъра на активността на повикванията ServiceNowPOST и да запазите това в данните на таблицата за активност на повикванияPOST.
-
Това е само справочна документация - и показва как да направите това за примерна CAD променлива, наречена Customer Name, която съхранява името на клиента в IVR и го публикува в ServiceNow.
-
Разработчиците на Partner+customer ServiceNow ще конфигурират и управляват тази конфигурация, тъй като тя е персонализиране на съществуващия конектор.
-
Cisco ще предостави само техниките за персонализиране и разширяване на конектора.
-
Към тази статия екипът Cisco е валидирал поддръжката за добавяне на CAD променлива към дневника на активността и таблицата на активностите, използвайки техниката, описана по-долу.
Редактирайте таблицата във версията за разработчици на ServiceNow.

Отидете в .



Изберете Таблица за активност на WebexCC.

Например CustomerName.


Изберете Оформление на списък за WebexCC Activity.

Тази стъпка не е задължителна, ако използвате 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 = нов GlideRecordSecure("sys_user"); suser.addQuery("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(действащ низ),null,2); inc.comments =jsonPretty; inc.update(); } } } връщане sys_id; }, тип: 'propUtils2' });
Редактиране на страницата на потребителския интерфейс с ново име на скрипт
Създаване на CAD променлива в дизайнера на поток
Добавете CAD променливата към оформлението на работния плот
Демонстрационни екранни снимки
Вижте новодобавената CAD променлива в таблицата WebexCC Activity.












































