Référence des blocs

Le rôle, les champs et un exemple d'usage pour chaque type de bloc de l'éditeur de flow.

Cette page décrit chaque bloc proposé dans la Bibliothèque de l'éditeur, dans l'ordre de ses catégories. Pour chaque bloc : son rôle, ses sorties, le tableau de ses champs et un exemple tiré de la relation client. Les réglages communs à plusieurs blocs (fonctions appelables, clavier téléphonique, valeurs dynamiques) sont décrits en fin de page.

Tous les blocs ont en plus un champ Libellé du bloc, en tête du panneau de configuration. Il s'affiche sur le canvas et nomme les transitions automatiques qui mènent à ce bloc.

Le panneau de configuration d'un bloc Agent LLM

Vue d'ensemble

CatégorieBlocÉtiquetteEn une phrase
EntréeDéclencheurTRIGGERLe premier tour de parole de l'IA, au décroché ou à l'ouverture du chat.
IntelligenceAgent LLMAGENTUne étape menée par l'IA, avec son prompt et ses fonctions.
IntelligenceOutil MCPTOOLExécute un outil à l'entrée du bloc, sans passer par l'IA.
IntelligenceRequête HTTPHTTPDécrit un appel d'API externe.
IntelligenceDatastoreDATARecherche, ajoute ou modifie un enregistrement dans une base.
LogiqueRoutageROUTERDécrit un branchement conditionnel à deux cas.
LogiqueValidation humaineHITLMet la conversation en attente de la décision d'un opérateur.
SortieMessageSAYFait dire un message à l'IA.
SortieE-mailMAILEnvoie un e-mail de notification.
SortieSMSSMSEnvoie un SMS de notification.
SortieRaccrocherENDTermine la conversation, avec ou sans transfert.

Déclencheur

Le Déclencheur est le point de départ du flow. C'est un tour de parole complet de l'IA : il définit qui elle est, ce qu'elle fait au décroché, et les fonctions qu'elle peut appeler dès le premier échange. Un flow créé avec Nouveau flow en contient déjà un.

Sortie : Démarrer, puis une rangée par fonction et par transition automatique.

ChampDescriptionValeur par défaut
CanalCanal prévu pour le flow : Appel voix, Chat ou Webhook.Appel voix
Prompt de rôleLa persona et les instructions de fond, reprises à chaque entrée dans le bloc. Accepte les variables {{…}}.Vide
Prompt de tâcheCe que l'IA fait au décroché : son premier tour de parole. Accepte les variables {{…}}.Vide
Fonctions appelablesLes fonctions que l'IA peut appeler dès le premier tour. Voir Fonctions appelables.Aucune
Clavier téléphonique (DTMF)Réglage de la saisie au clavier pour ce bloc. Voir Clavier téléphonique.Défauts plateforme

Exemple — Standard d'une mutuelle :

  • Prompt de rôle : « Tu es l'assistante d'accueil de la Mutuelle Horizon. Tu vouvoies l'appelant et restes concise. »
  • Prompt de tâche : « Accueille l'appelant, précise que l'appel peut être enregistré, puis demande-lui l'objet de son appel. »

Prompt de tâche, prompt système ou bloc Message ? Voir Message d'accueil ou prompt ?.

Agent LLM

Le bloc Agent LLM est une étape conversationnelle : l'IA poursuit l'échange selon le prompt du bloc, peut appeler des fonctions, puis passe au bloc suivant. C'est le bloc le plus utilisé d'un flow.

Sortie : Réponse, puis une rangée par fonction et par transition automatique.

ChampDescriptionValeur par défaut
Prompt de rôlePersona et instructions de fond, reprises à chaque entrée dans le bloc. Accepte les variables {{…}}.Vide
Prompt de tâcheCe que l'IA doit accomplir dans cette étape. Accepte les variables {{…}}.Vide
Fonctions appelablesLes fonctions que l'IA peut appeler depuis ce bloc. Voir Fonctions appelables.Aucune
Clavier téléphonique (DTMF)Voir Clavier téléphonique.Défauts plateforme

Note

Le modèle et la température ne se règlent pas dans le bloc : ce sont ceux de l'agent qui exécute le flow. Voir Créer un agent.

Exemple — Suivi de commande :

  • Prompt de tâche : « Demande le numéro de commande au client, puis appelle rechercher_commande. Annonce le statut et la date de livraison prévue. »
  • Fonction rechercher_commande, avec une écriture d'état qui garde le statut dans parameters.statut_commande.

Outil MCP

Le bloc Outil MCP exécute un outil dès l'entrée dans le bloc, sans passer par l'IA, puis enchaîne sur le bloc relié à sa sortie. Utilisez-le pour une action systématique : créer un ticket dans votre outil de support, enregistrer un rappel, interroger votre CRM.

Sortie : Résultat. Elle doit être reliée, sinon le bloc affiche Sans suite.

ChampDescriptionValeur par défaut
OutilL'outil à exécuter. Choisir un outil… ouvre le catalogue : vos outils (groupe Outils du tenant) puis ceux de chaque serveur MCP connecté, avec une recherche.Aucun
Arguments (JSON)Les arguments passés à l'outil, au format JSON. Accepte les variables {{…}}.{}

Une fois l'outil choisi, une carte Paramètres rappelle ses paramètres (les obligatoires portent la mention requis). Générer les args réécrit le champ Arguments (JSON) avec ces paramètres, prêts à compléter.

Si aucun serveur MCP n'est connecté et que le catalogue est vide, le bloc propose une saisie manuelle des champs Serveur MCP et Outil. Les serveurs MCP se connectent dans Paramètres > Serveurs MCP (voir Serveurs MCP).

Exemple — Après une réclamation, un bloc Outil MCP crée systématiquement un ticket dans votre outil de support, puis enchaîne sur un Message de confirmation.

Requête HTTP

Le bloc Requête HTTP décrit un appel à une API externe.

Sorties : Succès (2xx) et Erreur / timeout.

ChampDescriptionValeur par défaut
MéthodeGET, POST, PUT, PATCH ou DELETE.GET
URLL'adresse appelée, par exemple https://api.exemple.com/v1/commandes/{{orderId}}.Vide
En-têtes (JSON)Les en-têtes HTTP, au format JSON.{}
Corps (JSON)Le corps de la requête. Ignoré pour GET et DELETE.Vide
Timeout (ms)Délai maximal de réponse, en millisecondes.10000
Variable de sortieLe nom sous lequel la réponse JSON est exposée aux blocs suivants.Vide

Attention

Les réglages des blocs Requête HTTP et Routage sont conservés avec le flow, mais ne sont pas exécutés pendant une conversation. Pour appeler une API, créez un outil HTTP / API (voir Outils) et appelez-le depuis une fonction ou un bloc Outil MCP.

Datastore

Le bloc Datastore lit ou écrit dans une de vos bases de données dès l'entrée dans le bloc, sans passer par l'IA. Le formulaire s'adapte au schéma de la base choisie.

Sortie : Suite. Elle doit être reliée, sinon le bloc affiche Sans suite.

ChampDescriptionValeur par défaut
BaseLa base visée. Les bases de contacts sont signalées par « · contacts ».Aucune
OpérationRechercher, Ajouter ou Modifier.Rechercher
Champ ciblé(Rechercher) Le champ sur lequel porte la recherche, ou — filtre libre —. Un champ ciblé est l'option la plus fiable.Filtre libre
Valeur cherchée(Rechercher, avec un champ ciblé) La valeur recherchée, par exemple state.parameters.email. La recherche est de type « contient ».Vide
Filtre(Rechercher, en filtre libre) Un filtre au format champ,opérateur,valeur, par exemple email,cr,@exemple.fr. Opérateurs : cr, sw, ed, eq, ne, gt, ge, lt, le.Vide
Identifiant de l'enregistrement(Modifier) L'identifiant de l'enregistrement, renvoyé par une recherche en amont, par exemple state.parameters.record_id.Vide
Champs de l'enregistrement(Ajouter, Modifier) Une ligne par champ de la base.Vides
Variable de résultatLe nom sous lequel le résultat est rangé (state.parameters.<nom>), réutilisable dans les prompts et les blocs suivants.Vide

Chaque valeur est un texte fixe ou un chemin state.* lu au moment de l'exécution.

Attention

Modifier remplace l'enregistrement entier : un champ laissé vide est perdu. Renseignez tous les champs, modifiés ou non, par exemple à partir du résultat d'une recherche précédente.

L'encadré Comment ce bloc s'exécute indique l'outil utilisé pour l'opération choisie. Si cet outil n'existe pas encore dans votre espace, un avertissement s'affiche avec le bouton Créer le tool maintenant. Le lien Gérer les tools de cette base (page Datastores) ouvre la base. Voir Datastores.

Exemple — Identification d'un client :

  1. Un Agent LLM demande l'e-mail du client et l'enregistre dans parameters.email.
  2. Un bloc Datastore : Base « Clients », Opération Rechercher, Champ ciblé email, Valeur cherchée state.parameters.email, Variable de résultat client.
  3. L'Agent LLM suivant salue le client avec {{state.parameters.client}} dans son prompt.

Routage

Le bloc Routage décrit un branchement conditionnel à deux cas plus un cas par défaut.

Sorties : Cas A, Cas B, Sinon.

ChampDescriptionValeur par défaut
Condition (cas A)La condition du premier cas, par exemple statut == "premium".Vide
Condition (cas B)La condition du second cas, par exemple statut == "standard".Vide

Attention

Comme pour la Requête HTTP, ces conditions ne sont pas évaluées pendant une conversation. Pour aiguiller un parcours, utilisez une fonction en Sortie Conditionnelle (voir Fonctions appelables).

Validation humaine

Le bloc Validation humaine met la conversation en pause jusqu'à la décision d'un opérateur, par exemple pour approuver un geste commercial. La demande apparaît dans la file des validations ; le flow reprend dès la décision, ou à l'expiration du délai.

Sorties : Décision reçue et Timeout.

ChampDescriptionValeur par défaut
TitreLe titre affiché dans la file de validation, par exemple « Valider le remboursement ».Vide
Consigne au validateurCe que l'opérateur doit vérifier.Vide
Contexte montré au validateurDes lignes libellé → valeur affichées à l'opérateur. Chaque valeur est un texte fixe ou un chemin lu dans la conversation (bouton abc / path), par exemple state.parameters.orderId.Aucune
Champs de décisionLe formulaire que remplit l'opérateur. Sans champ, la validation est une simple approbation.Aucun
Délai max (s)Sans décision dans ce délai, la sortie Timeout est empruntée. Vide : attente sans échéance.300

Chaque Champ de décision comporte :

RéglageDescription
NomIdentifiant du champ (lettres, chiffres et _), par exemple decision. submitted_by et submitted_at sont réservés.
TypeTexte, Entier, Nombre ou Oui / Non.
LibelléLe texte affiché à l'opérateur.
Choix(Texte) Les valeurs possibles séparées par des virgules, par exemple APPROUVER, REFUSER. Vide : saisie libre.
Valeur par défautOptionnelle : texte fixe ou chemin (abc / path).
requisRend le champ obligatoire.

La décision est ensuite disponible pour les blocs suivants sous result.<nom>.

Distribuer à un agent ViaFlow

Cochez Distribuer à un agent ViaFlow pour confier la validation aux agents d'un service : une tâche d'approbation est créée et distribuée, et le flow attend leur décision ou le délai.

ChampDescription
ServiceObligatoire. Le service dont les agents reçoivent la tâche. Sans service, la validation reste dans Flowtative.
Groupe d'agentsConservé dans le flow mais pas encore transmis : la distribution se fait par service uniquement.
Objet de la tâcheL'objet affiché aux agents. Vide : le titre du bloc.

Une tâche distribuée doit expirer : sans Délai max, 300 secondes sont appliquées. Le numéro de tâche est conservé dans state.parameters.approval_case_id ; sur la sortie Timeout, appelez l'outil expireApproval avec ce numéro pour clore la tâche.

Exemple — Geste commercial : Titre « Avoir de 30 € », Contexte « Client » → state.parameters.client, un champ decision de type Texte avec les choix ACCORDER, REFUSER, Délai max 600. Décision reçue mène à un Agent LLM qui annonce la décision, Timeout à un Message qui promet un rappel.

Voir Validations humaines.

Message

Le bloc Message fait dire un message par l'IA. Par défaut, elle le formule naturellement dans le contexte de la conversation ; elle peut aussi le réciter mot pour mot.

Sortie : Suite.

ChampDescriptionValeur par défaut
Message à énoncerLa consigne d'énoncé. Accepte les variables {{…}}.Vide
Réciter mot à motImpose le texte exact, sans reformulation ni traduction : mentions légales, information RGPD…Désactivé
Ton / personaAjuste le ton sans changer le message. Champ replié derrière + Ton / persona.Vide
Attendre une réponseDésactivé : message purement informatif, l'IA l'énonce puis enchaîne vers la suite dans le même tour, sans attendre de réponse.Activé
Clavier téléphonique (DTMF)Voir Clavier téléphonique.Défauts plateforme

Exemple — Mention d'enregistrement : « Cet appel peut être enregistré pour améliorer la qualité de nos services. », Réciter mot à mot activé, Attendre une réponse désactivé. Voir aussi Message d'accueil ou prompt ?.

E-mail

Le bloc E-mail envoie un e-mail de notification dès l'entrée dans le bloc. Le destinataire ne peut pas y répondre dans la conversation.

Sortie : Envoyé. Elle doit être reliée, sinon le bloc affiche Sans suite.

ChampDescriptionValeur par défaut
Service e-mailObligatoire. Le service d'envoi, à choisir dans la liste (Choisir un service e-mail…) ou à saisir.Vide
ExpéditeurObligatoire. L'adresse expéditrice, par exemple no-reply@societe.com.Vide
DestinataireL'adresse du destinataire, fixe ou lue dans la conversation (state.parameters.email).Vide
ObjetL'objet de l'e-mail.Vide
Corps (HTML)Le contenu, en HTML. Pour un contenu dynamique, indiquez un chemin state.parameters.….Vide

Exemple — Confirmation de rendez-vous : Destinataire state.parameters.email, Objet « Confirmation de votre rendez-vous », puis un bloc Raccrocher.

SMS

Le bloc SMS envoie un SMS de notification dès l'entrée dans le bloc. Le destinataire ne peut pas y répondre dans la conversation.

Sortie : Envoyé. Elle doit être reliée, sinon le bloc affiche Sans suite.

ChampDescriptionValeur par défaut
ExpéditeurObligatoire. Le numéro ou le nom alphanumérique affiché chez le destinataire, par exemple FLOWTATIVE.Vide
NuméroLe numéro du destinataire, fixe (+33612345678) ou lu dans la conversation (state.parameters.callerNumber).Vide
Texte du messageLe contenu du SMS. Un segment SMS compte 160 caractères. Pour un contenu dynamique, indiquez un chemin state.parameters.….Vide
RéférenceObligatoire. Un libellé libre conservé pour la traçabilité de l'envoi.Vide

Pour les blocs E-mail et SMS, un avertissement s'affiche dans le panneau si l'outil d'envoi correspondant n'est pas déclaré dans votre espace : le flow échouerait au chargement.

Exemple — Après un suivi de commande, un SMS envoie le lien de suivi au numéro de l'appelant, avec la Référence « suivi-commande ».

Raccrocher

Le bloc Raccrocher termine la conversation. Il peut dire un message d'adieu, transférer l'appel vers un conseiller et transmettre des informations de fin.

Sortie : aucune.

ChampDescriptionValeur par défaut
Message d'adieuDit tel quel à l'entrée du bloc, sans passer par le modèle. Vide : raccrochage silencieux. Pour un adieu formulé par l'IA, placez un Agent LLM avant ce bloc.Vide
Paramètres de finDes paires clé → valeur transmises à la fin de la conversation. Voir ci-dessous.Aucun
Motif de clôtureUn motif court, par exemple résolu, affiché sur le bloc dans le canvas.Vide

Paramètres de fin

  • Transfert d'appel ajoute en un clic les clés Numéro de transfert (transferNumber) et Mode de transfert (transferMode). En appel vocal, elles transfèrent l'appelant vers ce numéro.
  • Mode de transfert : BRIDGE (pont : le bot reste en ligne) ou REFER (renvoi SIP : le bot sort de l'appel).
  • Paramètre libre (Paramètre dès qu'une ligne existe) ajoute une clé de votre choix ; la clé endReason s'affiche sous le libellé Motif de fin. Une clé ne contient que des lettres, chiffres et _ ; une clé en double est signalée.
  • Chaque valeur est un texte fixe (abc) ou un chemin lu dans la conversation (path), par exemple state.parameters.orderId.

En chat, les paramètres de fin sont reçus avec la fin de session. Ils sont aussi enregistrés sur la transcription et exploitables dans les analyses. Une valeur fixée ici n'est jamais écrasée par l'IA. Pour un parcours complet, voir Transférer vers un conseiller et Collecter des informations.

Exemple — Réclamation : Message d'adieu « Je vous passe un conseiller, bonne journée. », Transfert d'appel vers +33123456789 en BRIDGE, et un paramètre endReason = reclamation.

Réglages communs

Fonctions appelables

Les blocs Déclencheur et Agent LLM proposent une liste de fonctions que l'IA peut appeler. Une fonction sert à trois choses, combinables :

  • appeler un outil : quand le nom de la fonction correspond à l'identifiant d'un de vos outils, l'outil est exécuté ;
  • enregistrer une information grâce aux écritures d'état ;
  • changer d'étape grâce à sa sortie.

Cliquez sur + Fonction pour en ajouter une, puis renseignez :

RéglageDescription
NomLe nom de la fonction, par exemple rechercher_client. Les identifiants de vos outils sont proposés à la saisie. Un nom en double est signalé.
DescriptionQuand l'appeler ? La description lue par l'IA pour décider d'appeler la fonction.
DétailLe bouton détail (ou N params) déplie les arguments, les écritures d'état et l'envoi HTTP.
SortieDirecte : une seule cible. Conditionnelle : plusieurs branches avec conditions, plus un repli.

Sortie directe — Tracez un lien depuis le point de sortie de la fonction vers le bloc cible. Sans lien, l'IA reste sur le bloc après l'appel.

Sortie conditionnelle — Chaque Branche porte une condition si <valeur> <opérateur> <valeur attendue> :

  • valeur observée : un chemin, par exemple state.parameters.statut_commande ;
  • opérateurs : = égal à, ≠ différent de, < inférieur à, ≤ inf. ou égal, > supérieur à, ≥ sup. ou égal, ∈ dans la liste, ∉ hors liste (listes sous la forme a, b, c) ;
  • la première condition vraie l'emporte : l'ordre des branches est leur priorité (flèches pour monter ou descendre) ;
  • le repli sinon est obligatoire : tracez un lien depuis son point de sortie.

Chaque branche et le repli ont leur propre point de sortie sur le bloc.

Détail d'une fonction :

SectionDescription
Arguments (fournis par le LLM)Les arguments que l'IA renseigne, avec leur type et leurs contraintes. Lecture seule.
Écritures d'état (après exécution)Les informations rangées après l'appel, dans l'ordre. Opérations : set (assigne), append (ajoute à une liste), merge (fusionne un objet), delete (supprime la clé). Le chemin commence par parameters. ; la valeur est un texte fixe ou un chemin args.* (argument de l'appel), result.* (retour de l'outil) ou state.*.
Envoi HTTP (submit)L'envoi HTTP associé à la fonction, s'il existe. Lecture seule.
JSONAffiche la définition complète de la fonction.

Exemple — Fonction verifier_eligibilite, description « Appelle cette fonction quand le client a donné son numéro de contrat », écriture set parameters.eligible ← result.eligible, sortie Conditionnelle : branche 1 state.parameters.eligible = égal à true vers « Proposition de l'offre », repli vers « Explication du refus ».

Clavier téléphonique (DTMF)

Les blocs Déclencheur, Agent LLM et Message permettent de régler la saisie au clavier téléphonique. Le clavier est toujours écouté ; sans réglage, les valeurs par défaut de la plateforme s'appliquent. Réglez un bloc quand il attend une saisie précise : choix de menu, code, numéro de contrat.

Cliquez sur Régler le clavier pour ce nœud, puis choisissez un préréglage ou ajustez les champs. Un encadré résume en direct ce que vivra l'appelant.

ChampDescriptionValeur par défaut
Menu 1 chiffre (préréglage)Livraison immédiate à la première touche ; # n'est pas traité comme terminateur.—
Code 4 chiffres (préréglage)4 chiffres attendus, délais et terminateur par défaut.—
Longueur attendueNombre de chiffres attendus, par exemple 4 pour un code. Vide : saisie libre. Une saisie plus courte ou plus longue est signalée en erreur à l'IA.Saisie libre
Délai inter-chiffresSilence après le dernier chiffre avant livraison, de 0,5 à 10 s.3 s
Délai de fin de séquenceDélai après le dernier chiffre attendu, de 0 à 2 s ; 0 = livraison immédiate. Actif uniquement avec une longueur attendue.500 ms
TerminateurDéfaut (#), # — dièse, * — étoile ou Désactivé (timers seuls).#
La 1re touche coupe la parole du botActivé : appuyer sur une touche interrompt l'IA. Désactivé : la saisie est livrée après sa phrase.Activé

L'icône de retour à côté d'un délai rétablit la valeur par défaut ; la croix en haut de l'encadré retire tous les réglages.

Valeurs fixes et chemins

Plusieurs blocs acceptent, pour une même valeur, un texte fixe ou un chemin lu au moment de l'exécution :

PréfixeCe qu'il désigne
state.parameters.…Une information enregistrée pendant la conversation (écriture d'état, variable de résultat).
args.…Un argument fourni par l'IA lors de l'appel d'une fonction.
result.…Le retour de l'outil ou de la décision qui vient d'être exécuté.

Les blocs Datastore n'acceptent que des chemins state.*. Le détail, champ par champ, est dans Variables et données dynamiques.

Pour aller plus loin

Sur cette page