Поделиться через


Интеграция предварительно настроенного агента для обслуживания клиентов в ServiceNow

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

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

Прежде чем начать, у вас должны быть следующие среды и консоль:

  • Экземпляр Copilot для обслуживания клиентов, подключенный к среде ServiceNow.
  • Рабочая или пробная среда ServiceNow.

Кроме того, чтобы операторы отдела обслуживания клиентов могли использовать агентов в ServiceNow, необходимо назначить им роли базового пользователя и агента многоканального взаимодействия. Подробнее см. в разделе Назначение роли безопасности пользователю.

Интеграция агента в ServiceNow

  1. Копирование URL-адреса мини-приложения Copilot для обслуживания клиентов

    1. Войдите в свой экземпляр Copilot для обслуживания клиентов.
    2. На карте сайта выберите Каналы, а затем выберите ServiceNow.
    3. Скопируйте URL-адрес, начинающийся после <iframe src=. Например: https://copilotforservice-test.azureedge.net/widget/index.html?dynamicsUrl=https://XXXXXX.crm10.dynamics.com
    4. Сохраните URL-адрес локально, чтобы его можно было скопировать и вставить на следующем этапе.
  2. Установка подключаемого модуля API-интерфейса знаний

    1. В вашей среде ServiceNow выберите Все, найдите подключаемые модули, а затем выберите Определение системы>Подключаемые модули.
    2. Найдите Knowledge API. Система вернет подключаемый модуль knowledge api (идентификатор приложения: sn_km_api).
    3. Выберите карточку Knowledge API.
    4. Выберите Установить, а затем выберите последнюю версию.
    5. Выберите Установить сейчас, а затем дождитесь завершения установки Knowledge API.
  3. Установка плагина Openframe

    1. В вашей среде ServiceNow выберите Все, найдите подключаемые модули, а затем выберите Определение системы>Подключаемые модули.
    2. Найдите Openframe. Система вернет подключаемый модуль openframe (идентификатор подключаемого модуля: com.sn_openframe).
    3. Выберите Установить, чтобы начать установку подключаемого модуля.
    4. Выберите Установить, а затем дождитесь завершения установки.
  4. Установка подключаемого модуля Customer Service

    1. В вашей среде ServiceNow выберите Все, найдите подключаемые модули, а затем выберите Определение системы>Подключаемые модули.
    2. Найдите com.sn_customerservice. Система вернет Customer Service (идентификатор подключаемого модуля: com.sn_customerservice).
    3. Выберите Установить, чтобы начать установку подключаемого модуля.
    4. Выберите Установить, а затем дождитесь завершения установки.
  5. Добавление скрипта пользовательского интерфейса для классического интерфейса навигатора

    1. В среде ServiceNow убедитесь, что вы находитесь в рабочей области Глобальная: выберите значок глобуса в правом верхнем углу, а затем убедитесь, что для параметра Область применения установлено значение Глобально.
    2. Выберите Все, найдите Сценарии пользовательского интерфейса, а затем выберите Системный пользовательский интерфейс>Сценарии пользовательского интерфейса.
    3. Выберите Создать, а затем заполните форму следующим образом:
      • Имя API: классический скрипт открытой структуры Copilot

      • Тип пользовательского интерфейса: рабочий стол

      • Установите флажок Глобальный.

      • Скрипт: скопируйте содержимое следующего скрипта:

        (function () {
          try {
            var logMoniker = "Copilot Navigator UI script: ";
            if (
              !window.parent.navigationListenerAdded &&
              !window.copilotNavigationClassicListenerAdded
            ) {
              console.log(logMoniker + "loading desktop navigator....");
              var payload = {
                url: window.location.href,
                source: "classicUIScript",
                sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                configType: "singleFrame"
              };
              var context = {
                payload: JSON.stringify(payload),
                method: "openframe_communication"
              };
              CustomEvent.fireAll("openframe_request", context);
        
              window.navigation.addEventListener("navigate", (event) => {
                console.log(
                  logMoniker +
                    "desktop PAGE NAVIGATED: " +
                    "\n Old Url: " +
                    window.location.href +
                    "\n New url: " +
                    event.destination.url
                );
        
                var payload = {
                  url: event.destination.url,
                  source: "classicUIScript",
                  sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                  configType: "singleFrame"
                };
                var context = {
                  payload: JSON.stringify(payload),
                  method: "openframe_communication"
                };
                CustomEvent.fireAll("openframe_request", context);
              });
        
              window.copilotNavigationClassicListenerAdded = true;
            } else {
              console.log(logMoniker + "Skipping desktop navigator load....");
            }
          } catch (error) {
            console.log(logMoniker + "Classic UI navigator error");
            console.log(error);
          }
        })();
        
  6. Добавление клиентского скрипта для навигатора рабочей области

    1. Убедитесь, что в вашей ServiceNow среде вы находитесь в глобальной рабочей области: выберите значок глобуса и убедитесь, что для параметра Область приложения задано значение Глобальный.
    2. Выберите Все, найдите Сценарии клиента, а затем выберите Системное определение>Сценарии клиента.
    3. Выберите Создать, а затем заполните форму следующим образом:
    • Имя: скрипт навигации рабочей области открытой структуры Copilot

    • Таблица: Глобальный [глобальный]

    • Тип пользовательского интерфейса: портал для мобильных устройств/портал для обслуживания

    • Тип: onLoad

    • Скрипт: скопируйте содержимое следующего скрипта:

      function onLoad() {
          var table = g_form.getTableName();
          try {
              if (table == 'incident' || table == 'sys_email' || table == 'sn_customerservice_case' || table == 'interaction') {
                  var logMoniker = "Copilot Navigator Workspaces Client script: ";
      
                  if (!globalThis.copilotNavigationWorkspaceListenerAdded) {
                      console.log(logMoniker + "loading workspace navigator....");
                      var payload = {
                          url: globalThis.window.location.href,
                          source: "workspaceClientScript",
                          sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                          configType: "singleFrame"
                      };
                      var context = {
                          payload: JSON.stringify(payload),
                          method: "openframe_communication"
                      };
                      globalThis.CustomEvent.fireAll("openframe_request", context);
      
                      globalThis.window.navigation.addEventListener("navigate", (event) => {
                          console.log(
                              logMoniker +
                              "Workspace PAGE NAVIGATED: " +
                              "\n Old Url: " +
                              globalThis.window.location.href +
                              "\n New url: " +
                              event.destination.url
                          );
      
                          var payload = {
                              url: event.destination.url,
                              source: "workspaceClientScript",
                              sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                              configType: "singleFrame"
                          };
                          var context = {
                              payload: JSON.stringify(payload),
                              method: "openframe_communication"
                          };
                          globalThis.CustomEvent.fireAll("openframe_request", context);
                      });
      
                      globalThis.copilotNavigationWorkspaceListenerAdded = true;
                  } else {
                      console.log(logMoniker + "Workspace navigator already loaded....");
                  }
              }
          } catch (error) {
              console.error(logMoniker + "Workspace Navigator error");
              console.error(error);
          }
      }
      
  7. В среде ServiceNow убедитесь, что вы находитесь в рабочей области Глобальная: выберите значок глобуса в правом верхнем углу, а затем убедитесь, что для параметра Область применения установлено значение Глобально.

    1. Выберите Все, найдите Сценарии клиента, а затем выберите Системное определение>Сценарии клиента.
    2. Выберите Создать, а затем заполните форму следующим образом:
    • Имя: скрипт таблицы инцидентов открытой структуры Copilot

    • Таблица: инцидент [инцидент]

    • Тип пользовательского интерфейса: рабочий стол

    • Тип: onLoad

    • Скрипт: скопируйте содержимое следующего скрипта:

        function onLoad() {
          try {
              var tableName = g_form.getTableName();
              var id = g_form.getUniqueValue();
              var payload = {
                  recordId: id,
                  objectType: tableName,
                  source: "classicClientScript",
                  sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                  configType: "singleFrame"
              };
              var context = {
                  payload: JSON.stringify(payload),
                  method: "openframe_communication"
              };
              CustomEvent.fireAll("openframe_request", context);
          } catch (error) {
              console.log(
                  "Copilot Navigator UI script: CopilotClassicClientScriptCase navigator error"
              );
              console.log(error);
          }
      }
      

    d. Снова выберите Создать, а затем заполните форму следующим образом: Имя: скрипт таблицы эл. почты открытой структуры Copilot — Таблица: электронная почта [sys_email] — Тип пользовательского интерфейса: Рабочий стол — Тип: onLoad

    • Скрипт: скопируйте содержимое следующего скрипта:
      function onLoad() {
            try {
                var tableName = g_form.getTableName();
                var id = g_form.getUniqueValue();
                var payload = {
                    recordId: id,
                    objectType: tableName,
                    source: "classicClientScript",
                    sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                    configType: "singleFrame"
                };
                var context = {
                    payload: JSON.stringify(payload),
                    method: "openframe_communication"
                };
                CustomEvent.fireAll("openframe_request", context);
            } catch (error) {
                console.log(
                    "Copilot Navigator UI script: CopilotClassicClientScriptCase navigator error"
                );
                console.log(error);
            }
         }
    

    e. Выберите Создать снова, а затем заполните форму следующим образом:

    • Имя: скрипт таблицы случаев открытой структуры Copilot

    • Таблица: случай [sn_customerservice_case]

    • Тип пользовательского интерфейса: рабочий стол

    • Тип: onLoad

    • Скрипт: скопируйте содержимое следующего скрипта:

      function onLoad() {
          try {
              var tableName = g_form.getTableName();
              var id = g_form.getUniqueValue();
              var payload = {
                  recordId: id,
                  objectType: tableName,
                  source: "classicClientScript",
                  sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850",
                  configType: "singleFrame"
              };
              var context = {
                  payload: JSON.stringify(payload),
                  method: "openframe_communication"
              };
              CustomEvent.fireAll("openframe_request", context);
          } catch (error) {
              console.log(
                  "Copilot Navigator UI script: CopilotClassicClientScriptCase navigator error"
              );
              console.log(error);
          }
      }
      
  8. Настройка мини-приложения в ServiceNow

    1. В вашей среде ServiceNow выберите Все, найдите OpenFrame, а затем выберите Openframe>Конфигурации.
    2. Выберите Создать в правом верхнем углу.
    3. Введите Microsoft Copilot в качестве имени и заголовка.
    4. Введите 450 для ширины и 600 для высоты.
    5. Выберите Группы пользователей, для которых необходимо включить Copilot для обслуживания клиентов.
    6. Выберите значок замка рядом с полем URL-адрес, чтобы разблокировать его, а затем вставьте URL-адрес мини-приложения Copilot для обслуживания клиентов, сохраненный ранее на странице администрирования Copilot для обслуживания клиентов.
    7. Выберите Отправить.
    8. Обновить страницу. Мини-приложение Copilot для обслуживания клиентов должно быть доступно на верхней панели навигации для выбранного вами значка.
    9. Прежде чем открыть Copilot для обслуживания клиентов, убедитесь, что вы разрешили отображение всплывающих окон на своей странице ServiceNow.