在 ServiceNow 中集成预配置的服务代理
您可以将预配置的服务代理直接嵌入 ServiceNow 桌面,并根据上下文了解底层平台。 这种集成有助于应用程序提供更好的响应,并有助于进一步简化 AI 代理的工作流程。
先决条件
开始之前,您必须具有以下环境和控制台:
- 连接到 ServiceNow 环境的适用于服务人员的 Copilot 实例。
- ServiceNow 生产环境或试用环境。
此外,要使客户服务代表能够使用 ServiceNow 中的代理,您必须为他们分配基本用户和全渠道代理角色。 了解更多信息,请参阅为用户指定安全角色。
在 ServiceNow 中集成代理
复制服务用 Copilot 小组件 URL
- 登录到您的服务用 Copilot 实例。
- 在站点地图上,选择渠道,然后选择 ServiceNow。
- 从 <iframe src= 之后开始复制 URL。 例如,https://copilotforservice-test.azureedge.net/widget/index.html?dynamicsUrl=https://XXXXXX.crm10.dynamics.com
- 在本地保存 URL,然后复制该 URL 并将其粘贴到下一步中。
安装知识 API 插件
- 在您的 ServiceNow 环境中,选择全部,搜索插件,然后选择系统定义>插件。
- 搜索 Knowledge API。 系统应返回 Knowledge API 插件(应用程序 id:sn_km_api)。
- 选择 Knowledge API 卡片。
- 选择安装,然后选择最新版本。
- 选择立即安装,然后等待 Knowledge API 安装完成。
安装 Openframe 插件
- 在您的 ServiceNow 环境中,选择全部,搜索插件,然后选择系统定义>插件。
- 搜索 Openframe。 系统应该返回 openframe 插件(Plugin ID:com.sn_openframe)。
- 选择安装,开始插件安装。
- 选择安装,然后等待安装完成。
安装 Customer Service 插件
- 在您的 ServiceNow 环境中,选择全部,搜索插件,然后选择系统定义>插件。
- 搜索 com.sn_customerservice。 系统应返回 Customer Service(插件 id:com.sn_customerservice)。
- 选择安装,开始插件安装。
- 选择安装,然后等待安装完成。
为经典 UI 导航器添加 UI 脚本
- 在您的 ServiceNow 环境中,确保您处于全局工作区:选择右上角的地球图标,然后验证应用程序范围是否设置为全局。
- 选择所有,然后搜索 UI 脚本,然后选择系统 UI>UI 脚本。
- 选择新建,然后按如下方式填写表格:
API 名称:Copilot 打开框架桌面脚本
UI 类型:桌面
选中全局复选框。
脚本:复制以下脚本的内容:
(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); } })();
为工作区导航器添加客户端脚本
- 在 ServiceNow 环境中,确保您处于全局工作区:选择地球仪图标,然后确认应用程序范围已设置为全局。
- 选择全部,然后搜索客户端脚本,然后选择系统定义>客户端脚本。
- 选择新建,然后按如下方式填写表格:
名称:Copilot 打开框架工作区导航脚本
表:全局 [全局]
UI 类型:移动/服务门户
类型: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); } }
在您的 ServiceNow 环境中,确保您处于全局工作区:选择右上角的地球图标,然后验证应用程序范围是否设置为全局。
- 选择全部,然后搜索客户端脚本,然后选择系统定义>客户端脚本。
- 选择新建,然后按如下方式填写表格:
名称:Copilot 开放框架事件表脚本
表:事件 [事件]
UI 类型:桌面
类型: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] - UI 类型:桌面 - 类型: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]
UI 类型:桌面
类型: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); } }
在 ServiceNow 中配置小组件
- 在您的环境中 ServiceNow,选择所有,搜索 OpenFrame,然后选择 Openframe>配置。
- 在右上角,选择新建。
- 键入 Microsoft Copilot 作为名称和标题。
- 键入 450 作为宽度,键入 600 作为高度。
- 选择您要为其启用适用于服务人员的 Copilot 的用户组。
- 选择 URL 字段旁边的锁图标将其解锁,然后粘贴您之前从适用于服务人员的 Copilot 管理页面保存的适用于服务人员的 Copilot 小组件 URL。
- 选择提交。
- 刷新该页面。 对于您选择的图标,顶部导航栏上应显示适用于服务人员的 Copilot 小组件。
- 在您打开适用于服务人员的 Copilot 之前,请确保您的 ServiceNow 页面允许弹出窗口。