Ti trovi qui:
Aggiunta di componenti di messaggistica personalizzati a un canale di messaggistica di terze parti
Personalizzare la superficie di Messaggistica pronta all'uso in modo che un agente AI possa visualizzare componenti di messaggistica personalizzati, ad esempio moduli, nei canali di chat legacy e di messaggistica di terze parti, insieme ai formati di risposta pronti all'uso.
Versioni (Edition) richieste
| Visualizzare le versioni supportate. | |
Questo articolo si applica a:
|
WhatsApp ottimizzato, Facebook Messenger standard e ottimizzato, SMS standard e ottimizzato, Apple Messages for Business ottimizzato, LINEA ottimizzata e Porta il tuo canale |
Questo articolo non si applica a:
|
Canali Chat in app ottimizzata o Chat Web ottimizzata |
Personalizzare la superficie di Messaggistica pronta all'uso in Agentforce in modo che un agente AI possa visualizzare componenti di messaggistica personalizzati, ad esempio moduli, insieme ai formati di risposta pronti all'uso. Si definisce un AiSurface personalizzato che sostituisce la superficie di Messaggistica basata su file, mantiene i formati di risposta pronti all'uso esistenti e aggiunge una nuova voce AiResponseFormat per ogni componente di messaggistica che si desidera venga utilizzato dall'agente.
Quando utilizzare i componenti di messaggistica personalizzati
Utilizzare i componenti di messaggistica personalizzati quando si servono i clienti tramite distribuzioni chat Salesforce legacy o canali di messaggistica di terze parti, ad esempio WhatsApp, Apple Messages for Business, Facebook Messenger o LINE, e si desidera che l'agente restituisca componenti completi e interattivi.
La superficie di Messaggistica personalizzabile mantiene i formati di risposta di Messaggistica pronti all'uso (MessagingChoices, MessagingChoicesWithImages, MessagingRichLink e MessagingTimePicker) e consente di aggiungere nuovi componenti.
Prerequisiti
- Canale di messaggistica: Configurare il canale di messaggistica appropriato per la chat legacy o il canale di terze parti prima di impostare la connessione di messaggistica personalizzabile.
- Versione API metadati: Utilizzare la versione 66.0 o successiva per il recupero e la distribuzione.
- Agente esistente: Agente Agentforce che utilizza la connessione di messaggistica basata su file (
SurfaceAction__Messaging). - Componente di messaggistica: Componente di messaggistica distribuito (ad esempio un modulo) di cui è possibile fare riferimento nel formato di risposta con ID o nome sviluppatore.
Funzionamento
La superficie di Messaggistica predefinita viene fornita come superficie basata su file (SurfaceAction__Messaging) fornita con quattro formati di risposta pronti all'uso. Per aggiungere un componente di messaggistica, sostituire la superficie basata su file con un AiSurface personalizzabile che fa riferimento agli stessi quattro formati di risposta più il nuovo formato personalizzato.
Dopo la distribuzione, l'agente utilizza i formati di risposta pronti all'uso per le scelte, i link completi e i selettori orari e seleziona il formato personalizzato quando la descrizione e le istruzioni corrispondono alla richiesta del cliente.
Impostazione dei componenti di messaggistica personalizzati
Organizzare i file di metadati utilizzando questa struttura e quindi completare i passaggi seguenti.
metadataToDeploy/
├── package.xml
├── aiResponseFormats/
│ └── Messaging_Form_Messaging_Component.aiResponseFormat
├── aiSurfaces/
│ └── {CustomMessagingSurface}.aiSurface
└── genAiPlannerBundles/
└── {YourAgentDevName}.genAiPlannerBundleFase 1: Recupero del GenAiPlannerBundle dell'agente
Recuperare i GenAiPlannerBundle dell'agente tramite l'API dei metadati. Utilizzare questo package.xml per il recupero.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>GenAiPlannerBundle</name>
</types>
<version>66.0</version>
</Package>Il recupero restituisce il GenAiPlannerBundle per l'agente.
metadataToDeploy/
└── genAiPlannerBundles/
└── {YourAgentDevName}.genAiPlannerBundleFase 2: Sostituzione della superficie di Messaggistica basata su file
Nel GenAiPlannerBundle, trovare la voce plannerSurfaces il cui valore di surface è SurfaceAction__Messaging. Modificare il surface in un nome sviluppatore univoco per la superficie di Messaggistica personalizzabile (ad esempio, CustomMessagingSurface). Lasciare surfaceType impostato su Messaging.
<?xml version="1.0" encoding="UTF-8"?>
<GenAiPlannerBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<!-- Other agent configuration -->
<plannerSurfaces>
<adaptiveResponseAllowed>true</adaptiveResponseAllowed>
<callRecordingAllowed>false</callRecordingAllowed>
<surface>CustomMessagingSurface</surface>
<surfaceType>Messaging</surfaceType>
</plannerSurfaces>
</GenAiPlannerBundle>Questa modifica rimuove la superficie di Messaggistica basata su file e allega la superficie di Messaggistica personalizzabile al suo posto.
Fase 3: Creazione della superficie di messaggistica personalizzabile
Creare una cartella aiSurfaces nel bundle di distribuzione. Al suo interno, creare un file denominato {the_unique_dev_name_from_step_2}.aiSurface. Il nome sviluppatore del file deve corrispondere al valore di surface impostato nel passaggio 2.
La superficie personalizzabile deve includere tutti e quattro i formati di risposta di Messaggistica pronti all'uso in modo che il comportamento di Messaggistica standard continui a funzionare.
<?xml version="1.0" encoding="UTF-8"?>
<AiSurface xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Customizable Messaging connection</description>
<instructions>
<instruction>Do not use any of the SURFACE_ACTION__* response formats when none of the instructions below are met.</instruction>
<sortOrder>1</sortOrder>
</instructions>
<instructions>
<instruction>Do not use the below instructions when the response contains more than 10 choices.</instruction>
<sortOrder>2</sortOrder>
</instructions>
<instructions>
<instruction>Do not use any of the SURFACE_ACTION__Messaging* type formatting when the response contains only a single, text-only choice and does not include images or URLs.</instruction>
<sortOrder>3</sortOrder>
</instructions>
<masterLabel>Messaging</masterLabel>
<responseFormats>
<enabled>true</enabled>
<responseFormat>SurfaceAction__MessagingChoices</responseFormat>
</responseFormats>
<responseFormats>
<enabled>true</enabled>
<responseFormat>SurfaceAction__MessagingChoicesWithImages</responseFormat>
</responseFormats>
<responseFormats>
<enabled>true</enabled>
<responseFormat>SurfaceAction__MessagingRichLink</responseFormat>
</responseFormats>
<responseFormats>
<enabled>true</enabled>
<responseFormat>SurfaceAction__MessagingTimePicker</responseFormat>
</responseFormats>
<source>SurfaceAction__Messaging</source>
<surfaceType>Messaging</surfaceType>
</AiSurface>Per ogni componente di messaggistica personalizzato che si desidera venga utilizzato dall'agente, aggiungere una voce responseFormats che fa riferimento al nome sviluppatore del AiResponseFormat personalizzato.
<responseFormats>
<enabled>true</enabled>
<responseFormat>Messaging_Form_Messaging_Component</responseFormat>
</responseFormats>Fase 4: Creazione del formato AiResponseFormat personalizzato
Creare una cartella aiResponseFormats. Al suo interno, creare un file denominato {FormatDevName}.aiResponseFormat per ogni componente di messaggistica personalizzato.
Questo esempio definisce un componente di messaggistica modulo. Il campo input fa riferimento a un componente di messaggistica distribuito per nome sviluppatore (o ID) utilizzando lo schema del modello di MessageDefinition. Impostare input_strategy su use_template in modo che l'agente compili il modello anziché generare JSON non formattato.
<?xml version="1.0" encoding="UTF-8"?>
<AiResponseFormat xmlns="http://soap.sforce.com/2006/04/metadata">
<description>A response action. Use this when the user wants to create a case. The user is presented with rich UI.</description>
<input>{"template":{"messageType":"FormMessage","id":"{{ uuid4() }}","form":{"formatType":"MessageDefinition","messageDefinitionNameOrId":"Create_Case_Form"}},"input_strategy":"use_template"}</input>
<instructions>
<instruction>Always use this response format to create a case.</instruction>
<sortOrder>1</sortOrder>
</instructions>
<masterLabel>Messaging Form Messaging Component</masterLabel>
</AiResponseFormat>Schema del modello di modulo
Utilizzare questo schema del modello per i componenti di messaggistica del modulo. Il campo input sul AiResponseFormat deve essere una stringa a riga singola con codifica JSON. La versione espansa qui è visualizzata solo per motivi di leggibilità.
{
"template": {
"messageType": "FormMessage",
"id": "{{ uuid4() }}",
"form": {
"formatType": "MessageDefinition",
"messageDefinitionNameOrId": "Create_Case_Form"
}
},
"input_strategy": "use_template"
}| Campo | Descrizione |
|---|---|
template.messageType |
Tipo di componente di messaggistica. Utilizzare FormMessage per i componenti modulo. |
template.id |
Identificatore univoco del messaggio. Utilizzare {{ uuid4() }} per generarne uno in fase di esecuzione. |
template.form.formatType |
Tipo di riferimento del componente. Utilizzare MessageDefinition per fare riferimento a un componente di messaggistica distribuito. |
template.form.messageDefinitionNameOrId |
ID o nome sviluppatore del componente di messaggistica distribuito visualizzato dall'agente. Sostituirlo con il valore del componente. |
input_strategy |
Impostare su use_template in modo che l'agente compili il modello anziché generare JSON non formattato. |
Fase 5: Creare il file package.xml
Creare un file package.xml alla radice del pacchetto di distribuzione che dichiara tutti e tre i tipi di metadati.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>AiResponseFormat</name>
</types>
<types>
<members>*</members>
<name>AiSurface</name>
</types>
<types>
<members>*</members>
<name>GenAiPlannerBundle</name>
</types>
<version>66.0</version>
</Package>Fase 6: Distribuzione
Distribuire i metadati con Salesforce CLI.
sf project deploy start --manifest metadataToDeploy/package.xmlÈ anche possibile distribuire con lo strumento API dei metadati preferito. Se si distribuisce in modo incrementale, distribuire le entità AiResponseFormat prima delle entità AiSurface, poiché la superficie fa riferimento ai formati di risposta.



