Personnalisation

Découvrez comment personnaliser le comportement de votre agent à l’aide de variables dynamiques et de remplacements.

Vue d’ensemble

La personnalisation vous permet d’adapter le comportement de votre agent à chaque utilisateur, pour des conversations plus naturelles et pertinentes dans leur contexte. ElevenLabs propose plusieurs approches de personnalisation :

  1. Variables dynamiques : injectez des valeurs d’exécution dans les prompts et les messages
  2. Remplacements : remplacez entièrement les prompts système ou les messages
  3. Webhooks d’initialisation de conversation : récupérez ces données depuis votre serveur au démarrage d’une conversation

Méthodes de personnalisation

Structure des données client d’initialisation de conversation

L’objet conversation_initiation_client_data définit les éléments personnalisables au démarrage d’une conversation. Les clients peuvent l’envoyer directement. Un webhook d’initialisation de conversation renvoie le même objet.

{
"type": "conversation_initiation_client_data",
"conversation_config_override": {
"agent": {
"prompt": {
"prompt": "overriding system prompt",
"llm": "gpt-5.6-luna"
},
"first_message": "overriding first message",
"language": "en"
},
"tts": {
"voice_id": "voice-id-here"
},
"conversation": {
"text_only": false
},
"asr": {
"keywords": ["Acme Corp", "Contoso"]
}
},
"custom_llm_extra_body": {
"temperature": 0.7,
"max_tokens": 100
},
"dynamic_variables": {
"string_var": "text value",
"number_var": 1.2,
"integer_var": 123,
"boolean_var": true
},
"user_id": "your_custom_user_id",
"branch_id": "agtbrch_xxxx",
"environment": "production"
}

Les variables dynamiques système, celles dont le préfixe est system__, ne peuvent pas être envoyées ni remplacées dans la charge utile d’initialisation du client. Seules les variables dynamiques personnalisées peuvent être définies via le champ dynamic_variables.

Webhooks d’initialisation de conversation

Pour la téléphonie et la messagerie entrantes, ElevenAgents peut récupérer ces données d’initialisation depuis votre serveur plutôt que depuis le client. Lorsque le webhook est activé, ElevenAgents envoie une requête POST et applique le JSON que vous renvoyez.

Configurez l’URL du webhook et les secrets d’en-tête dans les paramètres des agents. Dans l’onglet Sécurité de l’agent, activez Récupérer les données client d’initialisation depuis un webhook ainsi que tous les champs de remplacement que votre réponse peut inclure.

Le webhook s’exécute pour une nouvelle conversation entrante sur Twilio Voice, Exotel, un trunk SIP, WhatsApp ou Twilio SMS lorsque les données client d’initialisation ne sont pas déjà présentes. Il s’exécute également pour les sessions Amazon Connect, où votre réponse est fusionnée avec le contexte de contact fourni par Amazon Connect.

Les appels sortants via Twilio Voice, Exotel, SIP et WhatsApp ne le déclenchent que si la requête sortante n’incluait pas conversation_initiation_client_data. Les messages WhatsApp sortants ne le déclenchent jamais. Transmettez plutôt les variables dynamiques dans la requête sortante.

Il ne s’exécute pas pour les conversations via widget ou SDK, les autres intégrations de messagerie, ni les fils WhatsApp et SMS repris.

Les conversations de prévisualisation lancées depuis la page des paramètres de l’agent ne déclenchent pas les webhooks d’initialisation de conversation. Lors de vos tests dans Prévisualisation, utilisez les espaces réservés Variables dynamiques dans l’éditeur d’agent. Ces espaces réservés ne sont pas utilisés dans les conversations entrantes en production.

ElevenAgents envoie le contexte de l’appelant dans le corps de la requête :

{
"caller_id": "+15551234567",
"called_number": "+15557654321",
"agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"conversation_id": "conv_8901k5zvyjhmfg983brhmhkd98n6"
}

caller_id et called_number sont des numéros de téléphone sur Twilio, Exotel, SIP et SMS. Pour les messages WhatsApp entrants, il s’agit de l’ID utilisateur WhatsApp et de l’ID de votre numéro de téléphone WhatsApp. Pour les appels sortants, caller_id correspond à votre numéro et called_number à la personne appelée. call_sid est le SID d’appel du fournisseur pour la téléphonie et une chaîne vide pour WhatsApp, SMS et Amazon Connect. Les appels SIP peuvent également inclure call_id et sip_headers. Les sessions Amazon Connect incluent call_id, défini sur l’ID du contact.

Votre réponse doit respecter la structure conversation_initiation_client_data ci-dessus. Incluez toutes les variables dynamiques personnalisées définies par l’agent. Les remplacements sont facultatifs et doivent être activés dans Sécurité. Le corps de la réponse HTTP doit faire 256 Ko ou moins (262 144 octets).

Un webhook en échec ou expiré peut empêcher le démarrage de la conversation. Pour la configuration de Twilio, consultez Personnalisation Twilio. Ce webhook est distinct des webhooks post-appel.

Choisir la bonne approche

MéthodeIdéal pourImplémentation
Variables dynamiques
  • Insérer des données propres à l’utilisateur dans du contenu modélisé - Maintenir un comportement cohérent de l’agent avec des détails personnalisés - Personnaliser les paramètres des outils
Définissez des variables avec {{ variable_name }} et transmettez les valeurs à l’exécution
Remplacements
  • Modifier entièrement le comportement de l’agent selon l’utilisateur - Changer de langue ou de voix - Applications héritées (envisagez de migrer vers les variables dynamiques)

Activez des autorisations de remplacement spécifiques dans les paramètres de sécurité et transmettez le contenu de remplacement complet

Webhooks d’initialisation de conversation
  • Personnaliser depuis votre serveur les conversations entrantes Twilio, SIP, WhatsApp ou SMS - Rechercher le contexte de l’appelant avant le début de la conversation

Activez le webhook dans les paramètres de sécurité et renvoyez conversation_initiation_client_data

En savoir plus