Vue d’ensemble
La configuration dynamique permet de personnaliser le comportement de votre agent vocal pendant la sonnerie d’un appel. Cette fonctionnalité offre une flexibilité complète pour adapter l’agent aux spécificités de chaque interaction.Cette configuration est destinée à être utilisée pendant les workflows pré-appel.
Structure de la configuration
La configuration s’articule autour d’un objet JSON structuré permettant de définir l’ensemble des paramètres opérationnels de l’agent :{
"initialMessage": "Message initial",
"prompt": "Prompt système",
"synthesizer": {...},
"callDurationLimit": "600",
"rag": {...},
"extractors": [...],
"classifiers": [...],
"actions": [...],
"recordAudio": false
}
Détail de la configuration
string
Message de salutation que l’agent utilisera pour débuter la conversation avec l’appelant.
string
requis
Instructions principales définissant le comportement, la personnalité et les directives que l’agent doit suivre pendant l’appel.
object
requis
Configuration du moteur de synthèse vocale de l’agent.
Afficher child attributes
Afficher child attributes
object
Règles de substitutions vocales du texte avant synthèse vocale pour améliorer la prononciation.Les clés représentent les termes à normaliser. Les valeurs peuvent être :
- Une chaîne de caractères pour un remplacement simple
- Un objet avec des traductions spécifiques par locale
Exemple
{
"kg": "kilogramme",
"cm": {
"fr-FR": "centimètre",
"en-US": "centimeter"
}
}
object
requis
Paramètres de la voix synthétisée.
Exemple
{
"locales": ["fr-FR", "en-US"],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model": "eleven_multilingual_v2"
}
Afficher child attributes
Afficher child attributes
array
requis
Liste des langues supportées par l’agent (codes
ISO 639-1).string
requis
Identifiant unique de la voix sélectionnée dans le catalogue Volubile.
string
Identifiant du modèle de synthèse vocale à utiliser pour cette voix.Valeurs autorisées :
eleven_v3eleven_multilingual_v2eleven_flash_v2_5
Ce paramètre n’est pris en compte que pour les voix dont le fournisseur supporte les modèles. En pratique, l’override est appliqué pour les voix ElevenLabs et ignoré pour les autres fournisseurs.
number
défaut:"1800"
Durée maximale autorisée pour l’appel avant raccrochage, exprimée en secondes.
object
Configuration de la base de données de RAG (Retrieval-Augmented Generation).
Afficher child attributes
Afficher child attributes
array
requis
Liste d’identifiants uniques des bases de données RAG à utiliser pour enrichir les réponses de l’agent.
array
Liste des extracteurs d’informations que l’agent doit utiliser pendant l’appel.
Exemple
[
{
"name": "Prénom du client",
"description": "Prénom du client"
},
{
"name": "Nom de famille du client",
"description": "Nom de famille du client"
}
]
array
Liste des classifieurs pour catégoriser automatiquement les appels.
Exemple
[
{
"name": "Classifieur par défaut",
"labels": ["Prise de RDV", "Informations pratiques", "..."],
"description": "Prompt de classification détaillé..."
},
{
"name": "Traitement",
"labels": ["Echec transfert", "Appel transféré", "..."],
"description": "Prompt de classification détaillé..."
}
]
array
Liste des actions que l’agent peut exécuter pendant l’appel.
Afficher child attributes
Afficher child attributes
string
requis
Nom de l’action.
string
requis
Type d’action. Valeurs possibles :
TRANSFER_CALL.string
requis
Instructions détaillées sur l’utilisation de l’action sous la forme d’un prompt.
object
En-têtes HTTP personnalisés à transmettre lors de l’exécution de l’action.
Uniquement disponible en transfert SIP
number
défaut:"20"
Durée maximale d’attente lors d’un transfert d’appel, exprimée en secondes.
string
Identifiant de la connexion SIP sortante utilisée pour les transferts.
object
Disponibilité globale de l’action par jour de la semaine. Peut être
null si aucune restriction.Exemple
{
"MONDAY": [
{
"startTime": "07:30",
"endTime": "12:30"
},
{
"startTime": "13:15",
"endTime": "18:00"
}
]
}
Afficher child attributes
Afficher child attributes
array
array
Créneaux horaires disponibles le mardi.
array
Créneaux horaires disponibles le mercredi.
array
Créneaux horaires disponibles le jeudi.
array
Créneaux horaires disponibles le vendredi.
array
Créneaux horaires disponibles le samedi.
array
Créneaux horaires disponibles le dimanche.
array
Liste des numéros de téléphone ou identifiants SIP autorisés pour les transferts.
Afficher child attributes
Afficher child attributes
string
requis
Numéro de téléphone ou identifiant SIP de destination pour le transfert.
Un identifiant SIP ne peut être utilisé que si une connexion SIP (matérialisée par la référence renseignée dans
actions[].sipOutboundConnectionId) a été préalablement créée.string
requis
Description de la destination et instructions pour déclencher le transfert.
object
Disponibilité spécifique de cette destination par jour de la semaine. Peut être
null si aucune restriction.Structure identique à actions[].availability avec les mêmes jours de la semaine.Exemple
[
{
"startTime": "07:30",
"endTime": "12:30"
},
{
"startTime": "13:15",
"endTime": "18:00"
}
]
string
Heure de début de disponibilité au format HH:MM.
string
Heure de fin de disponibilité au format HH:MM.
boolean
Permet d’activer (true) ou de désactiver (false) l’enregistrement audio de l’appel.
Exemple concis : changer la voix et la langue
{
"initialMessage": "Hello! I'm your virtual assistant. How can I help you today?",
"synthesizer": {
"voice": {
"locales": ["en-US"],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
}
{
"initialMessage": "Bonjour! Je suis votre assistant virtuel. Comment puis-je vous aider aujourd'hui?",
"synthesizer": {
"voice": {
"locales": ["fr-FR"],
"id": "24b1c3cc-0d44-4b50-8888-8dd25736052a"
}
}
}
Exemple complet
{
"initialMessage": "Message initial",
"prompt": "Prompt",
"synthesizer": {
"voice": {
"locales": ["fr-FR", "en-US"],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"textNormalizationPatterns": {
"kg": "kilogramme",
"cm": {
"fr-FR": "centimètre",
"en-US": "centimeter"
}
}
},
"callDurationLimit": "600",
"rag": {
"datasourceIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a", "4c90c3cc-0d44-4b50-8888-8dd25736052a"]
},
"extractors": [
{
"name": "Prénom du client",
"description": "Prénom du client"
},
{
"name": "Nom du client",
"description": "Nom du client"
}
],
"classifiers": [
{
"name": "Classifieur par défaut",
"labels": ["Prise de RDV", "Informations pratiques", "..."],
"description": "Prompt : Tu es un expert en classification d'appels téléphoniques à partir de transcriptions d’appel.\n\nVoici les règles à suivre pour attribuer un label à chaque appel :\n\n- \"Prise de RDV\" : ..."
},
{
"name": "Traitement",
"labels": ["Echec transfert", "Appel transféré", "..."],
"description": "Prompt : Tu es un expert en classification d'appels téléphoniques à partir de transcriptions d’appel.\n\nVoici les règles à suivre pour attribuer un label à chaque appel :\n\n- \"Echec transfert\" : ..."
}
],
"actions": [
{
"name": "Transfert vers le support",
"type": "TRANSFER_CALL",
"description": "Prompt : Permet de transférer l'appel vers un autre numéro. Confirme bien avec l'interlocuteur une ultime fois qu'il est d'accord pour être transféré avant d'effectuer le transfert pour de bon.",
"headers": {
"Volubile-Cli": "12345"
},
"ringTimeout": 30,
"sipOutboundConnectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"availability": null,
"allowedToPhones": [
{
"phone": "sip-cli",
"description": "Prompt permettant de déclencher le transfert vers un trunk sip",
"availability": null
},
{
"phone": "+33612345678",
"description": "Prompt permettant de déclencher le transfert vers un numéro spécifique, service client, etc.",
"availability":
{
"MONDAY": [
{
"startTime": "07:30",
"endTime": "12:30"
},
{
"startTime": "13:15",
"endTime": "18:00"
}
],
"TUESDAY": [],
"WEDNESDAY": [],
"THURSDAY": [
{
"startTime": "07:30",
"endTime": "12:30"
},
{
"startTime": "13:15",
"endTime": "18:00"
}
],
"FRIDAY": [],
"SATURDAY": [],
"SUNDAY": []
}
}
]
}
],
"recordAudio": true
}