你可以將 Service in Microsoft 365 Copilot 代理直接嵌入 Salesforce 桌面,並具備底層平台的情境感知。 這種整合有助於 AI 代理程式提供更好的回應,並有助於進一步簡化客戶服務代表的工作流程。
必要條件
在開始之前,您必須具有以下環境和控制台:
- 一個位於 Microsoft 365 Copilot 實例中的服務,連接到 Salesforce 環境。
- 能夠存取 Salesforce Service 控制台的 Salesforce 生產環境或試用環境。
此外,若要讓您的服務代表能在 Salesforce 中使用 Microsoft 365 Copilot 中的服務,您必須為他們指派基本使用者和全通路代理角色。 如需進一步了解,請參閱為使用者指派資訊安全角色。
執行導覽中的步驟,複製從 iframe src=< 開始的 >。 例如:https://copilotforservice-test.azureedge.net/widget/index.html?dynamicsUrl=https://XXXXXX.crm10.dynamics.com。 在本機上儲存該 URL,如果您使用 CTI 軟體電話,則可以將其複製並貼上到 CTI 適配器 URL 欄位中;如果您使用自訂元件,則可以將其複製並貼上到 CFS_WIDGET_URL 中。
您可以透過以下方式之一在 Salesforce 中整合預先設定的服務代理程式。
開啟 Salesforce Service 控制台,然後選擇右上角的設定 (齒輪) 圖示。
在搜尋欄位中,鍵入呼叫中心,然後在搜尋結果 中選擇呼叫中心。
如果您是第一次設置此小組件,您可能會看到一個頁面,其中包含一條消息,上面寫著向 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>
選取匯入>Choose File,然後瀏覽至您在步驟 4 中儲存的 CopilotForServiceConfig.xml 檔案並選取該檔案。
選取匯入。
選擇 編輯,然後在 CTI 適配器網址 欄位,貼上你在步驟 1 中儲存的服務小工具 URL 的網址。
選取儲存。
執行以下步驟來新增 Salesforce 使用者:
- 在 Salesforce 服務主控台中,選取管理話務中心使用者>新增更多使用者。
- 在 Microsoft 365 Copilot 小工具中新增你想存取服務的每個 Salesforce 使用者。
執行以下步驟來新增軟體電話公用程式:
- 選擇設定,然後搜尋並選擇應用程式管理員。
- 找到服務控制台應用程式,選擇同一行上的倒三角形,然後選擇編輯。
- 選取公用程式項目>新增公用程式項目。
- 搜尋並選取開放式 CTI 軟體電話。
- 輸入你的小工具名稱,例如「Service in Microsoft 365 Copilot」。
- 請將寬度設為 450 ,並將高度設為 600。
- 選取儲存。
執行下列步驟來啟用快顯視窗:
- 在 Salesforce 中,從應用程式 頁面轉到服務控制台。
- 透過選擇始終允許彈出視窗和來自 <url> 的重新導向來啟用彈出視窗。
- 選取完成。
- 重新整理您的瀏覽器。 Microsoft 365 Copilot 中的服務附加元件現在應該會在你的代理主控台工具列中提供。
- 在 Salesforce 中,請執行以下步驟來設定 Microsoft 365 Copilot 小工具中的服務:
開啟 Salesforce 服務主控台,然後選擇齒輪圖示。
從下拉式功能表中選擇開發者主控台。 如果沒有加載,請從快顯視窗複製 URL 並在新分頁中開啟它。
在開發者主控台中,選取檔案>新增>Apex 類別。 指定名稱為 ObjectService ,然後選擇建立,然後將以下程式碼貼到編輯器中:
public class ObjectService {
@AuraEnabled
public static String getObjectType(String objectId) {
Id conId = objectId;
return String.valueOf(conId.getSobjectType());
}
}
執行以下步驟來建立閃電元件:
- 選取檔案>新增>Lightning 元件。
- 指定元件的名稱。 例如,CopilotForService。
- 從元件建立時顯示的捆綁面板中選擇 Controller,然後貼上以下程式碼:
({
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} 為你在前一步儲存的 Microsoft 365 Copilot 小工具服務網址。
- 執行下列步驟將自訂元件新增至公用程式列:
- 選擇設定,然後搜尋並選擇應用程式管理員。
- 搜尋,然後選擇服務主控台應用程式。 選取編輯。
- 選取公用程式項目>新增公用程式項目。
- 在我們的範例中,在自訂、Copilot For Service中搜尋,然後選擇自訂閃電元件。
- 指定小部件的名稱。 例如,Microsoft 365 Copilot 中的服務。
- 請將寬度設為 450 ,並將高度設為 600。
- 選取儲存。
- 執行下列步驟來啟用快顯視窗:
- 在 Salesforce 中,從應用程式 頁面轉到服務控制台。
- 透過選擇始終允許彈出視窗和來自 <url> 的重新導向來啟用彈出視窗。
- 選取完成。
- 重新整理您的瀏覽器。 Microsoft 365 Copilot 中的服務附加元件現在應該會在你的代理主控台工具列中提供。
- 請執行以下步驟以允許 Microsoft 365 Copilot 小工具中的服務:
- 在設定中的搜尋框中搜尋受信任的 URL,然後選擇受信任的 URL。
- 選擇新可信任 URL 以新增新的可信任 URL。
- 將 CopilotforService 指定為 API 名稱,並將 URL 指定為「*.azureedge.net」
- 選取 CSP 指令中的所有核取方塊,然後選擇儲存。