Conditions et logique de branchement
Les conditions permettent a votre chatbot de prendre des decisions en fonction du contexte de la conversation, des reponses du contact ou de donnees externes. Ce guide explique comment configurer les differents types de conditions dans le Chatbot Builder de Reepli.
Pourquoi utiliser des conditions ?
Sans conditions, votre chatbot suit un parcours lineaire identique pour tous les contacts. Les conditions vous permettent de :
- Adapter les reponses selon le profil du contact (langue, localisation, segment)
- Orienter la conversation en fonction des reponses donnees
- Verifier des donnees avant de poursuivre (numero de commande valide, e-mail correct)
- Creer des parcours differencies pour chaque situation
- Limiter l'acces a certaines fonctionnalites selon le statut du contact
Types de noeuds conditionnels
Le Chatbot Builder propose trois types de noeuds pour gerer la logique.
1. Noeud Condition (Si / Sinon)
Le noeud Condition est la forme la plus simple de branchement. Il evalue une expression et dirige le flux vers l'une des deux sorties.
| Sortie | Declenchement |
|---|---|
| Vrai | La condition est remplie |
| Faux | La condition n'est pas remplie |
Configuration
- Ajoutez un noeud Condition sur le canevas.
- Dans le panneau de droite, definissez la condition :
- Selectionnez la source (variable, attribut contact, reponse precedente).
- Choisissez l'operateur de comparaison.
- Saisissez la valeur de reference.
- Deux sorties apparaissent sur le noeud : Vrai et Faux.
- Connectez chaque sortie au noeud suivant correspondant.
Operateurs de comparaison disponibles
| Operateur | Description | Exemple |
|---|---|---|
| est egal a | Correspondance exacte | {{langue}} est egal a fr |
| n'est pas egal a | Non correspondance | {{statut}} n'est pas egal a bloque |
| contient | Le texte inclut la valeur | {{message}} contient commande |
| ne contient pas | Le texte n'inclut pas la valeur | {{message}} ne contient pas annuler |
| commence par | Le texte debute par la valeur | {{email}} commence par admin |
| se termine par | Le texte finit par la valeur | {{email}} se termine par .fr |
| est superieur a | Comparaison numerique | {{montant}} est superieur a 100 |
| est inferieur a | Comparaison numerique | {{age}} est inferieur a 18 |
| est superieur ou egal a | Comparaison numerique | {{score}} est superieur ou egal a 50 |
| est inferieur ou egal a | Comparaison numerique | {{tentatives}} est inferieur ou egal a 3 |
| est vide | La valeur n'existe pas ou est vide | {{email}} est vide |
| n'est pas vide | La valeur existe et n'est pas vide | {{telephone}} n'est pas vide |
| correspond a (regex) | Correspondance par expression reguliere | {{code}} correspond a ^[A-Z]{3}[0-9]{4}$ |
2. Noeud Aiguillage (Switch)
Le noeud Aiguillage permet de gerer plusieurs cas a la fois, comme un menu a choix multiples.
Configuration
- Ajoutez un noeud Aiguillage sur le canevas.
- Selectionnez la variable a evaluer.
- Definissez les cas :
- Cliquez sur Ajouter un cas pour chaque valeur possible.
- Saisissez la valeur attendue pour chaque cas.
- Un cas Defaut est automatiquement cree pour gerer les valeurs non prevues.
- Chaque cas cree une sortie sur le noeud.
- Connectez les sorties aux noeuds suivants.
Exemple pratique
Variable evaluee : {{choix_service}}
| Cas | Valeur | Noeud suivant |
|---|---|---|
| Cas 1 | support | Flux support technique |
| Cas 2 | commercial | Flux equipe commerciale |
| Cas 3 | facturation | Flux service facturation |
| Defaut | -- | Message "Je n'ai pas compris" |
L'aiguillage est preferable a plusieurs conditions Si/Sinon enchainee lorsque vous comparez la meme variable a plusieurs valeurs. Il rend le flux plus lisible et plus facile a maintenir.
3. Noeud Verification d'attribut
Ce noeud verifie un attribut specifique du contact dans le CRM avant de poursuivre.
Configuration
- Ajoutez un noeud Verification d'attribut sur le canevas.
- Selectionnez l'attribut du contact a verifier :
- Attributs systeme : nom, prenom, telephone, e-mail, langue
- Attributs personnalises : tout champ ajoute dans votre CRM
- Tags : presence ou absence d'un tag specifique
- Choisissez l'operateur et la valeur de reference.
- Connectez les sorties Vrai et Faux.
Conditions combinees (ET / OU)
Vous pouvez combiner plusieurs conditions dans un seul noeud pour creer des regles complexes.
Operateur ET (toutes les conditions doivent etre vraies)
- Dans le panneau de configuration du noeud Condition, cliquez sur Ajouter une condition.
- La nouvelle condition apparait avec un connecteur ET.
- Configurez la deuxieme condition.
- Le noeud ne renverra Vrai que si toutes les conditions sont remplies simultanement.
Operateur OU (au moins une condition doit etre vraie)
- Ajoutez une condition supplementaire.
- Cliquez sur le connecteur entre les deux conditions.
- Basculez de ET a OU.
- Le noeud renverra Vrai si au moins une des conditions est remplie.
Groupes de conditions
Pour des logiques complexes, vous pouvez creer des groupes :
Groupe A (ET)
- {{langue}} est egal a "fr"
- {{pays}} est egal a "France"
OU
Groupe B (ET)
- {{langue}} est egal a "fr"
- {{pays}} est egal a "Belgique"
Cela equivaut a : le contact parle francais ET se trouve en France OU en Belgique.
Conditions basees sur le temps
Vous pouvez utiliser des conditions temporelles pour adapter le comportement du chatbot.
Heures d'ouverture
- Ajoutez un noeud Condition.
- Selectionnez la source Heure actuelle.
- Definissez la plage horaire :
{{heure_actuelle}}est superieur ou egal a09:00- ET
{{heure_actuelle}}est inferieur a18:00
- Sortie Vrai : le chatbot repond normalement.
- Sortie Faux : le chatbot envoie un message hors horaires et propose de laisser un message.
Jour de la semaine
| Variable | Valeurs possibles |
|---|---|
{{jour_semaine}} | lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche |
{{jour_numero}} | 1 (lundi) a 7 (dimanche) |
Date specifique
Utilisez la variable {{date_actuelle}} pour verifier des dates precises (jours feries, evenements, etc.).
Conditions basees sur les reponses
Verifier la derniere reponse
Apres un noeud Question, la reponse du contact est stockee dans une variable. Utilisez une condition pour l'evaluer.
- Placez un noeud Question (ex : "Quel est votre numero de commande ?").
- La reponse est enregistree dans la variable configuree (ex :
{{numero_commande}}). - Ajoutez un noeud Condition pour verifier le format :
{{numero_commande}}correspond a^CMD[0-9]{6}$
- Sortie Vrai : poursuivre le traitement.
- Sortie Faux : demander au contact de ressaisir son numero.
Verifier un choix de bouton ou de liste
Lorsque le contact clique sur un bouton ou un element de liste, la valeur selectionnee est automatiquement stockee. Utilisez un noeud Aiguillage pour router selon le choix.
Les boutons et listes WhatsApp retournent l'identifiant (ID) de l'element selectionne, pas le texte affiche. Configurez vos conditions sur l'identifiant et non sur le libelle.
Boucles et retours en arriere
Les conditions permettent egalement de creer des boucles controlees.
Boucle de validation
- Posez une question au contact.
- Verifiez la reponse avec une condition.
- Si la reponse est invalide, renvoyez le flux vers le noeud de question.
- Ajoutez un compteur de tentatives pour eviter les boucles infinies.
Limiter le nombre de tentatives
- Creez une variable
{{tentatives}}initialisee a0. - A chaque boucle, incrementez la variable de 1.
- Ajoutez une condition :
{{tentatives}}est superieur a3. - Sortie Vrai : transferer vers un agent humain.
- Sortie Faux : reposer la question.
Evitez les boucles infinies. Prevoyez toujours une sortie apres un nombre limite de tentatives. Une boucle sans sortie peut bloquer le contact dans un etat dont il ne peut pas sortir.
Cas d'utilisation courants
Routage par langue
Condition : {{contact.langue}}
- "fr" --> flux en francais
- "en" --> flux en anglais
- "ar" --> flux en arabe
- Defaut --> flux en francais
Qualification de prospect
Question : "Combien d'employes avez-vous ?"
Condition : {{nombre_employes}}
- superieur a 50 --> transfert equipe entreprise
- entre 10 et 50 --> transfert equipe PME
- inferieur a 10 --> reponse automatique pour TPE
Verification d'identite
Question : "Quel est votre e-mail ?"
Condition : {{email_saisi}} est egal a {{contact.email}}
- Vrai --> acces au compte
- Faux --> deuxieme tentative ou transfert agent
Prochaines etapes
- Variables -- apprenez a utiliser les variables dans vos conditions
- Reponses IA -- combinez conditions et intelligence artificielle
- Tester votre chatbot -- testez vos branchements avant publication
- Vue d'ensemble du Chatbot Builder -- revenez aux fondamentaux
Si vous rencontrez un probleme avec les conditions, contactez notre equipe support via le chat en bas a droite de l'application ou envoyez un e-mail a [email protected].