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 :Copier
Demander à l'IA
{
"initialMessage": "Message initial",
"prompt": "Prompt système",
"synthesizer": {...},
"callDurationLimit": "600",
"rag": {...},
"extractors": [...],
"classifiers": [...],
"actions": [...],
"recordAudio": false
}
Détail de la configuration
Message de salutation que l’agent utilisera pour débuter la conversation avec l’appelant.
Instructions principales définissant le comportement, la personnalité et les directives que l’agent doit suivre pendant l’appel.
Configuration du moteur de synthèse vocale de l’agent.
Masquer child attributes
Masquer child attributes
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
Copier
Demander à l'IA
{
"kg": "kilogramme",
"cm": {
"fr-FR": "centimètre",
"en-US": "centimeter"
}
}
Paramètres de la voix synthétisée.
Exemple
Copier
Demander à l'IA
{
"locales": ["fr-FR", "en-US"],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
Durée maximale autorisée pour l’appel avant raccrochage, exprimée en secondes.
Configuration de la base de donnée de RAG (Retrieval-Augmented Generation).
Masquer child attributes
Masquer child attributes
Liste d’identifiants uniques des bases de données RAG à utiliser pour enrichir les réponses de l’agent.
Liste des extracteurs d’informations que l’agent doit utiliser pendant l’appel.
Exemple
Copier
Demander à l'IA
[
{
"name": "Prénom du client",
"description": "Prénom du client"
},
{
"name": "Nom de famille du client",
"description": "Nom de famille du client"
}
]
Liste des classifieurs pour catégoriser automatiquement les appels.
Exemple
Copier
Demander à l'IA
[
{
"name": "Classifieur par défaut",
"type": "PRIMARY",
"labels": ["Prise de RDV", "Informations pratiques", "..."],
"description": "Prompt de classification détaillé..."
},
{
"name": "Traitement",
"type": "SECONDARY",
"labels": ["Echec transfert", "Appel transféré", "..."],
"description": "Prompt de classification détaillé..."
}
]
Masquer child attributes
Masquer child attributes
Nom du classifieur.
Type de classifieur. Valeurs possibles :
PRIMARY, SECONDARY.- Un classifieur de type
PRIMARYest obligatoire - Un seul classifieur de type
PRIMARYest accepté
Liste des étiquettes de classification disponibles.
Instructions détaillées sous la forme d’un prompt définissant les règles de classification pour chaque étiquette.
Liste des actions que l’agent peut exécuter pendant l’appel.
Masquer child attributes
Masquer child attributes
Type d’action. Valeurs possibles :
TRANSFER_CALL.Instructions détaillées sur l’utilisation de l’action sour la forme d’un prompt.
En-têtes HTTP personnalisés à transmettre lors de l’exécution de l’action.
Uniquement disponible en transfer SIP
Durée maximale d’attente lors d’un transfert d’appel, exprimée en secondes.
Identifiant de la connexion SIP sortante utilisée pour les transferts.
Disponibilité globale de l’action par jour de la semaine. Peut être
null si aucune restriction.Exemple
Copier
Demander à l'IA
{
"MONDAY": [
{
"startTime": "07:30",
"endTime": "12:30"
},
{
"startTime": "13:15",
"endTime": "18:00"
}
]
}
Masquer child attributes
Masquer child attributes
Créneaux horaires disponibles le mardi.
Créneaux horaires disponibles le mercredi.
Créneaux horaires disponibles le jeudi.
Créneaux horaires disponibles le vendredi.
Créneaux horaires disponibles le samedi.
Créneaux horaires disponibles le dimanche.
Liste des numéros de téléphone ou identifiants SIP autorisés pour les transferts.
Masquer child attributes
Masquer child attributes
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.Description de la destination et instructions pour déclencher le transfert.
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
Copier
Demander à l'IA
[
{
"startTime": "07:30",
"endTime": "12:30"
},
{
"startTime": "13:15",
"endTime": "18:00"
}
]
Heure de début de disponibilité au format HH:MM.
Heure de fin de disponibilité au format HH:MM.
Permet d’activer (true) ou de désactiver (false) l’enregistrement audio de l’appel.
Exemple concis : changer la voix et la langue
Copier
Demander à l'IA
{
"initialMessage": "Hello! I'm your virtual assistant. How can I help you today?",
"synthesizer": {
"voice": {
"locales": ["en-US"],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
}
Copier
Demander à l'IA
{
"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
Copier
Demander à l'IA
{
"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",
"type": "PRIMARY",
"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",
"type": "SECONDARY",
"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": [
{
"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
}