Предварительные условия

Перед интеграцией Webex контакт-центра с консолью ServiceNow ONLINE убедитесь, что в наличии следующего:


 

Выполните один из двух способов, приведенных ниже:

Для экземпляров разработчика рекомендуется следовать инструкциям, приведенным в руководстве по экземплярам для разработчика.

Если у вас есть экземпляр, имеющий лицензию предприятия, следуйте приведенным правилам для экземпляров, лицензируемых предприятием.

Мы не рекомендуем смешивать приложение, лицензирующееся на предприятии, с экземплярами песочницы разработчика.

В следующих разделах описываются действия по установке соединителя ServiceNow для экземпляров разработчика.

1

Войдите в учетную запись на портале разработчика ServiceNow и откройте консоль " Администрирование ".

2

В области "Мой экземпляр" меню " Учетная запись " щелкните "Начать создание".

3

На экземпляре разработчика в поле "Навигатор фильтров" в левом верхнем углу окна перейдите в раздел "Подключаемые модули".

4

Найдите подключаемый модуль Open рамки, имеющий название Open рамки. Возможно, вам придется прокрутить список.

5

Нажмите Кнопку "Установить" , чтобы установить подключаемый модуль Open раммейл.

6

В диалоговом окне «Активация подключаемого модуля » нажмите « Активировать».

7

По завершении активации плагина нажмите " Закрыть и перезагрузить форму " в диалоговом окне "Активация плагина".

8

Чтобы проверить активацию плагина, в поле "Навигатор фильтров" в левом верхнем углу окна перейдите к разделу OpenХехакер.

9

Щелкните « Конфигурации» и убедитесь, что подключаемый модуль Open Хефрейм отображается в списке конфигурацийOpenя.ов .

1

Загрузите самую последнюю версию XML файла набора обновлений, доступного на сайте github repo в этом местоположении :https://github.com/CiscoDevNet/webex-contact-center-crm-integrations/tree/main/ServiceNow.

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

2

В экземпляре ServiceNow в поле "Навигатор фильтров" в левом верхнем углу окна перейдите к "Наборы обновлений системы> Update Sets to Commit .

3

Щелкните набор обновления для импорта из XML link.

4

Щелкните "Выбрать файл", выберите XML файл набора обновлений системы и нажмите " Отправить".

Набор обновлений появляется в списке "Извлеченные наборы обновлений" и находится в состоянии " Загружено ".
5

В списке "Извлеченные наборы обновлений" щелкните имя файла набора обновлений (ссылку), чтобы открыть набор обновлений.

6

В правой верхней части окна щелкните "Предварительный просмотр набора обновлений" , чтобы проверить наличие неполадок в наборе обновлений.

7

Нажмите Кнопку " Закрыть " в диалоговом окне "Предварительный просмотр набора обновлений" по завершении предварительного просмотра.

8

Щелкните «Установить обновление»

9

Щелкните Закрыть диалоговое окно «Фиксация набора обновлений» по завершении фиксации набора обновлений.

1

В поле "Навигатор фильтров" в верхней левой части окна введите sys_properties.list и нажмите "Ввод".

2

На странице "Свойства системы" сортируйте свойства по дате обновления. Убедитесь, что Webex свойствах контакт-центра отображаются следующие свойства:

3

Щелкните agentdesktop_url , чтобы открыть страницу "Agentdesktop_url свойства системы".

4

В поле "Значение " введите URL для рабочего места Webex Contact Center Desktop в соответствии с регионом операции.

5

Нажмите Кнопку "Обновить" , чтобы сохранить изменения.

6

(Необязательно) Чтобы изменить имя таблицы действий, измените свойства Webexccactivitytable .

На странице "Свойства системы" щелкните Webexccactivitytable.

Измените поле " Значение " требуемым образом.

7

(Необязательно) Добавьте группы пользователей следующими способами:

  1. В поле "Навигатор фильтров" в верхней левой части окна перейдите к разделу "Группы" в разделе "Безопасность системы".

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

  3. Щелкните Изменить.

  4. Найдите sn_openframe_user в разделе "Коллекция" и перенесите его в группу пользователей.

  5. Нажмите Сохранить.

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

1

В поле "Навигатор фильтров" перейдите в раздел OpenХерик> Configurations.

2

Щелкните Создать.

3

Введите следующие свойства для URL::

  • Имя: Webex Contact Center Desktop

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

  • Ширина: 550 (рекомендуется)

  • Высота: 600 (рекомендуется)

4

Справа от поля URL щелкните кнопку «Блокировать» и добавьте agentdesktop.do в качестве URL-адреса. (Чтобы указать страницу конфигурации на страницу пользовательского интерфейса, выполните этот шаг)

5

(Необязательно) Выберите группы пользователей и операторов для назначения конфигурации.

6

Нажмите Отправить. URL отображается как ссылка.

7

Перед тем, как использовать телефон с OpenКилтер, убедитесь в загрузке файла МАКЕТа пользовательского рабочего стола ServiceNow НА ПОРТАЛ управления Webex Contact Center Management Portal. Дополнительные сведения см. в разделе «Настройка макета ServiceNow Desktop» в Webex Contact Center.

1

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

2

При необходимости обновите свойства в файле макета рабочего стола.

3

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

4

На панели навигации на портале управления выберите «Выделение ресурсов > Desktop Layout»

5

Щелкните Новый макет и введите сведения о макете рабочего стола.

6

Выгрузите файл макета рабочего стола ServiceNow НАстольного компьютера, а также файл СОуправляемым инструментом ;;

7

Щелкните " Сохранить" , чтобы сохранить конфигурацию.

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

8

В поле "Навигатор фильтров" перейдите в область Service Operations Workspace.

Главная страница ServiceNow с Webex контакт-центром Agent Desktop, интегрированным с ServiceNow.

В следующих разделах описываются действия по установке соединителя ServiceNow для лицензированных корпоративных экземпляров.

1

Войдите в учетную запись на портале разработчика ServiceNow и откройте консоль " Администрирование ".

2

В области "Мой экземпляр" меню " Учетная запись " щелкните "Начать создание".

3

На экземпляре разработчика в поле "Навигатор фильтров" в левом верхнем углу окна перейдите в раздел "Подключаемые модули".

4

Найдите подключаемый модуль Open рамки, имеющий название Open рамки. Возможно, вам придется прокрутить список.

5

Нажмите Кнопку "Установить" , чтобы установить подключаемый модуль Open раммейл.

6

В диалоговом окне «Активация подключаемого модуля » нажмите « Активировать».

7

По завершении активации плагина нажмите " Закрыть и перезагрузить форму " в диалоговом окне "Активация плагина".

8

Чтобы проверить активацию плагина, в поле "Навигатор фильтров" в левом верхнем углу окна перейдите к разделу OpenХехакер.

9

Щелкните « Конфигурации» и убедитесь, что подключаемый модуль Open Хефрейм отображается в списке конфигурацийOpenя.ов .

1

В поле "Навигатор фильтров" в верхней левой части окна введите sys_properties.list.

2

На странице "Свойства системы" сортируйте свойства по дате обновления. Убедитесь, что Webex свойствах контакт-центра отображаются следующие свойства:

3

Щелкните agentdesktop_url , чтобы открыть страницу "Agentdesktop_url свойства системы".

4

В поле "Значение " введите URL для рабочего места Webex Contact Center Desktop в соответствии с регионом операции.

5

Нажмите Кнопку "Обновить" , чтобы сохранить изменения.

6

(Необязательно) Чтобы изменить имя таблицы действий, измените свойства x_caci_webexcc.webexccactivitytable .

  1. На странице "Свойства системы" щелкните x_caci_webexcc.webexccactivitytable.

  2. Измените поле " Значение " требуемым образом.

7

(Необязательно) Добавьте группы пользователей следующими способами:

  1. В поле "Навигатор фильтров" в верхней левой части окна перейдите к разделу "Группы" в разделе "Безопасность системы".

  2. Щелкните " Изменить" и добавьте следующие роли:

    • sn_openframe_user

    • x_caci_webexcc.agent

    • agent_workspace_user

    • x_caci_webexcc.webexcc_imp_activity_user

    • x_caci_webexcc.webex_contact_center

1

В поле "Навигатор фильтров" перейдите в раздел OpenХерик> Configurations.

2

Щелкните Создать.

3

Введите следующие свойства для URL::

  • Имя: Webex Contact Center Desktop

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

  • Ширина: 550 (рекомендуется)

  • Высота: 600 (рекомендуется)

4

Справа от поля «URL» нажмите кнопку «Блокировать» и добавьте x_caci_webexcc_agentdesktop.do в качестве URL-адреса. (Чтобы указать страницу конфигурации на страницу пользовательского интерфейса, выполните этот шаг)

5

(Необязательно) Выберите группы пользователей и операторов для назначения конфигурации.

6

Нажмите Отправить. URL отображается как ссылка.

7

В поле "Навигатор фильтров" перейдите в область Service Operations Workspace.

Главная страница ServiceNow с Webex контакт-центром Agent Desktop, интегрированным с ServiceNow.

8

(Необязательно) В списке "Группы пользователей" переместите группы пользователей, которые могут получить доступ к рабочей станции Webex Contact Center Desktop, из "Доступно" для выбранной .

9

Перед тем, как использовать телефон с OpenКилтер, убедитесь в загрузке файла МАКЕТа пользовательского рабочего стола ServiceNow НА ПОРТАЛ управления Webex Contact Center Management Portal. Дополнительные сведения см. в разделе «Настройка макета ServiceNow Desktop» в Webex Contact Center.

1

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

2

При необходимости обновите свойства в файле макета рабочего стола.

3

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

4

На панели навигации на портале управления выберите «Выделение ресурсов > Desktop Layout»

5

Щелкните Новый макет и введите сведения о макете рабочего стола.

6

Выгрузите файл макета рабочего стола ServiceNow НАстольного компьютера, а также файл СОуправляемым инструментом ;;

7

Щелкните " Сохранить" , чтобы сохранить конфигурацию.

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

8

В поле "Навигатор фильтров" перейдите в область Service Operations Workspace.

Главная страница ServiceNow с Webex контакт-центром Agent Desktop, интегрированным с ServiceNow.

1

В поле "Навигатор фильтров" перейдите в раздел "Инциденты> Открыть инциденты .

2

Щелкните поле вызывающего абонента правой кнопкой мыши и выберите « Настроить словарь».

3

Добавьте атрибуты , разделенные запятыми"ref_contributions=show_phone,.

Теперь вы можете приступить к использованию Webex Contact Center Desktop в консоли ServiceNow.

4

В поле "Навигатор фильтров" перейдите в область Service Operations Workspace.

Главная страница ServiceNow с Webex контакт-центром Agent Desktop, интегрированным с ServiceNow.

Agent Desktop в консоли ServiceNow

Перед выполнением исходящих вызовов убедитесь в следующем:

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

  • Включите outdial ANI для профиля оператора.

  • Задайте для выходного набора ANI сопоставление номера и точки входа.

Дополнительные сведения см. в главе « Выделение ресурсов » Cisco Webex Contact Center руководстве по настройке и администрированию.

В поле "Навигатор фильтров" перейдите в область Service Operations Workspace.

Главная страница ServiceNow с Webex контакт-центром Agent Desktop, интегрированным с ServiceNow.

Для получения информации об использовании рабочего стола см . вкладку "Оператор " справки Webex контакт-центра.

Раздел хранилища сторонних разработчиков

Возможная проблема с недавним обновлением Google Chrome и Edge 116 или выше может помешать входу в СИСТЕМУ через соединители SMTP в контакт-центре Webex контакт-центра. Эта проблема влияет на вход на рабочий стол на консоли ServiceNow ONLINE.

Для решения этой проблемы в браузере Google Chrome выполните следующие действия

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

  2. Деактивируйте флаг раздела экспериментального стороннего хранилища.

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

  4. снова выполните вход на рабочий стол внутри консоли ServiceNow ONLINE.

Для решения этой проблемы в браузере Edge выполните следующие действия

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

  2. Деактивируйте флаг раздела экспериментального стороннего хранилища.

  3. Сохраните изменения и перезапустите браузер.

  4. снова выполните вход на рабочий стол внутри консоли ServiceNow ONLINE.

Для решения этой проблемы в браузере Firefox выполните следующие действия

  1. Откройте браузер и введите about:config в адресной строке.

    Может появиться страница с предупреждением. Щелкните " Принять риск" и перейдите на страницу About:config .

  2. Введите сетевой файл.файлибюбюро в поле "Имя предпочтительности поиска" в верхней части страницы about:config , чтобы найти предпочтительнее значение.

  3. Дважды щелкните предпочтительные параметры или значок "Изменить" , чтобы изменить настройки.

  4. Измените значение на 0.

  5. Сохраните изменения и перезапустите браузер.

  6. снова выполните вход на рабочий стол внутри консоли ServiceNow ONLINE.

Обзор

В этой статье рассматривается несколько способов настройки бизнес-правил для соединителя ServiceNow ONLINE. В нем подробно описывается, как можно настраивать случаи использования на основе бизнес-правил, связанных с ServiceNow.

Заказчик должен самостоятельно управлять этими вариантами использования в ServiceNow. Конфигурация используется только для ServiceNow, и не Webex программного обеспечения или экспертного опыта Контакт-центра.


 

Это справочная документация для помощи в изменении бизнес-правил. Разработчики ServiceNow будут создавать бизнес-правила и управлять ими, а также оказывать поддержку.

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

В следующих разделах приводится информация о настройке и включении виджета действий для экземпляров разработчика и предприятия, а также управление ими.

Фиксация набора обновлений для виджета действий

Для лицензированных экземпляров предприятия установите последнюю версию приложения Webex контакт-центра из магазина ServiceNow.

Чтобы настроить виджет «Действия» для экземпляров разработчика, загрузите последний набор обновлений системы 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 для включения виджета «Действия». Не следует изменять значение этого свойства в разделе «Без головы» макета пользовательского рабочего стола. В разделе без головы макета пользовательского рабочего стола для свойства всегда задано значение false. Значение объекта следует обновлять только в разделе панели пользовательского макета рабочего стола.

После включения виджета «Действия» в пользовательском макете рабочего стола можно выполнить следующие действия:

  • Управление записями об активности — просмотр /изменение записи об активности для просмотра списка записей об активности, связанных с вызывающим абонентом.
  • Связать объекты ONLINE — щелкните «Связать с записями активности», чтобы добавить в запись об активности такие объекты СИСТЕМЫ, как типы вызовов (входящие или исходящие), объект вызова, примечания к вызовам и т. д.
  • Управление инцидентами — щелкните " Создать инцидент". Создается новый инцидент с заранее заселенной информацией о вызывающем абоненте. Вы можете внести необходимые обновления в инцидент. В соответствии со своими требованиями можно изменить тип записи от инцидента к регистру, модуля управления персоналом и т. д. Для изменения типа записи измените значение свойства typeOfRecord в конфигурации виджета «Действия». Пример:
    { "comp": "md-tab-панель", "атрибуты": { "гнездо": "панель", "класс": "виджет-панель" }, "дети": [ { comp: "agentx-custom-desktop", "сценарий": "https://cx-crmconnector.ciscoccservice.com/servicenow/v5/dist/index.js", "свойства": { "isWidgetDisplayEnabled": true, "typeOfRecord": "Создать инцидент" }, "обертка": { "название:: "Действия снега!", "maximizeAreaName": "приложение развернуть область" }
  • Добавлять заметки о вызове в режиме live — можно захватить дополнительную информацию о вызове в текстовой области и завершить вызов. Эти заметки отображаются в записи об активности как заметки о вызовах.

Изменение кода в ServiceNow

Сценарий содержит изменения
  1. Перейдите к фильтру навигатора и выполните поиск сценарий включает в себя.

    Выберите сценарий включает в разделе "Системный интерфейс"

  2. Отфильтруйте имя и выполните поиск Реквизиты.

  3. Измените метод Идентификатор пользователяGetSysId в сценарии .

    Курантный:

    UserGetSysId: функция () { 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: функция () { 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=инк.getUniqueСеле(); }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 ('взаимодействие'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for = opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; возврат 12.stringify(sysidlist); },

Изменение метода на страницах интерфейса
  1. Перейдите в навигатор фильтров и выполните поиск по странице интерфейса.

    Выберите страницы интерфейса в разделе "Системный интерфейс".

  2. Отфильтруйте имя и выполните поиск оператору;.

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

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

    экран всплывающей функции screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = новый GlideAjax('propUmbers'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openRam.openServiceNowForm({объект: взаимодействие,запрос: "sys_id='+sysid });

    Пример кода происшествия:

    функция экрана всплывающего окна screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = новый GlideAjax('propUmbers'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'телефон'); gaout.addParam('value', callerani); gaout.getXMLWait(); // Для изменений, связанных с инцидентами var SysObj = ФАЙЛ.parse(gaout.getAnswer()); if(sysObj.incsysid){ openХеричAPI.openServiceNowForm({ объект: «инцидент», запрос: «sys_ id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openМAPI.openServiceNowForm({ объект: инцидент, запрос: "sys_id=-1", "interaction_sys_id": sysObj.sysid ///'a2ba0ba62fd121106446cc96f699b6b8' }); }

Если информация о вызывающем абоненте содержится в ИНСТРУМЕНТ-коде(м) и с этим контактом уже открыт новый инцидент, приложение открывает инцидент inprogress

Если информация о вызывающем абоненте не существует в ИНСТРУМЕНТе РЕАЛЬНОго пользователя, приложение открывает новый инцидент

Если информация о вызывающем абоненте содержится в КОДЕУР, приложение открывает новый инцидент с заполненной информацией

Обзор

В этом случае использования подробно описан процесс добавления дополнительного столбца в таблицу ServiceNow . webexcc_imp_activity и создать sn_openframe_phone_log при установке Webex CC для разъема ServiceNow ONLINE.

По умолчанию в таблице содержатся определенные системные поля и значения.

Можно создать более специфичные для бизнеса переменные (переменные САПР) в конструкторе потока WebexCC и добавить переменные 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 сопоставление полей.

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

Как рекомендует Service Now, измените действие «Выбор» на «создать» на игнорирование.

Настройка списка журналов телефона

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


 

Добавьте только одну линию webexcc.u_customername=actInfo.CustomerName на реквизиты.

Пример сценария

См. строку: webexcc.u_customername=actInfo.CustomerName; с подтверждающим комментарием.

var propОвред = Class.create(); prop00.prototype = Object.extendsObject(глобальный. АннотацияAjaxProcessor,{ getХеexccProp: функция () { 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'); возвратБУ.stringify(webexccprop); }, UserGetSysId: функция () { 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 ('взаимодействие'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for = opened_for; var sysid=grInt.insert(); sysid возврата; }, setInfoexccable: функция () { var sys_id=0; var actInfo = 1.parse(this.getParameter('actInfo')); var webexcc = новый GlideRecordSecure(gs.getProperty('x_caci_webexcc.webexccactivitytable')); webexcc.addQuery("callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; Добавляется линия для ее записи в журнал действий webexcc.u_customername=actInfo.CustomerName; sys_id=webexcc.insert(); деятельность по учету инцидентов; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure ("sys_user"); suser.addQuery («телефон», этот.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('инцидент'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next(()) { varinfoPretty =ВОРк.stringify(STRING.parse(actInfoString),null,2); inc.comments =display; inc.update(); } } sys_id возврата; }, введите: "propХутилс' });

Создайте переменную CAD в конструкторе потока

Добавьте переменную CAD к макету рабочего стола

Пример

"CadName1:SnowField1,CadName2:Снежный поле2" cadName1 является CustomerName SnowField1 также используется в качестве CustomerName, который является частью примера отображения над "actInfo.CustomerName".

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

Просмотрите недавно добавленную переменную CAD в таблице Активности WebexCC.

Создание переменной CAD для конструктора потока

Срочность инцидентов

Последствия инцидента

Обновление сценария Service Now

Обновления сценария включает

  1. Перейдите в навигатор фильтров и выполните поиск по сценарию

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

  2. Отфильтруйте имя с помощью функции propScreen.

  3. Измените метод Идентификатор пользователяGetSysId в поле "Сценарий ".

    Текущий сценарий:

    UserGetSysId: функция () { 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: функция () { 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.getUniqueПеле(); } else{ inc.initialize(); inc.caller_id=opened_for; inc.contact_type='phoney;inc.срочность=this.getParameter('Value'); inc.impact=this.getParameter('Impact'); inc.short_description='Call Received From '+ this.getParameter('value'); sysidlist.incsysid=inc.insert();} } var grInt = new GlideRecordSecure ('взаимодействие'); grInt.initialize(); grInt.assigned_to= gs.getUserID(); grInt.type= 'phone'; grInt.opened_for = opened_for; var sysid=grInt.insert(); sysidlist.sysid=sysid; возврат 12.stringify(sysidlist);//sysid; },

Изменение метода на страницах интерфейса
  1. Перейдите в навигатор фильтров и найдите страницы интерфейса.

    Выберите параметр « Страницы интерфейса пользователя» в разделе «Системный интерфейс пользователя»

  2. Отфильтруйте страницы пользовательского интерфейса по имени и поиску операторов

  3. Измените значение экранная попка функционировать в поле сценария.

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

    экран всплывающей функции screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = новый GlideAjax('propХукс'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'phone'); gaout.addParam('value', callerani); gaout.getXMLWait(); var sysid = gaout.getAnswer(); openRam.openServiceNowForm({объект: взаимодействие,запрос: "sys_id='+sysid });

    Пример кода происшествия:

    экран всплывающей функции screenpop(callerani,callSessionInfo) { var Impact= 3; if(callSessionInfo.callAssociatedData.Impact!= null &&callSessionInfo.callAssociatedData.Impact != undefined) { Impact=callSessionInfo.callAssociatedData.Impact.value; } var IncUrgency=3; if(callSessionInfo.callAssociatedData.Срочность != null &&callSessionInfo.callAssociatedData.callAssociatedData.Срочность != не определено) { IncUrgency=callSessionInfo.callAssociatedData.Срочность.значение; } if(callerani=== = = = = = =callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = new GlideAjax ('propТакт.); gaout.addParam («sysparm_name», «UserGetSysId»); gaout.addParam ('поле', 'телефон'); gaout.addParam («значение», callerani); gaout.addParam ('IncUrgency', IncUrgency); gaout.addParam («Воздействие», «Воздействие» ); gaout.getXMLWait(); var sysid = gaout.getAnswer(); var sysObj = EXCEL.parse(gaout.getAnswer()); if(sysObj.incsysid){ openХеридAPI.openServiceNowForm({ объект: 'инцидент', запрос: 'sys_id='+sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); } else{ openХ.openServiceNowForm({объект: 'инцидент', запрос: 'sys_id=-1', 'interaction_sys_id:sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",STRINGify(sysObj)); }

Если информация о вызывающем абоненте содержится в ИНСТРУМЕНТ-сервере (ГДЕ-либо нет нового или непрогрессного инцидента), то приложение открывает новый инцидент

Измените код в ServiceNow

Добавьте новые столбцы в Активность WebexCC IMP Таблице

Откройте окно Активность WebexCC IMP Таблице

Добавьте новый столбец - InteractionsNumber

Добавьте новый столбец — IncidentNumber

Нажмите « Обновить».

Добавьте новые столбцы в Журнал телефона Таблице

Откройте окно Журнал телефона Таблице

Добавьте новый столбец - InteractionsNumber

Добавьте новый столбец — IncidentNumber

Карта преобразования активности WebexCC

Открыть карта преобразования из навигатора фильтров

Нажмите кнопку Карта преобразования активности WebexCC

Добавить новый — для карты номеров взаимодействия

Добавить новый — для карты номеров инцидентов

Нажмите Обновить.

Включает изменения в сценарии

  1. Перейдите в фильтр навигатора и найдите "сценарий включает".

    Выберите сценарий включает в разделе "Системный интерфейс"

  2. Отфильтровать имя по Реквизиты.

  3. Измените метод setХвысекубь.

    Новый пример кода для инцидента:

    setХ.excctable: функция () { var sys_id=0; var actInfo = EXCEL.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('webexccactivitytable')); webexcc.addQuery("u_callobject", actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { //Активности по записи об инциденте; //var actInfoString =this.getParameter('actInfo'); var incsysid=actInfo.incident_sys_id; var interactionsysid=actInfo.interaction_sys_id; var incnum="; var intenum="; удалить actInfo[interaction_sys_id']; удалить actInfo[incident_sys_id']; if( interactionsysid!= null &&interactionsysid != undefined){ var inte = new GlideRecordSecure('interaction'); //inte.get('sys_id', interactionsysid ); inte.addQuery('sys_id', interactionsysid ); inte.query(); if (inte.next(()) { intenum=inte.number; // inte.setLv ('state','Завершено завершено'); 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 infoPretty = STRINGify(actInfo,null,2); //ВОР.stringify(АДРЕС.parse(actInfoString,null,2); inci.comments =венесуэльскийpretty; inci.update(); } else{ var suser = new GlideRecordSecure("sys_user"); suser.addQuery("телефон", 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())) { varinfo.pretty =STRINGify(actInfo,null,2); inc.comments=inc.update(); } } webexcc.u_ani = actInfo.ani; webexcc.u_dnis =actInfo.dnis; webexcc.u_queuename =actInfo.queuename; webexcc.u_wrapuptime =actInfo.wrapuptime; webexcc.u_callduration =actInfo.CallDurationInSeconds; webexcc.u_ringingtime =actInfo.ringingtime; webexcc.u_activitydate =actInfo.ActivityDate; webexcc.u_callobject =actInfo.CallObject; webexcc.u_calltype =actInfo.CallType; webexcc.u_calldisposition=actInfo.CallDisposition; webexcc.u_incidentnumber=incnum; webexcc.u_interactionsnumber = intenum; sys_id=webexcc.insert(); } возврат sys_id; },

Изменения методов на страницах интерфейса

  1. Перейдите к фильтру навигатора и выполните поиск Страницы интерфейса

    Выберите параметр « Страницы интерфейса пользователя» в разделе «Системный интерфейс пользователя»

  2. Отфильтруйте страницы пользовательского интерфейса по имени и поиску операторов

  3. Измените значение nowActivities и screenpop функции в сценарии.

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

    функция теперь Активности(actInfo, ani) { var gaout = new GlideAjax('prop000'); gaout.addParam('sysparm_name', 'setInfoexcctable'); gaout.addParam('actInfo', ИНТЕРФЕЙС.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML(SetCCsysId); }

    Пример кода происшествия:

    функция nowActivities(actInfo, ani) { var sysObjstr = window.localStorage.getItem("screenpopinteraction"); if(sysObjstr != null &&sysObjstr != undefined) { var sysObjson=ФАЙЛ.parse(sysObjstr); actInfo.interaction_sys_id=sysObjson.sysid; actInfo.incident_sys_id=sysObjson.incsysid; } var gaout = new GlideAjax('prop00'); gaout.addParam('sysparm_name', 'setExcctable'); gaout.addParam('actInfo', ИНТЕРФЕЙС.stringify(actInfo)); gaout.addParam('ani', stripPrefixes(ani)); gaout.getXML (SetCCsysId); } функция screenpop(callerani,callSessionInfo) { if(callerani===callSessionInfo.phoneNumber){ callerani=stripPrefixes(callerani); } var gaout = новый GlideAjax('propХукс'); gaout.addParam('sysparm_name', 'UserGetSysId'); gaout.addParam('field', 'телефон'); gaout.addParam('value', callerani); gaout.getXMLWait(); //var sysid = gaout.getAnswer(); var sysObj = USB.parse(gaout.getAnswer()); if(sysObj.incsysid){ openХерид.openServiceNowForm({ объект: «инцидент», запрос: «sys_id=»sysObj.incsysid, 'interaction_sys_id': sysObj.sysid }); }else{ openХ.openServiceNowForm({ объект: инцидент, запрос: "sys_id=-1", "interaction_sys_id:sysObj.sysid }); } window.localStorage.setItem("screenpopinteraction",XML.stringify(sysObj)); } 

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


 

Следующие настройки применяются к версии 1.0.5 и ниже. Для настройки более новых версий 1.0.7 и выше следуйте приведенным выше инструкциям.

Настройка No 1 — добавьте пользовательские бизнес-правила для случаев использования потока вызовов

Создайте новую запись об инцидентах для каждого вызова

Для каждого нового вызова в соединитель WebexCC SMTP в 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; 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 != null &&phone != '') { userID = UserGetSysId("телефон", phone); } if (userID != null) { if (fQuery.length > 0) fQuery += "ˆ"; fQuery += "caller_id=" + userID; } if (url == null) { url = "incident.do?sys_id=-1"; if (fQuery !=null) url += "&sysparm_query=" + fQuery; } answer = url; url возврата; } функция UserGetSysId(поле, значение) { var user = new GlideRecord("sys_user"); user.addQuery(поле, значение); user.query(); if (user.next()) возвращает user.sys_id; else возвращает null; }

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

  3. Включение функции вызова с помощью клиента

    При интеграции с компьютерной телефонией (CTI): при обработке инцидентов помечается значение True.

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

Пример

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

Определите функцию в sys_script записи, помеченной «можно вызывать у клиента».

Если необходимо вставить, обновить или удалить какие-либо записи GlideRecords в эту функцию, вызовите отдельную неклайентную функцию для выполнения обновлений.


 

Чтобы сценарий был клиентским, необходимо установить флажок «клиент-вызов» на бланке, который отображается при отображении записи sys_script.

Флажок «Клиент-вызов» не установлен по умолчанию. Для просмотра необходимо изменить поля, которые отображаются на форме, используя значок шестеренки и механизм ведра slush.

Ссылки

Настройка No 2 — добавьте переменную САПР в таблицу действий Webex contact Center

Обзор

В этой статье описывается процесс добавления дополнительного столбца в таблицу ServiceNow — webexcc_activity, созданного при установке разъема Webex CC для ServiceNow ONLINE.

По умолчанию в таблице содержатся стандартные системные поля и значения.

Возможно, можно создать больше бизнес-переменных (переменных CAD) в конструкторе Потока WebexCC и добавить такие переменные в журнал активности пост-вызовов ServiceNow и сохранить этов таблице активности вызовов.


 
  • Это только справочная документация, где показано, как это сделать для примера переменной САПР с именем клиента, в которую имя пользователя хранится в IVR и отправляет его в ServiceNow.

  • Эту конфигурацию будут настраивать и управлять разработчики ServiceNow от партнера и пользователя, так как она выполняется по настройке существующего соединителя.

  • Cisco предоставит только методы настройки и расширения соединителя.

  • На основании этой статьи команда Cisco подтвердила поддержку добавления переменной CAD в журнал активности и таблицу активностей, используя метод, описанный ниже.

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

  2. Перейдите в студию > Webex контакт-центр.

  3. Выберите таблицу активности WebexCC.

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

  5. Выбор макета списков для деятельности WebexCC.

Создание нового сценария включает

 

Этот шаг не требуется, если вы используете обновленный набор XML . В список prop Самообмена требуется добавить только одну линию "webexcc.u_customername=actInfo.CustomerName".

Пример сценария

См. линию со:webexcc.u_customername=actInfo.CustomerName; с подтверждающим комментарием.

varя22 = Class.create(); propУкр. 2.prototype = Object.extendsObject(глобальный. АннотацияAjaxProcessor,{ getХеexccProp: функция () { 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'); возврат INSTANCE.stringify(webexccprop); }, setExcctable: функция () { var sys_id=0; var actInfo = 2.parse(this.getParameter('actInfo')); var webexcc = new GlideRecordSecure(gs.getProperty('x_caci_ webexcc.webexccactivitytable')); webexcc.addQuery («объект вызова», actInfo.CallObject); webexcc.query(); if(!webexcc.next()) { webexcc.ani = actInfo.ani; webexcc.dnis =actInfo.dnis; webexcc.queuename =actInfo.queuename; webexcc.wrapuptime =actInfo.wrapuptime; webexcc.callduration =actInfo.CallDurationInSeconds; webexcc.ringingtime =actInfo.ringingtime; webexcc.activitydate =actInfo.ActivityDate; webexcc.callobject =actInfo.CallObject; webexcc.calltype =actInfo.CallType; webexcc.calldisposition=actInfo.CallDisposition; // Добавлена линия для записи ее в журнал активности webexcc. u_customername= actInfo.CustomerName; sys_id=webexcc.insert(); деятельность по учету инцидентов; var actInfoString =this.getParameter('actInfo'); var suser = new GlideRecordSecure ("sys_user"); suser.addQuery («телефон», этот.getParameter('ani')); suser.query(); if(suser.next()) { var inc = new GlideRecordSecure('инцидент'); inc.addQuery('caller_id', suser.sys_id); inc.orderByDesc('sys_created_on'); inc.query(); if (inc.next(())) { varpretty =ВОРн.stringify(STRING.parse(действующий строку),null,2); inc.comments =американопреттий; inc.update(); } } sys_id возврата; }, тип: "propХурез2' });
Измените страницу пользовательского интерфейса, указав новое имя сценария

Создайте переменную CAD в конструкторе потока

Добавьте переменную CAD к макету рабочего стола

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

Просмотрите недавно добавленную переменную CAD в таблице Активности WebexCC.