Loading
AI generativa Agentforce ed Einstein
Azione invocabile agente personalizzata: Esempio di classi Apex

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.
Importante
Importante A partire dal 17 giugno 2025, Agentforce (impostazione predefinita) non includerà nuove funzioni o miglioramenti e non è disponibile nei nuovi ambienti Salesforce. Si consiglia di migrare all'agente Agentforce Employee per continuare a migliorare e supportare. Se si prevede di passare all'agente Agentforce Employee o di apportare modifiche alle licenze correlate, completare in anticipo la migrazione degli agenti Agentforce (predefiniti) esistenti per evitare potenziali interruzioni nella disponibilità degli agenti. Se la migrazione non può essere completata in anticipo, è possibile creare nuovi agenti dopo la transizione, che può comportare alcuni tempi di inattività. Vedere Migrazione da Agentforce (impostazione predefinita) ad Agentforce Employee Agent.
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());
      }
    }
}
 
Caricamento
Salesforce Help | Article