Lägg till egna meddelandekomponenter i en meddelandekanal från tredje part
Anpassa den färdiga meddelandeytan så att en AI-agent kan återge egna meddelandekomponenter—som formulär—i äldre chatt- och tredjepartsmeddelandekanaler, tillsammans med de färdiga svarsformaten.
Versioner som krävs
| Visa versioner som stöds. | |
Denna artikel gäller för:
|
Utökad WhatsApp, Standard och Utökad Facebook Messenger, Standard och Utökade SMS, Utökade Apple-meddelanden för företag, Utökad linje och Bring Your Own-kanal |
Denna artikel gäller inte för:
|
Utökad chatt i app eller utökade webbchattkanaler |
Anpassa den färdiga meddelandeytan i Agentforce så att en AI-agent kan återge egna meddelandekomponenter—som formulär—tillsammans med de färdiga svarsformaten. Du definierar en egen AiSurface som ersätter den filbaserade meddelandeytan, bevarar de befintliga färdiga svarsformaten och lägger till en ny AiResponseFormat för varje meddelandekomponent som du vill att agenten ska använda.
När egna meddelandekomponenter ska användas
Använd egna meddelandekomponenter när du servar kunder genom äldre Salesforce-chattdistribueringar eller meddelandekanaler från tredje part—som WhatsApp, Apple Messages for Business, Facebook Messenger eller LINE—och du vill att agenten ska returnera rika, interaktiva komponenter.
Den anpassningsbara meddelandeytan bevarar de färdiga meddelandesvarsformaten (MessagingChoices, MessagingChoicesWithImages, MessagingRichLink och MessagingTimePicker) och låter dig lägga till nya komponenter ovanpå dem.
Förkrav
- Service Cloud-meddelandekanal: Konfigurera lämplig Service Cloud-meddelandekanal för äldre chatt eller din tredjepartskanal innan du konfigurerar den anpassningsbara meddelandeanslutningen.
- Metadata API-version: Använd version 66.0 eller senare för hämtning och distribuering.
- Befintlig agent: En Agentforce agent som använder den filbaserade meddelandeanslutningen (
SurfaceAction__Messaging). - Meddelandekomponent: En distribuerad meddelandekomponent (till exempel ett formulär) vars ID eller utvecklarnamn du kan referera till i svarsformatet.
Så här fungerar det
Standardmeddelandeytan levereras som en filbaserad yta (SurfaceAction__Messaging) som levereras med fyra färdiga svarsformat. För att lägga till en meddelandekomponent, ersätt den filbaserade ytan med en anpassningsbar AiSurface som refererar till samma fyra svarsformat plus ditt nya egna format.
Efter distribueringen använder agenten de färdiga svarsformaten för val, rich-länkar och tidsväljare, och väljer ditt egna format när dess beskrivning och instruktioner matchar kundens begäran.
Konfigurera egna meddelandekomponenter
Organisera dina metadatafiler med denna struktur och utför sedan stegen som följer.
metadataToDeploy/
├── package.xml
├── aiResponseFormats/
│ └── Messaging_Form_Messaging_Component.aiResponseFormat
├── aiSurfaces/
│ └── {CustomMessagingSurface}.aiSurface
└── genAiPlannerBundles/
└── {YourAgentDevName}.genAiPlannerBundleSteg 1: Hämta agentens GenAiPlannerBundle
Hämta din agents GenAiPlannerBundle genom Metadata API. Använd denna package.xml för hämtningen.
<?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>Återhämtningen returnerar GenAiPlannerBundle för din agent.
metadataToDeploy/
└── genAiPlannerBundles/
└── {YourAgentDevName}.genAiPlannerBundleSteg 2: Ersätt den filbaserade meddelandeytan
I din GenAiPlannerBundle, hitta plannerSurfaces vars surface är SurfaceAction__Messaging. Ändra surface till ett unikt utvecklarnamn för din anpassningsbara meddelandeyta (till exempel CustomMessagingSurface). Lämna surfaceType satt till 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>Denna ändring tar bort den filbaserade meddelandeytan och fäster din anpassningsbara meddelandeyta på dess plats.
Steg 3: Skapa den anpassningsbara meddelandeytan
Skapa en aiSurfaces i ditt distributionspaket. Inuti den, skapa en fil som heter {the_unique_dev_name_from_step_2}.aiSurface. Filens utvecklarnamn måste matcha det surface du angav i steg 2.
Den anpassningsbara ytan måste inkludera alla fyra färdiga meddelandesvarsformat så att standardmeddelandebeteendet fortsätter att fungera.
<?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>För varje egen meddelandekomponent som du vill att agenten ska använda, lägg till en responseFormats som refererar utvecklarnamnet på din egna AiResponseFormat.
<responseFormats>
<enabled>true</enabled>
<responseFormat>Messaging_Form_Messaging_Component</responseFormat>
</responseFormats>Steg 4: Skapa det egna AiResponseFormat
Skapa en aiResponseFormats. Inuti den, skapa en fil som heter {FormatDevName}.aiResponseFormat för varje egen meddelandekomponent.
Detta exempel definierar en formulärmeddelandekomponent. Fältet input refererar till en distribuerad meddelandekomponent efter utvecklarnamn (eller ID) med hjälp av schemat för MessageDefinition. Sätt input_strategy till use_template så att agenten fyller i mallen istället för att skapa rå JSON.
<?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>Formulärmallschema
Använd detta mallschema för formulärmeddelandekomponenter. Fältet input i AiResponseFormat måste vara en JSON-kodad sträng med en rad. Den utökade versionen här visas endast för läsbarhet.
{
"template": {
"messageType": "FormMessage",
"id": "{{ uuid4() }}",
"form": {
"formatType": "MessageDefinition",
"messageDefinitionNameOrId": "Create_Case_Form"
}
},
"input_strategy": "use_template"
}| Fält | Beskrivning |
|---|---|
template.messageType |
Meddelandekomponenttypen. Använd FormMessage för formulärkomponenter. |
template.id |
En unik identifierare för meddelandet. Använd {{ uuid4() }} för att skapa en vid körning. |
template.form.formatType |
Referenstypen för komponenten. Använd MessageDefinition för att referera till en distribuerad meddelandekomponent. |
template.form.messageDefinitionNameOrId |
ID eller utvecklarnamn för den distribuerade meddelandekomponenten som agenten återger. Ersätt det med din komponents värde. |
input_strategy |
Sätt till use_template så att agenten fyller i mallen istället för att skapa rå JSON. |
Steg 5: Skapa package.xml-filen
Skapa en package.xml i roten av ditt distributionspaket som deklarerar alla tre metadatatyperna.
<?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>Steg 6: Distribuera
Distribuera metadata med Salesforce CLI.
sf project deploy start --manifest metadataToDeploy/package.xmlDu kan även distribuera med ditt föredragna Metadata API-verktyg. Om du distribuerar stegvis, distribuera AiResponseFormat innan AiSurface, eftersom ytan refererar svarsformaten.


