Acción invocable de agente personalizado: Clases Apex de ejemplo
Llame a una acción invocable de agente personalizado desde una clase Apex para completar una tarea automáticamente con su Agente de servicio Agentforce o agente Agentforce predeterminado. La clase Apex debe devolver la respuesta del agente.
Ediciones necesarias
| Disponible en: Lightning Experience |
| Disponible en: Enterprise Edition, Performance Edition, Unlimited Edition y Developer Edition. Las licencias complementarias requeridas varían según el tipo de agente. |
| Permisos de usuario necesarios | |
|---|---|
| Para crear una acción invocable de agente asociada con Agentforce (Predeterminado): | Gestionar agentes de IA Y los permisos requeridos para su tipo de agente O BIEN Personalizar aplicación |
| Para crear una acción invocable de agente asociada con Agente de servicio Agentforce: | Gestionar agentes de servicio Agentforce Y Gestionar agentes de IA O BIEN Personalizar aplicación |
Las acciones invocables por agentes personalizadas solo admiten variables de contexto. Para crear una variable de contexto, cree un campo personalizado en el objeto Sesión de mensajería y luego agréguelo como una variable en Agentforce Builder. En estos ejemplos, caseId y leadId son los nombres de API de campos personalizados.
Esta clase Apex llama al agente Agentforce predeterminado utilizando la versión 1.1.0 de la acción invocable de agente personalizado. Devuelve un correo electrónico utilizando la clase de Apex CaseEmail y un Id. de 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'));
}
}
}
Esta clase Apex llama a un Agente de servicio Agentforce utilizando la versión 1.0.0 de la acción invocable de agente personalizado. Devuelve un resumen basado en el Id. de candidato.
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());
}
}
}
