Voit upottaa valmiiksi määritettyjä tekoälyagentteja suoraan Salesforce-työpöydälle kontekstuaalisen tietoisuuden avulla taustalla olevasta alustasta. Tämä integraatio auttaa tekoälyagentteja antamaan parempia vastauksia ja virtaviivaistamaan asiakaspalvelijoiden työnkulkua entisestään.
edellytykset
Varmista ennen aloittamista, että sinulla on seuraavat ympäristöt ja konsoli:
Salesforce-ympäristöön yhdistetty Palvelun Copilot -ilmentymä.
Salesforce-tuotantoympäristö tai -kokeiluympäristö, jossa on Salesforce-palvelukonsolin käyttöoikeus.
Palvelun Copilotin käyttö Salesforcessa edellyttää lisäksi, että asiakaspalvelijoille määritetään peruskäyttäjän ja monikanavan asiakaspalvelijan roolit. Lisätietoja on kohdassa Käyttöoikeusroolin määrittäminen käyttäjälle.
Esimääritettyjen palveluagenttien integrointi
Kirjaudu sisään Palvelun Copilot -ilmentymään.
Valitse sivustokartasta Kanavat ja valitse sitten Salesforce.
Avaa Salesforce Service -konsoli ja valitse rataskuvake.
Valitse avattavasta valikosta Kehittäjäkonsoli. Jos se ei lataudu, kopioi URL-osoite ponnahdusikkunasta ja avaa se uudessa välilehdessä.
Valitse Kehittäjäkonsoli-kohdassa Tiedosto>Uusi>Apex-luokka. Määritä nimeksi ObjectService, valitse Luo ja liitä sitten seuraava koodi editoriin:
public class ObjectService {
@AuraEnabled
public static String getObjectType(String objectId) {
Id conId = objectId;
return String.valueOf(conId.getSobjectType());
}
}
Suorita seuraavat vaiheet Lightning-komponentin luomiseksi:
Valitse Tiedosto>Uusi>Lightning-komponentti.
Määritä komponentille nimi. Esimerkiksi PalvelunCopilot.
Valitse Ohjain pakettipaneelista, joka tulee näkyviin, kun komponentti on luotu, ja liitä sitten seuraava koodi:
({
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"
})
})
}, "*");
}
}
})
Valitse Tallenna.
Valitse Komponentti ja kopioi sitten seuraava koodi: