Version du 3 septembre 2026. Ce guide s'adresse aux personnes qui configurent des agents et des campagnes dans StarLeads. Il suit l'ordre des écrans du Studio et explique, pour chaque réglage, ce qu'il change réellement dans la conversation, les erreurs que vous pouvez rencontrer et les astuces qui font la différence.
Comment lire ce guide : chaque chapitre se termine, quand c'est utile, par un encadré Erreurs et blocages (les messages que vous pouvez voir, leur cause, la correction) et un encadré Astuces. Le chapitre 30 regroupe tous les symptômes observables en conversation, le chapitre 31 tous les messages d'erreur de l'interface.
1. Comment votre agent fonctionne
Un agent StarLeads est une intelligence artificielle qui tient une conversation à votre place, par téléphone, sur un widget web, par SMS ou WhatsApp. Vous lui donnez un prompt (ses instructions), une accroche (sa première phrase), une voix, et éventuellement des outils pour agir (vérifier un agenda, créer un ticket, transférer l'appel).
Trois choses à savoir avant de commencer.
Votre prompt n'est pas tout ce que l'agent sait. StarLeads ajoute automatiquement à vos instructions quelques règles de base, toujours actives :
- L'agent connaît la date et l'heure courantes (heure de Paris), mises à jour à chaque échange.
- Si l'interlocuteur dit « Allô ? », l'agent répète sa dernière phrase.
- S'il tombe sur un répondeur, l'agent raccroche.
- Quand il a obtenu ce qu'il cherchait, il prend congé et raccroche.
- Il doit varier ses formulations et parler comme un humain.
- S'il a des outils, il sait comment les appeler et doit annoncer ce qu'il fait avant d'agir.
Vous n'avez pas à réécrire ces règles. Vous pouvez les préciser ou les contredire dans votre prompt si votre cas l'exige.
L'agent parle phrase par phrase. Dès qu'une phrase est terminée (point, point d'interrogation, point d'exclamation, deux-points), elle est prononcée, sans attendre la suite. Des phrases courtes rendent l'agent plus réactif et plus naturel. La phrase est aussi l'unité de mémoire de la voix : une phrase déjà prononcée à l'identique part instantanément la fois suivante.
L'agent est une machine à écouter. Tout ce qui se passe au téléphone repose sur des délais : combien de temps il attend que l'interlocuteur finisse sa phrase, combien de temps de silence avant de relancer, combien de temps il continue à parler quand on lui coupe la parole. Ces délais sont expliqués au chapitre 17, et plusieurs se règlent dans les paramètres.
2. Créer l'agent : canal, direction, langue, nom
À la création, vous choisissez :
| Choix | Options | Ce que cela change |
|---|---|---|
| Canal | Téléphone (Entrant), Téléphone (Sortant), Web, SMS, WhatsApp | Les sections de paramètres affichées et les fonctions disponibles. Un canal grisé n'est pas inclus dans votre abonnement. |
| Direction (téléphone) | Sortant : l'agent effectue les appels. Entrant : l'agent reçoit les appels. | Choisit quelle accroche est utilisée et active la détection de répondeur (sortant uniquement). |
| Langue | Français par défaut | Pilote la reconnaissance vocale, la prononciation des nombres et des adresses email, la détection des répondeurs, le jugement des interruptions. Un agent ne parle qu'une langue. |
| Nom | Libre, bouton de nom aléatoire | Le compteur « n/10 » sur les étiquettes est indicatif. |
Différences entre entrant et sortant :
- Sortant : l'agent reconnaît un répondeur, un serveur vocal ou un message d'attente, peut composer des touches et en recevoir. L'appel dure au maximum 5 minutes sur la plupart des lignes (certaines lignes ont une autre limite, jusqu'à 15 minutes ; demandez à StarLeads).
- Entrant : tout interlocuteur est considéré comme humain. Pas de détection de répondeur, pas de touches du clavier ni en réception ni en émission. Pas de limite de durée.
Un agent Web est toujours entrant. Un agent SMS ou WhatsApp est toujours sortant.
Langues réellement supportées en voix : français, anglais, espagnol, italien, allemand. Ce qui se dégrade selon la langue :
| Langue | Ce qui fonctionne moins bien |
|---|---|
| Anglais, italien, allemand | Détection de répondeur uniquement par l'IA (pas de mots-clés) ; en italien, pas de détection des standards de filtrage. |
| Allemand | Le jugement des interruptions utilise des exemples français. |
| Autres langues (néerlandais, portugais, polonais…) | Pas de reconnaissance vocale disponible : l'agent n'entend rien ou l'appel est coupé. Ne créez pas d'agent vocal dans ces langues sans accord de StarLeads. |
| Toutes sauf le français | Les formulations « combien », « numéro de téléphone », « adresse mail » qui allongent l'écoute (chapitre 4.2) n'existent qu'en français. |
Pour un agent belge ou suisse, les nombres sont prononcés à la française (« quatre-vingt-dix », pas « nonante »).
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| « Information requise » sous le nom, la langue ou le canal | Champ vide | Renseignez-le. |
| Une carte de canal grisée, « n'est pas inclus dans votre plan actuel » | Fonction absente de l'abonnement, ou désactivée sur votre compte | Mettez à niveau, ou contactez le support si « désactivé sur votre compte ». |
| « Appels entrants » grisé | Fonction non incluse | idem |
| WhatsApp non sélectionnable, lien « Se connecter à WhatsApp Business » | Compte WhatsApp Business non connecté | Connectez-le depuis la page WhatsApp. |
| « Erreur lors de la création de l'agent : limite d'agents atteinte (N max) » | Nombre d'agents du plan atteint | Archivez un agent ou changez de plan. |
| En modification : bouton « Dupliquer » à la place de « Enregistrer », « Vous souhaitez changer le canal de communication de cet agent… » | L'agent a déjà des campagnes ; changer de canal ou de direction impose une copie | Confirmez la duplication : un nouvel agent est créé avec le nouveau canal, l'ancien reste intact. |
Astuces
- Choisissez le canal et la direction définitivement avant de créer des campagnes : les changer ensuite oblige à dupliquer l'agent.
- Un agent Téléphone sortant peut aussi recevoir des rappels de prospects (chapitre 24), sans être « entrant ».
3. L'onglet Prompt : accroche et instructions
3.1 L'accroche
L'accroche est la première phrase de l'agent, prononcée telle quelle sans passer par l'IA. Sur un agent téléphonique vous avez deux champs : l'accroche pour les appels sortants et l'accroche pour les appels entrants. Si l'accroche entrante est vide, l'accroche sortante sert aux deux.
Ce qu'il faut savoir :
- Si l'accroche est vide, l'IA invente elle-même la première phrase à partir du prompt. C'est moins prévisible et plus lent. Sur un agent Téléphone sortant l'accroche est facultative ; sur tous les autres canaux elle est obligatoire (bandeau « Premier message obligatoire », et la campagne ne peut pas être activée).
- Elle est pré-générée avant l'appel : elle part sans latence, avec une qualité audio constante.
- Pendant l'accroche, l'interlocuteur ne peut pas couper la parole à l'agent, et ce qu'il dit par-dessus est ignoré (sauf s'il ressemble à un répondeur ou un standard). Gardez-la courte, deux phrases au plus, terminée par une question.
- Vous pouvez y utiliser vos variables (
{{prenom}}),{{phone_number}}et les phrases du Studio. Pas la balise{{pause}}: écrivez directement<break time="1s" />si besoin. Pas{{hangup}}: il serait lu à voix haute. - La mise en forme (gras, titres, listes) est retirée ; les retours à la ligne sont ignorés.
- Sur un agent sortant, si la personne décroche mais ne dit rien pendant 6 secondes, l'agent dit d'abord le message d'inactivité (« Allô ? ») pour vérifier qu'il y a quelqu'un, puis l'accroche dès qu'on lui répond.
Bon exemple : « Bonjour {{prenom}}, c'est Léa de chez Nova. Je vous appelle suite à votre demande de devis, vous avez deux minutes ? »
3.2 Le prompt
Le prompt est l'ensemble des instructions de l'agent : qui il est, pourquoi il appelle, ce qu'il doit obtenir, comment il doit parler, ce qu'il doit faire dans chaque situation. Le chapitre 4 explique comment l'écrire.
L'éditeur propose :
- Un menu contextuel avec
/pour la mise en forme (titres, listes). Les titres et le gras sont conservés dans le prompt : ils aident l'IA à s'y retrouver. - Un menu de balises avec
{: pause, numéro de téléphone, raccrocher (agents téléphoniques), puis vos variables, vos phrases du Studio, vos outils. Voir chapitre 5. - Un texte d'exemple grisé quand le prompt est vide (Contexte, Mission, Script…) : c'est un modèle, il disparaît dès que vous écrivez.
- Le choix du Modèle d'IA. Les modèles marqués « premium » sont plus puissants et un peu plus lents. En cas de doute, gardez le modèle par défaut.
- Historique du prompt : chaque enregistrement crée une version si le prompt a changé ; vous pouvez comparer et restaurer.
Il n'y a pas de limite de longueur dans le Studio (l'API en impose une à 50 000 caractères). En pratique, un bon prompt d'agent téléphonique tient en 4 000 à 10 000 caractères, base de connaissances comprise. Au-delà, l'agent oublie vos règles et ralentit.
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| Bandeau rouge « Premier message obligatoire » | Accroche vide sur un agent Web, SMS, WhatsApp ou Téléphone entrant | Renseignez l'accroche. Si une campagne est active, la sauvegarde est bloquée tant qu'elle est vide. |
| Balise rouge « Cette variable n'a pas été définie » | {{nom}} ne correspond à aucune variable d'entrée (orthographe, casse) |
Déclarez la variable ou corrigez le nom. |
| Balise rouge « Phrase non présente dans le studio » | {{studio: …}} ne correspond à aucune phrase enregistrée |
Réinsérez-la depuis le menu {. |
| Balise rouge « Outil non enregistré » | {{tool: nom}} d'un outil non attaché à l'agent |
Attachez l'outil dans Paramètres, Outils. |
| Balise orange « Cet outil n'a ni requête HTTP ni action Pipedream configurée » | Outil créé mais vide | Terminez sa configuration. |
| « Aucune version précédente » | Aucune sauvegarde n'a modifié le prompt | Normal sur un agent neuf. |
| « Impossible de créer une session chat » (test) | Problème temporaire de service | Réessayez ; vérifiez que l'agent est enregistré. |
Astuces
- Restaurer une version enregistre immédiatement l'agent, même si une campagne est active. Vérifiez avant de restaurer.
- Seul le prompt est restauré : pas l'accroche, ni les variables, ni les paramètres.
- Une variable renommée n'est pas renommée dans le prompt : la balise devient rouge, il faut la réinsérer.
4. Écrire un bon prompt
4.1 La structure qui marche
Écrivez des sections courtes, avec des titres. L'agent s'y retrouve, et vous aussi six mois plus tard.
# Rôle
Tu es Léa, assistante de Nova Énergie. Tu appelles {{prenom}} {{nom}} qui a demandé
un devis sur notre site. Tu vouvoies. Tu réponds toujours en français.
# Contexte
(Pourquoi cet appel. Ce que l'agent sait déjà du prospect. Ce qu'il ne sait pas.)
# Objectifs, dans l'ordre
1. Vérifier que tu parles bien à {{prenom}}.
2. Confirmer le besoin (type de logement, surface).
3. Proposer un rendez-vous avec un conseiller et obtenir un jour et une heure.
# Déroulé
(Pour chaque étape : la question à poser, et quoi faire selon la réponse.)
# Base de connaissances
(Les faits que l'agent a le droit de donner : tarifs, délais, horaires. Rien d'autre.)
# Style
- Phrases courtes, moins de quinze mots. Jamais plus de deux phrases d'affilée.
- Une seule question à la fois, toujours en fin de réponse.
- Pas de listes, pas d'émojis, pas de mise en forme.
- Les nombres, dates et heures se disent comme à l'oral.
# Règles
- Tu ne raccroches jamais dans une réponse où tu poses une question.
- Tu ne promets rien qui ne soit pas dans la base de connaissances.
- Si la personne demande à ne plus être appelée, tu t'excuses et tu termines : {{hangup}}
- Si ce n'est pas {{prenom}} et qu'on ne peut pas te le passer, tu t'excuses et tu termines : {{hangup}}
# Fin d'appel
Quand tu as un jour et une heure, tu remercies, tu souhaites une bonne journée et tu termines : {{hangup}}
4.2 Les règles propres à la voix
Des phrases courtes et bien ponctuées. L'agent prononce chaque phrase dès qu'elle est finie. Une phrase de quarante mots met seize secondes à être dite : l'interlocuteur coupera avant la fin. Une phrase de trois cents mots sans point part en un seul bloc et peut échouer à la synthèse : elle est alors sautée en silence. Demandez explicitement des phrases de moins de quinze mots.
Attention aux deux-points. Pour l'agent, un deux-points termine une phrase. « Voici nos horaires : lundi… » est coupé en deux avec une micro-pause. Préférez une virgule.
Une seule question par tour, en dernière phrase. L'agent ne sait pas gérer deux réponses à la fois. Et si l'agent est interrompu, c'est la fin de sa réponse qui saute : mieux vaut perdre une explication qu'une question. Placer la question en dernier a un autre avantage : un « oui » dit par l'interlocuteur juste après une question est toujours pris en compte, alors qu'un « oui » dit pendant une explication peut être ignoré (chapitre 14).
Nombres, prix, numéros, dates, heures. La voix transforme automatiquement les nombres en mots, avec des pièges détaillés au chapitre 18. Retenez : téléphones par paires avec le « zéro » écrit (« zéro six, douze, trente-quatre »), heures « 10 heures 30 » et jamais « 10h30 », dates « le 12 septembre » et jamais « 12/09 », pourcentages « 50 pour cent », prix « 15 euros », ordinaux « troisième ». Le modèle imite les exemples du prompt : écrivez-les déjà au format oral.
Ce que l'agent entend. La reconnaissance vocale renvoie les nombres tantôt en lettres, tantôt en chiffres selon le modèle choisi. Ne faites jamais dépendre une règle d'un format exact ; faites reformuler et confirmer les données importantes (« Je note le zéro six, douze, trente-quatre, c'est bien ça ? »).
Adresses email. Elles sont épelées correctement d'elles-mêmes (« arobase », « point ») avec une exception : en français, le point est aujourd'hui prononcé « poing ». Ajoutez la règle de prononciation poing → point (chapitre 13).
Trois formulations qui aident l'écoute. Quand une réponse de l'agent contient « combien », « numéro de téléphone » ou « un mail » / « adresse mail » / « adresse e-mail », l'écoute attend jusqu'à deux secondes de plus que l'interlocuteur ait fini de dicter un nombre, un numéro ou une adresse. Utilisez ces mots exacts : « Quel est votre numéro de téléphone ? » plutôt que « Comment puis-je vous joindre ? ». Français uniquement.
Pas d'accolades ni de guillemets inversés. Tout ce qui est entre accolades dans une réponse est traité comme une commande et retiré de la voix. N'écrivez pas d'exemples avec des accolades dans le prompt, en dehors des balises du menu {.
Pas de markdown dans les réponses. Les astérisques, tirets et dièses sont lus à voix haute ou avalés selon la voix. Interdisez-les explicitement.
Sigles et majuscules. « SNCF » est lu tantôt comme un mot, tantôt épelé. Écrivez « S N C F ». Les sigles avec chiffres (B2B, 4G, mp3) sont mal lus : écrivez-les phonétiquement (« bi tou bi », « quatre G ») ou via un remplacement de mots.
La langue. Les règles automatiques de la plateforme sont en anglais. Rappelez explicitement « Tu réponds toujours en français » et le tutoiement ou le vouvoiement. Un prompt qui mélange français et anglais fait changer l'accent de la voix d'une phrase à l'autre.
L'ordre compte. Les règles placées en tête du prompt sont mieux respectées que celles de la fin, surtout quand l'agent a des outils (leur mode d'emploi est inséré après votre prompt). Mettez le rôle, la langue et les règles de sécurité en premier, la base de connaissances en dernier.
4.3 La règle la plus rentable
Tu ne raccroches jamais dans une réponse où tu poses une question.
Sans cette règle, l'agent finit régulièrement par « Avez-vous d'autres questions ? » et raccroche dans la foulée, avant la réponse. C'est le défaut numéro un des prompts.
4.4 Prévoir les situations
| Situation | Instruction type |
|---|---|
| Mauvais numéro | « Si la personne dit que ce n'est pas {{prenom}}, demande si tu peux lui parler. Sinon excuse-toi et termine. » |
| Refus, agacement | « Si la personne ne veut pas parler, excuse-toi en une phrase et termine avec {{hangup}}. » |
| Demande de rappel | « Si la personne demande à être rappelée, note le jour et l'heure souhaités, confirme, remercie et termine. » Et créez une extraction « date de rappel » dans le Reporting. |
| Autre langue | « Si la personne parle une autre langue, excuse-toi en anglais et termine. » |
| Question hors sujet | « Si on te pose une question qui n'est pas dans ta base de connaissances, dis que tu ne sais pas et propose qu'un conseiller rappelle. » |
| Interruption | « Si tu es interrompu, réponds à ce qu'on te dit, puis reprends là où tu en étais sans tout répéter. » |
| Répondeur non détecté | « Si tu entends "laissez un message après le bip", termine immédiatement avec {{hangup}}. » |
| Standard de filtrage (« indiquez le motif de votre appel ») | « Si un assistant automatique te demande le motif de l'appel, réponds en une phrase : … » |
| Rendez-vous sans agenda | « Tu n'as pas accès à l'agenda. Tu proposes des créneaux et tu notes celui qui convient, sans confirmer qu'il est disponible. » |
| Deux personnes parlent | « Si plusieurs personnes parlent, adresse-toi à celle qui a décroché et demande à qui tu parles. » (la transcription mélange les voix) |
| Donnée mal comprise | « Avant toute action irréversible, récapitule ce que tu as compris et demande confirmation. » |
4.5 Ce qui ne sert à rien, ou nuit
- Répéter les règles automatiques (répéter sur « Allô », raccrocher sur répondeur).
- Expliquer à l'agent comment appeler un outil : il le sait. Dites-lui seulement quand l'appeler et quoi dire avant.
- Demander des pauses avec « … » ou « [pause] » : seule la balise
{{pause}}fonctionne. - Demander des listes, des tirets, du gras : ils sont lus à voix haute ou ignorés.
- Coller de longs exemples de dialogue : l'agent les recopie mot pour mot. Préférez des règles.
- Écrire des URL : elles sont lues n'importe comment. Envoyez-les par SMS ou par email via un outil.
- Un prompt de 30 000 caractères. Mettez la documentation dans une base de connaissances (chapitre 10).
5. Les balises : variables, pause, raccrocher, phrases du Studio, outils
Tapez { dans l'éditeur pour ouvrir le menu.
| Balise | Ce qu'elle fait | Où elle fonctionne |
|---|---|---|
{{prenom}} (une de vos variables) |
Remplacée par la valeur du contact | Prompt, accroches, messages répondeur |
{{phone_number}} |
Numéro de téléphone du contact | Prompt, accroches. Vide sur un agent Web. |
{{pause}} |
Silence de deux secondes dans la voix | Prompt (l'agent la recopie dans ses phrases). Dans l'accroche, écrivez directement <break time="1s" /> |
{{hangup}} |
L'agent raccroche après avoir dit la phrase qui précède | Prompt uniquement (agents téléphoniques) |
{{date_now}} |
Date et heure au début de l'appel | Prompt. Inutile en général : l'agent connaît déjà la date. |
{{studio: Bonjour, c'est Léa}} |
Phrase enregistrée dans le Studio, rejouée avec la vraie voix | Prompt, accroches, messages d'inactivité et répondeur |
{{tool: nom_outil}} |
Repère visuel pour vous. Sans effet sur l'agent | Prompt |
Deux balises avancées existent pour les agents sortants, à écrire à la main : {{transfer=+33123456789}} (transfert direct vers un numéro, sans passer par l'outil de transfert) et {{dtmf=1}} (composer une touche, utile face à un serveur vocal). Elles ne fonctionnent que dans le prompt, et une seule par réponse de l'agent est prise en compte : la première.
Le piège de la variable absente. Si {{prenom}} est dans le prompt mais que le contact n'a pas de prénom, la balise reste telle quelle : l'agent peut la lire à voix haute (« accolade prénom accolade ») ou la recopier dans une action, ce qui peut faire échouer l'action. Deux parades : déclarer la variable comme obligatoire, et écrire « Si le prénom n'est pas renseigné, ne l'utilise pas ».
Les balises sont sensibles à la casse. {{Prenom}} ne remplace pas la variable prenom.
6. Les variables d'entrée
Les variables sont les informations propres à chaque contact : prénom, société, référence de dossier, produit demandé. Elles se déclarent dans la fiche de l'agent (« Ajouter une nouvelle variable ») et se remplissent :
- par import de fichier CSV dans la campagne (une colonne par variable),
- par l'API,
- par l'URL du widget Web (un paramètre par variable obligatoire),
- par les paramètres du template WhatsApp (créées automatiquement),
- par un workflow (« Transférer à un agent »).
Règles :
- Seules les variables déclarées sont remplacées. Une colonne du fichier qui ne correspond à aucune variable déclarée est ignorée dans le prompt.
- Le Studio n'impose aucun format de nom. Utilisez pourtant uniquement lettres, chiffres et underscore, sans espace ni accent, sans parenthèses ni points :
prenom,date_rdv,ref_dossier. Un nom avec des caractères spéciaux peut ne pas être remplacé du tout. - Une variable obligatoire empêche l'import d'un contact qui ne l'a pas (colonne non mappée à l'import, champ manquant par l'API). Rendez obligatoire tout ce dont le prompt a besoin.
phone_numberest un champ système, toujours présent, non supprimable.- Enregistrer la fenêtre des variables sauvegarde immédiatement tout l'agent, même si une campagne est active.
- Supprimer une variable utilisée dans le prompt ne prévient pas : la balise devient rouge.
Les variables sont aussi disponibles dans le Reporting et dans les workflows, et renvoyées à votre webhook.
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| Popup « Voulez-vous supprimer ce type de data? » | Suppression d'une variable | Vérifiez qu'elle n'est pas utilisée dans le prompt, l'accroche ou les messages. |
| Variable non supprimable | Champ système, ou variable d'un template WhatsApp | Normal. |
| À l'import : « Obligatoire » sous une colonne | Variable obligatoire non mappée | Choisissez la colonne du fichier ou rendez la variable facultative. |
7. Langue et voix
7.1 Voix standard
Choisissez une voix dans la liste, filtrée par la langue de l'agent. Le bouton Boost / Qualité arbitre entre vitesse et richesse :
- Boost : voix générée plus vite, un peu moins expressive. Recommandé pour les agents téléphoniques, où la latence compte.
- Qualité : voix plus riche, un peu plus lente à générer.
Écoutez toujours votre accroche et une réponse type avec la voix choisie avant de lancer. Une voix clonée (« Personnel ») n'est pas filtrée par langue : vérifiez qu'elle correspond.
7.2 Voix humaine et Studio
Certaines voix sont compatibles avec le Studio (icône micro ; les autres portent « Non compatible Studio ») : vous enregistrez vous-même des phrases avec cette voix, et l'agent les rejoue à l'identique quand il les utilise. C'est le moyen d'obtenir un rendu indiscernable d'un humain sur les phrases clés. Voir chapitre 19.
7.3 Changer de voix quand des phrases sont enregistrées
- Vers une autre voix compatible Studio : « Souhaitez-vous changer la voix de votre agent ? … entraînera la régénération de l'ensemble de ses audios ». Les enregistrements sont reconvertis dans la nouvelle voix (quelques minutes).
- Vers une voix non compatible : « Attention : Cette action supprimera tous vos audios ». Il faut taper « supprimer mes audios » pour confirmer. Irréversible.
7.4 Vitesse de parole
Il n'y a pas de réglage de vitesse par agent. Jouez sur la ponctuation (phrases courtes = débit perçu plus vif) et sur {{pause}}.
7.5 Ce qui est mis en cache
Chaque phrase déjà prononcée par une voix est conservée : la deuxième fois, elle part instantanément. La clé est le texte exact : une virgule ou une majuscule en plus produit une nouvelle synthèse, avec une prononciation potentiellement différente. Une accroche fixe, des messages d'inactivité fixes et des formulations stables dans le prompt rendent l'agent plus rapide et plus régulier.
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| « Aucune voix trouvée » | Aucune voix pour cette langue | Changez de langue ou contactez le support. |
| « Voix non compatible avec le Studio » sur l'onglet Studio | Voix sans capacité d'enregistrement | Choisissez une voix compatible. |
| « Le texte de confirmation ne correspond pas. » | Saisie différente de « supprimer mes audios » | Retapez exactement. |
| « Limite de nombre de voix atteinte » (voix clonées) | Une seule voix clonée par compte | Supprimez l'existante. |
| « {{filename}} est trop volumineux, il ne doit pas dépasser 10MB. » | Fichier audio de clonage trop lourd (formats wav, mp3) | Réduisez le fichier. |
8. Paramètres : Transfert d'appel
Agents téléphoniques uniquement. Quand l'option est activée, l'agent dispose d'une action de transfert. Le numéro de destination et les règles s'écrivent dans le prompt :
# Transfert
Si la personne demande à parler à un humain, ou si elle a une réclamation, dis
« Je vous transfère à un conseiller, un instant. » puis transfère l'appel au +33 1 23 45 67 89.
Ce qu'il faut savoir :
- L'agent doit annoncer le transfert avant de le faire. Le transfert n'est exécuté qu'une fois la phrase prononcée.
- Le transfert est « aveugle » : l'agent quitte la conversation immédiatement et ne peut plus rien dire. Si le poste destinataire ne décroche pas, il n'y a pas de retour vers l'agent : l'appel est perdu.
- Après un transfert, la conversation est terminée pour StarLeads et classée comme transférée ; l'enregistrement s'arrête.
- L'agent reçoit une consigne de transfert par défaut, assez large : « à utiliser quand l'appelant doit être mis en relation avec un humain ou un autre service ». Sans instruction contraire, il peut transférer de lui-même sur un simple « je veux parler à quelqu'un ». Pour limiter : « Tu ne transfères que si la personne le demande deux fois » ou « Tu ne transfères jamais avant d'avoir obtenu le nom et le motif ».
- Le numéro se donne au format international (+33…). Si vous écrivez plusieurs numéros, précisez lequel utiliser dans chaque cas : l'agent n'en composera qu'un.
- Sur les appels entrants, le destinataire du transfert voit le numéro de la ligne StarLeads, pas celui du client.
Astuces
- Testez le transfert avec un vrai appel de test, vers un poste que vous tenez : c'est le seul moyen de vérifier que la ligne accepte le transfert.
- Faites dire par l'agent le nom du service avant de transférer, pour que le destinataire comprenne d'où vient l'appel : lui ne recevra aucun contexte.
9. Paramètres : Outils
9.1 Ce qu'est un outil, et ce qu'il n'est pas
Un outil (appelé aussi « action ») permet à l'agent de faire quelque chose ou d'aller chercher une donnée vivante pendant la conversation : consulter un agenda, vérifier l'état d'une commande, créer un ticket, envoyer un email, enregistrer une réponse dans votre CRM, déclencher un devis.
Deux familles d'outils se créent dans la page Outils :
| Type | Ce que c'est | Quand le choisir |
|---|---|---|
| HTTP Request | Un appel à votre propre interface de programmation (votre API, votre CRM maison, un service interne exposé sur internet) | Vous avez une équipe technique et une API. Contrôle total sur les données envoyées et reçues. |
| Pipedream | Une action prête à l'emploi dans une application du catalogue (Google Calendar, Gmail, HubSpot, Slack, Notion…) | Vous voulez brancher un outil du marché sans développer. Nécessite de connecter l'application au préalable, voir 9.2. |
Trois autres capacités s'ajoutent automatiquement sans passer par cette page : le transfert d'appel quand l'option est activée (chapitre 8), la recherche dans la base de connaissances quand un chat est connecté (chapitres 10 et 27), et d'éventuels outils standard de la plateforme selon le canal.
Ce qu'un outil n'est pas :
- Ce n'est pas un endroit où stocker de l'information. Pour de la documentation, une FAQ, des conditions générales, utilisez la base de connaissances : elle est faite pour ça, elle est plus rapide et plus simple à maintenir.
- Ce n'est pas un scénario. L'agent décide seul du moment où il appelle l'outil, à partir de sa description et de votre prompt. Si vous avez besoin d'un enchaînement garanti après l'appel, c'est un workflow qu'il vous faut.
- Ce n'est pas une garantie. Un outil peut échouer, être lent, renvoyer une erreur. Prévoyez toujours ce que l'agent dit dans ce cas.
La règle de partage est simple : la base de connaissances pour ce qui est écrit une fois pour toutes, un outil pour ce qui change à chaque appel ou pour ce qui doit être écrit quelque part.
9.2 Avant de commencer : connecter une intégration (Pipedream)
C'est l'étape que tout le monde saute, et elle est bloquante.
Une action Pipedream n'est proposée que si l'application correspondante est déjà connectée à votre compte. Tant que Google Calendar n'est pas connecté, aucune action Google Calendar n'apparaît, et vous ne pouvez pas créer l'outil.
Dans l'écran de sélection de l'assistant, la colonne de gauche est découpée en trois groupes :
| Groupe | Contenu | Ce que vous pouvez faire |
|---|---|---|
| My Actions | « HTTP Request », marquée NATIVE | La sélectionner pour créer un outil HTTP. |
| Connectées | Vos applications déjà connectées | Cliquer dessus : leurs actions s'affichent à droite. |
| Disponibles | Le reste du catalogue | Uniquement le bouton de connexion. Cliquer sur la ligne ne montre aucune action. |
Autrement dit, tant que l'application est dans « Disponibles », la colonne de droite affiche « Sélectionnez une application pour voir les actions » et l'assistant refuse d'avancer avec « Veuillez sélectionner une action Pipedream avant de continuer ».
Deux chemins pour connecter une application :
- La page Intégrations (« Connectez-vous à plus de 2500 applications en un clic »). C'est le chemin recommandé, avant même d'ouvrir la page Outils. Recherchez l'application, cliquez « Se connecter », une fenêtre Pipedream s'ouvre, vous vous authentifiez sur le service, la fenêtre se ferme. L'application rejoint la section « Apps connectées ».
- Le bouton de connexion dans l'assistant, sur une ligne du groupe « Disponibles ». Même mécanique, sans quitter la création de l'outil.
Ce qu'il faut savoir avant de connecter :
- Autorisez les fenêtres surgissantes pour le site, sinon « Popup bloquée. Veuillez autoriser les popups pour ce site. »
- La connexion se fait au niveau de l'entreprise, pas de l'utilisateur. Tous les agents et tous les espaces de travail de l'entreprise partagent le même compte connecté pour une application donnée. Connectez un compte de service (« rdv@votresociete.fr »), jamais le compte personnel d'un collaborateur qui partira un jour.
- Le premier compte connecté pour une application est celui qui sera utilisé. Connecter deux boîtes Gmail ne vous laisse pas choisir laquelle sert dans un outil donné.
- Reconnecter une application déjà connectée ne produit aucun message : la fenêtre s'ouvre, se ferme, et rien ne change. Vérifiez la liste « Apps connectées » plutôt que d'attendre une confirmation.
- Déconnecter une application casse silencieusement tous les outils qui l'utilisent. L'agent recevra « veuillez connecter votre compte » en pleine conversation. Vérifiez avant de déconnecter.
- Le catalogue se charge par pages : utilisez la recherche plutôt que « Voir plus d'applications ».
Un outil HTTP, lui, ne demande aucune connexion préalable : votre API doit simplement être joignable depuis internet.
9.3 Créer un outil : l'assistant en trois étapes
L'assistant affiche « Étape N sur 3 ». Une pastille rouge « Veuillez compléter cette étape » signale ce qui manque, avec le détail au survol. Le bouton « Suivant » reste grisé tant que l'étape n'est pas valide.
Étape 1, Sélection du type d'action. Choisissez « HTTP Request » ou une action d'une application connectée (voir 9.2).
Attention : revenir à cette étape et cliquer un autre type réinitialise tout ce que vous avez saisi, sans confirmation. Choisissez le type en premier et n'y revenez plus.
Le nom, le nom affiché et la description sont pré-remplis automatiquement d'après votre choix. Pour une action Pipedream, le nom proposé peut contenir des chiffres, que le formulaire refuse ensuite : corrigez-le à l'étape suivante.
Étape 2, Informations.
| Champ | Règle exacte | Ce qu'il faut y mettre |
|---|---|---|
| Nom technique | Minuscules et underscores uniquement, pas de chiffres, unique dans l'espace de travail. Aide affichée : « Minuscules et underscores uniquement. Doit être unique. » | Un verbe et un objet : verifier_disponibilite, creer_ticket, envoyer_devis. C'est ce nom que vous écrirez dans le prompt de l'agent. |
| Nom affiché | Obligatoire, libre | Pour vous et vos collègues : « Vérifier les disponibilités ». |
| Description | Obligatoire, 20 caractères minimum | Le champ le plus important de tout l'outil. Voir 9.4. |
| Tags | Facultatifs | Pour retrouver l'outil dans la liste : crm, rendez-vous. |
L'interface le rappelle elle-même : « L'IA utilise cette description pour décider quand et comment utiliser votre action. Plus elle est précise, meilleure sera l'intégration dans les conversations. »
Étape 3, Configuration et test. Selon le type choisi, « Configuration & Test HTTP » (voir 9.6) ou « Configuration Pipedream » (voir 9.8). Les variables se déclarent dans les deux cas (voir 9.5).
Enfin, « Sauvegarder ». Le bouton reste grisé avec « Aucune modification à enregistrer » si rien n'a changé, ou « Veuillez corriger les erreurs avant de sauvegarder » s'il reste une erreur. Si vous quittez la page sans enregistrer, une fenêtre vous prévient.
9.4 Écrire la description : le champ qui décide de tout
C'est le champ le plus important de la plateforme, et celui qui est le plus souvent bâclé. Une bonne configuration HTTP avec une mauvaise description donne un outil qui ne se déclenche jamais. Une description soignée rattrape presque tout le reste.
9.4.1 Ce que l'agent voit exactement
L'agent ne voit ni votre URL, ni vos en-têtes, ni votre corps de requête. Au moment de décider, il dispose d'une fiche par outil, et de rien d'autre :
| Ce qu'il voit | Ce que c'est |
|---|---|
| Le nom technique | verifier_disponibilite |
| La description | Votre texte, mot pour mot |
| Pour chaque paramètre : son nom, sa description, et s'il est obligatoire | date : « Date souhaitée au format AAAA-MM-JJ » |
Cette fiche est relue à chaque échange de la conversation. C'est à partir d'elle, et de votre prompt, que l'agent choisit d'appeler l'outil ou pas, choisit lequel parmi plusieurs, et remplit les paramètres.
Deux conséquences directes :
- La description doit se suffire à elle-même. L'agent n'a pas accès à votre documentation, ne connaît pas votre système, et ne devinera pas ce qu'il y a derrière un nom de champ.
- Elle est lue par une machine qui décide vite. Une phrase claire et directive vaut mieux qu'un paragraphe élégant.
Il n'y a pas de longueur maximale : seulement un minimum de 20 caractères. Vous avez donc largement la place d'écrire une vraie consigne, et c'est ce qu'il faut faire.
9.4.2 La structure d'une bonne description
Une description complète répond à cinq questions, dans cet ordre. Les trois premières sont indispensables, les deux dernières font la différence.
| # | Question | Formulation type |
|---|---|---|
| 1 | Que fait l'outil ? | « Vérifie les créneaux de rendez-vous disponibles pour une date donnée. » |
| 2 | Que renvoie-t-il ? | « Renvoie la liste des heures libres, ou la mention qu'aucun créneau n'est disponible. » |
| 3 | Quand faut-il l'appeler ? | « À appeler dès que le client a accepté le principe d'un rendez-vous et indiqué un jour. » |
| 4 | Quand ne faut-il pas l'appeler ? | « Ne pas appeler pour confirmer une réservation : utiliser reserver_creneau. » |
| 5 | Quels prérequis ? | « Nécessite que le code postal ait été demandé au préalable. » |
Écrivez-les à la suite, une idée par ligne, à l'infinitif ou à la troisième personne. Décrivez l'outil, pas l'agent : « Vérifie les créneaux », pas « Tu dois vérifier les créneaux ».
Rédigez dans la même langue que votre prompt. Un prompt en français avec des descriptions en anglais fonctionne moins bien, et prête à confusion pour vos collègues.
9.4.3 Trois exemples complets
Un outil de consultation.
Vérifie les créneaux de rendez-vous disponibles pour une date donnée et renvoie
la liste des heures libres.
À appeler dès que le client a accepté le principe d'un rendez-vous et indiqué
un jour ou une période souhaitée.
Ne pas appeler pour confirmer un rendez-vous déjà choisi : utiliser reserver_creneau.
Renvoie les heures disponibles ce jour-là, ou la mention qu'aucun créneau n'est libre.
Un outil d'écriture.
Réserve un créneau de rendez-vous au nom du client et renvoie la référence
de réservation.
À appeler uniquement après que le client a confirmé à voix haute le jour et l'heure.
Ne jamais appeler deux fois pour le même client dans une même conversation.
Renvoie une référence à quatre chiffres à communiquer au client, ou un message
d'erreur si le créneau vient d'être pris entre-temps.
Un outil de vérification.
Vérifie si une adresse est éligible à la fibre et renvoie le niveau d'éligibilité.
À appeler quand le client donne son adresse ou son code postal, ou dès qu'il demande
si la fibre est disponible chez lui.
Renvoie « éligible », « éligible sous 6 mois » ou « non éligible », avec le débit
maximum quand il est connu.
Ne rien promettre au client sur l'installation avant d'avoir appelé cet outil.
9.4.4 Écrire avec les mots de la conversation
L'agent rapproche ce que dit l'interlocuteur de ce que dit votre description. Si votre client parle de « facture » et que votre description parle de « pièce comptable », le rapprochement ne se fait pas.
Listez donc, dans la description, les mots que le client emploiera réellement, y compris les synonymes et les tournures familières :
Consulte l'état d'une facture : payée, en attente, en litige ou impayée.
À appeler quand le client parle de facture, de paiement, de prélèvement,
de relance, d'impayé ou de remboursement.
C'est la technique la plus rentable pour un outil qui « ne se déclenche jamais ». Trois ou quatre synonymes suffisent : inutile d'écrire un dictionnaire.
Évitez à l'inverse le vocabulaire technique interne : noms de systèmes, verbes HTTP, noms de tables, versions d'API. Ils n'aident pas l'agent et occupent de la place.
9.4.5 Distinguer plusieurs outils les uns des autres
Dès que deux outils se ressemblent, la description devient un arbitrage. C'est là que l'agent se trompe le plus souvent. La parade : rendre les descriptions mutuellement exclusives et se renvoyer explicitement vers l'autre outil.
| Outil | Description qui tranche |
|---|---|
consulter_commande |
« Consulte l'état d'une commande existante à partir de son numéro. À appeler quand le client veut savoir où en est sa commande ou quand elle sera livrée. Ne pas utiliser pour modifier ou annuler : voir modifier_commande et annuler_commande. » |
modifier_commande |
« Modifie la date de livraison ou l'adresse d'une commande existante. À appeler quand le client veut décaler ou changer quelque chose sans annuler. Ne pas utiliser pour une annulation : voir annuler_commande. » |
annuler_commande |
« Annule définitivement une commande. À appeler uniquement quand le client demande explicitement l'annulation et l'a confirmée. Ne pas utiliser pour un simple report : voir modifier_commande. » |
Nommez l'autre outil par son nom technique exact : c'est ce nom que l'agent manipule.
9.4.6 Ce qui va dans la description, ce qui va dans le prompt
Un outil est partagé : plusieurs agents de l'espace de travail peuvent l'utiliser. La description doit donc contenir ce qui est vrai partout, et le prompt ce qui est propre à un agent.
| Dans la description de l'outil | Dans le prompt de l'agent |
|---|---|
| Ce que fait l'outil et ce qu'il renvoie | Le moment précis du script où l'appeler |
| Les données dont il a besoin et leur format | La phrase exacte à dire avant l'appel |
| Les interdits qui tiennent à l'outil lui-même (« jamais deux fois ») | Quoi faire du résultat dans ce scénario |
| Le renvoi vers les outils voisins | Le comportement en cas d'erreur pour cet agent |
| Les prérequis techniques | Le nombre de tentatives autorisées |
Si vous écrivez « dis "Je vérifie" avant d'appeler » dans la description, tous les agents diront la même phrase, y compris ceux pour qui elle n'a pas de sens. Cette consigne appartient au prompt.
9.4.7 Longueur : trouver le bon point
Il n'y a pas de maximum, mais un coût : toutes les descriptions de tous les outils attachés sont relues à chaque échange. Six outils décrits en 1 000 caractères chacun, ce sont 6 000 caractères relus à chaque phrase de l'agent, donc de la latence sur chaque réponse et moins d'attention pour vos règles.
| Longueur | Effet |
|---|---|
| Moins de 50 caractères | L'outil n'est presque jamais appelé, ou au mauvais moment |
| 200 à 600 caractères | Le bon compromis : les cinq questions tiennent largement |
| Plus de 1 500 caractères | Vous payez de la latence à chaque tour ; signe qu'il faut découper en deux outils |
Si votre description dépasse dix lignes, c'est presque toujours que l'outil fait deux choses.
9.4.8 Avant / après
| Description à corriger | Le problème | Version qui fonctionne |
|---|---|---|
| « Recherche CRM » | Trop court, aucun moment d'appel, aucun résultat annoncé | « Recherche un client par nom ou par email et renvoie sa fiche : contrat en cours, date de souscription, prochaine échéance. À appeler dès que le client donne son nom ou son email. » |
| « Appelle l'endpoint /v2/slots en GET » | Vocabulaire technique : l'agent ne sait pas à quoi cela sert dans une conversation | « Vérifie les créneaux disponibles pour une date donnée et renvoie les heures libres. À appeler avant de proposer un rendez-vous. » |
| « Gère les rendez-vous » | Ambigu : consulter, créer, annuler ? L'agent choisira au hasard | Trois outils, trois descriptions, avec renvois croisés (voir 9.4.5) |
| « Permet d'interagir avec le système d'information » | Ne dit rien du tout | Dites l'action métier concrète et son résultat |
| « Outil de création de ticket (usage réservé, ne pas utiliser sauf demande explicite du superviseur) » | Une règle d'organisation interne que l'agent ne peut pas vérifier | « Crée un ticket de support et renvoie son numéro. À appeler quand le client signale un dysfonctionnement qui n'a pas de solution immédiate. » La restriction d'usage va dans le prompt |
| « Envoie un email au client » | Ne dit pas quel email, ni avec quel contenu, ni quand | « Envoie au client un email récapitulatif contenant la référence de son rendez-vous. À appeler après reserver_creneau, uniquement si le client a donné une adresse email et accepté de la recevoir. Renvoie une confirmation d'envoi. » |
| « Vérifie l'éligibilité. Renvoie un code : 0, 1 ou 2. » | Des codes que l'agent devra interpréter, et qu'il interprétera mal | « … Renvoie "éligible", "éligible sous 6 mois" ou "non éligible". » Faites renvoyer des mots par votre système, pas des codes |
9.4.9 Diagnostiquer par le symptôme
| Ce que vous constatez | Où est le problème | Ce qu'il faut corriger |
|---|---|---|
| L'outil n'est jamais appelé | Description trop vague, trop courte ou trop technique | Ajoutez « À appeler quand… » et les mots que le client emploie |
| L'outil est appelé tout le temps, même hors sujet | Description trop large, aucune exclusion | Ajoutez « Ne pas appeler quand… » et restreignez le premier verbe |
| Parmi deux outils, c'est le mauvais qui part | Descriptions qui se chevauchent | Renvois croisés explicites entre les deux (9.4.5) |
| Le bon outil, mais des valeurs fausses | Descriptions des paramètres, pas celle de l'outil | Format, exemple, et interdiction d'inventer (9.5) |
| Appelé trop tôt dans la conversation | C'est le scénario, pas l'outil | Prompt de l'agent |
| L'agent annonce l'action sans l'exécuter | L'outil n'est pas attaché à cet agent | Section Outils de la fiche de l'agent |
| L'agent appelle l'outil puis invente la réponse | La description promet un résultat que votre système ne renvoie pas | Alignez la description sur ce que renvoie réellement l'API |
9.4.10 Le test des trois questions
Avant d'enregistrer, faites lire votre description à quelqu'un qui ne connaît pas l'outil, et demandez-lui :
- À quel moment d'un appel déclencherais-tu cette action ?
- Quelles informations dois-tu avoir en main pour l'utiliser ?
- Qu'est-ce que tu récupères, et qu'en fais-tu ?
S'il hésite sur l'une des trois, l'agent hésitera aussi. Complétez la ligne correspondante, et relisez : c'est cinq minutes qui évitent des dizaines d'appels ratés.
9.5 Les variables de l'outil (les paramètres)
Le panneau « Gestion des variables » liste ce que l'agent devra fournir pour exécuter l'action. L'interface le résume ainsi : « L'agent utilise ces variables pour injecter des données dynamiques et personnaliser certaines actions selon le contexte. »
Chaque variable a quatre colonnes : Nom de la variable, Description, Requis, Actions.
| Élément | Règle | Conseil |
|---|---|---|
| Nom | Commence par une lettre ou un underscore, puis lettres, chiffres et underscores. date_rdv, customer_id, Token2 sont valides ; 2fa, user-id, user.name sont refusés |
Nommez comme votre API attend le champ, cela évite les erreurs de recopie. |
| Description | Obligatoire pour passer à la suite (« Le paramètre "x" doit avoir une description ») | Mettez toujours le format attendu. C'est ici que se jouent 90 % des échecs d'appel. |
| Requis | Interrupteur. « L'agent doit impérativement utiliser ces données pour pouvoir exécuter l'action » | Ne cochez que ce qui est vraiment indispensable : un paramètre requis manquant fait échouer l'appel au lieu de le dégrader. |
Le type de la variable ne se choisit pas : tout est traité comme du texte. La description est donc votre seul moyen d'imposer un format.
| Description faible | Description qui marche |
|---|---|
| « Date » | « Date souhaitée au format AAAA-MM-JJ, par exemple 2026-09-15. » |
| « Numéro » | « Numéro de téléphone au format international, par exemple +33612345678. » |
| « Statut » | « Statut du dossier, uniquement une de ces valeurs : ouvert, en_cours, clos. » |
| « Le montant » | « Montant en euros, nombre entier sans symbole, par exemple 1250. » |
| « Identifiant » | « Identifiant du dossier tel que donné par le client, 6 chiffres, par exemple 481203. » |
Quatre formulations à connaître, à ajouter en fin de description de paramètre :
| Objectif | Formulation |
|---|---|
| Imposer une liste de valeurs (il n'existe pas de champ pour cela) | « Uniquement une de ces valeurs : particulier, professionnel, collectivite. » |
| Donner une valeur par défaut | « Si le client ne précise pas, utiliser standard. » |
| Empêcher l'invention — la plus utile | « Ne jamais deviner cette valeur : si le client ne l'a pas donnée, la lui demander avant d'appeler l'outil. » |
| Rappeler la source de la donnée | « Numéro de dossier tel que dicté par le client, à faire répéter en cas de doute. » |
La troisième est celle qui évite le plus d'appels ratés : sans elle, un agent à qui il manque une donnée obligatoire a tendance à en inventer une plausible plutôt qu'à poser la question.
Un bouton « Nouvelle variable » ouvre une fenêtre avec des variables suggérées (pour une action Pipedream, celles de l'action) et l'option « Créer ma propre variable ».
Quatre variables sont toujours disponibles, en plus des vôtres, et se réfèrent à la conversation en cours :
| Variable | Contenu |
|---|---|
{conversation.id} |
Identifiant de la conversation, très utile pour relier votre système à l'appel |
{last_user_message.text} |
La dernière phrase de l'interlocuteur, telle que comprise |
{last_user_message.speech.audio_b64} |
L'audio du dernier tour de parole |
{last_user_message.speech.sample_rate} |
La fréquence de cet audio |
Deux pièges :
- Renommer une variable ne met pas à jour ses usages dans l'URL, les en-têtes ou le corps : les anciens
{ancien_nom}deviennent des variables non définies. Réinsérez-les. - Une variable utilisée quelque part mais non déclarée est signalée : « Variables non définies dans les paramètres : x ». L'appel partira avec un trou.
9.6 Configurer une requête HTTP
L'écran « Configuration de la requête » réunit la méthode, l'URL, les en-têtes, le corps et le délai d'attente.
| Élément | Règle | Bonnes pratiques |
|---|---|---|
| Méthode | GET, POST, PUT, PATCH, DELETE. Passer à GET ou DELETE efface le corps | GET pour consulter, POST pour créer. |
| URL | Doit commencer par un schéma en clair (https://). Une URL qui commence par une variable est refusée : {base_url}/clients ne passe pas |
Utilisez https:// et non http://. Insérez les variables avec le bouton dédié. |
| En-têtes | Suggestions proposées : Authorization, Content-Type, Accept, User-Agent, X-API-Key, X-Request-ID. Les variables ne sont pas remplacées dans les en-têtes | Mettez la clé d'API ici, en dur, et jamais dans l'URL (elle apparaîtrait dans vos journaux). Ajoutez Content-Type: application/json à la main dès que vous avez un corps JSON. |
| Corps JSON | Doit rester un JSON valide. Un indicateur affiche « JSON valide » ou « Erreur JSON » | Toujours entre guillemets : "date": "{date_rdv}". Voir ci-dessous. |
| Timeout | De 1 à 60 secondes, 5 par défaut | Gardez 5 secondes. C'est un temps de silence pur pour l'interlocuteur. |
La règle des guillemets, à retenir. Dans le corps, écrivez toujours la variable entre guillemets :
{
"date": "{date_rdv}",
"quantite": "{quantite}",
"canal": "telephone",
"conversation": "{conversation.id}"
}
Un {quantite} sans guillemets passe l'éditeur, mais bloque la sauvegarde avec le message générique « Veuillez corriger les erreurs avant de sauvegarder », sans dire où. C'est la cause numéro un de ce message.
Bon à savoir : quand un champ contient uniquement une variable entre guillemets, votre système reçoit la valeur avec son type naturel (un nombre reste un nombre). Quand la variable est au milieu d'un texte (« Commande de {quantite} unités »), le résultat est du texte.
Ce que votre API doit renvoyer. La réponse est transmise telle quelle à l'agent, qui la relit à chaque échange suivant. Trois règles :
- Court et lisible. Deux ou trois lignes. Une phrase en français fonctionne mieux qu'un objet de cent champs : « Créneaux disponibles jeudi : 10h, 14h, 16h30. »
- Toujours quelque chose. Une réponse vide est acceptée mais l'agent n'a rien à dire. Même pour une action d'écriture, renvoyez « Ticket 4521 créé » : l'agent pourra le confirmer à l'oral.
- Les erreurs en clair. Renvoyez un vrai code d'erreur HTTP avec un message compréhensible (« Dossier introuvable »), pas un code 200 contenant
{"error":true}que l'agent interprétera comme un succès.
Sécurité. La clé d'API est stockée en clair dans l'outil et visible par toute personne ayant accès à l'espace de travail. Utilisez une clé dédiée, à droits limités, révocable. Les adresses internes (IP privées, noms sans domaine) sont refusées : l'outil doit être joignable depuis internet.
9.7 Tester l'outil
La « Zone de test » occupe la partie droite de l'écran de configuration.
- Renseignez une valeur pour chaque variable. Le bouton reste bloqué avec « Remplissez toutes les variables pour tester » tant qu'un paramètre requis est vide.
- « Tester la requête » exécute l'appel et affiche l'onglet Réponse, le statut, les en-têtes reçus et un aperçu cURL copiable. Les derniers résultats sont conservés dans un historique.
- « Test réussi ! » signifie que votre système a répondu avec un code de succès. Lisez quand même la réponse : c'est ce que l'agent recevra mot pour mot.
Le piège du test HTTP. Ce test part de votre navigateur, pas de la plateforme. Si votre API n'autorise pas les appels depuis un navigateur, vous verrez « Erreur réseau - Vérifiez l'URL et les paramètres CORS » alors que l'outil fonctionnera parfaitement en production. Dans ce cas, copiez la commande cURL et exécutez-la depuis un terminal ou votre outil habituel : c'est elle qui reflète l'appel réel.
Ensuite, testez en conversation (chapitre 21). Dans la transcription, vous verrez « Appel de l'outil », « En attente de la réponse... » puis « Réponse de » suivi de ce que votre système a renvoyé. C'est le seul moyen de vérifier que l'agent appelle l'outil au bon moment et avec les bonnes valeurs.
9.8 Configurer une action Pipedream
Une fois l'application connectée (9.2) et l'action choisie, l'écran « Configuration Pipedream » affiche les champs propres à cette action.
- Les libellés viennent de Pipedream et sont en anglais. Ils ne sont pas traduits.
- Un champ « compte » permet de choisir le compte connecté. « Aucun compte connecté pour {app}. Connecte-toi depuis la page Intégrations. » signifie que la connexion a été perdue ou révoquée.
- Certains champs sont dynamiques : renseigner l'un recharge les autres (« Actualisation des champs… »). Attendez la fin avant de continuer. Les valeurs devenues sans objet sont supprimées sans message.
- Les champs marqués « REQUIS » ne sont pas vérifiés avant l'enregistrement : relisez-les.
- Les listes déroulantes chargent leurs options depuis l'application. En cas d'échec (« Impossible de charger les options dynamiques »), vous pouvez souvent saisir la valeur à la main.
- Une action affichant « Cette action ne demande aucune configuration » ne peut pas être enregistrée : choisissez-en une autre.
- Insérez vos variables dans les champs avec le bouton « Insérer une variable », en simple accolade :
{date_rdv}.
Le test se lance avec « Tester l'action ». Attention : « Test réussi ! » indique seulement que l'appel est parti. Une erreur renvoyée par l'application (quota, droits insuffisants, champ invalide) s'affiche quand même comme un succès. Ouvrez l'onglet « Réponse » pour vérifier ce qui s'est réellement passé.
9.9 Brancher l'outil sur un agent
Un outil créé n'est pas actif : il faut l'attacher. Dans la fiche de l'agent, section Outils, cochez les outils voulus, puis enregistrez l'agent.
- Un outil marqué « À configurer » (orange) peut être coché : il ne fera rien. Les raisons possibles sont affichées : « URL manquante », « Action Pipedream manquante », « Aucune action configurée ».
- Il n'y a pas de limite au nombre d'outils par agent, mais chaque outil ajoute du texte aux instructions de l'agent et augmente le risque qu'il appelle le mauvais. Au-delà de cinq ou six outils, regroupez ou séparez en plusieurs agents.
- Un outil déplacé vers un autre espace de travail disparaît des agents sans avertissement.
Puis écrivez la consigne dans le prompt. Sans cela, l'agent appellera l'outil quand bon lui semble, ou jamais.
# Prise de rendez-vous
Avant de proposer un créneau, dis « Je regarde les disponibilités »
puis appelle verifier_disponibilite avec la date souhaitée au format AAAA-MM-JJ.
Ne propose que les créneaux renvoyés par l'outil, jamais d'autres.
Une fois le créneau accepté, appelle reserver_creneau, puis confirme à voix haute
le jour et l'heure.
Si un outil renvoie une erreur, dis que tu n'as pas pu vérifier, ne réessaie pas,
et propose qu'un conseiller rappelle.
Quatre éléments à retrouver dans toute consigne d'outil : quand appeler, quoi dire avant, quoi faire du résultat, quoi faire en cas d'erreur.
9.10 Ce que l'agent sait déjà sur ses outils
Dès qu'un agent a au moins un outil, StarLeads ajoute automatiquement à la fin de son prompt un mode d'emploi, en anglais. Vous n'avez pas à l'écrire, mais il explique plusieurs comportements :
- L'agent annonce ce qu'il fait avant d'agir. La consigne par défaut est d'inclure une phrase en langage naturel avant l'appel. C'est pour cela qu'il dit « Je vérifie » spontanément. Vous pouvez imposer la formulation exacte.
- Il n'a pas le droit de prétendre agir sans agir. Si l'agent dit « c'est noté » sans que votre système ait reçu quoi que ce soit, c'est que l'outil n'est pas attaché ou que sa description ne correspond pas à la situation.
- Il peut enchaîner plusieurs actions dans une même réponse. Si vous voulez une action à la fois, dites-le.
- Il se souvient de ses actions précédentes et de leurs résultats pendant toute la conversation. Il n'a pas besoin de rappeler un outil pour réutiliser une information déjà obtenue, sauf si votre prompt exige une vérification à chaque fois.
- Le résultat de votre système lui parvient comme si l'interlocuteur le lui disait. Une réponse qui contient une instruction (« Propose le créneau de jeudi », « Le client est en impayé, ne propose aucune offre ») est suivie comme une consigne. C'est un moyen simple de piloter l'agent depuis votre système, à condition que la réponse vienne d'une source que vous maîtrisez.
- Ce mode d'emploi est placé après votre prompt. Vos règles les plus importantes doivent figurer en tête.
- La date que l'agent utilise pour ses actions est l'heure de Paris. Pour un agent qui appelle hors de France, précisez le fuseau dans le prompt.
Limites d'exécution :
- Cinq actions enchaînées au maximum sans nouvelle prise de parole de l'interlocuteur. Au-delà, l'agent est stoppé. Le compteur repart à zéro dès que la personne parle.
- Une erreur (outil inconnu, paramètre requis manquant, panne de votre système, délai dépassé) est signalée à l'agent une seule fois ; il reformule et continue. Il ne réessaie pas de lui-même, sauf si votre prompt le lui demande.
- Si l'agent invente un paramètre non déclaré, il est ignoré. Seul un paramètre requis manquant bloque l'appel.
- Pendant l'exécution, l'interlocuteur entend un silence, sauf si le message d'occupation (chapitre 12) est renseigné.
9.11 Les bonnes pratiques
Conception
- Un outil = une action, avec un verbe dans le nom. Séparez consulter, créer, modifier, annuler.
- Écrivez la description comme une consigne à un collègue, pas comme une documentation technique.
- Décrivez le format attendu de chaque paramètre, avec un exemple.
- Ne rendez obligatoires que les paramètres sans lesquels l'action est impossible.
- Prévoyez le cas d'échec dès la conception : que dit l'agent si votre système ne répond pas ?
Réponses de votre système
- Deux à trois lignes, en langage naturel, prêtes à être dites à l'oral.
- Un vrai code d'erreur avec un message clair en cas de problème.
- Une confirmation explicite pour toute action d'écriture (numéro de ticket, référence de réservation).
- Des dates et des heures déjà formatées pour l'oral quand c'est possible (« jeudi 12 septembre à 10 heures »).
Exécution
- Timeout court, 5 secondes. Un outil lent ruine la conversation.
- Message d'occupation renseigné sur l'agent, et phrase d'annonce imposée dans le prompt.
- Testez dans la zone de test, puis en cURL si le navigateur bloque, puis en conversation réelle.
- Faites confirmer à l'agent, à voix haute, les données qu'il s'apprête à envoyer avant toute action irréversible.
Maintenance
- Une clé d'API dédiée à StarLeads, à droits limités, révocable.
- Un compte de service pour les intégrations Pipedream, jamais un compte personnel.
- Vérifiez quels agents utilisent un outil avant de le modifier ou de le supprimer.
- Après chaque campagne, relisez quelques transcriptions contenant un appel d'outil : c'est là que se voient les paramètres mal remplis.
9.12 Les mauvaises pratiques
| Ce qu'il ne faut pas faire | Ce qui se passe | À la place |
|---|---|---|
L'outil fourre-tout avec un paramètre action valant « créer », « modifier », « supprimer » |
L'agent se trompe de valeur et supprime au lieu de créer | Un outil par action |
| Une description technique (« POST /v2/customers ») | L'agent n'appelle jamais l'outil, ou l'appelle n'importe quand | Une phrase métier avec le moment d'appel |
| Un paramètre sans format (« Date ») | L'agent envoie « jeudi prochain » et votre API refuse | « Date au format AAAA-MM-JJ, par exemple 2026-09-15 » |
| Tout marquer comme requis | Le moindre oubli fait échouer l'appel au lieu de le dégrader | Requis seulement si indispensable |
| Renvoyer un gros document JSON | L'agent le relit à chaque échange, ralentit, se perd et invente | Deux lignes en français |
| Renvoyer une erreur avec un code de succès | L'agent annonce que tout va bien alors que rien n'a été fait | Un vrai code d'erreur HTTP |
| Ne rien renvoyer sur une action d'écriture | L'agent ne peut pas confirmer, l'interlocuteur n'a aucune preuve | « Ticket 4521 créé » |
| Mettre la clé d'API dans l'URL | Elle se retrouve dans les journaux et l'historique de test | Un en-tête Authorization ou X-API-Key |
| Mettre une variable dans un en-tête | Elle n'est pas remplacée, l'appel part avec {token} en clair |
Valeur en dur dans l'en-tête |
| Oublier les guillemets autour d'une variable dans le corps JSON | Sauvegarde bloquée avec un message générique, sans indiquer le champ | "quantite": "{quantite}" |
Écrire {{variable}} (double accolade) dans un outil |
La variable n'est pas remplacée. La double accolade, c'est pour le prompt de l'agent, pas pour les outils | {variable}, simple accolade |
| Un timeout de 30 ou 60 secondes | L'interlocuteur entend un silence interminable et raccroche | 5 secondes, et une API rapide |
| Créer l'outil sans le tester | Vous découvrez l'erreur en production, sur un vrai prospect | Zone de test, puis conversation de test |
| Se fier au « Test réussi ! » de Pipedream | L'appel est parti, mais l'application a refusé | Ouvrir l'onglet Réponse |
| Compter sur un outil pour une information vitale sans plan B | Une panne de votre API rend l'agent incapable de répondre | Les informations critiques dans le prompt, l'outil pour le reste |
| Enchaîner cinq outils dans un même tour | L'agent est stoppé par la limite, l'interlocuteur attend dans le vide | Une action, puis une phrase, puis la suivante |
| Une action irréversible sans confirmation | Un rendez-vous annulé sur un malentendu de transcription | Faire répéter et confirmer avant d'appeler l'outil |
| Supprimer un outil encore attaché à des agents | Aucun avertissement : les agents perdent la capacité en silence | Détacher des agents d'abord |
| Déconnecter une application Pipedream utilisée | Les outils échouent avec « veuillez connecter votre compte » | Vérifier les usages avant |
| Connecter le compte personnel d'un collaborateur | Tout casse à son départ, et l'entreprise entière utilise sa boîte mail | Un compte de service |
| Changer de type d'action en cours de création | Tout est réinitialisé sans confirmation | Choisir le type en premier |
| Utiliser un outil pour de la documentation | Lent, fragile, difficile à maintenir | La base de connaissances (chapitre 27) |
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| « Les outils ne sont pas disponibles sur votre abonnement actuel » | Fonction non incluse dans le plan | Changez de plan. |
| « Veuillez sélectionner un type d'action avant de continuer » | Étape 1 non complétée | Cliquez « HTTP Request » ou une action d'une application connectée. |
| « Veuillez sélectionner une action Pipedream avant de continuer » | Compte ou action non choisis | L'application doit d'abord être connectée (9.2). |
| « Sélectionnez une application pour voir les actions » qui ne disparaît pas | L'application est dans « Disponibles », pas connectée | Connectez-la, elle passera dans « Connectées ». |
| « Popup bloquée. Veuillez autoriser les popups pour ce site. » | Connexion Pipedream | Autorisez les fenêtres surgissantes puis réessayez. |
| Rien ne se passe après la fermeture de la fenêtre de connexion | Application déjà connectée, ou connexion annulée | Vérifiez la section « Apps connectées ». |
| « Impossible de connecter {app}. Veuillez réessayer. » | Échec de l'ouverture du lien de connexion | Réessayez ; si cela persiste, contactez le support. |
| « Le nom technique est obligatoire » / « Le nom doit être en snake_case » | Nom vide, ou contenant chiffres, majuscules, tirets, espaces | Minuscules et underscores uniquement. |
| « Ce nom est déjà utilisé par un autre outil, veuillez en choisir un autre » | Nom pris dans l'espace de travail | Changez le nom. |
| « Le nom affiché est obligatoire » / « La description est obligatoire » | Champs vides | Renseignez-les. |
| « La description doit faire au moins 20 caractères » | Description trop courte | Décrivez ce que fait l'outil et quand l'appeler. |
| « Le paramètre "x" doit avoir une description » | Variable sans description | Cliquez « Cliquer pour ajouter une description ». |
| « Le nom doit commencer par une lettre ou underscore… » | Nom de variable invalide (2fa, user-id) |
Renommez. |
| « Cette variable existe déjà » / « Ce nom de variable existe déjà » | Doublon | Choisissez un autre nom. |
| « L'URL est obligatoire » / « L'URL n'est pas valide » | URL vide, sans https://, ou commençant par une variable |
Mettez le schéma en clair. |
| « Erreur JSON » dans le corps | JSON mal formé | Utilisez « Formater » pour repérer l'erreur. |
| « Variables non définies dans les paramètres : x » | {x} utilisé sans variable déclarée |
Créez la variable ou corrigez le nom. |
| « Veuillez corriger les erreurs avant de sauvegarder » sans détail | Le plus souvent une variable sans guillemets dans le corps JSON | Mettez les guillemets. |
| « Configurez l'action avant d'enregistrer » | Aucun champ Pipedream renseigné | Renseignez au moins un champ. |
| « Cette action ne demande aucune configuration. » | Action non enregistrable | Choisissez une autre action. |
| « Impossible de charger la configuration de cette action. » | Problème de communication avec Pipedream | Rechargez la page. |
| « Aucun compte connecté pour {app}. » | Connexion perdue ou révoquée | Reconnectez depuis la page Intégrations. |
| « Timeout - La requête a pris trop de temps » | Délai dépassé au test | Augmentez le timeout ou accélérez l'API. |
| « Erreur réseau - Vérifiez l'URL et les paramètres CORS » | Le test part du navigateur, votre API refuse ce type d'appel | Testez avec la commande cURL. L'outil peut fonctionner en production. |
| « Test échoué (404 Not Found) » | Votre API a répondu une erreur | Lisez l'onglet Réponse. |
| « Erreur lors de la création de l'action » sans détail | Nom déjà pris, ou erreur serveur | Changez le nom, réessayez. |
| Deux messages contradictoires à la suppression ou à la duplication | Défaut d'affichage | Rechargez la page pour voir l'état réel. |
| Le filtre « Méthode HTTP » masque des outils | Ce filtre écarte tous les outils Pipedream | Réinitialisez les filtres. |
10. Paramètres : Base de connaissances
Connectez un chat de base de connaissances à l'agent : il pourra interroger vos documents (PDF, Word…) pendant la conversation, via un outil de recherche ajouté automatiquement. Un seul chat par agent ; un agent déjà connecté à un chat n'apparaît pas dans la liste d'un autre chat.
Ce chapitre couvre le côté agent. La création des datasets, l'import et la préparation des documents, le réglage et le test du chat sont détaillés au chapitre 27.
Quand l'utiliser : documentation produit longue, FAQ, conditions générales, catalogue. Ce qui doit rester dans le prompt : les règles de comportement, les informations courtes et critiques (prix d'appel, horaires d'ouverture).
Dans le prompt, guidez l'usage : « Pour toute question sur les garanties, consulte la base de connaissances avant de répondre. Si elle ne contient pas la réponse, dis que tu ne sais pas. »
Ce qu'il faut savoir :
- La consigne par défaut est large : « à utiliser quand l'utilisateur pose une question à laquelle la documentation pourrait répondre ». Sans cadrage, l'agent consulte la base pour presque tout, ce qui ralentit chaque échange. Précisez les sujets qui justifient une recherche.
- Chaque question est indépendante. La base ne garde pas la mémoire des questions précédentes. Demandez à l'agent de poser des questions complètes et autonomes (« et pour le modèle plus grand ? » ne suffit pas).
- L'agent reçoit la réponse rédigée par la base, pas les extraits de documents. La qualité dépend du réglage du chat (chapitre 27).
- La recherche peut prendre plusieurs secondes, jusqu'à 30 dans le pire cas. Prévoyez un message d'occupation (chapitre 12) et une phrase d'annonce (« Je regarde »).
- Si le chat est supprimé ou archivé, l'agent perd la recherche sans avertissement (« Chat introuvable » dans la section).
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| « Erreur lors de la modification de l'agent » à la connexion d'un chat | L'agent est déjà connecté à un autre chat, ou le chat appartient à un autre espace de travail | Déconnectez d'abord l'ancien chat. |
| « Chat introuvable » | Chat supprimé | Déconnectez, puis connectez un chat existant. |
| Rien ne se passe à la connexion | Échec silencieux | Rechargez la page et vérifiez. |
11. Paramètres : Messages répondeur
Agents téléphoniques sortants uniquement (« Messages automatiques », « Activer le dépôt de messages vocaux »). Quand l'agent détecte un répondeur, il peut laisser un message, différent selon le numéro de tentative, jusqu'à quatre :
- Tentative 1 : pas de message (l'agent raccroche en silence et réessaiera).
- Tentative 2 : « Bonjour {{prenom}}, c'est Léa de Nova. Je vous rappelle au sujet de votre devis. »
- Tentative 3 : « … Vous pouvez nous joindre au zéro un, vingt-trois… Bonne journée. »
Déroulé : l'agent attend le bip (ou cinq secondes de silence), dit le message phrase par phrase, puis raccroche quatre secondes après. S'il n'y a pas de message configuré pour la tentative en cours, il raccroche sans rien dire. Dans les deux cas, le contact repasse en attente d'une nouvelle tentative s'il en reste (chapitre 24).
Ce qu'il faut savoir :
- Le message N est joué au N-ième appel. « Cette tentative ne sera pas utilisée » signale un message au-delà du nombre de tentatives de la campagne.
- En appel de test, aucun message répondeur n'est joué (le test n'a pas de numéro de tentative). Testez-le avec une vraie campagne de test.
- Le message doit être auto-porteur, sans question, et court (moins de quinze secondes) : les répondeurs coupent les messages longs.
- Vous pouvez utiliser vos variables et les phrases du Studio. La mise en forme est retirée.
- Si le répondeur bipe très vite, l'accroche peut être jouée avant la détection ; l'agent se rattrape au message suivant.
12. Paramètres : Messages d'inactivité
12.1 Message d'inactivité
Dit quand l'interlocuteur ne répond pas : après environ 5 secondes de silence (jusqu'à 10 sur certaines lignes). Exemple : « Allô ? Vous m'entendez ? »
- C'est un texte fixe : il ne peut pas reposer la dernière question. Gardez-le neutre et interrogatif.
- Au troisième silence consécutif, l'agent raccroche (environ 15 à 30 secondes de silence cumulé).
- Il sert aussi de « sonde » quand quelqu'un décroche sans parler (chapitre 3.1).
- Il entre dans l'historique comme une phrase de l'agent : restez cohérent avec le personnage.
- Les variables ne sont pas remplacées dans ce message ; les phrases du Studio fonctionnent.
12.2 Message d'occupation
Dans la section Comportement. Dit à la place du message d'inactivité quand l'agent est en train de traiter une demande (outil en cours, réponse longue à générer). Exemple : « Un instant, je cherche l'information… ». C'est le seul moyen de meubler l'attente d'un outil ou d'une recherche dans la base de connaissances. Renseignez-le dès que l'agent en a un.
13. Paramètres : Remplacement de mots
Deux tableaux, un pour chaque sens. Remplissez les deux champs puis Entrée pour ajouter une règle.
Synthèse vocale (prononciation). Le mot source est remplacé avant d'être prononcé. Pour les noms de marque, sigles et termes techniques : Locuta → Lokuta, SAV → S A V, B2B → bi tou bi. Écoutez le résultat avec le bouton d'écoute.
Reconnaissance vocale (transcription). Ce que l'agent a compris est corrigé avant d'être interprété. Pour les mots que la transcription écorche systématiquement : star lids → StarLeads, nova énergie → Nova Énergie. C'est le seul moyen d'apprendre du vocabulaire à la reconnaissance vocale.
Les remplacements portent sur des mots entiers, sans tenir compte des majuscules ; les motifs les plus longs sont appliqués en premier. Ils sont appliqués avant la conversion des nombres : une règle 0612345678 → zéro six, douze, trente-quatre, cinquante-six, soixante-dix-huit est la bonne façon de faire lire un numéro fixe.
Règles à ajouter sur presque tous les agents français :
| Mot source | Remplacement (prononciation) | Pourquoi |
|---|---|---|
poing |
point |
Coquille dans la lecture des emails |
| vos marques et sigles | version phonétique | Prononciation |
| votre numéro de standard | en toutes lettres par paires | Lecture des numéros |
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| « Ce mot source existe déjà » | Doublon (insensible à la casse) | Modifiez la règle existante. |
| Bordure rouge sans message | Un des deux champs vide | Remplissez les deux. |
14. Paramètres : Comportement (interruptions)
14.1 Interruptible
Activé par défaut : l'interlocuteur peut couper la parole à l'agent. Désactivez-le uniquement pour un agent qui doit délivrer un texte complet sans être coupé (mention légale, script réglementaire). Dans tous les cas, l'accroche n'est jamais interruptible.
14.2 Patience face aux interruptions
Curseur de 1 à 3,5 secondes, 1,75 par défaut. C'est le temps pendant lequel l'agent continue de parler quand quelqu'un parle en même temps que lui, avant de se taire.
- Valeur basse (1 à 1,5 s) : l'agent cède vite. Interlocuteurs pressés, environnements calmes.
- Valeur haute (2,5 à 3,5 s) : l'agent va au bout de sa phrase malgré les « hmm », les bruits de fond, les gens qui parlent à côté. Standards, ateliers, voitures.
14.3 Ce que l'agent fait quand on lui parle par-dessus
Deux mécanismes travaillent ensemble.
Le contenu. Quand l'interlocuteur dit quelque chose pendant que l'agent parle, un juge décide si c'est une vraie interruption.
| L'agent se tait et répond | L'agent continue, et ce qui a été dit est ignoré |
|---|---|
| Une réponse à une question qu'il posait, même un simple « oui », « non », « ok » | Un acquiescement pendant une explication : « ok », « d'accord », « mm-hmm », « pas de souci » |
| Une question de fond : « c'est à quel sujet ? », « combien ? » | Une hésitation : « euh », « ben » |
| Un refus : « non merci, ça ne m'intéresse pas » | Des mots incompréhensibles, du bruit |
| « Pardon ? », « je sais », « stop », « arrêtez » | L'écho de sa propre voix (retour du haut-parleur) |
| En cas de doute |
La durée. Si l'interlocuteur parle plus longtemps que la patience réglée, l'agent se tait quoi qu'il ait dit, puis attend une demi-seconde. Si rien de compréhensible n'a été dit, il reprend là où il en était.
Conséquences pratiques :
- Un « oui » prononcé pendant une explication peut être ignoré. Faites poser les questions en fin de réponse, en phrase courte.
- Ce que l'interlocuteur dit dans les deux secondes qui suivent sa propre phrase, pendant que l'agent réfléchit, est perdu. Faites récapituler avant toute action irréversible.
- Quand l'agent est coupé, il sait exactement où : il voit dans sa mémoire la partie prononcée suivie de « … ». Dites-lui de ne pas tout répéter.
14.4 Niveau de réactivité
Ce réglage est présent dans les données mais n'est pas affiché et n'a pas d'effet actuellement.
15. Paramètres : Modèle de transcription
Affiché pour les agents Web et Téléphone entrant. Sur les appels sortants, le modèle « Vega » est toujours utilisé.
| Modèle | Ce qu'il fait | Quand le choisir |
|---|---|---|
| Lyra (« Qualité générale, recommandé ») | Renvoie les nombres en chiffres (« zéro six douze » → 06 12), ponctue. Coupe les monologues de plus de 20 secondes en deux tours. |
Usage général, saisie de quantités et de dates. |
| Vega (« Détection des noms propres ») | Renvoie les nombres en lettres, sans ponctuation. Repli automatique sur un second moteur pour les mots très courts non reconnus. | Noms de clients, de sociétés, de rues. Peut inventer un mot court au tout premier tour : faites parler l'agent en premier. |
La transcription ne connaît pas votre vocabulaire métier : utilisez le Remplacement de mots (chapitre 13). Elle ne distingue pas deux personnes qui parlent. Elle n'a pas de filtre de bruit : un bruit reconnu comme un mot est transmis, et c'est le juge d'interruption qui le neutralise.
16. Enregistrer, versions, sauvegarde automatique
- Sauvegarde automatique 15 secondes après la dernière modification (« Changements détectés », puis « Changements sauvegardés »).
- Campagne active : la sauvegarde automatique est désactivée (« La sauvegarde automatique est désactivée car une campagne est active »). Enregistrez manuellement. En quittant la page : « Vous avez des changements non sauvegardés… » avec « Enregistrer et quitter » ou « Quitter sans enregistrer ».
- Exceptions qui enregistrent immédiatement tout l'agent, même campagne active : la fenêtre des variables, l'ajout ou la suppression d'un enregistrement Studio, la restauration d'une version, le changement de template WhatsApp, la génération du résumé de Reporting.
- Une fois enregistrée, une modification s'applique aux appels suivants. Les appels en cours gardent leur configuration.
- Sauvegarde bloquée (« Sauvegarde désactivée : … ») si le SMS dépasse 160 caractères ou si l'URL du média WhatsApp est invalide.
- Archiver un agent (Supprimer) désactive d'abord ses campagnes actives ; l'agent peut être restauré (« Restaurer l'agent »).
- Dupliquer copie tout, y compris les outils, la base de connaissances et les enregistrements Studio ; le nom prend le suffixe
-copy.
17. Le déroulé d'un appel, minute par minute
Pour un appel sortant qui se passe bien :
- Composition. La campagne appelle le contact. Sonnerie jusqu'à 50 secondes.
- Décroché. Le contact entend immédiatement un léger fond sonore. L'agent attend que la personne parle. Si elle dit « Allô ? », l'accroche part. Si elle ne dit rien pendant 6 secondes, l'agent dit le message d'inactivité (« Allô ? ») puis l'accroche. Le contact entend donc 0 à 6 secondes de fond sonore, plus environ une seconde de synthèse.
- Détection. Sur la première phrase entendue, l'agent classe l'interlocuteur : humain, répondeur, serveur vocal (« tapez 1 »), message d'attente (« veuillez patienter »), standard de filtrage (« indiquez le motif de votre appel »). Répondeur ⇒ message répondeur ou raccrochage. Attente ⇒ l'agent patiente sans relancer. Filtrage ⇒ c'est l'IA qui répond, selon votre prompt.
- Conversation. À chaque tour : l'interlocuteur parle ; la transcription attend qu'il ait fini (environ 0,6 s de silence, jusqu'à 1 s si la phrase semble inachevée, jusqu'à 2 s si l'agent vient de demander un nombre, un numéro ou un email) ; l'IA répond ; chaque phrase part à la voix dès qu'elle est finie. Comptez une à deux secondes entre la fin de la question et le début de la réponse.
- Silences. 5 secondes sans parole ⇒ message d'inactivité. Trois fois de suite ⇒ raccrochage.
- Interruptions. Chapitre 14.
- Actions. Outils, transfert, touches : chapitres 8 et 9.
- Fin. L'agent dit sa phrase de conclusion, puis raccroche 4 secondes plus tard. Si l'interlocuteur raccroche le premier, la conversation se termine aussi. Sans aucune activité pendant 30 minutes, elle est close automatiquement. Durée maximale d'un appel sortant : 5 minutes sur la plupart des lignes.
- Après l'appel. Le Reporting classe la conversation, extrait les données demandées, les crédits sont débités et le webhook de la campagne est appelé.
Pièges liés aux serveurs vocaux et aux touches :
- Sur un appel sortant, une touche pressée par l'interlocuteur arrive à l'agent sous forme de texte (par exemple « 1 »), avec des variantes possibles : demandez à l'agent d'accepter « 1 », « un » et les formes proches. Sur les appels entrants, les touches n'arrivent pas du tout.
- Composer une touche (
{{dtmf=1}}) prend environ 4 à 5 secondes par touche. - Face à un serveur vocal sans option de navigation configurée par StarLeads, l'agent ne peut rien faire : l'appel finit en « SVI ».
Ce que vous pouvez faire pour accélérer : une accroche fixe, des phrases courtes en début de réponse, des outils rapides, des phrases du Studio pour les formules récurrentes.
18. Ce que la voix fait de votre texte : nombres, dates, emails, symboles
Avant d'être prononcée, chaque phrase de l'agent passe par trois transformations : vos remplacements de mots, la conversion des nombres en lettres (sauf si l'agent a des phrases du Studio), puis l'épellation des emails. Voici ce que cela donne en français.
| Écrit dans le prompt ou par l'agent | Ce que la voix dit |
|---|---|
2025, en 2025 |
« deux mille vingt-cinq » |
1 250, 1250, 3 000, 2 000 000 |
« mille deux cent cinquante », « trois mille », « deux millions » |
1,250 |
« un virgule deux cinq » (la virgule est une décimale) |
3,5 ou 3.5 |
« trois virgule cinq » |
1.000 |
« un » |
0612345678 |
« six cent douze millions trois cent quarante-cinq mille… » |
06 12 34 56 78 |
« six douze trente-quatre cinquante-six soixante-dix-huit » (le zéro disparaît) |
07 60 00 00 00 |
« sept soixante zéro zéro zéro » |
+33612345678 |
« plus trente-trois milliards… » |
12/09, 12/09/2025 |
« douze slash neuf… » selon la voix |
10h30, 19h |
« dixhtrente », « dix-neufh » (collé, illisible) |
10:30 |
« dix deux-points trente » |
50%, 15€ |
« cinquante pour cent », « quinze euros » selon la voix, parfois collé |
3ème, 1er |
« troisème », « uner » |
75001 Paris |
« soixante-quinze mille un Paris » |
B2B, 4G, mp3, COVID-19 |
« BdeuxB », « quatreG », « mptrois », « COVID-dix-neuf » |
jean.dupont@gmail.com |
« jean poing dupont, arobase, gmail poing com » (voir la règle poing → point) |
dupont2@… |
« dupontdeux, arobase… » |
Règles pratiques :
- Téléphones : par paires séparées d'espaces, avec le zéro écrit en lettres : « zéro six, douze, trente-quatre, cinquante-six, soixante-dix-huit ». Ou un remplacement de mots pour vos numéros fixes.
- Heures : « 10 heures 30 », jamais
10h30ni10:30. Dates : « le 12 septembre », jamais12/09. - Pourcentages, prix, ordinaux : « 50 pour cent », « 15 euros », « troisième ».
- Codes à lire chiffre par chiffre (code postal, référence) : espacez chaque chiffre,
7 5 0 0 1donne « sept cinq zéro zéro un ». - Sigles avec chiffres : phonétique ou remplacement de mots.
- Avec des phrases du Studio, plus aucune conversion de nombre n'est faite, y compris dans les phrases libres : écrivez tout en lettres.
- Les balises de pause
<break time="1s" />(produites par{{pause}}) sont respectées par les principales voix, jusqu'à 3 secondes. Les autres balises de mise en forme vocale ne sont pas garanties : évitez-les. - Les symboles
* # / % € $, les guillemets et les émojis ne sont pas filtrés : chaque voix en fait ce qu'elle veut. Écrivez en mots. - Une phrase très longue (plusieurs centaines de mots sans point) ou que la synthèse met plus de 5 secondes à produire est sautée en silence ; elle apparaît pourtant dans la transcription. Phrases courtes.
19. Le Studio : enregistrer la voix de votre agent
19.1 Principe
Avec une voix compatible (« Voix humaine »), le Studio (« Station d'enregistrement ») vous permet d'enregistrer des phrases : vous parlez au micro ou chargez un fichier (mp3, wav, ogg), la transcription s'affiche, vous la corrigez si besoin, vous ajoutez des tags pour vous y retrouver. Chaque phrase enregistrée est rejouée telle quelle dès que l'agent l'utilise.
À l'usage, l'agent est ramené vers vos phrases enregistrées : quand la phrase qu'il veut dire ressemble suffisamment à une phrase du Studio (mêmes mots, même ordre, à la ponctuation près), c'est l'enregistrement qui est joué. Sinon, deux cas selon l'option Phrases libres autorisées :
- Activée (par défaut) : la phrase est prononcée par la voix de synthèse. L'agent reste libre.
- Désactivée : l'agent essaie de retrouver des morceaux de phrase (séparés par des virgules) dans le Studio ; ce qu'il ne trouve pas est supprimé, l'agent ne le dit pas. À réserver aux agents 100 % scriptés, après recette complète.
19.2 La balise {{studio: …}}
Dans le prompt, insérez une phrase du Studio via le menu {. La balise n'est valide que si le texte correspond exactement à une phrase enregistrée. Elle indique à l'agent la formulation à utiliser, et garantit que l'enregistrement sera joué.
19.3 Conseils
- Une phrase enregistrée = une seule phrase, sans point à l'intérieur. L'agent compare phrase par phrase : « Bonjour. Je suis Léa. » ne sera jamais reconnu (le Studio vous prévient : « Ton audio semble trop long car ta transcription contient plusieurs phrases »).
- Enregistrez des phrases courtes, sans variable : une phrase contenant
{{prenom}}ne sera jamais reconnue comme identique. - Respectez la casse et la ponctuation dans la transcription telles que l'agent les produira.
- Écrivez les nombres en toutes lettres : dès qu'un agent a des phrases du Studio, la conversion automatique est désactivée.
- Enregistrez d'abord l'accroche, les relances, les formules de politesse, les transitions (« Très bien », « Je note »). Ce sont elles qui font le naturel.
- Chaque enregistrement sauvegarde l'agent immédiatement, même campagne active.
- Une transcription déjà existante déclenche « Oups.. cette transcription semble déjà exister, êtes vous sûr de vouloir la remplacer ? ».
- Le Studio n'est pas disponible pour les agents SMS et WhatsApp.
20. Reporting : classifications et extractions
20.1 Classifications
Après chaque conversation, l'échange est classé dans une catégorie : c'est ce qui alimente vos statistiques, votre webhook et vos workflows. Des catégories système existent (répondeur voice_mail, serveur vocal SVI, non répondu NRP, refus d'être recontacté OPT_OUT, erreur ERROR, numéro non attribué UNASSIGNED, inconnu UNKNOWN). Leur signification détaillée est au chapitre 33.
Ajoutez les vôtres avec une définition claire, par exemple :
- Rendez-vous : « Le prospect accepte un rendez-vous ou demande à être recontacté. »
- Pas intéressé : « Le prospect décline l'offre ou indique clairement son désintérêt. »
- Demande d'info : « Le prospect pose des questions et souhaite plus de détails. »
Règles et pièges :
- Le nom et la définition sont obligatoires. Aucun format n'est imposé : utilisez des noms courts en majuscules sans espace (
RDV_PRIS), uniques : deux catégories du même nom ne sont pas détectées et la première gagne. - Le nom est comparé à la lettre près, majuscules comprises.
- Les catégories système sont supprimables. Ne supprimez pas
UNKNOWN: c'est la catégorie de repli, et sans elle un échange non classé n'a plus de catégorie du tout.NRP,ERRORetUNASSIGNEDsont posées par le système, jamais par l'IA. - Le bouton « Générer le résumé » produit, à partir du prompt, un contexte qui aide à classer, et enregistre l'agent immédiatement.
- Une catégorie ne peut être ajoutée que si aucune autre n'est en cours d'édition.
- L'étiquette d'une conversation peut être corrigée à la main dans le détail de l'item ; cela ne relance rien.
20.2 Extractions
Les extractions capturent une information précise : email, nom, budget, date de rappel, réponse à une question de qualification. Chaque extraction a un nom (qui devient la clé de la donnée dans le webhook), une définition et, dans « Options avancées », une liste de valeurs possibles avec des variations de texte qui y sont ramenées.
- Tout ce qui doit être fiable (consentement, choix parmi des options, date) se met dans une extraction avec valeurs possibles, pas dans une phrase du prompt.
- Une valeur s'ajoute avec la touche Entrée. Ne déclarez pas la même variation sous deux valeurs.
- Une extraction vide est autorisée : la donnée est absente, pas une erreur.
- Vous pouvez utiliser
{{variables}}dans les définitions.
20.3 Ce que vous voyez dans la transcription d'un échange
- Les rôles (agent, interlocuteur), les relances d'inactivité, les résultats d'outils (affichés dans une bulle avant la réponse de l'agent), les phrases interrompues tronquées avec « … ».
- La durée affichée va du premier au dernier message, sonnerie exclue.
- La raison de fin (chapitre 33), le résumé, la catégorie, les données extraites.
- L'enregistrement audio, quand l'appel a duré plus de cinq secondes. Jamais pour un « non répondu » ou un « numéro non attribué ».
21. Tester son agent
21.1 Les trois niveaux
- Tester son agent (chat et voix dans la page de l'agent) : la conversation utilise exactement la configuration de l'agent, avec les « Données de test » que vous renseignez pour les variables. Aucun crédit consommé, aucun webhook appelé, aucun message répondeur (chapitre 11). Indispensable pour entendre l'accroche, la voix, les prononciations.
- Test d'appel (« Appeler », numéro à saisir) : un vrai appel vers votre téléphone. C'est le seul test qui valide les silences, les interruptions, la détection de répondeur, les transferts et les touches. Le numéro n'est pas vérifié : saisissez-le au format national.
- Tests automatisés (onglet Tests). Ils se créent depuis une conversation de test : sous une réponse de l'agent, 👍 « Créer un test de similarité » (la réponse attendue doit ressembler à celle-ci) ou 👎 « Créer un test de non similarité ». Pour la classification : « Test de classification » puis « Enregistrer le test ». Les tests se rejouent à chaque modification du prompt pour vérifier qu'on n'a rien cassé.
21.2 Ce qu'il faut savoir sur les tests automatisés
- Un test est lié au chemin de conversation (les phrases de l'interlocuteur). Créer un test sur le même chemin remplace l'ancien.
- Le seuil de similarité est de 50 % par défaut ; modifiable de 0 à 100 dans « Modifier le test » (le curseur, pas le champ, pour la valeur 0).
- « Les tests ont bien été exécutés » s'affiche même si des tests échouent : lisez les compteurs.
- Un test de classification créé depuis une conversation réelle (bouton « Enregistrer cette conversation dans les tests de classification ») réécrit aussi l'étiquette de cet échange.
- Un test de classification créé depuis le chat est « passé » d'office jusqu'au prochain lancement.
- « (outdated) » sur un groupe de tests : l'étiquette attendue n'existe plus dans le Reporting.
- Si un lancement reste bloqué sur le sablier, rechargez la page.
21.3 Ce qu'il faut savoir sur tous les tests
- Deux conversations identiques peuvent donner des réponses différentes. Un test qui échoue une fois sur trois est « instable », pas « cassé » : rejouez-le plusieurs fois avant de conclure.
- Les réponses de l'agent sont mémorisées : un enchaînement déjà vu (même phrase de l'agent, même réponse de l'interlocuteur) est rejoué à l'identique. Après une modification du prompt, cette mémoire repart de zéro.
- Testez avec des données réalistes, variables renseignées et non renseignées.
- Testez les cas qui fâchent : « c'est pour quoi ? » pendant l'accroche, « non merci », « rappelez-moi demain », « je ne suis pas la bonne personne », un silence, un numéro dicté.
22. Créer et activer une campagne
22.1 Les réglages
| Réglage | Valeur par défaut | Conseils |
|---|---|---|
| Agent | Obligatoire. Un agent grisé n'est pas inclus dans votre plan. | |
| Nom | Obligatoire. | |
| Pays | Premier pays compatible avec la langue de l'agent | Détermine le format des numéros et les jours fériés. SMS et WhatsApp : France uniquement. |
| Numéro(s) de téléphone à afficher (sortant) | Plusieurs numéros possibles : l'un d'eux est tiré au sort à chaque appel. Un numéro utilisé par une campagne entrante ne peut pas servir en sortant. | |
| Numéro(s) appelables (entrant) | Exclusifs à cette campagne. | |
| Nombre de tentative d'appels | 3 | De 1 à 4. |
| Délai entre chaque tentative en heure | 4 h | Minimum 1 h. |
| Vélocité d'appels (appels en parallèle) | limite de l'abonnement | Plafonnée par votre plan. |
| Jours et horaires d'appel | lundi à vendredi, 9h-12h et 14h-17h | Bornes incluses. Aucune vérification que le début précède la fin : vérifiez vos créneaux. |
| Timezone | fuseau du pays (Europe/Paris) | Faites une campagne par fuseau si vos prospects sont dispersés. |
| Active lors des jours fériés | non | Jours fériés du pays de la campagne. |
| Webhook url | vide | Chapitre 28. Le bouton « Test » n'affiche aucun résultat : vérifiez côté récepteur. |
| SMS / WhatsApp : conversations initiées par heure | 120 / 250 | Plafonds 1 000 et 4 000 ; WhatsApp limité aussi par le palier Meta du compte. |
22.2 Activer
Avant activation, une fenêtre « Veuillez vérifier les données de votre campagne » récapitule les réglages. Le bouton « Activer » est bloqué si :
| Blocage | Message | Correction |
|---|---|---|
| Aucun numéro, numéro qui ne vous appartient plus, ou conflit de numéro | « Un problème a été détecté avec les numéros de téléphone assignés à cette campagne » | « Régler les problèmes » : choisissez un autre numéro. |
| Premier message vide (Web, SMS, WhatsApp, Téléphone entrant) | « Le premier message de l'agent est vide » | « Modifier le premier message de l'agent ». |
| SMS de plus de 160 caractères | « La limite de caractères est atteinte… » | Raccourcissez l'accroche ou le message d'alerte. |
| Template WhatsApp non approuvé / non supporté / média manquant | « Le template WhatsApp n'est pas approuvé. » et variantes | Choisissez un autre template, renseignez l'URL du média. |
| Compte WhatsApp signalé | « Votre compte WhatsApp a été signalé… » | Contactez StarLeads. |
| Fonction du canal retirée du plan | « Cette campagne utilise une fonctionnalité non incluse dans votre plan actuel. Elle ne peut pas être réactivée. » | Changez de plan. |
| Crédits à zéro | « Crédits insuffisants pour activer cette campagne… » | Rechargez. |
| Abonnement en pause ou essai terminé | « Une erreur est survenue lors de l'activation de la campagne. » (message générique) | Vérifiez l'abonnement. |
| Nombre maximal de campagnes | « Limite de campagnes actives atteinte » ou message générique | Archivez une campagne. |
Après activation : « Campagne lancée ! » (SMS et WhatsApp : « L'envoi peut prendre 1 minute »). Une campagne active hors horaires apparaît « En pause » avec l'heure de reprise.
22.3 Pendant la campagne
- Le power-dialer ne vérifie pas les crédits : une campagne active continue d'appeler à solde nul. Seule l'activation est bloquée.
- Modifier l'agent s'applique aux appels suivants. Modifier la campagne (tentatives, horaires) s'applique immédiatement. Réduire le nombre de tentatives sous le nombre déjà effectué clôt les contacts concernés en « non répondu ».
- Désactiver la campagne arrête les nouveaux appels ; les appels en cours se terminent normalement. Les contacts en attente restent en attente.
- Supprimer une campagne l'archive ; ses contacts restent consultables.
- Une campagne Web est activée automatiquement à sa création si l'accroche est renseignée.
Astuces
- Réclamez votre numéro offert (« Obtenir mon numéro ») avant de créer la première campagne téléphonique.
- Les numéros « Va expirer dans N jours » doivent être renouvelés : un numéro expiré bloque la campagne.
- Une campagne sans créneau horaire ne se lance jamais (« Aucune plage horaire n'est configurée sur cette campagne »).
23. Importer des contacts
Bouton « Importer » sur la page de la campagne. Indisponible pour un agent entrant.
23.1 Le fichier
- CSV uniquement (pas d'Excel : exportez en CSV). Séparateur détecté automatiquement, encodage UTF-8 ou Windows. Première ligne = en-têtes.
- Pas de limite de lignes dans le Studio ; les gros fichiers sont envoyés par lots de 5 000.
- Colonnes attendues :
phone_number(obligatoire), vos variables (obligatoires si déclarées telles), et pour SMS et WhatsApp la « Date programmée d'envoi du premier message » (facultative). - La correspondance des colonnes est proposée automatiquement quand l'en-tête ressemble au nom de la variable (
Phone Number,phone_number,PHONENUMBERsont reconnus). Sinon, choisissez la colonne dans chaque liste. Une colonne ne peut servir qu'une fois. - Un aperçu de 5 lignes et l'estimation du coût s'affichent avant l'envoi.
23.2 Formats de numéro acceptés
- National (
06 12 34 56 78,0612345678) ou international (+33612345678,0033612345678). Tous sont convertis en international. - Le pays de la campagne sert de référence : un numéro belge dans une campagne France est refusé avec le message trompeur « est un numéro surtaxé ». Créez une campagne du bon pays.
- Refusés : numéros surtaxés, numéros invalides, cellule vide.
23.3 La date programmée (SMS, WhatsApp)
Formats acceptés : AAAA-MM-JJ, JJ/MM/AAAA, JJ-MM-AAAA, chacun avec une heure facultative (19/06/2026 09:30). Les dates sans fuseau sont lues dans votre fuseau local (celui du navigateur). Une date non reconnue bloque l'import : « Ligne N : « … » n'est pas une date reconnue » (ici la ligne 1 est la première ligne de données ; dans les erreurs du serveur, la ligne 2 est la première ligne de données). Une cellule vide = envoi dès que possible.
23.4 Le rapport d'erreurs
Après l'envoi, si des lignes posent problème, un « Rapport d'erreurs » liste chaque ligne (exportable). Le bouton devient « Ignorer et importer » : les lignes en erreur sont écartées et le reste est importé.
| Message | Cause | Ignorable ? |
|---|---|---|
| « Line N : PhoneNumber est vide. » | Cellule vide | Oui |
| « Line N : PhoneNumber => … n'est pas un numéro valide. » | Format non reconnu | Oui |
| « Line N : PhoneNumber => … est un numéro surtaxé. » | Numéro surtaxé, ou numéro d'un autre pays que celui de la campagne | Oui |
| « Line N : PhoneNumber => … est un numéro mobile. » | Mobiles interdits sur ce type de campagne (rare) | Oui |
| « Line N : numéro dupliqué dans le fichier => +33… » | Doublon dans le fichier (la seconde occurrence est écartée) | Oui |
| « Colonne manquante : X » | Le fichier relu par le serveur n'a pas cette colonne : séparateur ambigu, guillemets cassés, ligne plus courte que l'en-tête | Non : corrigez le fichier |
| « Le fichier CSV semble invalide ! » | Fichier non CSV, mapping incohérent | Non |
| « Vous n'avez pas assez de crédits pour contacter tous les contacts importés. » | Coût estimé supérieur au solde | Rechargez, ou réduisez le fichier |
23.5 Ce que l'import ne vérifie pas
- Les doublons avec les contacts déjà dans la campagne : un numéro déjà présent est importé une seconde fois. Dédoublonnez en amont (exportez la campagne, comparez).
- Les cellules vides des variables obligatoires : seule la présence de la colonne est vérifiée. La valeur vide arrive dans le prompt (chapitre 5, variable absente).
- Un import qui se termine par « Import réalisé avec succès » sans contacts visibles : rechargez la page ; si rien n'apparaît, la campagne ciblée n'a pas été trouvée, réessayez depuis la page de la campagne.
23.6 Autres façons d'ajouter des contacts
- Depuis l'Audience (« Importer vers une campagne ») : mapping des champs, import par lots avec suivi de progression. Aucune vérification de numéro ni de doublon.
- Par l'API (chapitre 28) : vérifie le numéro et les champs obligatoires, refuse un contact déjà « À traiter » pour le même numéro.
- Par un workflow (« Transférer à un agent »).
23.7 WhatsApp : consentement obligatoire
Le fichier doit contenir les colonnes ConsentStatus (opt-in, optin, opt_in, opt-out, optout, opt_out), ConsentSource (form, webform, qr, pos, api, sms, email, paper, app, phone) et ConsentTimestamp (JJ/MM/AAAA ou AAAA-MM-JJ, jamais dans le futur). Téléchargez le « modèle CSV » qui contient les bons en-têtes. L'import se fait en deux temps : « Valider les contacts » (rapport détaillé, contacts exclus : opt-out, consentement manquant, opt-out déjà connu en base) puis « Importer les contacts opt-in ».
24. Le cycle de vie d'un contact et les résultats
24.1 Les statuts
| Statut | Signification |
|---|---|
| À traiter | En attente d'un appel ou d'un envoi, à la date « prochaine tentative ». |
| Appel en cours / Conversation en cours | Appel lancé, ou conversation SMS/WhatsApp ouverte (jusqu'à 24 h). |
| En traitement | Conversation terminée, classification en cours. |
| Traité | Terminal. Une étiquette est posée. |
| Erreur | Terminal. Échec technique (SMS trop long, template WhatsApp absent, contact opt-out WhatsApp…). Le résumé indique la cause. |
Le filtre « Annulé » n'existe pas côté serveur : il ne renvoie jamais rien. Les annulations apparaissent en « Traité » avec l'étiquette NRP.
24.2 Les tentatives
- Une tentative est consommée à chaque appel lancé, décroché ou non. Les erreurs techniques de l'opérateur rendent la tentative (réessai une heure plus tard ; cinq erreurs de suite ⇒
NRP). - Toutes les premières tentatives passent avant les relances. Sur une grosse liste, les répondeurs ne sont rappelés qu'une fois la liste épuisée, quel que soit le délai configuré.
- Répondeur ou non répondu avec des tentatives restantes ⇒ retour en « À traiter » avec la prochaine tentative après le délai configuré. Au bout du nombre de tentatives ⇒ « Traité » avec l'étiquette
voice_mailouNRP. - Serveur vocal, inconnu, opt-out et vos étiquettes métier sont terminales : pas de relance, même s'il reste des tentatives. À la première tentative, un répondeur mal détecté que l'IA classe dans une étiquette métier clôt donc le contact.
- Un appel « bloqué » (sonnerie sans réponse de l'opérateur au-delà de 45 secondes, appel décroché sans fin au-delà de 8 minutes) est remis en attente ; la tentative est consommée.
24.3 Rappels entrants
Si un contact appelé sans succès (répondeur, non répondu, serveur vocal, inconnu, opt-out) rappelle dans les 24 heures l'un des numéros de la campagne, l'appel est rattaché à son dossier : l'agent connaît ses variables, utilise l'accroche entrante, et le résultat remplace le résultat précédent. Passé 24 heures, ou si la campagne est désactivée, l'appel est refusé (il sonne dans le vide). Prévoyez une accroche entrante adaptée sur vos agents sortants.
24.4 Ce que vous récupérez
- La transcription, le résumé, l'étiquette, les données extraites, la raison de fin, les événements horodatés, l'enregistrement audio.
- Le webhook de la campagne est appelé une seule fois par contact, au passage en « Traité ». Jamais pour un contact en « Erreur », jamais pour un passage en attente (répondeur). Il est rappelé si un rappel entrant modifie le résultat.
- L'étiquette peut être corrigée à la main ; les données peuvent être exportées en CSV (séparateur
;, une colonne par variable et par extraction).
24.5 Conservation
- « Suppression programmée des données » : après le nombre de jours choisi (90 par défaut), les contacts traités sont archivés (invisibles), pas effacés ; l'audio reste. Pour effacer un audio, utilisez la suppression d'audio sur le contact ou l'API.
- Un contact supprimé est archivé.
25. Crédits et facturation
- Un contact = un débit, au premier résultat de conversation, quelle que soit la durée. Un contact répondeur est débité dès son premier répondeur ; ses relances ne sont plus débitées.
- Non débités : non répondu et numéro non attribué (aucune conversation), appels de test, conversations Web sans message de l'interlocuteur.
- Le coût par contact dépend du canal, du modèle d'IA (premium) et du pays ; il est affiché à l'import (« Coût estimé de la campagne ») et sur la fiche de l'agent.
- L'activation d'une campagne est refusée à solde nul, mais une campagne déjà active continue : surveillez le solde (alertes de seuil).
- Un débit à solde insuffisant apparaît en « Crédits insuffisants » sur le contact ; l'appel a bien eu lieu.
26. Agents Web, SMS et WhatsApp
26.1 Différences avec le téléphone
Pas de voix (sauf widget vocal), pas de répondeur, pas de messages d'inactivité, pas d'interruption. La conversation reste ouverte plus longtemps (24 h par défaut, configurable). L'agent continue d'utiliser {{hangup}} pour signaler qu'il a terminé : sur le Web, après ce signal, l'agent ne répond plus aux messages suivants de l'utilisateur, même si la fenêtre reste ouverte.
26.2 Web
- Le widget se teste dans l'onglet Web widget (aperçu, « Simulation d'une page client », données de test).
- Le code d'intégration nécessite une campagne (même inactive) : « Bloc intégré » ou « Bulle flottante », par URL ou par code HTML. L'URL contient un paramètre par variable obligatoire (
?prenom=…). Taille par défaut 350 × 500. - Modes « Vocal » et « Chat » activables ; rien n'empêche de tout décocher : vérifiez.
- Mode libre-service (kiosque) pour les postes partagés : chaque conversation crée une session indépendante, avec écran de remerciement (message de 200 caractères max, compte à rebours de 3 à 120 secondes) ou retour immédiat. Hors kiosque, une nouvelle conversation dans la même session (24 h) remplace le résultat précédent.
- Le prompt peut contenir des liens : ils deviennent cliquables. C'est le seul canal où la mise en forme a un sens.
{{phone_number}}est vide : ne l'utilisez pas.- Délai d'inactivité de l'utilisateur : jusqu'à 7 jours ; désactivé = jamais clôturé par inactivité ; 0 = agent « message unique » qui n'attend pas de réponse.
- Le widget refuse de démarrer si la campagne est inactive ou archivée, l'agent archivé, le lien désactivé, ou les crédits à zéro. Limite de 50 conversations par session.
- Micro refusé : « L'accès au microphone est nécessaire… » : l'utilisateur doit autoriser puis recharger.
26.3 SMS
- Accroche limitée à 160 caractères (compteur ; les variables ne comptent pas, mais leur valeur oui). Au-delà, la sauvegarde et l'activation sont bloquées, et un contact avec accroche trop longue passe en erreur
SMS_MAX_LENGTH_REACHEDsans envoi. - Fenêtre de conversation de 24 h, prolongée à chaque réponse. Un message d'alerte avant expiration peut être configuré avec
{{timeRemaining}}, envoyé dans les plages horaires de la campagne. - Les horaires ne s'appliquent qu'à l'envoi du premier message.
- Sans réponse du contact ⇒ étiquette
NRP. Il n'y a pas de mot-clé STOP automatique : l'opt-out est une étiquette posée par l'IA. - Disponible en France uniquement.
26.4 WhatsApp
- L'accroche est un template Meta approuvé ; ses variables sont créées automatiquement comme variables d'entrée obligatoires. Un template avec avertissements (vidéo ou document en en-tête, boutons d'appel) est refusé. Le changement de template enregistre l'agent immédiatement.
- Média d'en-tête image : URL en
https://se terminant par.jpg,.png,.gif,.webpou.svg. - Fenêtre de 24 h, comme le SMS. Quota quotidien Meta : atteint, les envois restants sont reportés au lendemain (« Limite de conversation atteinte »).
- Un contact ayant exprimé un opt-out lors d'une conversation WhatsApp précédente n'est plus contacté (contact en « Erreur », « Ce contact ne souhaite plus être contacté par votre entreprise »).
- Numéros : seuls les numéros « Connecté » sont utilisables (« hors ligne », « signalé », « limité en débit », « en attente de vérification » bloquent).
27. Base de connaissances : datasets, chats et documents
La base de connaissances permet à un agent d'aller chercher une réponse dans vos documents pendant la conversation, au lieu de tout écrire dans son prompt. C'est le bon outil pour une documentation produit, une FAQ, des conditions générales, un catalogue, des procédures internes.
27.1 Le principe
Le Studio propose lui-même l'image du bibliothécaire, et elle est juste :
- les datasets sont les étagères où vous rangez vos documents ;
- le chat est le bibliothécaire : il sait dans quelles étagères chercher, et comment formuler sa réponse ;
- l'agent est celui qui pose la question au bibliothécaire pendant l'appel.
Ce qui se passe réellement, étape par étape :
- Vous importez un document dans un dataset.
- Le document est découpé en morceaux (les « chunks »), d'environ 350 à 400 mots chacun par défaut. Chaque morceau est indexé séparément. C'est l'étape appelée « parsing » : tant qu'elle n'est pas terminée, le document n'est pas consultable.
- Pendant une conversation, l'agent pose une question à son chat.
- Le chat cherche les morceaux les plus proches de la question, par sens et par mots-clés, et n'en garde que les meilleurs (6 par défaut).
- Le chat rédige une réponse à partir de ces seuls morceaux, avec ses propres réglages et sa propre intelligence artificielle.
- L'agent reçoit cette réponse rédigée, pas les documents. Il la reformule à l'oral selon son propre prompt.
Trois conséquences à retenir, elles expliquent presque tous les problèmes :
- Le chat ne lit jamais tout votre document. Il ne voit que quelques morceaux. Un morceau qui ne se comprend pas tout seul ne sert à rien.
- La qualité de la réponse dépend d'abord de la qualité du document, ensuite du découpage, et seulement en dernier des réglages du chat.
- Chaque question est indépendante. Le chat ne se souvient pas de la question précédente de la conversation.
27.2 Dans quel ordre créer
Le Studio l'affiche en quatre étapes, et l'ordre compte :
| Étape | Écran | Pourquoi maintenant |
|---|---|---|
| 1. Créer un dataset | Base de connaissances, « Nouveau Dataset » | Les réglages de découpage se choisissent avant l'import : les changer après oblige à tout re-parser. |
| 2. Importer les documents | Fiche du dataset | Attendez que le statut passe à « Terminé » : un document non parsé est invisible pour le chat. |
| 3. Créer un chat | Base de connaissances, « Créer un chat » | Le chat a besoin d'au moins un dataset rempli pour être testable. |
| 4. Connecter un agent | Fiche du chat, ou paramètres de l'agent | Dernière étape seulement : testez le chat seul avant de le brancher sur un agent. |
Combien en créer ? Un dataset par thème (« Documentation produit », « FAQ », « Procédures internes »), pas un dataset par fichier. Un chat par usage : un chat « support technique » et un chat « commercial » peuvent partager le même dataset FAQ et avoir chacun leur ton. Un dataset peut servir à plusieurs chats ; un agent ne peut être connecté qu'à un seul chat.
27.3 Étape 1 : créer un dataset
| Champ | Règle | Conseil |
|---|---|---|
| Nom du dataset | Obligatoire, 128 caractères maximum, unique dans l'espace de travail | Nommez par thème : « Documentation produit », pas « docs v2 ». |
| Description | Facultative | Pour vos collègues : ce que contient l'étagère, et ce qu'elle ne contient pas. |
| Méthode de découpage (« Type de document ») | 5 choix. « Document général » par défaut | Voir ci-dessous. |
| Taille des chunks (tokens) | Curseur, 512 par défaut | Laissez 512 sauf raison précise. Voir ci-dessous. |
| Délimiteur | Retour à la ligne par défaut | À ne changer que si vos fichiers utilisent un séparateur particulier. |
| Reconnaissance de mise en page | Désactivée par défaut | Activez-la pour des PDF en colonnes ou très mis en page : l'analyse est plus lente mais respecte les titres et les colonnes. |
La méthode de découpage adapte la façon de lire le fichier :
| Choix | Pour quel contenu |
|---|---|
| Document général | Le cas courant : documentation, notes, pages web, contrats. Fonctionne pour presque tout. |
| Questions & Réponses | Un fichier entièrement composé de paires question / réponse. Chaque paire devient un morceau. Excellent pour une FAQ. |
| Tableau | Un fichier Excel ou CSV avec une ligne d'en-tête : chaque ligne devient une donnée interrogeable (tarifs, références, disponibilités). |
| Livre | Un long document avec chapitres et sous-chapitres. |
| Article scientifique | Publication structurée (résumé, sections, références). |
Le choix vaut pour tout le dataset : ne mélangez pas une FAQ et un catalogue Excel dans le même dataset, faites-en deux.
La taille des morceaux arbitre entre précision et contexte : un petit morceau cible mieux la question mais perd le contexte autour ; un gros morceau apporte du contexte mais noie l'information et laisse moins de place aux autres morceaux. 512 est un bon compromis. Descendez vers 256 pour une FAQ très factuelle, montez vers 1 024 pour des textes juridiques où le paragraphe entier compte.
27.4 Étape 2 : importer les documents
Glissez vos fichiers dans la zone d'import, ou cliquez pour les sélectionner.
- Formats acceptés : PDF, Word, Excel, TXT, CSV, Markdown, PowerPoint, images, HTML, JSON.
- 5 Mo par fichier au maximum. Un seul fichier invalide bloque tout le lot (« Fichiers invalides détectés ») : retirez-le et renvoyez.
- Le parsing démarre automatiquement après l'envoi. Le tableau affiche le nom, la taille, le nombre de morceaux produits et le statut : « En attente », « En cours » avec un pourcentage, « Terminé », « Annulé », « Erreur ».
- Un document en « Erreur » ne peut pas être relancé seul : utilisez « Tout re-parser » dans les Actions rapides.
- Actions par ligne : lancer le parsing, télécharger, supprimer. La suppression pendant un parsing en cours est bloquée.
- Le nombre de morceaux est votre meilleur indicateur : un document de 20 pages qui produit 2 morceaux a mal été lu (souvent un PDF scanné) ; un document de 2 pages qui en produit 60 est trop fragmenté.
Dans la fiche du dataset, « Statistiques Globales » affiche l'espace utilisé, le nombre de documents parsés et le nombre en erreur. L'espace utilisé se compte en milliers de tokens, pas en mégaoctets : lisez-le comme un ordre de grandeur du volume indexé.
27.5 Préparer ses documents : les astuces qui changent tout
C'est ici que se joue la qualité des réponses, bien plus que dans les réglages. Le principe directeur tient en une phrase :
Chaque morceau doit pouvoir être lu seul, par quelqu'un qui n'a pas vu le reste du document.
Le chat ne reçoit ni le titre du document, ni le chapitre parent, ni le paragraphe précédent. Il reçoit six morceaux de texte, et rien d'autre.
Le format à privilégier : Markdown. Un fichier .md est converti proprement, ses titres sont reconnus, rien ne se perd. Ensuite viennent Word et TXT. Le PDF fonctionne s'il contient du vrai texte ; un PDF scanné sans reconnaissance de caractères ne donne rien du tout, et un PDF protégé par mot de passe est rejeté.
Les dix règles de rédaction :
- Un titre explicite avant chaque bloc de réponse, qui répète le sujet. « ## Garantie du chauffe-eau Nova 300 », pas « ## Garantie ». Le titre voyage avec le morceau, il aide la recherche.
- Répétez le sujet dans la première phrase. Bannissez « il », « celui-ci », « ce produit », « cette offre » en tête de paragraphe.
- Des sections courtes, 150 à 300 mots, soit à peu près un morceau. Une section de dix pages sera coupée arbitrairement.
- Laissez une ligne vide entre les paragraphes. Le découpage préfère couper à un retour à la ligne : un pavé compact est tranché au milieu d'une phrase.
- Aucun renvoi interne. « Voir la section précédente », « comme indiqué plus haut », « cf. annexe 2 » : le lecteur du morceau n'a accès à rien de tout cela. Répétez l'information plutôt que d'y renvoyer.
- Le format question / réponse est le plus efficace. Écrivez la question telle que le client la pose, en titre, et la réponse en dessous. Si tout le fichier est ainsi, choisissez la méthode de découpage « Questions & Réponses ».
- Des puces autonomes. « Délai de livraison : 5 jours ouvrés » se comprend seul ; « 5 jours ouvrés » sous un titre lointain, non.
- Des tableaux petits, précédés d'une phrase d'introduction. Un grand tableau coupé en deux perd sa ligne d'en-tête et devient illisible. Pour quelques valeurs, préférez des paires « libellé : valeur » en texte.
- Employez le vocabulaire de vos clients. La recherche se fait aussi sur les mots. Si le client dit « chaudière » et votre document « générateur thermique », mentionnez les deux au moins une fois.
- Datez et versionnez dans le texte (« Tarifs applicables au 1er janvier 2026 »), et supprimez les versions obsolètes. Deux documents contradictoires produisent des réponses contradictoires, sans avertissement.
Ce qu'il faut retirer avant l'import : sommaires et tables des matières, en-têtes et pieds de page répétés à chaque page, mentions légales répétées, numéros de page, images porteuses d'information (un schéma n'est pas lu), notes de bas de page, colonnes multiples. Tout cela crée des morceaux vides de sens qui remontent quand même dans les recherches.
Avant / après. Le même contenu, inexploitable puis exploitable :
# Conditions générales
## Garantie
Elle est de 2 ans. Au-delà, voir la section précédente pour les extensions.
Elle ne s'applique pas dans les cas mentionnés en annexe.
## Garantie du chauffe-eau solaire Nova 300
La garantie du chauffe-eau solaire Nova 300 est de 2 ans, pièces et main d'oeuvre,
à compter de la date de facture. Elle couvre la pompe, le capteur et le ballon.
Elle ne couvre pas l'entretien annuel, ni les dégâts dus au gel, ni une installation
réalisée par un tiers non agréé.
Une extension à 5 ans est possible pour 149 euros, à souscrire dans les 30 jours
suivant l'achat.
Un exemple de FAQ bien découpée :
## Puis-je résilier mon contrat Nova Confort avant un an ?
Oui. Le contrat Nova Confort est résiliable à tout moment, sans frais, après
12 mois d'engagement. Avant 12 mois, des frais de résiliation de 60 euros
s'appliquent. La demande se fait par courrier ou depuis l'espace client.
## Combien de temps faut-il pour installer un chauffe-eau Nova 300 ?
L'installation d'un chauffe-eau solaire Nova 300 prend une demi-journée pour
un logement individuel, et se planifie sous 3 semaines après signature du devis.
Enfin, découpez vos fichiers par sujet. Dix fichiers thématiques valent mieux qu'un manuel unique de 200 pages : la recherche est plus précise, et vous pouvez remplacer un sujet sans tout re-importer.
27.6 Étape 3 : créer le chat
| Champ | Où | Règle |
|---|---|---|
| Nom du chat | Création | Obligatoire. « Support produit », « FAQ technique ». |
| Datasets rattachés | Création et modification | Marqué obligatoire, mais rien ne vous empêche d'enregistrer sans : un chat sans dataset ne répond rien. |
| Réponse quand aucun résultat n'est trouvé | Création uniquement | Renseignez-la tout de suite : elle n'est plus modifiable depuis l'écran du chat. Exemple : « Je n'ai pas cette information dans la documentation. » |
| Instructions système | Modification | 2 000 caractères. Le ton et les règles de rédaction du bibliothécaire. |
| Paramétrage avancé | Création et modification | Voir ci-dessous. |
| Agents connectés | Modification | Étape 4. |
Les instructions système du chat ne sont pas le prompt de l'agent. Elles gouvernent la façon dont la réponse écrite est rédigée ; le prompt de l'agent gouverne la façon dont elle est dite à l'oral. Comme l'agent va lire cette réponse au téléphone, demandez au chat d'être bref :
Tu es un expert du support Nova. Tu réponds uniquement à partir des documents fournis.
Réponds en français, en deux phrases maximum, sans liste et sans mise en forme.
Ne cite aucune source et n'utilise aucune référence entre crochets.
Si l'information n'est pas dans les documents, réponds exactement :
« Je n'ai pas cette information. »
La dernière consigne mérite une explication : la base peut ajouter à sa réponse des repères de source de la forme [ID:0]. Ils deviennent des pastilles cliquables dans le panneau de test, mais l'agent reçoit le texte brut et peut les lire à voix haute. Interdisez-les dans les instructions du chat, et demandez à l'agent de reformuler avec ses propres mots.
Le paramétrage avancé, dans l'ordre d'utilité :
| Réglage | Défaut | Ce qu'il change | Quand y toucher |
|---|---|---|---|
| Seuil de similarité | 0,20 | Écarte les morceaux trop éloignés de la question. Plus haut = plus sélectif. | Montez-le (0,3 à 0,4) si le chat répond à côté avec des extraits hors sujet. Baissez-le (0,1) s'il ne trouve rien alors que la réponse existe. |
| Nombre de chunks (top N) | 6 | Combien de morceaux le chat lit pour rédiger. | Montez à 8 ou 10 si les réponses sont incomplètes, si l'information est dispersée. Descendez à 3 ou 4 pour des réponses plus courtes et plus rapides. |
| Température | 0,1 | Liberté de rédaction. | Laissez à 0,1. C'est ce qui empêche le chat d'inventer en dehors de vos documents. |
| Poids des mots-clés | 0,30 | Arbitrage entre recherche par sens et recherche par mots exacts. | Montez-le si vos documents contiennent beaucoup de références, codes produits ou noms propres que le client cite littéralement. |
| Top P | 0,30 | Diversité du vocabulaire de la réponse. | Laissez tel quel. |
Le modèle d'intelligence artificielle du chat est imposé par la plateforme : il n'est pas modifiable, et ce n'est pas celui de votre agent.
27.7 Étape 4 : connecter le chat à un agent
Deux chemins, même résultat : depuis la fiche du chat, section « Agents connectés », ou depuis la fiche de l'agent, section « Base de connaissances ».
- Un agent ne peut être connecté qu'à un seul chat. Un agent déjà connecté ailleurs n'apparaît pas dans la liste : détachez-le d'abord.
- Un chat peut servir plusieurs agents.
- Détacher un chat ne supprime rien.
- Si le chat est supprimé, l'agent affiche « Chat introuvable » et perd la recherche sans autre avertissement.
Côté agent, la connexion ajoute automatiquement une capacité de recherche, avec une consigne par défaut très large : « à utiliser quand l'utilisateur pose une question à laquelle la documentation de l'entreprise pourrait répondre ». Sans cadrage, l'agent consulte la base pour presque tout et chaque échange ralentit. Écrivez donc dans le prompt de l'agent :
# Base de connaissances
Pour les questions sur les garanties, les tarifs et l'installation, consulte la base
de connaissances avant de répondre, en posant une question complète et autonome.
Pour tout le reste, réponds directement sans la consulter.
Reformule la réponse obtenue avec tes propres mots, en une ou deux phrases.
Si la base ne trouve rien, dis-le et propose qu'un conseiller rappelle.
« Question complète et autonome » est important : le chat n'a aucune mémoire de l'échange, une question de suivi comme « et pour le modèle plus grand ? » ne veut rien dire pour lui.
Enfin, une recherche prend de une à plusieurs secondes, jusqu'à 30 dans le pire cas. Renseignez le message d'occupation de l'agent (chapitre 12) et faites-lui annoncer sa recherche (« Je regarde »).
27.8 Tester et régler le chat
Le panneau de test occupe la partie droite de l'écran de modification du chat. Il utilise la configuration enregistrée : le bandeau « Enregistrez vos modifications avant de tester » signale que vous testez encore l'ancienne version.
Ce que le test vous montre :
- La réponse telle qu'elle sera transmise à l'agent.
- Les sources utilisées, jusqu'à cinq : nom du document, extrait, et un score de proximité. Cliquez sur un extrait pour le voir en entier.
- L'interrupteur « Vue debug » ajoute les mesures de recherche : nombre de morceaux retenus, volume de texte lu, similarité du meilleur morceau.
Comment lire ces informations pour régler :
| Ce que vous observez | Ce que cela signifie | Ce qu'il faut faire |
|---|---|---|
| Bonne réponse, sources pertinentes | Tout va bien | Rien |
| Aucune source, réponse « je n'ai pas trouvé » alors que l'information existe | La question ne ressemble pas au texte du document | Reformulez le titre de la section avec les mots du client ; baissez le seuil de similarité |
| Sources hors sujet, avec des scores faibles | Le seuil laisse passer du bruit | Montez le seuil de similarité |
| Bonne source mais réponse incomplète | Le morceau est coupé au mauvais endroit, ou il en faudrait plus | Restructurez la section pour qu'elle tienne d'un bloc ; augmentez le nombre de morceaux |
| Le même document ressort pour tout | Ce document est trop générique, ou les autres sont mal parsés | Vérifiez le nombre de morceaux des autres documents |
| Réponse juste mais trop longue pour l'oral | Instructions système du chat | « Deux phrases maximum, sans liste » |
Réponse contenant [ID:0] |
Le chat cite ses sources | Interdisez les références dans les instructions système |
| Le chat invente | Température trop haute, ou documents ambigus | Ramenez la température à 0,1 ; ajoutez la consigne « uniquement à partir des documents » |
Testez avec les vraies questions de vos clients, y compris mal formulées, et notez celles qui échouent : c'est votre liste de sections à réécrire.
27.9 Le Knowledge Graph
Option avancée, proposée sur la fiche d'un dataset. Par défaut, la recherche traite chaque morceau isolément. Le Knowledge Graph analyse en plus les relations entre les informations de vos documents : il repère les entités (par défaut personnes, organisations, lieux, événements, modifiables) et les liens entre elles.
L'exemple donné par le Studio est parlant : un document dit « Marie dirige le projet Alpha », un autre « Alpha est une mission pour le client Dupont ». Seul le graphe permet de répondre « Marie travaille indirectement pour le client Dupont ».
Les contreparties sont annoncées honnêtement dans l'écran d'activation :
- la construction prend quelques minutes au premier lancement, à refaire après un ajout important de documents ;
- les réponses deviennent 1 à 2 secondes plus lentes, ce qui compte sur un appel téléphonique ;
- l'option ne devient vraiment utile qu'au-delà de 5 à 10 documents reliés entre eux.
Pour une FAQ ou un catalogue, elle n'apporte rien. Pour un corpus de comptes rendus, de contrats ou de dossiers clients qui se citent les uns les autres, elle change la qualité des réponses. La progression est affichée pendant la construction ; le graphe peut être supprimé, ce qui est irréversible.
27.10 Faire vivre la base
| Action | Effet |
|---|---|
| Ajouter un document | Parsing automatique ; disponible dès le statut « Terminé ». |
| Remplacer une version | Importez la nouvelle et supprimez l'ancienne. Deux versions coexistantes donnent des réponses contradictoires. |
| Modifier les réglages de découpage | Ne s'applique qu'aux nouveaux documents. Utilisez « Tout re-parser » pour appliquer aux anciens. |
| « Tout re-parser » | Relance le parsing de tous les documents du dataset. À faire après un changement de découpage ou une série d'erreurs. |
| « Vider le dataset » | Supprime tous les documents, garde le dataset. Irréversible. |
| Poubelle dans l'en-tête du dataset | Attention : elle vide le dataset au lieu de le supprimer. La suppression du dataset se fait depuis sa carte sur le tableau de bord. |
| Supprimer un dataset | Il est retiré de tous les chats qui l'utilisaient, sans avertissement détaillé. |
| Supprimer un chat | Tous les agents connectés sont détachés. |
Deux limites d'affichage à connaître : les listes ne montrent que les 30 premiers datasets et chats, et l'indicateur de quota affiché sur les chats se base sur un maximum de 10 quel que soit votre plan. Fiez-vous au message d'erreur du serveur, pas à la barre.
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| « Le nom est obligatoire » / « Le nom ne peut pas dépasser 128 caractères » | Nom de dataset vide ou trop long | Corrigez. |
| « Une erreur est survenue » à la création d'un dataset | Le plus souvent un nom déjà utilisé dans l'espace de travail, sinon un quota de plan | Changez le nom ; si cela persiste, vérifiez votre plan. |
| « A chat with this name already exists in this workspace » | Nom de chat en double | Changez le nom. |
| « Limite du plan atteinte » | Quota de datasets, de documents, de chats ou de datasets par chat | Faites du ménage ou changez de plan. |
| « Fichiers invalides détectés : … » | Un fichier dépasse 5 Mo ou n'a pas une extension acceptée. Tout le lot est refusé | Retirez le fichier fautif et renvoyez. |
| Rien ne se passe à l'envoi d'un fichier | Échec silencieux (taille, format, quota) | Rechargez la page pour voir l'état réel. |
| Document en « Erreur » | PDF scanné sans reconnaissance de caractères, fichier protégé, fichier corrompu | Convertissez en Markdown ou en Word, réimportez, puis « Tout re-parser ». |
| Document « Terminé » mais 0 ou 1 morceau | Le fichier n'a presque pas été lu (scan, image) | Même correction. |
| « Enregistrez le chat avant de tester » | Chat pas encore créé, ou identifiant manquant | Enregistrez d'abord. |
| « Associez au moins un dataset avant de tester » | Chat sans dataset | Rattachez un dataset et enregistrez. |
| « Enregistrez vos modifications avant de tester » | Vous testez l'ancienne configuration | Enregistrez. |
| « Erreur lors de l'enregistrement » sur un chat | Nom en double, dataset d'un autre espace de travail, ou quota | Vérifiez le nom et les datasets rattachés. |
| « Erreur lors de la modification de l'agent » à la connexion | L'agent est déjà connecté à un autre chat | Détachez-le d'abord. |
| « Chat introuvable » sur la fiche d'un agent | Le chat a été supprimé | Déconnectez, puis connectez un chat existant. |
| Rien ne se passe à la connexion d'un agent | Échec silencieux | Rechargez et vérifiez la liste des agents connectés. |
| « Erreur réseau — vérifiez votre connexion » | Perte de connexion | Réessayez. |
Astuces
- Testez toujours le chat seul avant de le connecter à un agent. Un chat qui répond mal en test répondra mal en appel, en plus lent.
- Écrivez la question dans le titre, la réponse en dessous : c'est la structure la plus rentable de toutes.
- Demandez des réponses de deux phrases dans les instructions système : elles seront lues à voix haute.
- Gardez le prompt de l'agent pour les informations critiques (prix d'appel, horaires, règles de comportement) et la base pour le volume. Une information vitale ne doit pas dépendre d'une recherche qui peut échouer.
- Après chaque campagne, relisez les questions qui ont échoué et ajoutez-les à votre FAQ, formulées comme le client les a posées.
- Une section réécrite vaut dix réglages. Avant de toucher au seuil de similarité, regardez le document.
28. Webhook et API
Ce chapitre s'adresse à une équipe technique. Pour automatiser sans écrire de code, l'équivalent est le workflow du chapitre 29 : même déclenchement (le passage du contact en « Traité »), mais construit dans l'interface.
28.1 Webhook de campagne
- URL de votre système, appelée en POST avec le contact complet : identifiants, numéro, variables, étiquette (nom, couleur), résumé, données extraites, transcription (rôle, texte, horodatage), événements, statut de livraison pour SMS et WhatsApp.
- Une fois par contact, au passage en « Traité ». Pas d'appel pour un contact en « Erreur ». Pas de nouvelle tentative si votre serveur ne répond pas, pas de signature : répondez 200 rapidement et traitez ensuite, filtrez par adresse IP si nécessaire.
- Le bouton « Tester le Webhook » (depuis une conversation de test) envoie un contact fictif et affiche la réponse ; le bouton « Test » du formulaire de campagne n'affiche rien.
28.2 API publique
Base https://api.starleads.co, clé dans l'en-tête X-Api-Key (Configuration → API Access). Principales possibilités : créer et lister des campagnes, lister les variables d'une campagne, ajouter des contacts (unitaire ou en masse), lire les contacts et leurs résultats, télécharger ou supprimer l'audio, lire et remplacer le prompt d'un agent (50 000 caractères max), gérer la base de connaissances.
Erreurs fréquentes :
| Message | Cause |
|---|---|
Missing API Key / Invalid API Key |
En-tête absent, clé inconnue ou désactivée |
No right to update this campaign |
Campagne d'un autre compte |
Invalid phone number: … |
Numéro invalide ou d'un autre pays que la campagne |
Missing mandatory field : x |
Variable obligatoire absente du dataBag |
Item already exists for phone number : +33… |
Un contact « À traiter » existe déjà pour ce numéro (un contact déjà traité peut être ré-ajouté) |
Duplicate item in request with the same phone number |
Doublon dans le lot |
Prompt exceeds maximum length of 50000 characters |
Prompt trop long |
Schedule time range start must be before end / Schedule contains overlapping time ranges |
Créneaux incohérents à la création d'une campagne |
Phone number not found in company's phone numbers |
Le numéro doit être un de vos numéros |
En création de campagne par l'API, renseignez toujours le fuseau horaire : sans lui, les horaires sont interprétés en temps universel (SMS, WhatsApp) ou la campagne ne se lance pas (téléphone). L'ajout en masse ne renvoie que la liste des erreurs, avec un statut 200 même si tout est refusé : lisez errors.
29. Workflows : automatiser ce qui suit la conversation
Un agent StarLeads sait tenir une conversation. Il ne sait pas, seul, ce qu'il faut en faire ensuite : relancer trois jours plus tard, écrire le rendez-vous dans le CRM, prévenir un commercial, envoyer le devis, ne plus jamais rappeler quelqu'un qui a dit non. Ce travail-là, la plupart des équipes le font à la main — export CSV le lundi matin, tri dans un tableur, ré-import dans une autre campagne — avec le retard et les oublis que cela suppose.
Un workflow fait ce travail automatiquement, dans l'interface, sans écrire une ligne de code. Il se déclenche à la fin de chaque conversation, regarde ce qui s'est passé, et agit en conséquence.
29.1 Pourquoi un workflow
Trois familles de valeur, qui recouvrent presque tous les usages réels.
Relancer au bon moment, sur le bon canal. Un contact qui ne décroche pas n'est pas un contact perdu : c'est un contact à retenter autrement. Un SMS deux heures après un appel manqué, un rappel téléphonique deux jours plus tard, un message WhatsApp le samedi matin. Sans workflow, cette séquence demande une campagne par étape et un ré-import manuel à chaque fois. Avec, elle se dessine une fois et tourne toute seule.
Faire circuler la donnée. Ce que l'agent a compris pendant l'appel — un budget, une date de rendez-vous, un email, un motif de refus — ne vaut que s'il arrive dans les outils où travaillent vos équipes. Le workflow pousse ces informations vers votre CRM, votre outil de ticketing, un tableur, une messagerie, au moment même où elles sont fraîches.
Trier, et adresser chaque contact à la bonne personne. Tous les appels ne se valent pas. Un prospect chaud doit partir vers un commercial ; un client mécontent doit remonter en alerte ; un « ne me rappelez plus » doit être marqué comme tel partout, immédiatement. Le workflow lit l'étiquette de classification et les données extraites (chapitre 20), et oriente.
Au-delà de ces trois axes, l'intérêt de fond est le temps de réaction. Un lead traité dans l'heure ne se comporte pas comme un lead traité le lendemain. Un workflow agit dans les secondes qui suivent la fin de la conversation.
Ce qu'un workflow n'est pas
- Ce n'est pas un outil d'agent. Un outil (chapitre 9) agit pendant la conversation : vérifier un agenda, créer un ticket que l'agent annoncera au client. Un workflow agit après, quand plus personne n'écoute. Si l'agent doit dire quelque chose du résultat, c'est un outil, pas un workflow.
- Ce n'est pas une tâche planifiée. Il n'existe qu'un seul déclencheur : la fin d'une conversation. On ne peut pas dire « tous les lundis à 9 h » ni « la veille du rendez-vous à 18 h ». Les délais sont relatifs : deux heures, trois jours, à compter de la fin de l'échange.
- Ce n'est pas de l'analyse. Pour compter, filtrer et comprendre, ce sont les statistiques et le Reporting (chapitre 20). Un workflow agit, il ne mesure pas.
Quel mécanisme pour quel besoin
| Votre besoin | Le bon outil |
|---|---|
| L'agent doit consulter ou écrire quelque chose pendant qu'il parle | Un outil — chapitre 9 |
| Vous avez une équipe technique et voulez tout recevoir dans votre système | Le webhook de campagne — chapitre 28 |
| Vous voulez enchaîner des actions après l'échange, sans développeur | Un workflow — ce chapitre |
| Vous voulez qualifier, compter, exporter | Le Reporting — chapitre 20 |
Webhook et workflow ne s'excluent pas : le webhook livre la donnée brute à votre système, le workflow pilote la suite du parcours commercial. Beaucoup d'installations utilisent les deux.
Fonctionnalité en Alpha. L'entrée de menu porte la pastille « Alpha ». Beaucoup de garde-fous n'existent pas encore : ce chapitre les signale un par un. Lisez au moins 29.3, 29.12 et 29.18 avant de mettre un workflow en production.
29.2 Le principe et les trois états
Le vocabulaire de l'interface :
| Terme | Ce que c'est |
|---|---|
| Workflow | L'automatisation entière : un déclencheur et des étapes. |
| Brouillon | Ce que vous éditez dans le designer. Une seule copie, modifiable. |
| Version | Une photo figée de la configuration, créée à chaque déploiement. |
| Étape (« node » dans certains écrans) | Une brique du parcours : condition, délai, requête, action. |
| Run / exécution | Un passage complet dans le workflow, pour un contact. L'interface garde le mot anglais « Run ». |
Trois actions distinctes, et c'est la source de confusion numéro un :
| Action | Ce qu'elle fait | Ce qu'elle ne fait pas |
|---|---|---|
| Sauvegarder | Enregistre le brouillon | Ne crée aucune version, ne change rien en production |
| Déployer | Fige le brouillon en une version de production | N'active pas le workflow |
| Activer | Met le déclencheur en écoute | Ne déploie rien |
Un workflow sauvegardé et déployé mais non activé ne se déclenchera jamais. Un workflow actif tourne sur la dernière version déployée, pas sur votre brouillon.
Le déroulé d'une exécution : le déclencheur part, puis les étapes s'enchaînent une par une, en suivant un seul chemin. Il n'y a ni parallélisme ni point de jonction. L'exécution s'arrête quand une branche n'a plus de suite, ou dès qu'une étape échoue.
29.3 Ce que le moteur ne fait pas
À connaître avant de concevoir, parce que rien dans l'interface ne le rappelle :
- Aucun réessai automatique. Une requête qui part en délai d'attente ou un service momentanément indisponible fait échouer l'étape du premier coup, et l'exécution s'arrête.
- Aucune branche d'erreur. Le designer ne permet pas de câbler « en cas d'échec, faire ceci ». Une étape en erreur termine l'exécution en « Échoué ».
- Aucune limite de durée. Une exécution peut rester en cours indéfiniment. Un délai de plusieurs mois est accepté sans avertissement.
- Aucune détection de boucle. Si vous ramenez une branche vers une étape précédente, l'exécution tourne sans fin.
- Aucune limite de volume. Chaque conversation qui correspond au déclencheur lance une exécution, sans file d'attente, sans ordre garanti et sans déduplication. Une campagne de 5 000 contacts lance 5 000 exécutions.
- Aucun quota. Ni sur le nombre de workflows, ni d'étapes, ni d'exécutions.
- Aucune relance manuelle. Une exécution échouée ne peut pas être rejouée depuis l'interface.
Conséquence pratique : concevez vos workflows pour qu'une étape qui échoue ne soit pas catastrophique, et vérifiez le résultat dans l'onglet des exécutions plutôt que de supposer que tout est passé.
29.4 Accès et droits
| Point | Détail |
|---|---|
| Menu | « Workflow », quatrième entrée, avec la pastille « Alpha » |
| Plans | Inclus dans Free, Pro et Business. Absent du plan Starter : passer de Free à Starter fait perdre la fonctionnalité et affiche un écran d'invitation à monter en gamme à la place de vos workflows, qui ne sont pas supprimés pour autant. |
| Rôles | Aucun. Tout membre de l'entreprise ayant accès à l'espace de travail peut créer, modifier, déployer, activer et supprimer. |
| Écran | L'éditeur exige 1024 pixels de large au minimum : « Le designer de workflow nécessite un écran d'au moins 1024 px de large. » |
29.5 Créer un workflow
Sans workflow, la page affiche un écran d'accueil en quatre étapes (« Créer un workflow », « Construire les étapes », « Tester le workflow », « Déployer en production ») avec une démonstration vidéo de deux minutes.
La création se fait dans la fenêtre « Nouveau workflow », en trois étapes :
- Déclencheur. Quatre cartes de canal : « Téléphone », « SMS », « WhatsApp », « Web ». Cliquer une carte passe directement à l'étape suivante.
- Cible. L'agent, puis la campagne qu'il opère. Seuls les agents du canal choisi apparaissent. Choisir la campagne passe à l'étape suivante.
- Nom. Obligatoire, 80 caractères maximum. « Ex : Relance après appel manqué ».
Le workflow est créé avec le seul déclencheur, et l'éditeur s'ouvre. Il n'existe aucun modèle de workflow prêt à l'emploi.
La liste des workflows est une grille de cartes : nom, description, nombre d'étapes, « Publié » ou « Brouillon », un aperçu des premières étapes, la date de dernière mise à jour, et une pastille verte si le workflow est actif. Le menu de la carte permet d'activer, désactiver, dupliquer et supprimer. Il n'y a ni recherche, ni filtre, ni pagination : le tri est imposé, les workflows actifs d'abord.
29.6 Le designer
L'éditeur s'ouvre en plein écran, sans le menu latéral.
Les deux barres flottantes. En haut à gauche, un bouton de retour et le nom du workflow, modifiable en cliquant dessus. En haut à droite : « Annuler », « Rétablir », le compteur d'erreurs, « Sauvegarder », « Run » et « Déployer ».
Ajouter une étape se fait par le bouton + posé sur le trait entre deux cartes, ou en bout de branche. Il ouvre le catalogue « Ajouter une étape » sur la gauche, avec trois sections :
| Section | Contenu |
|---|---|
| Éléments natifs | Condition, Délai, HTTP, Transférer à un agent, Extraction de données par IA |
| Intégrations connectées | Une entrée par application Pipedream déjà connectée. Cliquer ouvre la liste de ses actions. |
| Catalogue Pipedream | Les applications non connectées, avec un bouton « Se connecter ». Cliquer n'ajoute pas d'étape : cela ouvre la fenêtre de connexion. |
Le reste se fait à la souris : glisser une carte pour la déplacer, la croix au survol pour la supprimer, un clic pour ouvrir son panneau de configuration à droite. Le nom de chaque étape se change en cliquant sur le titre du panneau. Il n'y a pas de duplication d'étape, pas de mini-carte, et le nœud de fin n'existe pas : une branche sans suite termine l'exécution.
La sauvegarde est manuelle. Fermer un panneau valide vos saisies en mémoire seulement. Rien n'est envoyé au serveur tant que vous n'avez pas cliqué « Sauvegarder ». Il n'y a pas de badge « non enregistré » : les seuls signaux sont le bouton « Sauvegarder » actif et les infobulles des boutons « Run » et « Déployer ». En quittant la page, une fenêtre vous prévient.
Deux exceptions qui enregistrent immédiatement, sans passer par « Sauvegarder » : le renommage du workflow dans la barre du haut, et le renommage envoie une description vide, ce qui efface la description affichée sur la carte de la liste.
Pendant un test, l'éditeur se verrouille. Dès qu'une exécution de test est lancée, le panneau d'observation s'ouvre et toute la barre d'outils disparaît : plus de Sauvegarder, plus de Déployer, plus d'annulation. Fermez le panneau d'observation pour retrouver l'éditeur.
29.7 Le déclencheur
Il n'existe qu'un seul déclencheur : « Quand un agent termine un échange ». Les quatre cartes de canal produisent le même déclencheur.
Sa configuration reprend le canal, l'agent et la campagne. Seule la campagne compte réellement pour le moteur : le canal et l'agent servent à filtrer les listes et à construire la liste des variables. Si la campagne est réaffectée à un autre agent, le workflow continue de se déclencher, avec des variables qui ne correspondent plus.
Un bandeau non bloquant apparaît si la campagne est en pause : « Cette campagne n'est pas active : tant qu'elle reste en pause, aucun item n'est traité et ce déclencheur ne se lancera pas. »
Quand le déclencheur part, et quand il ne part pas. C'est le tableau le plus important du chapitre.
| Situation | Se déclenche ? |
|---|---|
| Appel téléphonique terminé et classé | Oui |
| SMS ou WhatsApp avec au moins un message | Oui |
| SMS ou WhatsApp sans réponse (étiquette « non répondu ») | Oui |
| Conversation sur le widget web | Oui |
| Appel entrant rattaché à une campagne | Oui |
| Répondeur avec des tentatives restantes | Non : le contact repasse en attente. Le workflow ne partira qu'à la dernière tentative. |
| Rappel programmé (option de rappel active) | Non, même raison |
| Contact en « Erreur » | Non |
| Appel ou conversation de test depuis la fiche de l'agent | Non, jamais |
| Campagne en pause | Non |
| Workflow non déployé ou non activé | Non |
29.8 Les variables
Les variables permettent de réutiliser les données de la conversation dans les étapes suivantes.
Les variables du déclencheur sont déduites de l'agent choisi :
| Variable | Contenu |
|---|---|
| Numéro de téléphone | Le numéro du contact. Absent sur le canal Web. |
| Tag de classification | L'étiquette posée par le Reporting : « Rendez-vous », « voice_mail »… |
| Résumé de l'échange | Le résumé généré après la conversation |
| Conversation | L'échange complet, sous forme d'objet |
| Une variable par extraction du Reporting | Email, budget, date de rappel… |
| Une variable par variable d'entrée de l'agent | Prénom, société, référence… |
Piège majeur, à connaître avant tout le reste. Un workflow fraîchement créé n'a aucune variable. Elles ne sont calculées qu'au moment où vous ouvrez le panneau du déclencheur, et ne sont enregistrées qu'à la sauvegarde suivante. Tant que vous ne l'avez pas fait, aucune étape ne voit les données de la conversation, et la fenêtre de test bascule en mode JSON brut. Ouvrez le panneau du déclencheur et sauvegardez, systématiquement, juste après la création.
Corollaire : si vous ajoutez plus tard une extraction ou une variable d'entrée sur l'agent, rien ne se met à jour tout seul. Il faut rouvrir le panneau du déclencheur, sauvegarder, puis redéployer.
Insérer une variable. Dans tout champ compatible, tapez / ou {{ pour ouvrir le sélecteur « Variables d'entrée » : une recherche, des groupes par étape source, un badge de type. Le clic insère une pastille. Le sélecteur ne propose que les variables des étapes situées en amont de celle que vous configurez.
Les variables produites par une étape apparaissent dans la section « Variables produites par l'action » du panneau. Trois niveaux :
- Verrouillées : fournies d'office, non modifiables.
- Personnalisées : à déclarer soi-même, avec « Configuration avancée ». Disponible uniquement sur les étapes HTTP et Pipedream.
- Suggestions : proposées après une exécution, à partir de ce que le service a réellement renvoyé. Un clic les transforme en variables. C'est la façon la plus simple d'exposer le contenu d'une réponse.
Une variable absente ne vaut pas « vide » : elle fait échouer l'exécution. Si un chemin de variable n'existe pas au moment de l'exécution (extraction non remplie, champ absent du contact, faute de frappe), l'étape tombe en erreur et l'exécution s'arrête. L'opérateur « est vide » ne protège pas : l'erreur survient avant l'évaluation. C'est particulièrement fréquent avec les extractions, qui sont souvent vides.
29.9 Les étapes natives
Condition
Aiguille l'exécution selon la valeur d'une variable. Chaque branche porte un nom, une ou plusieurs comparaisons, et un connecteur ET ou OU (un seul par branche, pas d'imbrication). Une branche « Sinon » est toujours présente, non supprimable et non configurable. Les branches sont évaluées de haut en bas : la première qui correspond gagne, sinon c'est « Sinon ».
Les opérateurs dépendent de la variable choisie :
| Variable | Opérateurs proposés |
|---|---|
| Tag de classification | « est l'un de », « n'est aucun de » — avec la liste des étiquettes de l'agent |
| Toute autre variable | « est égal à », « n'est pas égal à », « contient », « ne contient pas », « commence par », « est vide », « n'est pas vide », « est supérieur à », « est inférieur à » |
À savoir :
- Tout est sensible à la casse. « Oui » et « oui » sont différents. Il n'existe aucun opérateur insensible à la casse.
- Les espaces en début et fin sont ignorés partout.
- « est supérieur à » compare des nombres si les deux valeurs en sont ; sinon il compare des textes, silencieusement.
- Changer la variable d'une comparaison remet l'opérateur au premier de la nouvelle liste et vide la valeur.
- Une branche jamais éditée est toujours vraie et capte tout le trafic. Configurez chaque branche que vous créez.
- Une variable cassée dans une branche même jamais empruntée fait échouer l'étape : toutes les branches sont évaluées d'abord.
Délai
Une durée et une unité (secondes, minutes, heures, jours). Minimum 1, pas de maximum. L'exécution est suspendue proprement, sans rien consommer, et reprend à l'échéance ; elle survit aux redémarrages.
Piège à connaître. Une étape Délai insérée puis enregistrée sans qu'on ait touché à ses champs part avec une durée nulle et est refusée par le serveur. Ouvrir le panneau ne suffit pas : il faut modifier la durée ou l'unité au moins une fois.
Requête HTTP
Appelle votre système. Champs : URL, méthode (GET, POST, PUT, PATCH — pas de DELETE), en-têtes, corps.
- Aucun champ d'authentification et aucun réglage de délai d'attente. L'authentification passe par un en-tête que vous ajoutez à la main, et la valeur est stockée en clair, visible dans le détail des exécutions. Utilisez une clé dédiée à droits limités.
- Une réponse 4xx ou 5xx est traitée comme un succès. L'exécution continue comme si de rien n'était. Pour réagir à une erreur, ajoutez une Condition sur la variable « Status code » juste après.
- Seule la variable « Status code » est fournie d'office. Pour exploiter le contenu de la réponse, lancez une exécution de test puis promouvez les suggestions, ou déclarez les chemins à la main.
- Le corps reste envoyé même après passage en GET, alors que le champ est masqué. Videz-le avant de changer de méthode.
- Une ligne d'en-tête dont la clé est vide est supprimée en silence.
29.10 Transférer à un agent
Ajoute le contact à une autre campagne, pour un nouvel échange. C'est l'action qui permet d'enchaîner : appel non abouti, puis SMS ; ou qualification, puis campagne de closing.
| Champ | Règle |
|---|---|
| Canal | Téléphone, SMS ou WhatsApp. Pas de Web. |
| Agent | Sur le canal Téléphone, seuls les agents sortants apparaissent. Une liste vide vient souvent de là. |
| Campagne | Filtrée par agent. |
| Numéro de téléphone | Obligatoire. Aucun contrôle de format : +33612345678 n'est qu'un exemple. |
| Date de prochaine tentative | Facultative. Formats JJ/MM/AAAA, AAAA-MM-JJ, avec heure facultative, ou une variable. Une date sans fuseau est convertie depuis l'heure de votre navigateur. |
| Les variables d'entrée de l'agent cible | Une par champ, obligatoires ou non selon l'agent. |
| Consentement WhatsApp | Trois champs obligatoires sur ce canal : statut, source et date. Aucun contrôle de leur contenu. |
Changer le canal ou l'agent efface la campagne et tous les champs déjà remplis, sans confirmation. Un bandeau prévient si la campagne cible est en pause : les contacts y seront ajoutés mais ne seront pas traités.
L'étape produit ses propres variables, préfixées : identifiant du contact créé, numéro, résumé, conversation, étiquette, extractions et variables d'entrée du nouvel échange. Elles ne sont pas interchangeables avec celles du déclencheur.
Point à vérifier vous-même. L'action est présentée comme attendant la fin du nouvel échange avant de poursuivre, mais le code contient une contradiction sur ce point. Avant de construire une suite qui dépend du résultat, faites un test réel et regardez si les étapes suivantes partent avant ou après la fin de l'appel.
29.11 Extraction de données par IA
Malgré son nom, c'est un appel à une intelligence artificielle avec sortie structurée : vous décrivez une tâche, vous déclarez les champs attendus, chacun devient une variable. Cela sert aussi bien à extraire des informations d'un échange qu'à rédiger un texte.
- Le prompt décrit la tâche. Insérez-y des variables avec
/ou{{. - Le schéma de sortie liste les champs : une clé, un type (texte, nombre, booléen, objet, liste) et une description qui explique à l'IA ce qu'elle doit produire.
- Trois exemples sont fournis : « Email personnalisé », « Extraction de variables », « Catégorisation ». Les charger remplace le prompt et les champs actuels.
Pièges, nombreux sur cette étape :
- Une étape fraîchement créée est déjà pré-remplie avec l'exemple « Email personnalisé ». Si vous ne la configurez pas, vous déployez un workflow qui demande à l'IA de rédiger un message d'anniversaire.
- Aucune validation. Un prompt vide et zéro champ ne produisent aucune erreur, et le déploiement est autorisé.
- Des lignes disparaissent en silence. Une clé vide, mal formée ou en double reste affichée à l'écran mais n'est ni enregistrée ni transformée en variable, sans le moindre message. Vérifiez après sauvegarde que chaque champ apparaît bien dans les variables produites.
- Supprimer un champ ne prévient pas que des étapes suivantes l'utilisent.
- Les clés doivent commencer par une lettre ou un souligné, puis lettres, chiffres et soulignés :
firstName,client_name. Un tiret ou un espace est refusé.
29.12 Tester
Le bouton s'appelle « Run », la fenêtre s'intitule « Tester le workflow » et le bouton de lancement « Lancer ».
- Le test est bloqué tant que le brouillon n'est pas sauvegardé : « Sauvegardez le workflow pour pouvoir le tester. »
- Il faut au moins une étape après le déclencheur : « Ce workflow est incomplet : il nécessite au moins un nœud après le déclencheur pour fonctionner. »
- Le test tourne sur le brouillon, pas sur la version déployée. Il ne demande ni déploiement ni activation.
- Les erreurs de configuration ne bloquent pas le test, contrairement au déploiement.
Les données de test. Si le déclencheur déclare des variables, un formulaire les demande une par une, avec un éditeur dédié pour la conversation (messages alternés, le premier étant celui de l'agent, pré-rempli avec son message d'accueil). Sinon, la fenêtre bascule en saisie JSON brute. Vous pouvez aussi « Reprendre depuis un run précédent » pour rejouer les mêmes données, parmi les vingt derniers tests.
Le point le plus important de ce chapitre : un test est une exécution réelle. Il n'existe aucun bac à sable. Pendant un test :
- les requêtes HTTP partent vraiment vers votre système ;
- les actions Pipedream s'exécutent vraiment : un email est envoyé, une ligne est créée ;
- « Transférer à un agent » crée un vrai contact dans la campagne cible, donc un vrai appel ou un vrai message si cette campagne est active ;
- un délai attend vraiment sa durée.
La mention « Item fictif » affichée dans le détail signifie seulement que les données du déclencheur n'étaient rattachées à aucun contact existant. Elle ne veut pas dire que rien ne s'est passé.
Avant de tester : mettez la campagne cible en pause, ou pointez vers une campagne de test avec votre propre numéro.
Suivre le test. Un panneau s'ouvre à droite, se rafraîchit tout seul et affiche l'avancement étape par étape. « Arrêter » annule l'exécution ; fermer le panneau ne l'arrête pas. En quittant l'éditeur avec des tests en cours, une fenêtre propose « Laisser tourner » ou « Tout arrêter et quitter ».
Les exécutions de test n'apparaissent jamais dans l'onglet « Runs ». On les retrouve par le bouton flottant « Historique des runs de test », dans l'éditeur.
29.13 Déployer
Le bouton « Déployer » ne s'active que si cinq conditions sont réunies : rien à sauvegarder, dernière sauvegarde réussie, aucune erreur de configuration, configuration jugée valide par le serveur, et configuration différente de celle déjà en production. Les infobulles expliquent les cas courants :
| Vous voyez | Cause |
|---|---|
| « Sauvegardez d'abord pour pouvoir déployer. » | Modifications en attente |
| « La dernière sauvegarde a échoué. Réessayez pour pouvoir déployer. » | Erreur d'enregistrement |
| « N erreur(s) à corriger avant de déployer. » | Erreurs de configuration, listées dans le popover « Étapes en erreur » |
| « Cette configuration est déjà en production — aucun changement à déployer. » | Rien n'a changé depuis le dernier déploiement |
| Bouton grisé sans aucune infobulle | Le workflow n'a que son déclencheur. C'est le cas le plus fréquent chez un débutant, et le seul qui n'affiche aucune explication. Ajoutez une étape. |
La fenêtre de déploiement demande un nom de version facultatif (80 caractères, sinon « Version 1 », « Version 2 »…) et, à partir du deuxième déploiement, ce qu'il faut faire des exécutions en cours :
| Choix | Effet |
|---|---|
| « Migrer si possible » (par défaut) | Les exécutions en cours basculent sur la nouvelle version si aucune étape déjà traversée n'a été modifiée. En pratique la condition est très stricte : la moindre modification d'une étape déjà franchie empêche la bascule, et l'exécution finit sur l'ancienne version sans que rien ne vous le dise. |
| « Garder les runs sur l'ancienne version » | Les exécutions en cours terminent sur leur version d'origine. Le choix le plus prévisible. |
| « Arrêter les runs en cours » | Elles sont interrompues et marquées « Annulé ». Attention : elles sont marquées annulées même si l'interruption échoue. |
Après un déploiement réussi, vous êtes ramené à la fiche du workflow.
Revenir en arrière se fait en deux temps : sélectionner l'ancienne version dans l'onglet « Vue d'ensemble », cliquer « Restaurer dans le brouillon », puis redéployer. Il n'y a pas de bouton de retour arrière direct, et la restauration écrase le brouillon sans possibilité d'annuler.
29.14 Activer
Le bouton « Activer » se trouve sur la fiche du workflow. Il est désactivé tant qu'aucune version n'a été déployée : « Déployez d'abord une version pour pouvoir activer ce workflow. »
Attention au bouton « Activer » du menu de la carte, dans la liste. Là, aucun garde-fou : sur un workflow jamais déployé, il affiche « L'activation a échoué. Réessayez. » Réessayer ne servira à rien. Passez par la fiche.
Désactiver n'arrête pas les exécutions en cours : elles vont jusqu'au bout. Cela coupe seulement le déclencheur. Pour tout stopper, il faut redéployer en choisissant « Arrêter les runs en cours », ou supprimer le workflow, ce qui annule aussi toutes ses exécutions en cours.
29.15 Versions et historique
L'onglet « Vue d'ensemble » de la fiche affiche à gauche la liste des versions en trois sections : « Brouillon en cours », « Active en production » (ou « En pause » si le workflow est inactif) et « Historique ». À droite, la configuration de la version sélectionnée, en lecture seule.
- Le bouton « Modifier » ouvre toujours le brouillon, jamais la version affichée.
- Les versions créées par les tests ne sont pas listées.
- Il n'existe aucune comparaison entre deux versions : il faut les regarder l'une après l'autre.
- Les versions ne sont jamais purgées. Chaque déploiement et chaque configuration testée en crée une. Sur un workflow beaucoup retouché, cela s'accumule.
- Si une version n'a pas de nom, l'interface affiche son identifiant technique. Nommez vos versions au déploiement.
29.16 Suivre les exécutions
L'onglet « Runs » de la fiche liste les exécutions de production : filtre par période et par version, un entonnoir « Parcours des runs » qui montre le trafic étape par étape, puis un tableau.
| Colonne | Contenu |
|---|---|
| Date | Date et heure de début |
| Une colonne par variable d'entrée de l'agent | La valeur pour ce contact, tronquée avec infobulle |
| Statut | « En cours », « Réussi », « Échoué », « Annulé » |
| Durée | Vide tant que l'exécution n'est pas terminée |
| Voir le run | Ouvre le détail |
À savoir :
- Aucun rafraîchissement automatique. Cliquez « Rafraîchir ».
- Le filtre de la colonne Statut ne filtre que la page affichée (20 lignes), pas l'ensemble des exécutions.
- Une version tout juste déployée n'apparaît dans le filtre « Version » qu'après rechargement de la page.
- Cliquer une étape dans l'entonnoir affiche les exécutions passées par cette étape, avec la colonne « Erreur ».
Le détail d'une exécution montre à gauche la configuration exacte de la version qui a tourné, à droite le statut, les données du déclencheur (vue lisible ou JSON) et la liste des étapes franchies : heure, résultat, et pour chacune un bouton « Voir les entrées et sorties » qui affiche la configuration après remplacement des variables et les valeurs produites. C'est là qu'on diagnostique : une étape en échec est teintée en rouge, avec son message et, pour les actions Pipedream, un dépliant « Détails techniques ».
Deux limites : une étape traversée plusieurs fois n'apparaît qu'une fois sur cette page, et il n'existe aucun moyen de rejouer une exécution.
29.17 Huit cas d'usage prêts à monter
Chaque montage est décrit avec le besoin métier, l'enchaînement des étapes et les points de vigilance qui lui sont propres.
1. Relancer un appel non abouti, sur un autre canal
Le besoin. Sur une campagne sortante, une large part des appels ne débouche sur personne : répondeur, occupé, personne qui ne décroche pas. Ces contacts ne sont pas perdus, ils sont juste à retenter autrement.
Fin d'échange (campagne « Prospection »)
└─ Condition : Tag de classification est l'un de [ voice_mail, NRP ]
├─ « Pas joint » → Délai 3 heures
│ └─ Transférer à un agent : agent SMS, campagne « Relance SMS »
└─ Sinon → (fin)
Vigilance. L'étiquette voice_mail ne remonte au workflow qu'à la dernière tentative d'appel : tant qu'il reste des essais, le contact repasse en attente et le déclencheur ne part pas (29.7). Pensez à repasser les variables d'entrée de l'agent SMS (prénom, société) depuis celles du déclencheur, sinon le message sera générique. Enfin, ce sont les créneaux horaires de la campagne SMS qui décident de l'heure d'envoi réelle, pas votre délai.
2. Qualifier en masse, ne passer au commercial que le haut du panier
Le besoin. Un agent qualifie mille contacts ; l'équipe commerciale ne veut traiter que ceux qui ont un vrai projet, avec le contexte déjà collecté.
Fin d'échange (campagne « Qualification »)
└─ Condition : Tag de classification est l'un de [ Intéressé ]
├─ « Qualifié » → Transférer à un agent : agent commercial, campagne « Closing »
│ (budget, besoin, créneau souhaité passés en variables d'entrée)
└─ Sinon → Requête HTTP : marquer « à nurturer » dans le CRM
Vigilance. Branchez la condition sur l'étiquette de classification, toujours présente, plutôt que sur une donnée extraite, souvent vide : une extraction non renseignée ne vaut pas « vide », elle fait échouer l'exécution (29.8). Les extractions peuvent en revanche être passées sans risque dans les variables d'entrée de l'agent cible, où une valeur manquante n'est qu'un champ vide. Vérifiez aussi que l'agent commercial est bien un agent sortant, sinon il n'apparaîtra pas dans la liste.
3. Rendez-vous pris : écrire dans le CRM et confirmer par écrit
Le besoin. Un rendez-vous obtenu doit exister dans le CRM avant que le commercial n'ouvre son agenda, et le prospect doit recevoir une confirmation qui reprend ce qui a été dit.
Fin d'échange (campagne « Prise de RDV »)
└─ Condition : Tag de classification est l'un de [ Rendez-vous ]
├─ « RDV » → Requête HTTP : POST création de l'opportunité dans le CRM
│ └─ Condition : Status code est égal à 201
│ ├─ « Créé » → Extraction de données par IA : rédiger l'email de confirmation
│ │ └─ Action Pipedream : envoyer l'email
│ └─ Sinon → Requête HTTP : alerter l'équipe sur Slack
└─ Sinon → (fin)
Vigilance. La condition sur le code de statut n'est pas optionnelle : une réponse 400 ou 500 est traitée comme un succès par le moteur, et sans elle vous enverriez une confirmation pour un rendez-vous que le CRM a refusé (29.9). La clé d'API du CRM est stockée en clair dans l'en-tête et visible dans le détail des exécutions : utilisez une clé dédiée, à droits limités. Et n'oubliez pas que l'application Pipedream doit être connectée avant de pouvoir ajouter son action (chapitre 9.2).
4. Propager un « ne me rappelez plus » partout, tout de suite
Le besoin. Quand un contact demande à ne plus être sollicité, StarLeads cesse de l'appeler sur cette campagne — mais votre CRM, votre outil d'emailing et vos autres fichiers, eux, ne le savent pas.
Fin d'échange (chaque campagne sortante)
└─ Condition : Tag de classification est l'un de [ OPT_OUT ]
├─ « Opposition » → Requête HTTP : PATCH « ne plus contacter » dans le CRM
│ └─ Requête HTTP : désinscription dans l'outil d'emailing
└─ Sinon → (fin)
Vigilance. C'est le workflow le plus simple à monter et souvent le plus rentable : montez-le en premier. Dupliquez-le sur chacune de vos campagnes sortantes, puisqu'un workflow est lié à une campagne et une seule.
5. Faire remonter un client mécontent avant qu'il ne parte
Le besoin. Sur un agent de service après-vente ou de satisfaction, une conversation qui tourne mal doit atteindre un humain dans la minute, avec le contexte.
Fin d'échange (campagne « Satisfaction »)
└─ Condition : Tag de classification est l'un de [ Réclamation, Mécontent ]
├─ « À rappeler » → Requête HTTP : créer un ticket, avec le résumé et le motif
│ └─ Requête HTTP : notifier le canal d'équipe
└─ Sinon → (fin)
Vigilance. Si votre agent classe déjà les conversations en « Réclamation », branchez-vous sur cette étiquette : c'est plus fiable et plus rapide qu'une étape d'extraction par IA, qui ajoute un appel et une latence. Réservez l'extraction IA aux cas où vous avez besoin d'une nuance que la classification ne porte pas — un niveau de gravité, un produit concerné.
6. Relancer un devis une semaine plus tard
Le besoin. Un devis envoyé sans relance se perd. La relance doit partir à date, sans qu'on y pense.
Fin d'échange (campagne « Envoi de devis »)
└─ Condition : Tag de classification est l'un de [ Devis envoyé ]
├─ « Relance J+7 » → Délai 7 jours
│ └─ Transférer à un agent : campagne « Relance devis »
└─ Sinon → (fin)
Vigilance. Le délai est relatif à la fin de la conversation : un appel terminé un vendredi à 19 h produit une relance le vendredi suivant à 19 h. Ce sont les créneaux horaires de la campagne cible qui rattrapent l'heure réelle du contact — vérifiez qu'ils sont bien configurés, sinon la relance attendra le lundi suivant sans que rien ne l'indique.
7. Enrichir un contact avant de le rappeler
Le besoin. Décider quoi faire d'un prospect demande parfois une information que l'agent n'a pas : taille de l'entreprise, score interne, historique d'achat.
Fin d'échange (campagne « Découverte »)
└─ Requête HTTP : interroger le service d'enrichissement avec le numéro et l'email
└─ Condition : Score est supérieur à 70
├─ « Prioritaire » → Transférer à un agent : campagne « Rappel prioritaire »
└─ Sinon → Transférer à un agent : campagne « Nurturing SMS »
Vigilance. Après avoir créé l'étape HTTP, lancez une exécution de test puis promouvez les suggestions de variables (29.8) : sans cela, seule la variable « Status code » existe et le contenu de la réponse reste inexploitable. Attention aussi : une comparaison entre deux textes qui ne sont pas des nombres se fait alphabétiquement, silencieusement — assurez-vous que le service renvoie bien un nombre.
8. Tenir une promesse de rappel à une date précise
Le besoin. « Rappelez-moi le 15 » : l'agent a extrait la date, encore faut-il que le rappel parte ce jour-là.
Fin d'échange (campagne « Recouvrement »)
└─ Condition : Tag de classification est l'un de [ Rappel demandé ]
├─ « À rappeler » → Transférer à un agent : campagne « Rappels »
│ Date de prochaine tentative = {{ date de rappel extraite }}
└─ Sinon → (fin)
Vigilance. C'est le seul montage qui cale une action sur une date absolue : n'utilisez pas un Délai pour cela, il ne sait compter qu'en durée. Le champ « Date de prochaine tentative » de l'action de transfert accepte une variable ; sa valeur doit être au format JJ/MM/AAAA ou AAAA-MM-JJ, ce qui suppose que votre extraction du Reporting demande explicitement ce format à l'agent. Aucun contrôle n'est fait : une date mal formée passe la sauvegarde et échoue à l'exécution.
D'autres idées, sur le même principe
| Besoin | Montage résumé |
|---|---|
| Alimenter un tableur de suivi | Condition sur l'étiquette → action Pipedream « Google Sheets : ajouter une ligne » |
| Envoyer la documentation promise | Condition « Documentation demandée » → action Pipedream d'envoi d'email avec le lien |
| Relancer un panier ou un dossier incomplet | Extraction du champ manquant → Condition « est vide » → SMS de relance |
| Prévenir un partenaire d'un lead à traiter | Requête HTTP vers son système, ou email via Pipedream |
| Répartir entre deux équipes | Condition sur une variable d'entrée (région, produit) → deux campagnes cibles |
| Marquer un no-show de rendez-vous | Condition « Rendez-vous » → Délai jusqu'après la date → HTTP de vérification dans le CRM |
Chaîner plusieurs workflows
L'action « Transférer à un agent » crée un vrai contact dans la campagne cible. Quand cet échange se terminera à son tour, il déclenchera le workflow attaché à cette campagne, s'il y en a un. C'est ainsi qu'on construit un parcours en plusieurs temps : appel, puis SMS, puis relance téléphonique, chaque étape ayant son propre workflow.
Le risque à connaître. Si le workflow de la campagne A envoie vers la campagne B, et que celui de la campagne B renvoie vers la campagne A, le contact tourne en boucle indéfiniment, en consommant des crédits à chaque tour. Rien ne le détecte ni ne l'arrête. Dessinez le parcours complet sur papier avant de monter le deuxième workflow d'une chaîne, et vérifiez qu'il se termine.
Par où commencer
Montez d'abord le cas 4 : quelques minutes, un seul embranchement, un bénéfice immédiat et aucun risque commercial. Puis le cas 1, qui est celui qui rapporte le plus sur une campagne sortante. Gardez les montages à plusieurs branches et à appels HTTP pour quand vous serez à l'aise avec le cycle sauvegarder / tester / déployer / activer.
29.18 Les réflexes qui évitent les mauvaises surprises
Quel que soit le montage, neuf gestes règlent la quasi-totalité des problèmes rencontrés en Alpha :
- Ouvrir le panneau du déclencheur et sauvegarder juste après la création, pour que les variables existent.
- Configurer chaque branche de condition, y compris celle qu'on croit évidente.
- Toucher la durée d'un délai au moins une fois après l'avoir inséré.
- Mettre une Condition sur le « Status code » après chaque requête HTTP, puisqu'une erreur passe pour un succès.
- Mettre la campagne cible en pause avant le premier test, puisqu'un test appelle vraiment.
- Nommer les versions au déploiement.
- Choisir « Garder les runs sur l'ancienne version » quand on déploie une correction sur un workflow qui a des exécutions en cours : c'est le comportement le plus prévisible.
- Vérifier l'onglet Runs après la mise en service, plutôt que de supposer.
- Dessiner le parcours complet avant de chaîner deux workflows, pour être sûr qu'il se termine.
Erreurs et blocages
| Vous voyez | Cause | Correction |
|---|---|---|
| L'écran d'accueil « Bienvenue dans votre espace Workflows » alors que vous aviez des workflows | La fonctionnalité n'est plus dans votre plan (passage à Starter), ou la liste n'a pas pu être chargée | Vérifiez votre abonnement ; rechargez la page. Vos workflows ne sont pas supprimés. |
| « Le designer de workflow nécessite un écran d'au moins 1024 px de large. » | Fenêtre trop étroite | Agrandissez la fenêtre. |
| « Le canal est obligatoire. » / « L'agent est obligatoire. » / « La campagne est obligatoire. » | Déclencheur ou action incomplets | Complétez le panneau. |
| « L'URL est obligatoire. » | Étape HTTP sans URL | Renseignez-la. |
| « La durée doit être supérieure à zéro. » | Étape Délai jamais configurée | Ouvrez le panneau et modifiez la durée. |
| « La condition doit avoir au moins une branche. » | Condition vide | Ajoutez une branche. |
| « Chaque condition doit être complète (variable et valeur renseignées). » | Une comparaison incomplète | Complétez ou supprimez la ligne. |
| « Le numéro de téléphone est obligatoire. » | Action de transfert incomplète | Renseignez le numéro ou une variable. |
| « Le statut / la source / la date du consentement est obligatoire pour une campagne WhatsApp. » | Bloc consentement incomplet | Renseignez les trois champs. |
| « Le serveur a refusé la configuration de cette étape. » | Le serveur a rejeté cette étape ; le détail apparaît en dessous, en anglais | Cas fréquent : une variable qui référence une étape qui ne s'exécute pas forcément avant celle-ci. Déplacez l'étape ou changez la variable. |
| « Sauvegardez le workflow pour pouvoir le tester. » | Modifications en attente | Sauvegardez. |
| « Ce workflow est incomplet : il nécessite au moins un nœud après le déclencheur. » | Workflow réduit au déclencheur | Ajoutez une étape. |
| « JSON invalide. » | Données de test mal formées | Corrigez ; le contenu doit être un objet. |
| Bouton « Déployer » grisé sans infobulle | Workflow réduit au déclencheur | Ajoutez une étape. |
| « Le déploiement a échoué. Réessayez. » ou un message en anglais | Refus du serveur | Lisez le message ; vérifiez les étapes signalées. |
| « L'activation a échoué. Réessayez. » | Workflow jamais déployé, activé depuis la carte de la liste | Déployez d'abord, puis activez depuis la fiche. |
| « Impossible de créer le workflow. » | Erreur serveur à la création | Réessayez. |
Un message rouge illisible du type WORKFLOW_DUPLICATE_ERROR |
Échec de la duplication, message non traduit | Réessayez ; le workflow n'a pas été dupliqué. |
| « Aucune campagne pour cet agent » | L'agent n'opère aucune campagne, ou la campagne est archivée | Créez une campagne pour cet agent. |
| « Aucun compte connecté pour {app}. Connecte-toi depuis la page Intégrations. » | Application Pipedream non connectée ou déconnectée | Page Intégrations. |
| « Cette action n'est pas reconnue ou n'est pas une action Pipedream. Recharge le designer. » | Étape corrompue ou action retirée du catalogue | Rechargez ; recréez l'étape. |
| « Le workspace n'est pas encore prêt — réessayez dans une seconde. » | L'espace de travail n'est pas encore chargé | Patientez une seconde et recommencez. |
| « Run introuvable » / « Run inconsultable » | Exécution supprimée, ou version associée introuvable | Rien à faire ; consultez une autre exécution. |
| « Accès refusé » sur les exécutions | Droits ou espace de travail | Vérifiez que vous êtes sur le bon espace de travail. |
Ce qu'il faut retenir
- Sauvegarder, déployer et activer sont trois gestes différents. Les trois sont nécessaires.
- Un test est une vraie exécution. Mettez la campagne cible en pause avant.
- Ouvrez le panneau du déclencheur et sauvegardez dès la création, sinon aucune variable n'existe.
- Une variable manquante fait échouer l'exécution, elle ne vaut pas « vide ».
- Une erreur HTTP passe pour un succès : ajoutez une condition sur le code de statut.
- Aucun réessai, aucune reprise : une étape qui échoue arrête tout, définitivement.
- Le déclencheur ne part pas sur un répondeur relancé, ni sur un appel de test.
- Le plan Starter n'a pas les workflows, alors que le plan Free les a.
30. Dépannage : ce que vous constatez en conversation
| Ce que vous constatez | Cause probable | Solution |
|---|---|---|
| L'agent raccroche en posant une question | Règle manquante | « Tu ne raccroches jamais dans une réponse où tu poses une question. » |
| L'agent raccroche sans dire au revoir | Réponse réduite à la commande de raccrochage | Exigez une phrase de politesse avant {{hangup}}, dans la même réponse. |
| L'agent lit « accolade prénom accolade » | Variable non déclarée ou non renseignée | Déclarez, rendez obligatoire, ou « ne l'utilise pas si absente ». |
| Un numéro de téléphone lu comme un nombre énorme, une heure « dixhtrente », un sigle mâché | Conversion automatique des nombres | Chapitre 18 : paires avec « zéro », « 10 heures 30 », phonétique, remplacement de mots. |
| « poing » dans les emails | Coquille de prononciation | Remplacement de mots poing → point. |
| L'agent dit « Je vérifie » et rien ne se passe | Outil mal nommé dans le prompt, non configuré (orange), corps JSON invalide, ou valeur de paramètre incorrecte | Vérifiez le nom technique, testez l'outil, vérifiez les variables. |
| L'agent dit « c'est noté » sans que rien n'arrive | Outil non attaché, ou description qui ne correspond pas à la situation | Attachez l'outil, réécrivez la description en consigne. |
| L'agent n'utilise jamais l'outil | Description trop vague | « À appeler avant de… ». |
| L'agent répète une action en boucle | L'outil renvoie une erreur et le prompt demande de réessayer | Dites-lui d'abandonner après une erreur ; stop automatique à 5. |
| L'agent transfère trop facilement | Consigne de transfert par défaut, large | Restreignez dans le prompt (chapitre 8). |
| L'agent consulte la base de connaissances pour tout et ralentit | Consigne de recherche par défaut, large | Précisez les sujets ; excluez le reste. |
| L'agent lit « crochet I D deux points zéro » ou une suite de caractères étranges | La base de connaissances cite ses sources dans sa réponse | Interdisez les références dans les instructions système du chat ; faites reformuler l'agent (chapitre 27.6). |
| L'agent ne trouve pas une information pourtant présente dans un document | Document mal lu, section mal titrée, ou seuil de recherche trop strict | Vérifiez le nombre de morceaux du document, réécrivez le titre de la section avec les mots du client, baissez le seuil de similarité (chapitre 27.8). |
| L'agent donne une réponse ancienne ou contradictoire | Deux versions du même document coexistent dans le dataset | Supprimez la version obsolète (chapitre 27.10). |
| L'agent se tait pendant plusieurs secondes | Outil ou base de connaissances lents | Message d'occupation ; phrase d'annonce ; timeout plus court. |
| L'agent ne dit rien du tout, ou saute des phrases | Phrases libres désactivées et phrase absente du Studio ; ou phrase trop longue sautée par la synthèse | Réactivez « Phrases libres », enregistrez la phrase ; phrases courtes. |
| L'agent se coupe dès qu'on souffle ou qu'il y a du bruit | Patience trop courte | Montez « Patience face aux interruptions » à 2,5 s ou plus. |
| Un « oui » de l'interlocuteur est ignoré | Prononcé pendant une explication, jugé comme acquiescement | Question en fin de réponse, phrase courte. |
| Ce que l'interlocuteur ajoute juste après sa phrase est perdu | Fenêtre de deux secondes après l'envoi | Faites récapituler avant les actions importantes. |
| Ce que l'interlocuteur dit pendant l'accroche est perdu | Accroche non interruptible | Accroche courte terminée par une question. |
| L'agent parle anglais ou vouvoie alors que le prompt tutoie | Langue et registre non explicites | « Tu réponds toujours en français et tu tutoies » en tête du prompt. |
| L'accent de la voix change d'une phrase à l'autre | Mélange de langues dans le texte | Une seule langue dans le prompt et les réponses. |
| Une phrase correcte mais hors contexte | Consigne du prompt appliquée au mauvais moment | Précisez la condition de la consigne. |
| Le prénom est mal prononcé, un mot est bizarre | Prononciation de la voix | Remplacement de mots (prononciation), écoutez le résultat. |
| Un mot métier n'est jamais compris | Vocabulaire inconnu de la transcription | Remplacement de mots (transcription). |
| Le premier mot compris est faux (Vega) | Segment trop court au premier tour | Faites parler l'agent en premier avec une accroche. |
| Un long monologue de l'interlocuteur arrive coupé en deux (Lyra) | Coupure à 20 secondes | Normal ; demandez à l'agent de laisser finir et de récapituler. |
| Deux personnes parlent, l'agent mélange | Pas de séparation des voix | Consigne « demande à qui tu parles ». |
| Les réponses sont identiques d'un appel à l'autre | Mémoire des enchaînements | Normal et voulu ; une modification du prompt la remet à zéro. |
| Une réponse maladroite se répète à chaque appel au même endroit | Même mémoire | Modifiez le prompt (même légèrement) pour la vider. |
| L'agent est lent, ou change soudain de style en cours d'appel | Modèle principal trop lent ou contenu sensible bloqué : bascule sur un modèle de secours | Prompt plus court, moins de contenu sensible ; changez de modèle. |
| Les appels partent en dehors des horaires | Fuseau ou créneaux incohérents ; campagne créée par l'API sans fuseau | Vérifiez « Timezone » et les créneaux. |
| Ma modification du prompt n'a aucun effet | Appels lancés avant la modification, ou modification non enregistrée (campagne active) | Enregistrez manuellement ; attendez les appels suivants. |
| Aucun message répondeur laissé | Pas de message pour cette tentative, appel de test, ou agent entrant | Un message par tentative ; testez en campagne. |
| Le contact a été clos après un répondeur à la première tentative | Répondeur classé dans une étiquette métier par l'IA | Renforcez « Si tu entends un répondeur, termine avec {{hangup}} » ; corrigez l'étiquette à la main. |
| Les répondeurs ne sont jamais rappelés | Premières tentatives prioritaires sur une grosse liste | Normal ; ils seront rappelés après la liste. |
| Un prospect a rappelé et son résultat a changé | Rappel entrant dans les 24 h rattaché au dossier | Normal ; l'ancien résultat est remplacé. |
| L'accroche SMS n'est pas envoyée, contact en « Erreur » | Plus de 160 caractères avec les valeurs des variables | Raccourcissez. |
| Sur le Web, l'agent ne répond plus | Il a signalé la fin de conversation | Normal ; ne faites pas conclure trop tôt. |
| Le webhook n'a rien reçu | Contact en « Erreur », ou serveur non joignable au moment de l'appel (pas de nouvelle tentative) | Vérifiez le statut ; assurez la disponibilité du récepteur. |
| Pas d'enregistrement audio | Appel de moins de cinq secondes, non répondu, numéro non attribué | Normal. |
31. Index des messages d'erreur du Studio
| Message | Où | Que faire |
|---|---|---|
| Information requise | Formulaires agent et campagne | Renseigner le champ. |
| Premier message obligatoire | Onglet Prompt | Renseigner l'accroche. |
| Cette variable n'a pas été définie | Éditeur de prompt (balise rouge) | Déclarer la variable ou corriger le nom. |
| Phrase non présente dans le studio | Éditeur (balise rouge) | Réinsérer depuis le menu {. |
| Outil non enregistré / Cet outil n'a ni requête HTTP ni action Pipedream configurée | Éditeur | Attacher ou configurer l'outil. |
| Sauvegarde désactivée : la limite de caractère est atteinte | En-tête agent (SMS) | Raccourcir sous 160. |
| Sauvegarde désactivée : format d'URL invalide | En-tête agent (WhatsApp) | URL https d'image. |
| La sauvegarde automatique est désactivée car une campagne est active | En-tête agent | Enregistrer manuellement. |
| Vous avez des changements non sauvegardés… | En quittant la page | Enregistrer et quitter, ou quitter sans enregistrer. |
| Erreur lors de la création de l'agent : limite d'agents atteinte (N max) | Création d'agent | Archiver un agent ou changer de plan. |
| Erreur lors de la modification de l'agent | Enregistrement | Souvent un chat de base de connaissances déjà connecté ailleurs ; sinon réessayer. |
| Vous souhaitez changer le canal de communication de cet agent… | Modification d'agent | Dupliquer. |
| Voix non compatible avec le Studio | Onglet Studio | Choisir une voix compatible. |
| Attention : Cette action supprimera tous vos audios | Changement de voix | Confirmer en tapant « supprimer mes audios », ou annuler. |
| Ton audio semble trop long car ta transcription contient plusieurs phrases | Studio | Enregistrer une phrase à la fois. |
| Transcription déjà existante | Studio | Remplacer ou annuler. |
| Le nom technique est obligatoire / Le nom doit être en snake_case / Ce nom est déjà utilisé par un autre outil | Outils | Minuscules et underscores, unique. |
| La description doit faire au moins 20 caractères | Outils | Allonger. |
| Le paramètre "x" doit avoir une description | Outils | Ajouter une description. |
| L'URL n'est pas valide / Le corps JSON n'est pas valide / Variables non définies dans les paramètres | Outils | Voir chapitre 9. |
| Erreur réseau - Vérifiez l'URL et les paramètres CORS | Zone de test d'outil | Tester hors navigateur (cURL) ; l'outil peut marcher en production. |
| Timeout - La requête a pris trop de temps | Zone de test | Augmenter le timeout ou accélérer l'API. |
| Veuillez corriger les erreurs avant de sauvegarder | Outils | Vérifier notamment les {var} sans guillemets. |
| Configurez l'action avant d'enregistrer | Outils Pipedream | Renseigner un champ. |
| Veuillez sélectionner une action Pipedream avant de continuer | Création d'outil | L'application doit être connectée avant : voir chapitre 9.2. |
| Sélectionnez une application pour voir les actions (qui ne disparaît pas) | Création d'outil | L'application est dans « Disponibles » : connectez-la pour qu'elle passe dans « Connectées ». |
| Cette action ne demande aucune configuration. | Outils Pipedream | Action non enregistrable : choisir une autre action. |
| Popup bloquée. Veuillez autoriser les popups pour ce site. | Connexion Pipedream | Autoriser les fenêtres surgissantes. |
| Aucun compte connecté pour {{app}}… | Outils Pipedream | Page Intégrations. |
| Ce mot source existe déjà | Remplacement de mots | Modifier la règle existante. |
| Un problème a été détecté avec les numéros de téléphone assignés à cette campagne | Activation | Régler les problèmes de numéros. |
| Cette campagne est active vous ne pouvez pas retirer le(s) numéro(s)… | Édition de campagne | Garder au moins un numéro. |
| Conflit de numéro de téléphone détecté | Édition de campagne | Choisir un numéro non utilisé en entrant. |
| Le premier message de l'agent est vide | Activation | Renseigner l'accroche. |
| La limite de caractères est atteinte… | Activation SMS | Raccourcir. |
| Le template WhatsApp n'est pas approuvé. / … contient des fonctionnalités non supportées / … nécessite une URL de média | Activation WhatsApp | Changer de template, renseigner le média. |
| Votre compte WhatsApp a été signalé… | Activation WhatsApp | Contacter StarLeads. |
| Crédits insuffisants pour activer cette campagne… | Activation | Recharger. |
| Limite de campagnes actives atteinte | Activation | Archiver une campagne. |
| Cette campagne utilise une fonctionnalité non incluse dans votre plan actuel… | Activation | Changer de plan. |
| Une erreur est survenue lors de l'activation de la campagne. | Activation | Abonnement en pause, essai terminé, ou limite : vérifier l'abonnement. |
| Vous n'avez pas encore réclamé votre premier numéro ! | Campagne téléphonique | « Obtenir mon numéro ». |
| Il semblerait que vous n'ayez plus de numéro disponible… | Campagne | Acheter un numéro. |
| Le numéro suivant est associé à cette campagne mais n'est plus détenu par votre compagnie | Campagne | Retirer le numéro. |
| L'agent est configuré pour recevoir des appels entrants, il n'est pas possible d'importer des contacts | Import | Normal pour un agent entrant. |
| Obligatoire / Champs restants à mapper | Import | Mapper les colonnes obligatoires. |
| Vous n'avez pas assez de crédits pour contacter tous les contacts importés. | Import | Recharger ou réduire. |
| Ligne N : « … » n'est pas une date reconnue | Import SMS/WhatsApp | Corriger la date dans le fichier. |
| Line N : PhoneNumber est vide / n'est pas un numéro valide / est un numéro surtaxé / numéro dupliqué dans le fichier | Import | Corriger ou « Ignorer et importer ». |
| Colonne manquante : X / Le fichier CSV semble invalide ! | Import | Corriger le fichier (séparateur, guillemets). |
| Aucun contact valide pour l'import | Import WhatsApp | Vérifier les colonnes de consentement. |
| Limite de conversation atteinte | Campagne WhatsApp | Attendre le lendemain. |
| Le numéro … est hors ligne / a été signalé / est limité en débit / est en attente de vérification | Campagne WhatsApp | Reconnecter le numéro dans WhatsApp Business. |
| Aucun test à lancer | Onglet Tests | Créer des tests depuis une conversation. |
| Le nom est obligatoire / Le nom ne peut pas dépasser 128 caractères | Base de connaissances | Corriger. |
| Fichiers invalides détectés | Base de connaissances | 5 Mo max, extensions acceptées. |
| Enregistrez le chat avant de tester / Associez au moins un dataset avant de tester | Base de connaissances | Enregistrer, associer. |
| Le designer de workflow nécessite un écran d'au moins 1024 px de large. | Workflows | Agrandir la fenêtre. |
| La durée doit être supérieure à zéro. | Workflows, étape Délai | Ouvrir le panneau et modifier la durée : voir chapitre 29.9. |
| Chaque condition doit être complète (variable et valeur renseignées). | Workflows, étape Condition | Compléter ou supprimer la ligne. |
| Le serveur a refusé la configuration de cette étape. | Workflows | Lire le détail en dessous ; souvent une variable qui pointe vers une étape non garantie en amont. |
| Sauvegardez le workflow pour pouvoir le tester. | Workflows | Sauvegarder avant de lancer un test. |
| Ce workflow est incomplet : il nécessite au moins un nœud après le déclencheur. | Workflows | Ajouter une étape. C'est aussi la cause d'un bouton « Déployer » grisé sans infobulle. |
| L'activation a échoué. Réessayez. | Workflows, carte de la liste | Déployer une version d'abord, puis activer depuis la fiche : voir chapitre 29.14. |
| Run introuvable / Run inconsultable | Workflows, exécutions | Exécution ou version supprimée : consulter une autre exécution. |
| Erreur de permissions / L'accès au microphone est nécessaire | Widget Web | Autoriser le micro, recharger. |
| Abonnement en pause / Période d'essai terminée | Global | Réactiver l'abonnement. |
32. Checklist avant de lancer
Prompt
- [ ] Sections titrées ; rôle, langue, registre et règles de sécurité en tête ; base de connaissances en fin.
- [ ] « Jamais de raccrochage avec une question » ; condition de fin claire ; formule de politesse suivie de {{hangup}}.
- [ ] Phrases courtes, une question par tour en fin de réponse, pas de deux-points ni de markdown.
- [ ] Nombres, prix, dates, heures, numéros, sigles écrits pour l'oral ; exemples du prompt déjà au format oral.
- [ ] Situations prévues : mauvais numéro, refus, rappel, autre langue, hors sujet, interruption, répondeur non détecté, standard de filtrage, deux personnes, confirmation des données.
- [ ] Toutes les {{variables}} déclarées, en minuscules sans espace, obligatoires si le prompt en dépend.
- [ ] Outils : quand appeler, quoi dire avant, quoi faire en cas d'erreur ; transfert et base de connaissances cadrés.
Accroche et messages - [ ] Accroche renseignée, deux phrases au plus, terminée par une question, écoutée avec la voix choisie. - [ ] Message d'inactivité (« Allô ? ») et message d'occupation renseignés. - [ ] Message répondeur pour chaque tentative où vous voulez en laisser un, sans question.
Outils - [ ] Description en consigne ; variables décrites avec leur format ; corps JSON avec les variables entre guillemets. - [ ] Testés dans la zone de test (ou en cURL), puis en conversation. - [ ] Timeout court ; réponses courtes et lisibles.
Voix et écoute
- [ ] Voix et Boost/Qualité choisis ; règle poing → point ; noms de marque et sigles en prononciation ; mots métier en transcription.
- [ ] Modèle de transcription choisi (Lyra par défaut, Vega pour les noms propres).
- [ ] Patience face aux interruptions adaptée au public.
Campagne
- [ ] Numéros valides, sans conflit ; fuseau ; créneaux cohérents ; tentatives et délai ; jours fériés.
- [ ] Webhook testé côté récepteur ; classifications et extractions définies, UNKNOWN conservée.
- [ ] Fichier CSV dédoublonné, numéros du bon pays, variables obligatoires remplies.
- [ ] Crédits suffisants pour toute la campagne.
- [ ] Recette : conversations de test sur les cas difficiles, cinq à dix vrais appels écoutés, tests automatisés créés.
Workflow (si vous en avez un) - [ ] Panneau du déclencheur ouvert puis workflow sauvegardé, pour que les variables existent. - [ ] Chaque branche de condition configurée ; chaque délai modifié au moins une fois. - [ ] Une condition sur le code de statut après chaque requête HTTP. - [ ] Campagne cible mise en pause avant le premier test, puisqu'un test appelle vraiment. - [ ] Version nommée, workflow déployé puis activé : les deux gestes sont nécessaires. - [ ] Onglet « Runs » vérifié après la mise en service.
33. Annexe : raisons de fin de conversation et étiquettes système
Raisons de fin
| Libellé | Signification |
|---|---|
| Le bot a mis naturellement fin à la conversation | L'agent a conclu et raccroché. |
| Envoi de message unique sans attendre de réponse | Agent « message unique » : le message a été délivré. |
| Le bot a transféré l'appel à un autre numéro de téléphone | Transfert. |
| Le bot est tombé sur une messagerie et a laissé un message | Répondeur détecté, message déposé. |
| Le bot est tombé sur un répondeur et a raccroché | Répondeur détecté, aucun message à laisser. |
| Le bot est tombé sur un SVI et a raccroché | Serveur vocal. |
| Le bot a relancé l'utilisateur plusieurs fois sans réponse et a raccroché | Trois silences consécutifs. |
| L'utilisateur a raccroché lors de la conversation | La personne a raccroché. |
| La conversation s'est clôturée car l'utilisateur est resté inactif | 30 minutes sans échange (téléphone) ou délai configuré (texte). |
| La conversation a atteint sa durée de vie maximale | Fin de la fenêtre de 24 h (SMS, WhatsApp). |
Étiquettes système
| Étiquette | Quand elle est posée | Relance ? |
|---|---|---|
voice_mail (Répondeur) |
Répondeur détecté (dès la deuxième tentative, ou conversation sans réponse de l'agent, ou seulement des relances) ; ou posée par l'IA | Oui, tant qu'il reste des tentatives |
SVI |
Serveur vocal, posée par l'IA | Non |
NRP |
Non répondu : tentatives épuisées, appel annulé, numéro banni, cinq erreurs techniques ; SMS ou WhatsApp sans réponse | Non |
OPT_OUT |
La personne a demandé à ne plus être contactée (posée par l'IA). Bloque les futurs envois WhatsApp uniquement. | Non |
ERROR |
Échec technique SMS ou WhatsApp (accroche trop longue, template absent, envoi refusé) | Non |
UNASSIGNED (Non assigné) |
Numéro non attribué selon l'opérateur | Non |
UNKNOWN (Inconnu) |
L'IA n'a pu classer dans aucune étiquette. Ne la supprimez pas. | Non |
| Vos étiquettes | Posées par l'IA selon vos définitions | Non |