Интеграция предварительно настроенного агента для обслуживания клиентов в Salesforce
Мақала
Предварительно настроенных агентов ИИ можно встраивать непосредственно в рабочий стол Salesforce с учетом контекста базовой платформы. Эта интеграция помогает агентам ИИ предоставлять более качественные ответы и помогает еще больше оптимизировать рабочий процесс для операторов отдела обслуживания клиентов.
Предварительные требования
Прежде чем начать, у вас должны быть следующие среды и консоль:
Экземпляр Copilot для обслуживания клиентов, подключенный к среде Salesforce.
Рабочая среда Salesforce или пробная среда с доступом к консоли Salesforce Service.
Кроме того, чтобы представители службы поддержки могли использовать Copilot для обслуживания клиентов в Salesforce, необходимо назначить им роли «Основной пользователь» и «Агент Многоканального взаимодействия». Подробнее см. в разделе Назначение роли безопасности пользователю.
Интеграция предварительно настроенных агентов для обслуживания клиентов
Войдите в свой экземпляр Copilot для обслуживания клиентов.
На карте сайта выберите Каналы, а затем выберите Salesforce.
Выберите Импорт>Выберите файл, а затем выберите файл CopilotForServiceConfig.xml, сохраненный на шаге 4.
Выберите Импорт.
Выберите Изменить, затем в поле URL-адрес адаптера CTI вставьте URL-адрес мини-приложения Copilot для обслуживания клиентов, сохраненный на шаге 1.
Выберите Сохранить.
Чтобы добавить пользователей Salesforce, выполните следующие действия:
В консоли Salesforce Service выберите Управление пользователями колл-центра>Добавить дополнительных пользователей.
Добавьте каждого пользователя Salesforce, которому требуется доступ к мини-приложению Copilot для обслуживания клиентов.
Чтобы добавить утилиту программного телефона, выполните следующие действия:
Выберите Настройка, а затем найдите и выберите Диспетчер приложений.
Найдите приложение Service Console, выберите перевернутый треугольник в той же строке, а затем выберите Редактировать.
Выберите Элементы служебной программы>Добавить элемент служебной программы.
Найдите и выберите Открыть программный телефон CTI.
Введите имя мини-приложения, например «Microsoft Copilot для обслуживания клиентов».
Установите для ширины значение 450, а для высоты — 600.
Выберите Сохранить.
Выполните следующие шаги, чтобы включить всплывающие окна:
В Salesforce перейдите в консоль службы со страницы Приложения.
Включите всплывающие окна, выбрав Всегда разрешать всплывающие окна и перенаправления с <URL>.
Нажмите кнопку Готово.
Обновите свой браузер. Надстройка Copilot для обслуживания клиентов теперь должна быть доступна на панели инструментов консоли вашего агента.
Выполните следующие шаги, чтобы настроить мини-приложение Copilot для обслуживания клиентов в Salesforce:
Откройте консоль Salesforce Service и выберите значок шестеренки.
Выберите Консоль разработчика из раскрывающегося списка. Если он не загружается, скопируйте URL-адрес из всплывающего окна и откройте его в новой вкладке.
В Консоли разработчика выберите Файл>Создать>Класс вершины. Укажите имя ObjectService и выберите Создать, затем вставьте в редактор следующий код:
public class ObjectService {
@AuraEnabled
public static String getObjectType(String objectId) {
Id conId = objectId;
return String.valueOf(conId.getSobjectType());
}
}
Для создания компонента молнии выполните следующие действия:
Выберите Файл>Создать>Компонент молнии.
Укажите имя для компонента. Например, 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"
})
})
}, "*");
}
}
})