Vous êtes ici :
Ajout de composants de messagerie personnalisés à un canal de messagerie tiers
Personnalisez la surface de messagerie prête à l'emploi afin de permettre à un agent IA de restituer des composants de messagerie personnalisés, tels que des formulaires, dans des canaux de chat hérités et des canaux de messagerie tiers, en plus des formats de réponse prêts à l'emploi.
Éditions requises
| Afficher les éditions prises en charge. | |
Cet article s'applique à :
|
WhatsApp avancé, Facebook Messenger standard et avancé, SMS standard et avancé, Apple Messages for Business avancé, LINE avancé et Bring Your Own Channel |
Cet article ne s'applique pas à :
|
Canaux Chat dans l'application avancé ou Chat Web avancé |
Personnalisez la surface de Messagerie prête à l'emploi dans Agentforce afin de permettre à un agent IA de restituer des composants de messagerie personnalisés, tels que des formulaires, parallèlement aux formats de réponse prêts à l'emploi. Vous définissez une AiSurface personnalisée qui remplace la surface de Messagerie basée sur un fichier, préservez les formats de réponse prêts à l'emploi existants et ajoutez une nouvelle entrée AiResponseFormat pour chaque composant de messagerie que vous souhaitez que l'agent utilise.
Quand utiliser des composants de messagerie personnalisés
Utilisez des composants de messagerie personnalisés lorsque vous servez des clients via des déploiements de chat Salesforce hérités ou des canaux de messagerie tiers, tels que WhatsApp, Apple Messages for Business, Facebook Messenger ou LINE, et que vous souhaitez que l'agent renvoie des composants enrichis et interactifs.
La surface de messagerie personnalisable préserve les formats de réponse de Messagerie prêts à l'emploi (MessagingChoices, MessagingChoicesWithImages, MessagingRichLink et MessagingTimePicker) et permet d'ajouter de nouveaux composants.
Prérequis
- Canal de messagerie Service Cloud : Configurez le canal de messagerie Service Cloud approprié pour le chat hérité ou votre canal tiers avant de configurer la connexion de messagerie personnalisable.
- Version d'API de métadonnées : Utilisez la version 66.0 ou supérieure pour la récupération et le déploiement.
- Agent existant : Un agent Agentforce qui utilise la connexion de messagerie basée sur un fichier (
SurfaceAction__Messaging). - Composant Messagerie : Un composant de messagerie déployé (par exemple un formulaire) dont vous pouvez référencer l'ID ou le nom du développeur sous le format de réponse.
Fonctionnement
La surface de messagerie par défaut est fournie sous forme de surface basée sur un fichier (SurfaceAction__Messaging) livrée avec quatre formats de réponse prêts à l'emploi. Pour ajouter un composant de messagerie, remplacez la surface basée sur le fichier par un AiSurface personnalisable qui référence les quatre mêmes formats de réponse plus votre nouveau format personnalisé.
Après le déploiement, l'agent utilise les formats de réponse prêts à l'emploi pour les choix, les liens enrichis et les sélecteurs de temps, puis sélectionne votre format personnalisé lorsque sa description et ses instructions correspondent à la demande du client.
Configuration de composants de messagerie personnalisés
Organisez vos fichiers de métadonnées en utilisant cette structure, puis suivez les étapes ci-dessous.
metadataToDeploy/
├── package.xml
├── aiResponseFormats/
│ └── Messaging_Form_Messaging_Component.aiResponseFormat
├── aiSurfaces/
│ └── {CustomMessagingSurface}.aiSurface
└── genAiPlannerBundles/
└── {YourAgentDevName}.genAiPlannerBundleÉtape 1: Récupérer le GenAiPlannerBundle de l'agent
Récupérez les GenAiPlannerBundle de votre agent via l'API de métadonnées. Utilisez cette package.xml pour la récupération.
<?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>La récupération renvoie le GenAiPlannerBundle de votre agent.
metadataToDeploy/
└── genAiPlannerBundles/
└── {YourAgentDevName}.genAiPlannerBundleÉtape 2 : Remplacer la surface de messagerie basée sur un fichier
Dans votre GenAiPlannerBundle, recherchez l'entrée plannerSurfaces dont la valeur de surface est SurfaceAction__Messaging. Changez surface en nom de développeur unique pour votre surface de messagerie personnalisable (par exemple, CustomMessagingSurface). Laissez surfaceType défini sur 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>Cette modification détache la surface de Messagerie basée sur un fichier et fixe votre surface de Messagerie personnalisable à sa place.
Étape 3 : Créer la surface de messagerie personnalisable
Créez un dossier aiSurfaces dans votre offre groupée de déploiement. À l'intérieur, créez un fichier nommé {the_unique_dev_name_from_step_2}.aiSurface. Le nom du développeur du fichier doit correspondre à la valeur de surface que vous avez définie à l'étape 2.
La surface personnalisable doit inclure les quatre formats de réponse Messagerie prêts à l'emploi pour que le comportement standard de Messagerie continue de fonctionner.
<?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>Pour chaque composant de messagerie personnalisé que vous souhaitez que l'agent utilise, ajoutez une entrée responseFormats qui référence le nom du développeur de votre AiResponseFormat personnalisé.
<responseFormats>
<enabled>true</enabled>
<responseFormat>Messaging_Form_Messaging_Component</responseFormat>
</responseFormats>Étape 4 : Créer le format AiResponseFormat personnalisé
Créez un dossier aiResponseFormats. À l'intérieur, créez un fichier nommé {FormatDevName}.aiResponseFormat pour chaque composant de messagerie personnalisé.
Cet exemple définit un composant de messagerie Formulaire. Le champ input référence un composant de messagerie déployé par nom (ou ID) de développeur en utilisant le schéma de modèle MessageDefinition. Définissez input_strategy sur use_template afin de permettre à l'agent de remplir le modèle au lieu de générer un JSON brut.
<?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>Schéma de modèle de formulaire
Utilisez ce schéma modèle pour des composants de messagerie Formulaire. Le champ input de la AiResponseFormat doit être une chaîne à une ligne codée en JSON. La version agrandie ici est affichée uniquement à des fins de lisibilité.
{
"template": {
"messageType": "FormMessage",
"id": "{{ uuid4() }}",
"form": {
"formatType": "MessageDefinition",
"messageDefinitionNameOrId": "Create_Case_Form"
}
},
"input_strategy": "use_template"
}| Champ | Description |
|---|---|
template.messageType |
Le type de composant de messagerie. Utilisez FormMessage pour les composants de formulaire. |
template.id |
Un identifiant unique pour le message. Utilisez {{ uuid4() }} pour en générer un à l'exécution. |
template.form.formatType |
Le type de référence du composant. Utilisez MessageDefinition pour référencer un composant de messagerie déployé. |
template.form.messageDefinitionNameOrId |
L'ID ou le nom du développeur du composant de messagerie déployé que l'agent restitue. Remplacez-le par la valeur de votre composant. |
input_strategy |
Définissez sur use_template afin de permettre à l'agent de remplir le modèle au lieu de générer un JSON brut. |
Étape 5: Créer le fichier package.xml
Créez un fichier package.xml à la racine de votre paquet de déploiement qui déclare les trois types de métadonnées.
<?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>Étape 6 : Déployer
Déployez les métadonnées avec Salesforce CLI .
sf project deploy start --manifest metadataToDeploy/package.xmlVous pouvez également déployer avec votre outil d'API de métadonnées préféré. Si vous déployez de façon incrémentielle, déployez les entités AiResponseFormat avant les entités AiSurface, car la surface référence les formats de réponse.


