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