Интегрирайте контактния център на Webex с ServiceNow (версия 1 - наследство)

list-menuОбратна връзка?
Когато интегрирате Webex Contact Center с конзолата ServiceNow CRM, можете да стартирате Webex Contact Center Desktop от рамките на ServiceNow.

Предпоставки

Минималният поддържан размер за софтуерния интерфейс е 500px. Всяка стойност по-ниска от 500px може да доведе до проблеми с дисплея или функционалността.

Преди да интегрирате Webex Contact Center с конзолата ServiceNow CRM, уверете се, че имате следното:

  • Достъп до Контактния център на Webex.

  • Администраторски достъп до Контролния център на адрес https://admin.webex.com и Контактния център на Webex. Management Portal URL адресите за тях Management Portal са специфични за вашия регион.

  • Агент с достъп до работния плот. URL адресът на работния плот е специфичен за вашия регион.

  • Достъп на агента до следния домейн, добавен в списъка с разрешени правила за сигурност на съдържанието:

    • *.услуга-сега.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 поддържа, са Ванкувър, Юта, Токя, Вашингтон и Ксанаду. За повече информация вижте Интеграция на контактния център на Webex с ServiceN ow.

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

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

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

Цифровите канали като чат и имейл не се поддържат с CRM конектори. Това важи за всички CRM интеграции, използващи тези конектори. Моля, планирайте съответно работните потоци за внедряване и ангажиране на клиентите.

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

1

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

2

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

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

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

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

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

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

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

6

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

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

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

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

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

9

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

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

Изтеглете най-новия XML файл на комплекта за актуализация на системата, наличен в репо на github на това място: https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Име на файла: WebExcc-ServiceNow-Актуализация-SetV (X) .xml

Github repo screenshot for Webex Contact Center CRM integrations – ServiceNow.

2

В екземпляра на ServiceNow от полето На вигатор за филтър в горния ляв ъгъл на прозореца отидете на Комплекти за актуализации на системата > Актуализиране на набори за извършване на задълж ения.

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘Update set’ and ‘Update Sets to Commit’ option highlighted.

3

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

ServiceNow developer instance on the Update Sets results page with ‘Related Links: Import Update Set from XML’ highlighted.

4

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

ServiceNow developer instance import XML screen.

ServiceNow developer portal retrieved update sets list.

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

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

ServiceNow developer portal retrieved update sets list for an updated file.

6

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

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Preview Update Set’ button highlighted.

7

Щракнете върху Зат вори в диалоговия прозорец Update Set Preview, след като визуализацията приключи.

ServiceNow developer portal with the update set preview success notification.

8

Щракнете върху Завети набор от актуализа ции.

ServiceNow developer portal retrieved update sets list for an updated file with the ‘Commit Update Set’ button highlighted.

9

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

ServiceNow developer portal with the update set commit success notification.

1

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

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

На страницата С войства на системата сортирайте свойствата по актуализирана дата. Уверете се, че можете да видите следните свойства на Webex Contact Center:

ServiceNow developer instance system properties page.

3

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

4

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

ServiceNow developer instance system property details for agentdesktop_url.

5

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

6

(Незадължително) За да промените името на таблицата Дейност, редактирайте свойствата на webexccactivity table според изискванията.

На страницата Свой ства на системата кликнете върху webex ccactivitytable.

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

ServiceNow developer instance system property details for webexactivitytable.

7

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

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

    ServiceNow developer instance filter navigator search for ‘Groups’ under ‘System Security’
  2. Създайте нова потребителска група или използвайте съществуваща.

    ServiceNow developer instance group page for WebexccAgentsGroup.

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

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

    ServiceNow developer instance group edit members page showing a search for a collection.

    ServiceNow developer instance group edit members page showing a collection moved into the roles list.

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

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

    ServiceNow developer instance group page with user roles assigned.

1

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

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

Щракнете върху Н ово.

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

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

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

  • Заглавие: Контакт център Webex

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

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

4

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

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

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

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

Щракнете върху Изпра щане. URL адресът се показва като връзка.

ServiceNow developer instance OpenFrame Configurations – New Record page showing the URL link that appears after submitting the user group selections.

7

Преди да се опитате да използвате телефона OpenFrame, уверете се, че сте качили персонализирания JSON файл за оформление на работния плот на ServiceNow в центъра за контакти на Webex. Management Portal За повече информация вижте Настройване на оформлението на работния плот на ServiceNow в контактния център на Webex.

1

Изтеглете оформлението на работния плот за ServiceNow от https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

Актуализирайте свойствата във файла Desktop Layout, ако е необходимо.

3

Отидете в Контактния център на Webex. Management Portal

4

От лентата за Management Portal навигация изберете Осигур яване > Оформление на работния пл от.

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

Щракнете върху Ново оформление и въведете подробностите за оформлението на работния плот.

6

Качете JSON файла ServiceNow Desktop Layout.

7

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

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

8

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

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

1

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

2

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

ServiceNow developer portal screenshot with ‘Start Building’ button highlighted.

3

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

ServiceNow developer instance showing a search for ‘plugins’ filter navigator.

4

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

ServiceNow developer instance on the Applications screen, showing the search and results for ‘OpenFrame.’

5

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

6

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

ServiceNow developer instance showing OpenFrame plugin popup with the ‘Activate’ button highlighted.

7

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

ServiceNow developer instance showing OpenFrame plugin activation loading.

ServiceNow developer instance showing OpenFrame plugin activation success window with the ‘Close & Reload Form’ button highlighted.

8

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

9

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

ServiceNow developer instance showing OpenFrame Configurations in the filter navigator search.

1

В полето Филтър навигатор в горния ляв ъгъл на прозореца въведете sys_properties.list.

ServiceNow developer instance showing a search in the filter navigator on the ‘All’ tab for ‘sys_properties.list’

2

На страницата С войства на системата сортирайте свойствата по актуализирана дата. Уверете се, че можете да видите следните свойства на Webex Contact Center:

ServiceNow developer instance system properties page results.

3

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

4

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

ServiceNow developer instance system property details page for agentdesktop_url.

5

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

6

(Незадължително) За да промените името на таблицата Дейност, редактирайте свойствата x_caci_webexcc.webexccactiv itytable според изискванията.

  1. На страницата Свой ства на системата кликнете върху x_caci_webexcc.we bexccactivitytable.

    ServiceNow developer instance system properties page results for x_caci_webexcc.webexccactivitytable.

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

    ServiceNow developer instance system property page for x_caci_webexcc.webexccactivitytable.

7

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

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

    ServiceNow developer instance filter navigator results for ‘Groups.’

    SeviceNow developer instance group page for webexccagentsgroup.

  2. Щракнете върху Реда ктиране и добавете следните роли:

    • sn_openframe_user

    • x_caci_webexcc.агент

    • agent_workspace_user

    • x_caci_webexcc. webexcc_imp_activity_user

    • x_caci_webexcc. webex_contact_center

    SeviceNow developer instance group page for webexccagentsgroup with rolls added.

1

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

ServiceNow developer instance filters navigator with ‘openframe’ in the search field and ‘Configurations’ under ‘OpenFrame’ highlighted in the results.

2

Щракнете върху Н ово.

ServiceNow developer instance OpenFrame Configurations page with ‘New’ highlighted.

3

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

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

  • Заглавие: Контакт център Webex

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

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

4

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

ServiceNow developer instance OpenFrame Configurations – New Record page with the lock icon highlighted.

5

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

ServiceNow developer instance OpenFrame Configurations – New Record user group selection.

6

Щракнете върху Изпра щане. URL адресът се показва като връзка.

ServiceNow developer instance OpenFrame Configurations – New Record with URL added.

7

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

8

(По избор) В списъка Потребителска група преместете потреб ителските групи, които имат достъп до работния плот на Webex Contact Center, от Налични към Из брани.

9

Преди да се опитате да използвате телефона OpenFrame, уверете се, че сте качили персонализирания JSON файл за оформление на работния плот на ServiceNow в центъра за контакти на Webex. Management Portal За повече информация вижте Настройване на оформлението на работния плот на ServiceNow в контактния център на Webex.

1

Изтеглете оформлението на работния плот за ServiceNow от https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

Github screen for Webex Contact Center CRM Integrations – Desktop Layouts – ServiceNow.

2

Актуализирайте свойствата във файла Desktop Layout, ако е необходимо.

3

Отидете в Контактния център на Webex. Management Portal

4

От лентата за Management Portal навигация изберете Осигур яване > Оформление на работния пл от.

Webex Contact Center Management Portal provisioning page with Desktop Layout highlighted in the left navigation.

5

Щракнете върху Ново оформление и въведете подробностите за оформлението на работния плот.

6

Качете JSON файла ServiceNow Desktop Layout.

7

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

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

8

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

1

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

2

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

ServiceNow developer instance Incidents window with the Configure Directory option highlighted.

3

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

ServiceNow developer instance call incident window for a Directory Entry.

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

4

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

  • Поддържаме влизане Agent Desktop само с WebRTC за конектори Salesforce (SFDC) и Microsoft Dynamics (MS Dynamics).
  • Понастоящем тази функция е приложима само за агенти.

Agent Desktopв конзолата ServiceNow

Преди да извършвате външни обаждания, уверете се, че правите следното:

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

  • Активирайте външния ANI за профила на агента.

  • Задайте външната ANI на картографиране от число до точка на влизане.

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

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

ServiceNow home page with Webex Contact Center Agent Desktop integrated with ServiceNow.

За информация как да използвате Desktop вижте раздела Аген т в помощта на Webex Contact Center.

Общ преглед

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

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

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

Cisco предоставя само примерна документация.

Следващите раздели предоставят подробности за това как да настроите, активирате и управлявате джаджа „Действия“ за екземпляри за разработчици и корпоративни екземпляри.

Изпълняване на приспособлението за актуализации за действия

За лицензираните корпоративни екземпляри инсталирайте най-новото приложение Webex Contact Center от магазина на Service Now.

За да настроите джаджа Действия за екземпляри на разработчиците, изтеглете най-новия 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 обекти като тип повикване (входящо или изходящо), обект на повикване, бележки за повиквания и т.н.
  • Управление на инциденти — щракнете върху Създаване на инцидент. Създава се нов инцидент с предварително попълнени подробности за обаждащия се. Можете да направите необходимите актуализации на инцидента. Можете да изберете да промените типа запис от инцидент до случай, HR модул и т.н. въз основа на вашите изисквания. За да промените типа запис, променете стойността на свойството TypeOfRecord в конфигурацията на джаджа Действия. Например:
    {
                  "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" : "Create Incident" 
                      },
                      "wrapper": {
                        "title": "SNOW Actions !",
                        "maximizeAreaName": "app-maximize-area"
                      }
                    }
                  ]
                }
  • Добавяне на бележки за повиквания на живо — можете да заснемете допълнителна информация за повикването в текстовата област и да завършите разговора. Можете да видите тези бележки, добавени като бележки за повиквания в записа на дейността.

Промяна на кода в ServiceNow

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

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

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

  3. Променете метода UserGetsySid в скрипта.

    Текущ:

    UserGetSysId : function () {
    var opened_for;
    var user = new GlideRecord("sys_user");
    user.addQuery(this.getParameter('field'),this.getParameter('value'));
    user.query();
    if (user.next())
    opened_for=user.sys_id;
    var grInt = new GlideRecord('interaction');
    grInt.initialize();
    grInt.assigned_to= gs.getUserID();
    grInt.type= 'phone';
    grInt.opened_for= opened_for;
    var sysid=grInt.insert();
    return sysid;
    },

    Нов примерен код за инцидента:

    UserGetSysId : function () {
                var opened_for;
    
            //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='Call Received From '+ 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;
                
                return JSON.stringify(sysidlist);
            },

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

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

  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: '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();
    
    // For Incident-related change
          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, както и да запазите това към данните на таблицата за активност след повикване.

Това е само референтна документация - и показва как да направите това за примерна CAD променлива, наречена Customer Name, която съхранява името на клиента в IVR и публикува това в ServiceNow.

Очаква се разработчиците на партньор+Customer ServiceNow да конфигурират и управляват тази конфигурация, тъй като тя е персонализиране към съществуващия конектор.

Cisco предоставя само техниките за персонализиране и разширяване на конектора.

От тази статия екипът на Cisco потвърди поддръжката за добавяне на CAD променлива към дневника на дейностите и таблицата с дейности, използвайки техниката, описана по-долу:

Добавяне на колона към WebExCC IMP активност

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

    ServiceNow developer instance WebexCC IMP activity table.

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

    ServiceNow developer instance filter navigator on the All tab with ‘studio’ entered in the filter.

    Изберете Контак тен център на Webex

    Studio app for ServiceNow with the Select Application window open.

    или

    Studio app for ServiceNow with the Select Application window open and ‘Select Store App to Customize’ selected.

    Studio app for ServiceNow with the ‘Select Store App to Customize’ window open and ‘Webex Contact Center’ selected.

    Studio app for ServiceNow with Webex Contact Center application file details.

  3. Изберете таблицата за активност на WebExCC IMP

    Studio app for ServiceNow WebexCC IMP Activity table.

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

    Studio app for ServiceNow WebexCC IMP Activity table new column example.

    Studio app for ServiceNow WebexCC IMP Activity table new column example with new column added.

Добавяне на колона към дневника на телефона

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

    ServiceNow developer instance search for a phone log table.

    ServiceNow developer instance phone log table.

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

    ServiceNow developer instance phone log table new column examples.

    ServiceNow developer instance phone log table new column example with new column added.

Карта за трансформиране на дейността на WebExCC

Studio app for ServiceNow WebexCC Activity Transform Map.

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

Studio app for ServiceNow WebexCC Activity Transform Map new column example for CustomerName field mapping.

Studio app for ServiceNow WebexCC Activity Transform Map new column example with CustomeName selected in the Target field.

Персонализиране на списъчни колони

Studio app for ServiceNow WebexCC Activity Transform Map with popup window to personalized list columns. Choice action option is highlighted in the Selected column.

Както препоръчва Service Now, променете действието Choice от създаване на игнориране.

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column, showing the dropdown to choose ‘ignore’ or ‘create.’

Studio app for ServiceNow WebexCC Activity Transform Map with the Choice action column and ‘ignore’ highlighted for the customer name source field.

Конфигурирайте списъка с телефонни дневници

Studio app for ServiceNow configuring phone log list with CustomerName highlighted in the Selected column.

Отидете на Включване на скрипта

Добавете само един ред webexcc. u_customername=Actinfo .CustomerName към PropuTils.

ServiceNow developer instance filter navigator search for ‘script includes.’

ServiceNow developer instance Script Includes page.

Примерен скрипт

Вижте реда: 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
//               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 : 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;
                 
                // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
                 
                sys_id=webexcc.insert();
 
                //Activities on Incident record;
                var actInfoString =this.getParameter('actInfo');
                var suser = new GlideRecordSecure("sys_user");
                    suser.addQuery("phone", this.getParameter('ani'));
                    suser.query();
                    if(suser.next()) {
                    var inc = new GlideRecordSecure('incident');
                            inc.addQuery('caller_id', suser.sys_id);
                            inc.orderByDesc('sys_created_on');
                            inc.query();
                                if (inc.next()) {
                                    var jsonPretty = JSON.stringify(JSON.parse(actInfoString),null,2); 
                                    inc.comments =jsonPretty;
                                inc.update();
     
                            }
                    }
            }  
            return sys_id;
       },
 
    type: 'propUtils'
});

Създайте CAD променлива в дизайнера на Flow

Webex Contact Center CAD variable flow designer with Add Flow Variable popup for CustomerName.

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

Пример

"CadName1:SnowField1,CadName2:SnowField2"
 CadName1 is CustomerName
 SnowField1 is also used as CustomerName which is part of sample scirpt showen above "actInfo.CustomerName".

Example source code for adding the CAD variable to the Desktop Layout.

Демо екранни снимки

Прегледайте новодобавената CAD променлива в таблицата с дейности на WebExCC.

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘Customer Name’ in the Cisco WebexCC popup.

ServiceNow example of the newly added CAD variable in the WebexCC Activity table, showing ‘CustomerName’ in the comments section under ‘Activity’ and ‘System Administrator.’

ServiceNow developer instance example of the newly added CAD variable in the WebexCC Activity table, showing the ‘CustomerName’ column.

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

Спешност на инцидента

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

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

Webex Contact Center flow designer create CAD variable screen showing the edit flow variable popup for an incident urgency flow variable.

Актуализация на скрипта Service Now

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

  1. Отидете на навигатора на филтъра и потърсете script includes

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

    ServiceNow developer instance filter navigator search for ‘script includes’

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

    ServiceNow developer instance Script Includes name filter by ‘propUtils’

  3. Променете метода UserGetsySid в полето Скрипт.

    ServiceNow developer instance Script Includes – propUtils details page.

    Текущ скрипт:

    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='Call Received From '+ 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;
                
                return JSON.stringify(sysidlist);//sysid;
            },

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

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

    ServiceNow developer instance filter navigator search for ‘Ui page’

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

    ServiceNow developer instance UI Pages name filter to search ‘agentdesktop’

  3. Променете функцията screenpop в полето за скрипт.

    ServiceNow developer instance UI Page – agentdesktop details page.

    Текуща функция:

    // screen pop
    function screenpop(callerani,callSessionInfo) {
    
    
    if(callerani===callSessionInfo.phoneNumber){
    callerani=stripPrefixes(callerani);
    }
    var gaout = new GlideAjax('propUtils');
    gaout.addParam('sysparm_name', 'UserGetSysId');
    gaout.addParam('field', 'phone');
    gaout.addParam('value', callerani);
    gaout.getXMLWait();
    
    
    var sysid = gaout.getAnswer();
      
    openFrameAPI.openServiceNowForm({
    entity: 'interaction',
    query: 'sys_id='+sysid
    });
    
    }

    Примерен код за инцидента:

    // screen pop
    function screenpop(callerani,callSessionInfo) {
       
        var Impact=3;
        if(callSessionInfo.callAssociatedData.Impact != null && callSessionInfo.callAssociatedData.Impact != undefined)
        {
            Impact=callSessionInfo.callAssociatedData.Impact.value;
        }
        var IncUrgency=3;
        if(callSessionInfo.callAssociatedData.Urgency != null && callSessionInfo.callAssociatedData.Urgency != undefined)
        {
            IncUrgency=callSessionInfo.callAssociatedData.Urgency.value;
        }
        if(callerani===callSessionInfo.phoneNumber){
            callerani=stripPrefixes(callerani);
        }
        
        var gaout = new GlideAjax('propUtils');
            gaout.addParam('sysparm_name', 'UserGetSysId');
            gaout.addParam('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: '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 example of an incident.

ServiceNow example of an interaction.

Променете кода на ServiceNow

Добавяне на нови колони към таблицата WebExCC IMP Activity

Отворете табли цата за дейности на WebExCC IMP

ServiceNow developer instance WebexCC Activity TransformMap.

ServiceNow developer instance WebexCC Activity TransformMap details page.

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

ServiceNow developer instance WebexCC Activity TransformMap new column, InteractionNumber.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘interactionnumber’ column added.

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

ServiceNow developer instance WebexCC Activity TransformMap details page showing adding a new ‘incidentnumber’ column.

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

ServiceNow developer instance WebexCC Activity TransformMap details page showing editing the max length for the IncidentNumber column.

ServiceNow developer instance WebexCC Activity TransformMap details page showing the new ‘incidentnumber’ column added.

Добавяне на нови колони към таблицата Телефонен днев ник

Отворете таблицата Дневник на телефона

ServiceNow developer instance Phone Log table.

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

ServiceNow developer instance Directory Entry – New Record page showing a new column for InteractionsNumber.

ServiceNow Developer instance Phone Log table with InteractionsNumber column added.

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

ServiceNow developer instance Directory Entry – New Record page showing a new column for IncidentNumber.

ServiceNow Developer instance Phone Log table with IncidentNumber column added.

Карта за трансформиране на дейността на WebExCC

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

ServiceNow developer instance filter navigator search for ‘transform map’

ServiceNow developer instance Table Transform Maps showing WebexCC Activity TransformMap in results.

Кликнете върху TransformMap на дейността на WebExCC

ServiceNow developer instance WebexCC Activity TransformMap.

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

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ entered into the ‘Target field’

ServiceNow developer instance WebexCC Activity TransformMap with ‘InteractionNumber’ added.

Добавяне на ново - за карта с номера на инцидента

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ entered into the ‘Target field’

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

ServiceNow developer instance WebexCC Activity TransformMap with ‘IncidentNumber’ added.

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

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

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

    ServiceNow developer instance filter navigator with search for ‘script includes’

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

    ServiceNow developer instance Script Includes with Name filter applied to search and  ‘propUtils’ entered into the search field.

  3. Променете метода SetWebExcctable.

    ServiceNow developer instance Script includes - propUtils page

    Нов примерен код за инцидент:

    setWebexcctable : function () {
                var sys_id=0;
                
                var actInfo = JSON.parse(this.getParameter('actInfo'));
                var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable'));
                webexcc.addQuery("u_callobject", actInfo.CallObject);
                webexcc.query();
                if(!webexcc.next()) {
                    
                    //Activities on Incident record;
                    //var actInfoString =this.getParameter('actInfo');
                    var incsysid=actInfo.incident_sys_id;
                    var interactionsysid=actInfo.interaction_sys_id;
                    var incnum="";
                    var intenum="";
                    delete actInfo['interaction_sys_id'];
                    delete actInfo['incident_sys_id'];
                    if( interactionsysid!= null && interactionsysid != undefined){
                        var inte = new GlideRecordSecure('interaction');
                        //inte.get('sys_id', interactionsysid );
                        
                        inte.addQuery('sys_id', interactionsysid );
                        inte.query();
                        if (inte.next()) {
                            intenum=inte.number;
                           // inte.setValue('state','Closed Complete');
                            inte.work_notes='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', 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();
    
                    
                                
                }    
                return sys_id;
           },

Промени в метода на потребителските страници

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

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

    ServiceNow developer instance filter navigator with search for ‘Ui page’

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

    ServiceNow developer instance UI Pages with Name filter applied to search.

  3. Променете функцията NowActivities и screenpop в скрипта.

    ServiceNow developer instance UI Page – agentdesktop.

    Текуща функция:

    function nowActivities(actInfo, ani) {
        
        var gaout = new GlideAjax('propUtils');
        gaout.addParam('sysparm_name', 'setWebexcctable');
        gaout.addParam('actInfo', JSON.stringify(actInfo));
        gaout.addParam('ani', stripPrefixes(ani));
        gaout.getXML(SetCCsysId);
    
    
    }

    Примерен код за инцидента:

    function nowActivities(actInfo, ani) {
        var sysObjstr = window.localStorage.getItem("screenpopinteraction");
        if(sysObjstr != null && sysObjstr != undefined)
        {
            var sysObjjson=JSON.parse(sysObjstr);
            actInfo.interaction_sys_id=sysObjjson.sysid;
            actInfo.incident_sys_id=sysObjjson.incsysid;
        }
        var gaout = new GlideAjax('propUtils');
        gaout.addParam('sysparm_name', 'setWebexcctable');
        gaout.addParam('actInfo', JSON.stringify(actInfo));
        gaout.addParam('ani', stripPrefixes(ani));
        gaout.getXML(SetCCsysId);
    
    
    }
    
    function screenpop(callerani,callSessionInfo) {
       
    
        if(callerani===callSessionInfo.phoneNumber){
            callerani=stripPrefixes(callerani);
        }
        
        var gaout = new GlideAjax('propUtils');
            gaout.addParam('sysparm_name', 'UserGetSysId');
            gaout.addParam('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',
            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));
            
       
    }
    
    

Резултати след актуализацията

ServiceNow developer instance Phone Logs page.

Следните персонализации се прилагат за версии 1.0.5 и по-ниски. За персонализациите за по-новите версии 1.0.7 и по-нови, следвайте стъпките по-горе.

Персонализиране # 1 - Добавяне на персонализирани бизнес правила за случаи на използване на потока на повиквания

Създаване на нов запис за инциденти за всяко обаждане

За всяко ново обаждане в WebExCC CRM конектора в ServiceNow създайте нов запис за инциденти.

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

    ServiceNow developer instance Business Rules page header.
  2. Щракнете върху Ново.

    ServiceNow developer instance Business Rule – New Record.

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

    function customcti() {
                var url = null;
                var name = sysparm_caller_name;
                eid = sysparm_caller_id;
                var phone = sysparm_caller_phone;
                var taskID = sysparm_task_id;
                var fQuery = sysparm_query;
                if (fQuery == null)
                   fQuery = '';
                var view = sysparm_view;
                if (view == null || view == '')
                    view = "itil";
     
                var userID = null;
                if (eid != null && eid != '') {
                    userID = UserGetSysId("employee_number",eid);
                }
                if (userID == null && name != null && name != '') {
                    userID = UserGetSysId("name", 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;
                return url;
    }
     
    function UserGetSysId(field, value) {
      var user = new GlideRecord("sys_user");
      user.addQuery(field, value);
      user.query();
      if (user.next())
         return user.sys_id;
      else
         return null;
    }

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

    ServiceNow developer instance Business Rule – CTI Processing For Incident page as a sample configuration of the business rule.
  3. Активиране на клиента за повикване

    ServiceNow developer instance Business Rules page with the Personalized List Columns popup screen showing ‘Client callable’ in the ‘Selected’ column.

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

    ServiceNow developer instance Business Rules page showing the Client callable column with options to select ‘true’ or ‘false’
  4. Актуализирайте URL адреса на екрана с персонализираното правило за CTI "cti.do? sysparm_cti_rule=Създаване на инцидент& = "sysparm_caller_phone

    System Property page for screenpop_url showing update to the custom CTI rule in the ‘Value’ field.
Пример

И sysparm_cti_ruleмето =, където „име“ е името на функция, трябва да се извиква за CTI обработка, вместо да се използва скрипта по подразбиране.

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

Ако трябва да вмъкнете, актуализирате или изтриете някой GlideRecord (и) във функцията, извикайте отделна функция, която не може да се извика от клиента, за да извършите актуализациите.

За да направите скрипт възможен за извикване на клиент, трябва да поставите отметка в квадратчето за извикване на клиента във формуляра, който се показва, когато записът се показва. sys_script

Квадратчето за отметка с възможност за извикване на клиента не се показва по подразбиране. За да видите, трябва да промените полетата, които се показват във формуляра, като използвате иконата на зъбното колело и механизма на кофата.

Референции

Персонализиране # 2 - Добавяне на CAD променлива в таблицата с дейности на Webex Contact Center

Общ преглед

Тази статия подробно описва процеса за добавяне на допълнителна колона към таблицата ServiceNow - webexcc_activity която се създава при инсталирането на Webex CC за ServiceNow CRM конектора.

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

Потенциално можете да създадете повече специфични за бизнеса променливи (CAD променливи) в дизайнера на WebExCC Flow и да добавите тези CAD променливи в дневника на дейността след повикване на ServiceNow и да запазите това към данните на таблицата за активност след повикване.

  • Това е само референтна документация - и показва как да направите това за примерна CAD променлива, наречена Customer Name, която съхранява името на клиента в IVR и публикува това в ServiceNow.

  • Разработчиците на партньор+клиентска ServiceNow ще конфигурират и управляват тази конфигурация, тъй като тя е персонализиране към съществуващия конектор.

  • Cisco ще предостави само техниките за персонализиране и разширяване на конектора.

  • От тази статия екипът на Cisco потвърди поддръжката за добавяне на CAD променлива към дневника на дейностите и таблицата с дейности, използвайки техниката, описана по-долу.

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

    ServiceNow developer instance Table – WebexCC Activity page.
  2. Отидете в Студио > Контак тен център на Webex.

    ServiceNow developer instance filter navigator search for ‘studio’  highlighting the cross launch search result for ‘App Engine Studio’

    App Engine Studio Select Application screen showing Webex Contact Center in the search results.

    App Engine Studio Webex Contact Center screen.

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

    App Engine Studio WebexCC Activity table.
  4. Например Име на клиента.

    App Engine Studio WebexCC Activity table column edit example for ‘CustomerName’ column.

    App Engine Studio WebexCC Activity table screen.

  5. Изберете Оформление на списъка за дей ността на WebExCC.

    App Engine Studio WebexCC Activity table list layout showing ‘CustomerName’ highlighted in the ‘Selected’ column.
Създаване на нов скрипт включва

Тази стъпка не е необходима, ако използвате XML за актуализиране на комплекта - Необходим е само един ред, за да бъде добавен "webexcc. u_customername=ActInfo.CustomerName "към PropuT ils.

ServiceNow developer instance filter navigator search for ‘script includes’

ServiceNow developer instance Script Includes page with ‘Application’ in the filter.

ServiceNow developer instance Script Includes – New Record page.

Примерен скрипт

Вижте реда с: webexcc. u_customername=ActInfo.CustomerName; с подкрепящ коментар.

var propUtils2 = Class.create();
propUtils2.prototype = Object.extendsObject(global.AbstractAjaxProcessor,{
         getWebexccProp : function () {
           var webexccprop = {};
           webexccprop.instanceurl= 'https://'+gs.getProperty('instance_name')+'.service-now.com/';
           webexccprop.url=gs.getProperty('x_caci_webexcc.agentdesktop_url');
           webexccprop.popupurl=gs.getProperty('x_caci_webexcc.screenpop_url');
           return  JSON.stringify(webexccprop);
      
        },
        setWebexcctable : function () {
            var sys_id=0;
             
            var actInfo = JSON.parse(this.getParameter('actInfo'));
            var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable'));
            webexcc.addQuery("callobject", actInfo.CallObject);
            webexcc.query();
            if(!webexcc.next()) {
                webexcc.ani = actInfo.ani;
                webexcc.dnis =actInfo.dnis; 
                webexcc.queuename =actInfo.queuename;
                webexcc.wrapuptime =actInfo.wrapuptime;
                webexcc.callduration =actInfo.CallDurationInSeconds;
                webexcc.ringingtime =actInfo.ringingtime;
                webexcc.activitydate =actInfo.ActivityDate;
                webexcc.callobject =actInfo.CallObject;
                webexcc.calltype =actInfo.CallType;
                webexcc.calldisposition=actInfo.CallDisposition;
 
               // This line is Added - to capture it in the Activity Log
               webexcc.u_customername=actInfo.CustomerName;
 
                sys_id=webexcc.insert();
  
                // Activities on Incident record;
                var actInfoString =this.getParameter('actInfo');
                var suser = new GlideRecordSecure("sys_user");
                    suser.addQuery("phone", this.getParameter('ani'));
                    suser.query();
                    if(suser.next()) {
                    var inc = new GlideRecordSecure('incident');
                            inc.addQuery('caller_id', suser.sys_id);
                            inc.orderByDesc('sys_created_on');
                            inc.query();
                                if (inc.next()) {
                                    var jsonPretty = JSON.stringify(JSON.parse(acting string),null,2);  
                                    inc.comments =jsonPretty;
                                inc.update();
                                 }
                    } 
            }    
            return sys_id;
       },
 
    type: 'propUtils2'
});
Редактирайте страницата на потребителския интерфейс с ново име на скриптаApp Engine Studio agentdesktop UI page with new script name.

Създайте CAD променлива в дизайнера на FlowWebex Contact Center flow designer with Add Flow Variable popup showing adding a CustomerName variable.

Добавете променливата CAD към оформлението на работния плотWebex Contact Center CAD variable to the desktop layout script with ‘CustomerName:CustomerName’ highlighted.

Демо екранни снимки

Прегледайте новодобавената CAD променлива в таблицата с дейности на WebExCC.

ServiceNow developer instance showing newly added CAD variable in the WebexCC Activity table.

ServiceNow developer instance WebexCC Activities screen.

CRM конекторът работи въз основа на версията на джаджа, посочена в оформлението на работния плот JSON. Изключително важно е да се гарантира, че версията на джаджа в оформлението на работния плот се поддържа актуализирана.

От администраторите се очаква да гарантират, че всички оформления на работния плот за този CRM конектор използват тази версия на джаджа. If the layout is not updated to use the latest version, functionality will no longer be supported and may cease to work correctly.

  • Последна актуализация на ServiceNow - ServiceNow_Desktop_0 .1.0_v5.0.3.json. Към март 2024 г. версията на пакета е 1.0.9
  • Последна актуализация на XML - WebExcc-ServiceNow-Update-Setv7-1-ActionsWidget.xml, юни 2024 г.

Беше ли полезна тази статия?
Беше ли полезна тази статия?