Azione invocabile agente personalizzata: Esempio di classi Apex
Chiamare un'azione invocabile da un agente personalizzato da una classe Apex per completare automaticamente un'operazione con l'agente dell'assistenza Agentforce o l'agente Agentforce predefinito. La classe Apex deve restituire la risposta dell'agente.
Versioni (Edition) richieste
| Disponibile in: Lightning Experience |
| Disponibile in: Enterprise Edition, Performance Edition, Unlimited Edition e Developer Edition. Le licenze aggiuntive richieste variano a seconda del tipo di agente. |
| Autorizzazioni utente richieste | |
|---|---|
| Per creare un'azione invocabile agente associata ad Agentforce (predefinita): | Gestisci agenti AI E le autorizzazioni richieste per il tipo di agente OPPURE Personalizza applicazione |
| Per creare un'azione invocabile agente associata all'agente dell'assistenza Agentforce: | Gestisci agenti dell'assistenza Agentforce E Gestisci agenti AI OPPURE Personalizza applicazione |
Le azioni invocabili dagli agenti personalizzati supportano solo le variabili di contesto. Per creare una variabile di contesto, creare un campo personalizzato nell'oggetto Sessione di Messaggistica e quindi aggiungerlo come variabile in Agentforce Builder. In questi esempi, caseId e leadId sono i nomi API dei campi personalizzati.
Questa classe Apex chiama l'agente Agentforce predefinito utilizzando la versione 1.1.0 dell'azione invocabile dell'agente personalizzato. Restituisce un messaggio email utilizzando la classe Apex CaseEmail e un ID caso.
public class AgentIAInvoker {
public static void invokeJavaAction() {
try {
// Create an instance of the invocable action with type ‘generateAiAgentResponse’, API name ‘Acme_Agent’, and version 1.1.0
Invocable.Action action = Invocable.Action.createCustomAction('generateAiAgentResponse', null, 'Acme_Agent', '1.1.0');
action.setInvocationParameter('userMessage', 'Generate an email with a summary of the case');
action.setInvocationParameter('caseId', '500VW0XXXXXXXXXXXX');
action.setInvocationParameter('apexClassName', 'CaseEmail');
// Execute the action
List results = action.invoke();
// Handle the response
System.debug('Result is: ' + results[0].getOutputParameters().get('structuredAgentResponse'));
}
}
}
Questa classe Apex chiama un agente dell'assistenza Agentforce utilizzando la versione 1.0.0 dell'azione invocabile dell'agente personalizzato. Restituisce un riepilogo basato sull'ID lead.
public class AgentIAInvoker {
public static void invokeJavaAction() {
try {
// Create an instance of the invocable action with type ‘generateAiAgentResponse’ and name ‘Agentforce_Service_Agent_new’
Invocable.Action action = Invocable.Action.createCustomAction('generateAiAgentResponse', null, 'Agentforce_Service_Agent_new', '1.0.0');
action.setInvocationParameter('userMessage', 'Summarize my contact');
action.setInvocationParameter('leadId', '500VW0XXXXXXXXXXXX');
// Execute the action
List<Invocable.Action.Result> results = action.invoke();
Invocable.Action.Result result = results[0];
// Handle the response
if (result.isSuccess()) {
// Retrieve the Session ID and Agent Response
System.debug('Output Session ID: ' + result.getOutputParameters().get('sessionId'));
System.debug('Output Agent Response: ' + result.getOutputParameters().get('agentResponse'));
} else {
System.debug('Java action execution failed: ' + result.getErrors());
}
} catch (Exception e) {
System.debug('Error invoking Java action: ' + e.getMessage());
}
}
}
