Интегриране на Webex Contact Center с ServiceNow (версия 1 – Наследено)
Предварителни изисквания
В момента тази функция е приложима само за агенти.
Преди да интегрирате Контактния център на Webex с конзолата serviceNow CRM, гарантирайте, че имате следното:
-
Достъп до Контактен центърWebex.
-
Администраторски достъп до контролния център на https://admin.webex.com и портала за управление на Webex Contact Center. URL адресите за портала за управление са специфични за вашия регион.
-
Северна Америка: https://portal.wxcc-us1.cisco.com
-
Обединеното кралство: https://portal.wxcc-eu1.cisco.com
-
Сингапур: https://portal-v2.wxcc-sg1.cisco.com
-
-
Агент с достъп до Работния плот. URL адресът за работния плот е специфичен за вашия регион.
-
Северна Америка: https://desktop.wxcc-us1.cisco.com
-
Обединеното кралство: https://desktop.wxcc-eu1.cisco.com
-
Сингапур: https://desktop.wxcc-sg1.cisco.com
-
-
Агент достъп до следния домейн, който се добавя в списъка с разрешени правила за защита на съдържанието:
-
*.service-now.com
За повече информация как да дефинирате позволения списък вижте статията Настройки за защита за Webex Контактен център.
-
-
Акаунт на портала за разработчици на ServiceNow. За да създадете акаунт, отидете на портала за програмисти serviceNow на място https://developer.servicenow.com/dev.do и щракнете върху Регистрирай се и Започни изграждането.
-
Достъп до следните файлове на https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow:
-
Набор за актуализация на ServiceNow (XML)
-
Оформление на работния плот на контактния център serviceNow (JSON)
-
- Изданията на ServiceNow, които Webex Contact Center поддържа, са Ванкувър, Юта, Токия, Вашингтон и Xanadu. За повече информация вижте Интегриране на Webex Contact Center с ServiceNow.
Следвайте един от двата метода по-долу:
За екземпляри на разработчици препоръчваме да следвате стъпките в ръководството за екземпляри на разработчиците.
Ако притежавате екземпляр с корпоративен лиценз, следвайте указанията за екземпляри с корпоративен лиценз.
Не препоръчваме да смесвате лицензираното от предприятието приложение с екземпляри на sandbox на разработчиците.
Следващите раздели описват стъпките за инсталиране на конектора на ServiceNow за екземпляри на разработчици.
1 |
Влезте в акаунта си за портала за разработчици на ServiceNow и отворете конзолата за администриране . |
2 |
От областта "Моят екземпляр" на менюто "Акаунт " щракнете върху "Започни изграждането". |
3 |
В екземпляра на вашия разработчик, от полето Навигатор на филтъра в горния ляв ъгъл на прозореца се придвижете до Добавки. |
4 |
Потърсете приставката Openframe, която има заглавието Openframe. Може да се наложи да превъртите списъка. |
5 |
Щракнете върху Инсталиране , за да инсталирате приставката Openframe. |
6 |
В диалоговия прозорец Активиране на плъгин щракнете върху Активиране. |
7 |
Когато активирането на добавката завърши, щракнете върху Затвори и презареди формуляра в диалоговия прозорец Активиране на добавката . |
8 |
За да проверите активирането на плъгина, от полето Филтър навигатор в горната лява част на прозореца навигирайте до OpenFrame. |
9 |
Щракнете върху Конфигурации и се гарантира, че приставката OpenFrame се появява в списъка с конфигурации на OpenFrame. |
1 |
Изтеглете най-новия System Update Set XML файл, наличен в github repo в това местоположение: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow. Име на файл: webexcc-servicenow-update-setV(X).xml |
2 |
В екземпляра на ServiceNow, от полето Навигатор на филтъра в горния ляв ъгъл на прозореца се придвижете до . |
3 |
Щракнете върху набора за импортиране на актуализация от XML връзка. |
4 |
Щракнете върху Избор на файл, изберете XML файла за актуализиране на системата и след това щракнете върху Качване.
Наборът от актуализации се появява в списъка "Извлечени набори от актуализации" и е в зареден състояние .
|
5 |
От списъка Извлечени набори за актуализиране щракнете върху името на файла Актуализиране задаване на име на файл (връзка), за да отворите набора за актуализиране. |
6 |
В горната дясна част на прозореца щракнете върху Настройка за визуализация на актуализацията, за да проверите набора от актуализации за проблеми. |
7 |
Щракнете върху Затвори в диалоговия прозорец \„Актуализиране на задаване на визуализация\“, след като визуализацията завърши. |
8 |
Щракнете върху Къмит Ъпдейт Набор. |
9 |
Щракнете върху Затвори в диалоговия прозорец Задаване на актуализиране и извършване на набора за актуализиране завърши. |
1 |
В полето Навигатор на филтъра в горния ляв ъгъл на прозореца въведете |
2 |
На страницата Свойства на системата сортирайте свойствата по актуализирана дата. Гарантирайте, че можете да видите следните свойства на Контактния център на Webex: |
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. |
4 |
От навигационната лента на портала за управление изберете |
5 |
Щракнете върху Ново оформление и въведете подробностите за оформлението на работния плот. |
6 |
Качете файла Оформление на работния плот на ServiceNow JSON. |
7 |
Щракнете върху Запиши , за да запишете конфигурацията. Вече можете да стартирате работния плот на Контактния център на Webex в рамките на конзолата 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: |
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. |
4 |
От навигационната лента на портала за управление изберете |
5 |
Щракнете върху Ново оформление и въведете подробностите за оформлението на работния плот. |
6 |
Качете файла Оформление на работния плот на ServiceNow JSON. |
7 |
Щракнете върху Запиши , за да запишете конфигурацията. Вече можете да стартирате работния плот на Контактния център на Webex в рамките на конзолата ServiceNow. |
8 |
От полето Навигатор на филтъра се придвижете до . |
1 |
От полето Навигатор на филтъра се придвижете до Инциденти > Отваряне на инцидент. |
2 |
Щракнете с десния бутон върху полето на повикващия и щракнете върху Конфигуриране на речник. |
3 |
Добавете атрибути, разделени със Запетая Вече можете да започнете да използвате работния плот на Webex Contact Center в рамките на конзолата на ServiceNow. |
4 |
От полето Навигатор на филтъра се придвижете до . |
В момента не поддържаме влизане в Agent Desktop с помощта на опцията Desktop (WebRTC).
Работен плот на агент в конзолата на ServiceNow
Преди да осъществите outdial повиквания, гарантирайте, че правите следното:
-
Създайте изходната входна точка и настройте стратегия за изходяща входна точка.
-
Разрешаване на outdial ANI за профила на агент.
-
Задайте изходящата ANI на съпоставяне на Номер към входна точка на набиране.
За повече информация вижте главата Обезпечаване на Ръководството за настройка и администриране на Cisco Webex Contact Center.
От полето Навигатор на филтъра се придвижете до .
За информация как да използвате настолен компютър вижте раздела Агент в помощта на Webex Contact Center.
Общ преглед
Тази статия обхваща няколко начина за персонализиране на вашите бизнес правила за конектора ServiceNow CRM. Той описва как можете да персонализирате случаите на използване въз основа на бизнес правила, които са специфични за ServiceNow.
Клиентът трябва самостоятелно да управлява тези случаи на използване в ServiceNow. Конфигурацията е специфична за ServiceNow, а не за софтуера или експертния опит на Webex Contact Center.
Това е справочна документация, която подпомага промяната на бизнес правилата. Разработчиците на ServiceNow ще създават и управляват бизнес правилата и ще предоставят поддръжка.
Cisco предоставя само примерна документация.
Следващите раздели предоставят подробности за това как да настроите, разрешите и управлявате изпълним модул „Действия“ за разработчици и корпоративни екземпляри.
Commit the Update Set for Actions Widget
За лицензирани корпоративни екземпляри инсталирайте най-новото приложение Webex Contact Center от магазина ServiceNow.
За да настроите притурката „Действия“ за екземплярите на разработчиците, изтеглете най-новия System Update Set XML файл, наличен в github repo в това местоположение: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow/ActionsWidget. Името на файла е webexcc-servicenow-update-setv7-1-ActionsWidget.xml. За да извършите актуализацията, зададена за притурката „Действия“, вижте стъпки 2 до 9 в Извършване на актуализационния набор.
Активиране на изпълним модул „Действия“
Използвайте свойството isWidgetDisplayEnabled , за да активирате притурката „Действия“. Не трябва да променяте стойността на това свойство в раздела без глави на персонализираното оформление на работния плот. Свойството винаги е зададено на „невярно“ в секцията без глави на персонализираното оформление на работния плот. Трябва да актуализирате стойността на свойството само в раздела на панела на персонализираното оформление на работния плот.
След като разрешите притурката „Действия“ в персонализираното оформление на работния плот, можете да извършвате следните действия:
- Управление на записи на дейности – щракнете върху Преглед/редактиране на запис на дейност , за да видите списъка със записи на дейности, свързани с повикващия.
- Асоцииране на CRM обекти – щракнете върху Свързване със записи на дейности , за да добавите CRM обекти, като тип на повикването (входящи или изходящи), обект на повикване, бележки за повикването и т.н., към записа на дейност.
- Управление на инциденти – щракнете върху Създаване на инцидент. Създава се нов инцидент с предварително попълнени данни за повикващия. Можете да направите необходимите актуализации на инцидента. Можете да изберете да промените типа на записа от инцидент на случай, модул за HR и т.н. въз основа на вашите изисквания. За да промените типа запис, променете стойността на свойството typeOfRecord в конфигурацията на притурката „Действия“. Например:
{ "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
Скриптът Включва промени-
Отидете в навигатора на филтъра и потърсете
включително скрипта
.Изберете Скриптът включва под Системен потребителски интерфейс.
-
Филтрирайте Име и потърсете
propUtils
. -
Променете метода
UserGetSysId
в скрипта.Курент:
UserGetSysId: function () { varopened_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: функция () { var opened_for; //Свързани със инцидента промени var sysidlist = {}; var потребител = new GlideRecordSecure (")sys_user"); user.addQuery(this.getParameter('field'), this.getParameter('value')); user.query(); if(user.next()) { opened_for=потребител.sys_id;//връщане на потребител.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; инк.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= „phone“; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; връщане JSON.stringify(sysidlist); },
-
Отидете в навигатора на филтъра и потърсете
потребителска страница
.Изберете страници на потребителски интерфейс под системен потребителски интерфейс.
-
Филтрирайте Име и потърсете
agentdesktop
. -
Променете функцията
screenpop
в клиентски скрипт.Текуща функция:
// 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: „взаимодействие“, заявка: \„sys_id=\“+sysid });
Примерен код за инцидента:
// screen pop function screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); // For Incident-related change var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: \„инцидент\“, заявка: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: \„инцидент\“, заявка: '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, както и да го запазите в таблицата с данни за активност след повикването.
Това е само справочна документация – и показва как да направите това за примерна CAD променлива, наречена Име на клиент, която съхранява името на клиента в IVR и го публикува в ServiceNow.
Очаква се, че разработчиците на ServiceNow партньор+клиент ще конфигурират и управляват тази конфигурация, тъй като тя представлява персонализиране към съществуващия конектор.
Cisco предоставя само техники за персонализиране и разширяване на конектора.
От тази статия екипът на Cisco е валидирал поддръжката за добавяне на CAD променлива към регистрационния файл за дейността и таблицата за дейности, използвайки описаната по-долу техника:
Добавяне на колона към дейността на WebexCC IMP
-
Редактирайте таблицата във версията за разработчици на ServiceNow.
-
Отидете в навигатора на филтъра и потърсете студио.
Изберете
Webex Contact Center
или
-
Изберете таблицата с дейности в
WebexCC IMP
-
Добавете нова колона, например
CustomerName
Добавяне на колона към регистрационния файл на телефона
-
Редактирайте таблицата с регистрационни файлове на телефона.
-
Добавете нова колона, например
CustomerName
.
Карта на трансформацията на дейности в WebexCC
Добавете нова колона, например съпоставяне на поле CustomerName
.
Персонализиране на колони в списъка
Както препоръчва услугата сега, променете действието „Избор“ от създаване на „Игнориране“.
Конфигуриране на списък с телефонни регистрационни файлове
Към включването на скрипт
Добавете само една линия webexcc.u_customername=actInfo.CustomerName
към propUtils.
Примерен скрипт
Вижте линията: webexcc.u_customername=actInfo.CustomerName; с поддържан коментар.
var propUtils = Class.create(); propUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp: функция () { 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'); връщане JSON.stringify(webexccprop); }, UserGetSysId : функция () { varopened_for; var user = new GlideRecord ("sys_user"); user.addQuery(this.getParameter('field'),this.getParameter('value')); user.query(); if (user.next()) opened_for=user.sys_id;//return user.sys_id; // else // return null; var grInt = new GlideRecord('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for= opened_for; var sysid=grInt.insert(); return sysid; }, setWebexcctable: функция () { 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.dnis; webexcc.dnis =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =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Сузер.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next()) { var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); inc.comments =jsonPretty; inc.update(); } } } return sys_id; }, тип: „propUtils“ });
Създаване на CAD променлива във Flow Designer
Добавете CAD променливата към оформлението на работния плот
Пример
"CadName1:SnowField1,CadName2:SnowField2" CadName1 е CustomerName SnowField1 се използва също и като CustomerName, който е част от пробния scirpt showen над "actInfo.CustomerName".
Демонстрационни екранни снимки
Вижте новодобавената CAD променлива в таблицата с дейности на WebexCC.
Създаване на CAD променлива за Flow Designer
Спешен инцидентВъздействие на инцидент
Актуализиране на скрипта „Обслужване сега“
Актуализации на скрипта включват
-
Отидете в навигатора на филтъра и потърсете
скрипта включва
Изберете опцията Скриптът включва под Системен потребителски интерфейс.
-
Филтрирайте Името с
propUtils
. -
Променете метода
UserGetSysId
в полето Скрипт .Текущ скрипт:
UserGetSysId: function () { varopened_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: функция () { var opened_for; var sysidlist = {}; var потребител = new GlideRecordSecure (")sys_user"); user.addQuery(this.getParameter('field'), this.getParameter('value')); user.query(); if(user.next()) { opened_for=потребител.sys_id;//връщане на потребител.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; инк.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 = new GlideRecordSecure('interaction'); grInt.initialize(); grInt.assigned_to= gs.getUserID (); grInt.type= „phone“; grInt.opened_for= opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; връщане JSON.stringify(sysidlist);//sysid; },
-
Отидете в навигатора на филтъра и потърсете
потребителски страници
.Изберете опцията Потребителски страници под Системен потребителски интерфейс.
-
Филтрирайте страниците на потребителския интерфейс с име и потърсете
agentdesktop
. -
Променете функцията
screenpop
в полето за скрипт.Текуща функция:
// 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: „взаимодействие“, заявка: \„sys_id=\“+sysid }); }
Примерен код за инцидента:
// screen pop function screenpop(callerani,callSessionInfo) { var Impact=3; if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined) { IncUrgency=callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.callAssociatedData.Urgency.value; } if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax('propUtils'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.addParam('IncUrgency', IncUrgency); gaout.addParam('Impact', Impact); gaout.getXMLWait(); // var sysid = gaout.getAnswer(); var sysObj = JSON.parse(gaout.getAnswer()); if(sysObj.incsysid){ openFrameAPI.openServiceNowForm({ entity: \„инцидент\“, заявка: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: \„инцидент\“, заявка: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem ("screenpopinteraction",JSON.stringify(sysObj)); }
Ако информацията за повикващия съществува в CRM и няма нов или нетекущ инцидент, приложението отваря нов инцидент
Промяна на кода в ServiceNow
Добавяне на нови колони към таблицата Дейности на WebexCC IMP
Отворете таблицата с дейности на WebexCC IMPДобавяне на нова колона – InteractionsNumber Добавяне на нова колона – IncidentNumber
Щракнете върху Актуализиране.
Добавяне на нови колони към таблицата Регистър на телефона
Отваряне на таблицата с регистрационен файл на телефона
Карта на трансформацията на дейности в WebexCC
Отваряне на картата на трансформацията
от навигатора на филтъра
Щракнете върху WebexCC Activity TransformMap
Щракнете върху Актуализиране.
Промените в скрипта включват
-
Отидете в навигатора на филтъра и потърсете „скриптът включва“.
Изберете Скриптът включва под Системен потребителски интерфейс.
-
Филтрирайте Името с
propUtils
. -
Променете метода
setWebexcctable
.Нов примерен код за инцидент:
setWebexcctable: функция () { var sys_id=0; var actInfo = JSON.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //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=""; изтриване на 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 ); int.query(); if (int.next()) { intenum=int.number; // int.setValue('state','Closed Complete'); int.work_notes= 'Update state to closed.'; inte.update(); } } if( incsysid!= null && incsysid != undefined){ var inci = new GlideRecordSecure('incident'); inci.addQuery('sys_id', incsysid ); inci.query(); if (inci.next()) { incnum=inci.number; var jsonPretty = JSON.stringify(actInfo,null,2); //JSON.stringify(JSON.parse(actInfoString),null,2); inci.comments =jsonPretty; inci.update(); } }else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery ("phone", this.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('incident'); inc.addQuery('caller_idСузер.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; },
Промени в метода на страниците на ПИ
-
Отидете в навигатора на филтъра и потърсете
потребителски страници
Изберете опцията Потребителски страници под Системен потребителски интерфейс.
-
Филтрирайте страниците на потребителския интерфейс с
име
и потърсете agentdesktop. -
Променете функцията
сегаActivities and screenpop
в скрипта.Текуща функция:
функция 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: \„инцидент\“, заявка: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openFrameAPI.openServiceNowForm({ entity: \„инцидент\“, заявка: 'sys_id=-1', 'interaction_sys_id': sysObj.sysid }); } window.localStorage.setItem ("screenpopinteraction",JSON.stringify(sysObj)); }
Резултати след актуализацията
Следните персонализации се отнасят за версии 1.0.5 и по-нови. За персонализациите за по-новите версии 1.0.7 и по-нови, следвайте стъпките по-горе.
Персонализиране № 1 – Добавете персонализирани бизнес правила за случаите на използване на потоци от повиквания
Създаване на нов запис за инцидент за всяко повикванеЗа всяко ново повикване в WebexCC CRM конектора в ServiceNow създайте нов запис на инцидент.
Търсене на бизнес правила за навигатора на филтъра
Щракнете върху \„Нов\“.
Примерен код за справка:
функция 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; ако (преглед == null || view == '') view = "itil"; var userID = null; if (eid != null && eid != '') { userID = UserGetSysId("employee_number",eid); } ако (userID == null && name != null && name != '') { userID = UserGetSysId ("name", име); } ако (userID == null && phone != null && phone != '') { userID = UserGetSysId ("phone", phone); } ако (userID != null) { if (fQuery.length > 0) fQuery += "^"; fQuery += "caller_id=" + userID; } ако (url == null) { url = "incident.do?sys_id=- 1"; if (fQuery != null) url += "&sysparm_query=" + fQuery; } отговор = url; връщане url; } функция UserGetSysId(поле, стойност) { var потребител = new GlideRecord("sys_user"); user.addQuery(поле, стойност); user.query(); ако (user.next()) връща потребителя.sys_id; ако не се върне null; }
Примерна конфигурация на бизнес правилото
Разрешаване на клиента с възможност за набиране
Обработката за интегриране на компютърна телефония (CTI) за инцидент е маркирана като Вярно.
Актуализиране на URL адреса на изскачащия прозорец с персонализираното правило за CTI \„cti.do?sysparm_cti_rule=createIncident&sysparm_caller_phone=\“
sysparm_cti_rule=name , където \„name\“ е името на функция , трябва да се извиква за обработка на CTI , вместо да се използва скрипта по подразбиране.
Дефинирайте функцията в sys_script маркиран запис, клиент с възможност за повикване.
Ако трябва да вмъкнете, актуализирате или изтриете GlideRecord(s) във функцията, обадете се на отделна функция, която не може да се обади на клиент, за да извършите актуализациите.
За да направите скрипта клиент-повикване, трябва да поставите отметка в квадратчето за отметка \„клиент-повикване\“ на формуляра, който се показва, когато sys_script се показва записът.
Квадратчето за отметка, което може да се обажда от клиента, не се показва по подразбиране. За да прегледате, трябва да промените полетата, които се показват на формуляра, като използвате иконата на зъбно колело и механизма на шлюза.
Персонализиране № 2 – Добавяне на CAD променлива в таблицата с дейности на Webex Contact Center
Общ прегледТази статия описва процеса на добавяне на допълнителна колона към таблицата ServiceNow – webexcc_activity която се създава при инсталирането на Webex CC за ServiceNow CRM конектора.
По подразбиране таблицата съдържа полета и стойности извън кутията.
Можете потенциално да създавате повече специфични за бизнеса променливи (CAD променливи) в дизайнера на WebexCC Flow и да добавите тези CAD променливи в регистрационния файл за активност след повикването на ServiceNow и да го запазите в данните в таблицата за активност след повикването .
-
Това е само справочна документация – и показва как да направите това за примерна CAD променлива, наречена Име на клиент, която съхранява името на клиента в IVR и го публикува в ServiceNow.
-
Разработчиците на ServiceNow партньор+клиент ще конфигурират и управляват тази конфигурация, тъй като тя представлява персонализиране към съществуващия конектор.
-
Cisco ще предоставя само техниките за персонализиране и разширяване на конектора.
-
От тази статия екипът на Cisco е валидирал поддръжката за добавяне на CAD променлива към регистъра на дейностите и таблицата на дейностите, използвайки описаната по-долу техника.
Редактирайте таблицата във версията за разработчици на ServiceNow.
Отидете в
.Изберете таблицата Дейности в WebexCC .
Например CustomerName.
Изберете оформление на списък за дейност в WebexCC.
Тази стъпка не се изисква, ако използвате XML на набора за актуализиране – изисква се само един ред да се добави „webexcc.u_customername=actInfo.CustomerName“ към propUtils.
Примерен скрипт
Вижте линията с:webexcc.u_customername=actInfo.CustomerName; с поддържан коментар.
var propUtils2 = Class.create(); propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{ getWebexccProp: функция () { 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'); връщане JSON.stringify(webexccprop); }, setWebexcctable : функция () { 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.dnis; webexcc.dnis =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =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Сузер.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(); } } } return sys_id; }, тип: 'propUtils2' });
Редактиране на потребителската страница с ново име на скриптСъздаване на CAD променлива във Flow Designer
Добавете CAD променливата към оформлението на работния плот
Демонстрационни екранни снимки
Вижте новодобавената CAD променлива в таблицата с дейности на WebexCC.