Предварителни изисквания

В момента тази функция е приложима само за агенти.

Преди да интегрирате Контактния център на Webex с конзолата serviceNow CRM, гарантирайте, че имате следното:

Следвайте един от двата метода по-долу:

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

Ако притежавате екземпляр с корпоративен лиценз, следвайте указанията за екземпляри с корпоративен лиценз.

Не препоръчваме да смесвате лицензираното от предприятието приложение с екземпляри на 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, от полето Навигатор на филтъра в горния ляв ъгъл на прозореца се придвижете до Комплекти за актуализиране на системата > Комплекти за актуализиране, за да се commit.

3

Щракнете върху набора за импортиране на актуализация от XML връзка.

4

Щракнете върху Избор на файл, изберете XML файла за актуализиране на системата и след това щракнете върху Качване.

Наборът от актуализации се появява в списъка "Извлечени набори от актуализации" и е в зареден състояние .
5

От списъка Извлечени набори за актуализиране щракнете върху името на файла Актуализиране задаване на име на файл (връзка), за да отворите набора за актуализиране.

6

В горната дясна част на прозореца щракнете върху Настройка за визуализация на актуализацията, за да проверите набора от актуализации за проблеми.

7

Щракнете върху Затвори в диалоговия прозорец \„Актуализиране на задаване на визуализация\“, след като визуализацията завърши.

8

Щракнете върху Къмит Ъпдейт Набор.

9

Щракнете върху Затвори в диалоговия прозорец Задаване на актуализиране и извършване на набора за актуализиране завърши.

1

В полето Навигатор на филтъра в горния ляв ъгъл на прозореца въведете sys_properties.списък и натиснете Enter.

2

На страницата Свойства на системата сортирайте свойствата по актуализирана дата. Гарантирайте, че можете да видите следните свойства на Контактния център на Webex:

3

Щракнете, agentdesktop_url за да отворите страницата "Свойство на системата". agentdesktop_url

4

В полето Стойност въведете URL адреса за работния плот на Webex Contact Center според региона, в който работи.

5

Щракнете върху Актуализиране, за да запишете промените.

6

(По избор) За да промените името на таблицата Дейност, редактирайте свойствата на webexccactivitytable според изискванията.

На страницата Свойства на системата щракнете върху webexccactivitytable.

Променете полето Стойност , както е необходимо.

7

(По избор) Добавете потребителски групи по следните начини:

  1. В полето Навигатор на филтъра в горния ляв ъгъл на прозореца се придвижете до Групи под Системна защита.

  2. Създайте нова потребителска група или използвайте съществуваща.

  3. Щракнете върху Редактиране.

  4. Потърсете sn_openframe_user под Колекция и го преместете във вашата потребителска група.

  5. Щракнете върху Запиши.

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

1

От полето Филтър навигатор навигирайте до OpenFrame > конфигурации.

2

Щракнете върху Създай.

3

Въведете следните свойства за URL адреса:

  • Име: Работен плот на контактен център Webex

  • Заглавие: Webex Contact Center

  • Ширина: 550 (препоръчва се)

  • Височина: 600 (препоръчва се)

4

Вдясно от полето URL адрес щракнете върху бутона Заключване и добавете agentdesktop.do като 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 с работен плот на агента на Webex Contact Center, интегриран с ServiceNow.

Следващите раздели описват стъпките за инсталиране на конектора на ServiceNow за лицензирани корпоративни екземпляри.

1

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

2

От областта "Моят екземпляр" на менюто "Акаунт " щракнете върху "Започни изграждането".

3

В екземпляра на вашия разработчик, от полето Навигатор на филтъра в горния ляв ъгъл на прозореца се придвижете до Добавки.

4

Потърсете приставката Openframe, която има заглавието Openframe. Може да се наложи да превъртите списъка.

5

Щракнете върху Инсталиране , за да инсталирате приставката Openframe.

6

В диалоговия прозорец Активиране на плъгин щракнете върху Активиране.

7

Когато активирането на добавката завърши, щракнете върху Затвори и презареди формуляра в диалоговия прозорец Активиране на добавката .

8

За да проверите активирането на плъгина, от полето Филтър навигатор в горната лява част на прозореца навигирайте до OpenFrame.

9

Щракнете върху Конфигурации и се гарантира, че приставката OpenFrame се появява в списъка с конфигурации на OpenFrame.

1

В полето Филтър навигатор в горната лява част на прозореца въведете .listsys_properties.

2

На страницата Свойства на системата сортирайте свойствата по актуализирана дата. Гарантирайте, че можете да видите следните свойства на Контактния център на Webex:

3

Щракнете, agentdesktop_url за да отворите страницата "Свойство на системата". agentdesktop_url

4

В полето Стойност въведете URL адреса за работния плот на Webex Contact Center според региона, в който работи.

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 > конфигурации.

2

Щракнете върху Създай.

3

Въведете следните свойства за URL адреса:

  • Име: Работен плот на контактен център Webex

  • Заглавие: Webex Contact Center

  • Ширина: 550 (препоръчва се)

  • Височина: 600 (препоръчва се)

4

Вдясно от полето URL адрес щракнете върху бутона Заключване и добавете x_caci_webexcc_agentdesktop.do като URL адрес. (Направете тази стъпка, за да посочите конфигурацията към страницата на ПИ)

5

(По избор) Изберете групата(ите) потребители/агенти, за да зададете конфигурацията.

6

Щракнете върху \„Изпрати\“. URL адресът се появява като връзка.

7

От полето Навигатор на филтъра се придвижете до Работна област за операции със услуги.

Начална страница на ServiceNow с работен плот на агента на Webex Contact Center, интегриран с ServiceNow.

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

От полето Навигатор на филтъра се придвижете до Работна област за операции със услуги.

Начална страница на ServiceNow с работен плот на агента на Webex Contact Center, интегриран с ServiceNow.

1

От полето Навигатор на филтъра се придвижете до Инциденти > Отваряне на инцидент.

2

Щракнете с десния бутон върху полето на повикващия и щракнете върху Конфигуриране на речник.

3

Добавете атрибути, разделени със Запетая “ref_contributions=show_phone,.

Вече можете да започнете да използвате работния плот на Webex Contact Center в рамките на конзолата на ServiceNow.

4

От полето Навигатор на филтъра се придвижете до Работна област за операции със услуги.

Начална страница на ServiceNow с работен плот на агента на Webex Contact Center, интегриран с ServiceNow.

В момента не поддържаме влизане в Agent Desktop с помощта на опцията Desktop (WebRTC).

Работен плот на агент в конзолата на ServiceNow

Преди да осъществите outdial повиквания, гарантирайте, че правите следното:

  • Създайте изходната входна точка и настройте стратегия за изходяща входна точка.

  • Разрешаване на outdial ANI за профила на агент.

  • Задайте изходящата ANI на съпоставяне на Номер към входна точка на набиране.

За повече информация вижте главата Обезпечаване на Ръководството за настройка и администриране на Cisco Webex Contact Center.

От полето Навигатор на филтъра се придвижете до Работна област за операции със услуги.

Начална страница на ServiceNow с работен плот на агента на Webex Contact Center, интегриран с ServiceNow.

За информация как да използвате настолен компютър вижте раздела Агент в помощта на 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

Скриптът Включва промени
  1. Отидете в навигатора на филтъра и потърсете включително скрипта.

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

  2. Филтрирайте Име и потърсете propUtils.

  3. Променете метода 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); },

Промяна на метода на страниците на ПИ
  1. Отидете в навигатора на филтъра и потърсете потребителска страница.

    Изберете страници на потребителски интерфейс под системен потребителски интерфейс.

  2. Филтрирайте Име и потърсете agentdesktop.

  3. Променете функцията 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

  1. Редактирайте таблицата във версията за разработчици на ServiceNow.

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

    Изберете Webex Contact Center

    или

  3. Изберете таблицата с дейности в WebexCC IMP

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

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

  1. Редактирайте таблицата с регистрационни файлове на телефона.

  2. Добавете нова колона, например 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

Спешен инцидент

Въздействие на инцидент

Актуализиране на скрипта „Обслужване сега“

Актуализации на скрипта включват

  1. Отидете в навигатора на филтъра и потърсете скрипта включва

    Изберете опцията Скриптът включва под Системен потребителски интерфейс.

  2. Филтрирайте Името с propUtils.

  3. Променете метода 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; },

Промяна на метода на страниците на ПИ
  1. Отидете в навигатора на филтъра и потърсете потребителски страници.

    Изберете опцията Потребителски страници под Системен потребителски интерфейс.

  2. Филтрирайте страниците на потребителския интерфейс с име и потърсете agentdesktop.

  3. Променете функцията 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

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

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

Отваряне на таблицата с регистрационен файл на телефона

Добавяне на нова колона – InteractionsNumber

Добавяне на нова колона – IncidentNumber

Карта на трансформацията на дейности в WebexCC

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

Щракнете върху WebexCC Activity TransformMap

Добавяне на нов – за съпоставяне на номера за взаимодействие

Добавяне на нов – за съпоставяне на номер на инцидент

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

Промените в скрипта включват

  1. Отидете в навигатора на филтъра и потърсете „скриптът включва“.

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

  2. Филтрирайте Името с propUtils.

  3. Променете метода 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; },

Промени в метода на страниците на ПИ

  1. Отидете в навигатора на филтъра и потърсете потребителски страници

    Изберете опцията Потребителски страници под Системен потребителски интерфейс.

  2. Филтрирайте страниците на потребителския интерфейс с име и потърсете agentdesktop.

  3. Променете функцията сега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 създайте нов запис на инцидент.

  1. Търсене на бизнес правила за навигатора на филтъра

  2. Щракнете върху \„Нов\“.

    Примерен код за справка:

    функция 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; }

    Примерна конфигурация на бизнес правилото

  3. Разрешаване на клиента с възможност за набиране

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

  4. Актуализиране на 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 променлива към регистъра на дейностите и таблицата на дейностите, използвайки описаната по-долу техника.

Добавяне на колона към дейността на WebexCC
  1. Редактирайте таблицата във версията за разработчици на ServiceNow.

  2. Отидете в Studio > Webex Contact Center.

  3. Изберете таблицата Дейности в WebexCC .

  4. Например CustomerName.

  5. Изберете оформление на списък за дейност в 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.