Configurar a passagem de contexto para Agentforce
Ajude seus agentes a trabalhar com mais rapidez e precisão analisando dados contextuais no aplicativo móvel Consumer Goods Cloud. Você pode definir como o aplicativo cria e envia esse contexto configurando contratos de processo e lógica de negócios em seu projeto de personalização.
Edições obrigatórias
| Disponível em: Edições Enterprise e Unlimited que têm Consumer Goods Cloud habilitado |
| Permissões de usuário necessárias | |
|---|---|
| Para configurar a passagem de contexto para Agentforce | Desenvolvedor, Personalizador |
Nota A passagem de contexto funciona quando você usa o Agentforce no aplicativo móvel Consumer Goods Cloud em um dispositivo móvel físico. Não funciona no aplicativo simulador do Modelador.
Por exemplo, para passar o ID da visita do cockpit da loja, execute estas etapas:
- Abra seu projeto de personalização no Modelador baseado no Visual Studio Code.
-
Se necessário, defina uma lógica de
Actionem um contrato de processo.- Abra o contrato do processo relevante.
-
Implemente uma lógica para passar dados para
Actionou buscar dados de um objeto já disponível. Neste exemplo, crie umActionde lógica que use o nome do objeto e o ID do registro como parâmetros de entrada para chamar a lógica de negócios personalizada.<Action actionType="LOGIC" name="LaunchAgentforce" call="ProcessContext::CardController.launchAgentforce"> <Parameters> <Input name="objectName" type="Literal" value="Visit" /> <Input name="recordId" type="Binding" value="ProcessContext::mainBO.PKey" /> </Parameters> </Action> -
Adicione o evento externo de
agentforceLaunchEvente vincule-o à ação.<ExternalEvent name="agentforceLaunchEvent" action="LaunchAgentforce" />
Aqui está um exemplo da configuração do contrato do processo:
<!-- Define the Action to call the Business Logic function --> <Action actionType="LOGIC" name="LaunchAgentforce" call="ProcessContext::CardController.launchAgentforce"> <Parameters> <!-- Pass the Object API Name --> <Input name="objectName" type="Literal" value="Visit" /> <!-- Pass the Record ID dynamically from the current Business Object --> <Input name="recordId" type="Binding" value="ProcessContext::mainBO.PKey" /> </Parameters> </Action> <!-- Define the External Event to intercept the header button click --> <ExternalEvent name="agentforceLaunchEvent" action="LaunchAgentforce" /> -
Implemente a lógica para construir a carga útil e chame a fachada nativa.
- Abra o contrato de lógica de negócios referenciado na ação do processo.
-
Implemente a função que corresponde ao nome definido em sua chamada de
Action. -
Construa a carga útil JSON contendo os
objectApiNamee atributos. -
Invoque a função
Facade.launchAgentForce().
Aqui está um exemplo da implementação da lógica de negócios:
function launchAgentforce(objectName, recordId){ var me = this; ////////////////////////////////////////////////////////////////////////////// // Add your customizing javaScript code below. // ////////////////////////////////////////////////////////////////////////////// var promise; let payload = { "objectAPIName": objectName, "attributes": { "recordId": recordId } }; Facade.launchAgentForce(payload); promise = Promise.resolve(); ////////////////////////////////////////////////////////////////////////////// // Add your customizing javaScript code above. // ////////////////////////////////////////////////////////////////////////////// return promise; }
Estrutura da carga útil de amostra para um registro de visita específico marcado como urgente.
{
"objectApiName": "Visit",
"attributes": {
"recordId": "a00xx0000012345AAA",
"pageType": "standard_recordPage",
"actionName": "view"
},
"additionalAttributes": [
{
"name": "customStatus",
"value": "urgent",
"type": "String"
}
]
}Detalhes do parâmetro:
objectApiName: (String) Obrigatório. O nome da API do contexto do objeto do Salesforce.attributes: (Objeto) Obrigatório. Um contêiner para identificadores de registro, especificamente recordId.additionalAttributes: (Array) Opcional. Pares de valor-chave para contexto extra.
Este artigo resolveu seu problema?
Diga-nos para podermos melhorar!

