您可以将预先配置好的 AI 代理直接嵌入 Salesforce 桌面,并根据上下文了解底层平台。 这种集成可帮助 AI 代理提供更好的响应,并有助于进一步简化客户服务代表的工作流程。
先决条件
开始之前,您必须具有以下环境和控制台:
- 连接到 Salesforce 环境的服务用 Copilot 实例。
- 访问 Salesforce 服务控制台的 Salesforce 生产环境或试用环境。
此外,要让服务代表能够在 Salesforce 中使用服务用 Copilot,必须为他们分配基本用户和全渠道代理角色。 了解更多信息,请参阅为用户指定安全角色。
执行导航中的步骤,复制从 <iframe src=> 开始的 Copilot 可嵌入式小工具 URL。 例如,https://copilotforservice-test.azureedge.net/widget/index.html?dynamicsUrl=https://XXXXXX.crm10.dynamics.com。 将 URL 保存在本地,如果使用的是 CTI 软电话,可将其复制并粘贴到 CTI 适配器 URL 字段;如果使用的是自定义组件,可将其复制并粘贴到 CFS_WIDGET_URL
字段。
您可以通过以下方式之一在 Salesforce 中集成预配置的服务代理。
打开 Salesforce 服务控制台,然后选择右上角的设置(齿轮)图标。
在搜索字段中,键入呼叫中心,然后在搜索结果中,选择呼叫中心。
如果您是第一次设置此小组件,您可能会看到一个带有消息的页面,内容为了解 Salesforce 呼叫中心。
选择继续。
打开文本编辑器,然后将以下 XML 代码复制到其中,并在本地保存为 CopilotForServiceConfig.xml。
<callCenter>
<section sortOrder="0" name="reqGeneralInfo" label="General Information">
<item sortOrder="0" name="reqInternalName" label="InternalName">CopilotForService</item>
<item sortOrder="1" name="reqDisplayName" label="Display Name">Copilot For Service</item>
<item sortOrder="2" name="reqAdapterUrl" label="CTI Adapter URL">https://TobeUpdated.ms</item>
<item sortOrder="3" name="reqUseApi" label="Use CTI API">true</item>
<item sortOrder="4" name="reqSoftphoneHeight" label="Softphone Height">600</item>
<item sortOrder="5" name="reqSoftphoneWidth" label="Softphone Width">450</item>
<item sortOrder="6" name="reqSalesforceCompatibilityMode" label="Salesforce Compatibility Mode">Classic_and_Lightning</item>
</section>
</callCenter>
选择导入>选择文件,然后导航并选择您在步骤 4 中保存的 CopilotForServiceConfig.xml 文件。
选择导入。
选择编辑,然后在 CTI 适配器 URL 字段中粘贴步骤 1 中保存的服务用 Copilot 小组件 URL。
选择保存。
执行以下步骤添加 Salesforce 用户:
- 在 Salesforce 服务控制台中,选择管理呼叫中心用户>添加更多用户。
- 添加您希望其访问服务用 Copilot 小组件的每个 Salesforce 用户。
执行以下步骤添加软电话实用程序:
- 选择设置,然后搜索并选择应用程序管理器。
- 找到服务控制台应用程序,选择同一行的倒三角形,然后选择编辑。
- 选择实用工具项>添加实用工具项。
- 搜索并选择打开 CTI 软电话。
- 为您的小组件键入一个名称,例如“服务用 Microsoft Copilot”。
- 将宽度设置为 450,高度设置为 600。
- 选择保存。
执行以下步骤启用弹出窗口:
- 在 Salesforce 中,从应用程序页面转到服务控制台。
- 选择始终允许来自 <url> 的弹出窗口和重定向来启用弹出窗口。
- 选择完成。
- 刷新浏览器。 现在,服务用 Copilot 加载项应该出现在代理控制台的工具栏上。
- 执行以下步骤在 Salesforce 中配置服务用 Copilot 小组件:
打开 Salesforce 服务控制台,然后选择齿轮图标。
从下拉菜单中选择开发人员控制面板。 如果未加载,请从弹出窗口中复制 URL,然后在新选项卡中打开它。
在开发人员控制台中,选择文件>新建>Apex 类别。 指定名称为 ObjectService,选择创建,然后将以下代码粘贴到编辑器中:
public class ObjectService {
@AuraEnabled
public static String getObjectType(String objectId) {
Id conId = objectId;
return String.valueOf(conId.getSobjectType());
}
}
执行以下步骤创建 lightning 组件:
- 选择文件>新建>Lightning 组件。
- 指定组件名称。 例如,CopilotForService。
- 从创建组件时显示的捆绑面板中选择控制器,然后粘贴以下代码:
({
onTabFocused : function(component, event, helper) {
var currentTabId = event.getParam('currentTabId');
var previousTabId = event.getParam('previousTabId');
var workspaceAPI = component.find("workspace");
if(currentTabId) {
workspaceAPI.getTabInfo({
tabId : currentTabId
}).then(function(response) {
var action = component.get("c.getObjectType");
var recordId = response.recordId;
action.setParams({"objectId": recordId});
action.setCallback(this, function(response) {
var state = response.getState();
if(state === "SUCCESS") {
component.set("v.objectType",response.getReturnValue());
var type = response.getReturnValue();
console.log("Object details:", recordId, type);
var objectType = 0;
if (type == 'Case') {
objectType = 1;
} else if (type == 'EmailMessage') {
objectType = 2;
} else if (type == "LiveChatTranscript") {
objectType = 8;
}
console.log("iframe: ", document.querySelector('iframe.CFSLightning'));
// Invoke adapter to navigate based on objectid and objecttype
document.querySelector('iframe.CFSLightning').contentWindow.postMessage({
messageType: "onPageNavigateFromSFLightningComponent",
messageData: JSON.stringify({
value: JSON.stringify({
objectId: recordId,
objectType: objectType,
sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850"
})
})
}, "*");
} else {
console.log('Problem updating the case, response state: ' + state);
}
});
$A.enqueueAction(action);
});
} else {
// When user navigates to the entity list page, switch to global session
console.log("global!");
document.querySelector('iframe.CFSLightning').contentWindow.postMessage({
messageType: "onPageNavigateFromSFLightningComponent",
messageData: JSON.stringify({
value: JSON.stringify({
objectId: "",
objectType: 0,
sourceId: "b54abfa8-3d78-4aa0-ae3f-1e2ffbc56850"
})
})
}, "*");
}
}
})
- 选择保存。
- 选择组件,然后复制以下代码:
<aura:component controller="ObjectService" implements="force:lightningQuickAction,force:hasRecordId,flexipage:availableForAllPageTypes" access="global">
<aura:attribute name="recordId" type="Id" />
<aura:attribute name="objectType" type="String" />
<lightning:workspaceAPI aura:id="workspace" />
<aura:handler event="lightning:tabFocused" action="{! c.onTabFocused }"/>
<iframe class="CFSLightning" src="{! '{CFS_WIDGET_URL}'}" width="100%" height="100%" />
</aura:component>
- 将
{CFS_WIDGET_URL}
更新为上一步中保存的服务用 Copilot 小组件URL。
- 执行以下步骤以将自定义组件添加到实用程序栏:
- 选择设置,然后搜索并选择应用程序管理器。
- 搜索并选择服务控制台应用程序。 选择编辑。
- 选择实用工具项>添加实用工具项。
- 搜索并选择自定义中的自定义 lightening 组件,在我们的例子中是 CopilotForService。
- 为小组件指定名称。 例如,Microsoft Copilot for Service。
- 将宽度设置为 450,高度设置为 600。
- 选择保存。
- 执行以下步骤启用弹出窗口:
- 在 Salesforce 中,从应用程序页面转到服务控制台。
- 选择始终允许来自 <url> 的弹出窗口和重定向来启用弹出窗口。
- 选择完成。
- 刷新浏览器。 现在,服务用 Copilot 加载项应该出现在代理控制台的工具栏上。
- 执行以下步骤以将 Copilot 副驾驶® for Service 小组件列入允许列表:
- 在设置的搜索框中搜索受信任的 URL,然后选择受信任的 URL。
- 选择新建受信任的 URL 添加新的受信任 URL。
- 指定 CopilotforService 为 API 名称,URL 为 "*.azureedge.net"
- 选中 CSP 指令中的所有复选框,然后选择保存。