# Déclencheur et type de correspondance

## Type de correspondance

Un **déclencheur** est quelque chose qui active le bot, change les états ou effectue une autre action. Les mots dans le champ « Trigger » servent de déclencheur au workflow dans le générateur pour exécuter l’événement ou l’action contenue dans le bloc.

**Déclencheurs** contrôlent le déroulement de la conversation. Ils sont configurés dans le champ « Trigger » au sein d’un bloc conditionnel ou sur une flèche de connexion.

* **Format :** Un déclencheur peut être un symbole, un nombre, une expression régulière ou un mot-clé spécifique.
* **Action :** Lorsqu’une saisie de l’utilisateur correspond à un déclencheur défini, le bot exécute le workflow associé, par exemple en passant à un nouvel état du tunnel ou en déclenchant une action.

<div data-with-frame="true"><figure><img src="/files/b00816e8f85121fbe42ad662e374cbe21390d4fa" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/aad0bc01f10da9789f308f3ba237852202864cb2" alt=""><figcaption></figcaption></figure></div>

Par exemple, si vous devez créer un bloc pour tous les mots de démarrage possibles dans Messenger, vous pouvez spécifier la condition suivante : start;start;get started;start

{% hint style="success" %}
Dans tous les types de comparaisons, **le point-virgule (;)** est utilisé pour séparer les conditions.
{% endhint %}

Le chatbot répondra au déclencheur en exécutant l’action ou l’événement spécifié ; par exemple, il peut envoyer un message de bienvenue au client :

<div data-with-frame="true"><figure><img src="/files/66bfbe2cab424906db34f88b6acd428ae432fbb2" alt="" width="563"><figcaption></figcaption></figure></div>

Pour reconnaître un déclencheur, vous devez définir le type de comparaison (le **« Match Type »** champ). Le type de correspondance aide le chatbot à comparer la condition au message du client ou à une autre action (comme un clic sur un bouton) et à déterminer quel événement déclencher ensuite.

Dans MaviBot, il existe cinq types de correspondance des conditions :

1. Correspondance floue ;
2. Correspondance par mot-clé ;
3. Correspondance RegEx ;
4. Correspondance exacte ;
5. Recherche sémantique.

<div data-with-frame="true"><figure><img src="/files/9278b9c3ed683d500c4bf4d6f6046e845b821d12" alt="" width="563"><figcaption></figcaption></figure></div>

Examinons chacun d’eux de plus près.

### Correspondance floue

Il s’agit du principal type de comparaison, permettant au bot de gérer les fautes d’orthographe, les coquilles, les imprécisions, les lettres manquantes et les inversions de lettres. La condition est déclenchée si la similarité entre les chaînes est supérieure à 70 %.

**Exemple :**\
Pour la condition **« hello »**, les variations suivantes déclencheraient une correspondance : **« hlelo »**, **« hellp »**, **« helo »**, et ainsi de suite.

<div data-with-frame="true"><figure><img src="/files/c8a203516359e1c048225baee9813e02955f3e2a" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/b8a8904d82a20d70277886fbb3c214031641d613" alt="" width="563"><figcaption></figcaption></figure></div>

Ce type de comparaison est davantage centré sur l’utilisateur et prend en compte le facteur humain lors du traitement des conditions, car les fautes de frappe sont très courantes.<br>

Le **« Flou »** le type de correspondance est idéal pour le bloc d’accueil (initial) dans un flux de chatbot, où c’est le client qui initie la conversation.

### Correspondance par mot-clé

**Correspondance par mot-clé** est un type de comparaison très puissant qui aide à créer un conseiller humain. Avec ce type de correspondance, le bot répondra à tout message utilisateur contenant au moins un des mots-clés de la condition.

En d’autres termes, si le client envoie un message contenant un ou plusieurs mots-clés de la condition, le flux se déclenchera selon ses paramètres.

**Exemple :**\
Pour la condition « hello;person », le message suivant la déclencherait :\
« Je veux saluer cette merveilleuse personne. »

<div data-with-frame="true"><figure><img src="/files/1d5844139ab7f16a88d2ecb497a9247c6dd7ecf4" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/330df3cd428f7e7ae71e2cea98b9830e8b3fa838" alt="" width="563"><figcaption></figcaption></figure></div>

Vous pouvez inclure un grand nombre de mots-clés dans la condition. Cela permet au chatbot de reconnaître ce dont le client a besoin à ce moment précis et de déclencher l’événement approprié configuré dans le bloc.

<div data-with-frame="true"><figure><img src="/files/50c6206c5078287a0aa3c96822e37067569d5789" alt="" width="375"><figcaption></figcaption></figure></div>

Comme on peut le voir dans l’exemple ci-dessus, le bot répondra à tout message contenant au moins un des mots-clés de la condition.\
Ce type de correspondance utilise également le champ **« Ignorer les déclencheurs »** (messages qui ne doivent pas déclencher de réponse).

<div data-with-frame="true"><figure><img src="/files/a5068a452a1750c0801579f0428a45231c3f49d8" alt="" width="375"><figcaption></figcaption></figure></div>

Ce champ fonctionne de manière similaire au champ de condition, mais avec l’effet inverse : si le message de l’utilisateur contient des mots du **« Ignorer les déclencheurs »** champ, la condition ne sera pas déclenchée.

En conséquence, si la condition dans le **« Ignorer les déclencheurs »** champ est remplie, la condition globale ne fonctionnera pas.

### Variabilité

Vous pouvez ajouter un déclencheur supplémentaire séparé par un point-virgule, mais que faire si vous devez faire correspondre l’une de plusieurs options de mots ?

Par exemple, pour gérer des phrases comme « Mon internet ne fonctionne pas », « Mon ordinateur ne fonctionne pas » ou « Mon ordinateur est en panne », avec un seul déclencheur.

Évidemment, lister toutes les variantes de mots-clés une par une n’est pas pratique. C’est pourquoi la syntaxe OU a été créée. Pour spécifier l’un de plusieurs mots-clés équivalents, placez-les tous entre parenthèses et séparez-les par une barre verticale (`|`).

Par exemple, le déclencheur `(tar plan|tariff) (pereit|podklyuch|menit|pomen)` correspondra à des questions comme :\
« Bonjour, comment connecter un nouveau forfait ? »\
« Comment changer mon forfait tarifaire ? »

<div data-with-frame="true"><figure><img src="/files/15183eb34c681a02e596b62fe1659e35d63fe5b7" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/49315898bf22cc5654854c15488b004a0105cb35" alt="" width="563"><figcaption></figcaption></figure></div>

Décomposons le déclencheur :\
`(tar plan | tariff)` signifie que la chaîne doit contenir **« tar » ET « plan » OU « tariff »**\
ET en même temps l’un des mots : **« switch » OU « connect » OU « change » OU « replace »**.

Voici d’autres exemples intuitifs :

* `changer mot de passe (cab|pa)`\
  (« cab » et « pa » sont les abréviations de « cabinet » et « compte personnel »)
* `(forgot|reset|restore|remember|accepts|fits|incorrect|not the right|don’t remember) mot de passe`
* `(can’t|unable to) (restore|change) mot de passe`
* `connexion dans le contrat ; (lost|loss|where is|don’t know|where|can’t find|no) contrat`
* `(suspend|blocked|block|disconnect) (services|internet|inet|charged) ; (saved|save) jour ; mettre en pause ; départ`
* `paiement automatique ; paiement ; payer ; paiement récurrent ; connecter paiement`

### Correspondance exacte

Avec ce type de comparaison, le bot déclenchera l’événement uniquement si le message du client correspond exactement à la condition.

{% hint style="info" %}
La comparaison est insensible à la casse, ce qui signifie que si la condition est « hello » et que l’utilisateur tape « HELLO », la condition sera tout de même déclenchée. Cela doit être pris en compte.
{% endhint %}

Ce type de comparaison convient aux paramètres tels que les connexions, lorsqu’un client clique sur un bouton ou passe d’une mini-page d’accueil au chatbot avec une balise de site spécifiée.

1. **Pour les clics sur les boutons :**\
   Par exemple, dans les conditions, nous spécifions les noms des boutons qui, lorsqu’ils sont cliqués par le client, doivent le conduire au bloc correspondant.

<div data-with-frame="true"><figure><img src="/files/cb9cf45798658b80cf8d1001154609c02ba66cd5" alt="" width="375"><figcaption></figcaption></figure></div>

Ensuite, nous allons créer les blocs vers lesquels le client doit être dirigé après avoir cliqué sur le bouton suivant le premier bloc. Ils doivent être au nombre de quatre :

<div data-with-frame="true"><figure><img src="/files/a696ffb9bc726e4f874e28622bf6fb838b97dd2c" alt=""><figcaption></figcaption></figure></div>

Ensuite, dans les paramètres de la flèche, nous saisissons le nom du bouton et définissons le type de correspondance sur **« Correspondance exacte. »**

<div data-with-frame="true"><figure><img src="/files/46cf26253826f65278c7f4c1971c8ec987dec0c6" alt=""><figcaption></figcaption></figure></div>

Vous pouvez maintenant tester le bot :

<div data-with-frame="true"><figure><img src="/files/be658805e7adc6bbd4230b7529d6ac542e969c1c" alt="" width="563"><figcaption></figcaption></figure></div>

Comme vous pouvez le voir, le bot traite correctement la condition et la sélection de correspondance exacte lors de l’utilisation des boutons.

2. Utilisation d’une balise de site dans le tunnel :

Dans ce cas, le principe est similaire à l’utilisation des boutons ; toutefois, la condition et le type de correspondance sont définis directement dans le bloc conditionnel lui-même.

Ici, la balise est prise depuis l’onglet **Sites** où vous avez installé la balise pour la page du site :

<div data-with-frame="true"><figure><img src="/files/9e44b746c920a88e883f5b326b78a49617f7c3ef" alt="" width="563"><figcaption></figcaption></figure></div>

La balise dans la condition du bloc est spécifiée **directement dans le champ CONDITION du bloc sans utiliser les mots « TAG » ni d’autres libellés.**

<div data-with-frame="true"><figure><img src="/files/6385856d23c343cb735f156f3da1c155216feaa8" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Pour plus de détails sur la façon de configurer le déclencheur du bot à l’aide d’une balise installée sur le site web, consultez l’article **« Création d’un site web et paramètres de base**[**"** dans le **« Balise »** section.](/doc/fr/websites/sites/builder.md#tag)
{% endhint %}

Le chatbot répondra également et exécutera l’événement configuré dans les paramètres du bloc.

### Correspondance RegEx

La correspondance RegEx est un type de condition qui permet au bot de vérifier le format des données saisies (par exemple, pour vérifier que l’utilisateur a saisi un numéro de téléphone et non autre chose).

Pendant la collecte de données, les utilisateurs saisissent souvent des informations différentes de ce qui était demandé. Voici un exemple typique de flux de validation d’un numéro de téléphone. Si l’utilisateur saisit autre chose qu’un numéro de téléphone valide, le bot lui demandera de réessayer.

<div data-with-frame="true"><figure><img src="/files/6696f67857130d51b2ffb3f177863358aef98b26" alt=""><figcaption></figcaption></figure></div>

Depuis le bloc demandant le numéro de téléphone, deux connexions sortent :

1. Une connexion **sans déclencheur**
2. Une autre connexion avec un **déclencheur regex** pour valider un numéro de téléphone

^(\\+)?((\d{2,3}) ?\d|\d)((\[ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$

La connexion avec un déclencheur ajoute le numéro de téléphone à la requête et ne se déclenchera que lorsqu’un numéro de téléphone valide est détecté. La seconde connexion se déclenchera dans tous les autres cas, car elle a une priorité plus faible.

{% hint style="info" %}
La liste complète des expressions régulières utiles peut être trouvée dans [l’article du même nom](/doc/fr/chatbot/functions/regex.md).
{% endhint %}

### Recherche sémantique

Le **"**&#x52;echerche sémantiqu&#x65;**"** option repose sur l’intelligence artificielle — une véritable avancée pour votre chatbot.

Comment ça fonctionne :

* Le déclencheur contient des mots ou des expressions représentant le **SENS** que l’IA identifiera dans le message du client.
* Le système (chatbot) traite le message du client en recherchant le sens intégré dans la condition au sein de la saisie du client.
* Le bot déclenche ensuite l’événement correspondant dans le bloc.

Autrement dit, en spécifiant certaines phrases ou valeurs dans la condition, l’IA vérifie chaque condition par rapport au message du client et déclenche l’événement pertinent dans le bloc (par exemple, l’envoi d’un message, etc.).

Exemple :

Nous avons spécifié des phrases et des mots-clés particuliers afin que l’IA les détecte dans le message du client pour déclencher l’événement pertinent dans le bloc.

Dans notre cas, le déclencheur inclut des phrases liées à la « clôture de comptes ou de contrats ».

<div data-with-frame="true"><figure><img src="/files/aeb81478fe214e3e061039bbf28f44fd0e30ae97" alt=""><figcaption></figcaption></figure></div>

Lors de l’utilisation de l’ **"**&#x52;echerche sémantiqu&#x65;**"** option, le bot doit trouver dans le message du client des mots ou des expressions similaires en sens à ceux spécifiés dans la condition :

<div data-with-frame="true"><figure><img src="/files/4c80676985ce159d9cbf5da121d9931a32bfaec1" alt="" width="563"><figcaption></figcaption></figure></div>

Chaque fois que le bot traite le message d’un client, il déclenche correctement l’événement requis défini dans le bloc.

**Comment écrire un déclencheur**\
Le déclencheur est saisi dans le champ correspondant comme les autres conditions pour n’importe quel type de correspondance : séparé par des points-virgules (;).

<div data-with-frame="true"><figure><img src="/files/997affefc26aefc115bda9977ddc188d4d5a25be" alt=""><figcaption></figcaption></figure></div>

Il est préférable de spécifier les phrases ou les mots dans le champ du déclencheur aussi précisément et brièvement que possible.

{% hint style="success" %}
Une condition concise, claire et précise pour le bloc aide le chatbot à déclencher correctement l’événement contenu dans le bloc.

Plus les phrases incluses dans la condition sont complexes, vagues et longues, plus l’IA met de temps à traiter les messages du client, ce qui peut entraîner un comportement incorrect de votre flux.
{% endhint %}

{% hint style="warning" %} <mark style="color:red;">**Veuillez noter !**</mark>&#x20;

Un déclencheur devrait **NOT** consister en un seul mot : même si les conditions doivent être concises, elles doivent refléter le sens recherché par le bot.

Si le modèle compare deux mots isolés différents, ils ne correspondront pas. Par exemple, au lieu d’utiliser le mot « facture », utilisez la condition « paiement pour la facture mensuelle ». Cette condition répondra mieux aux exigences prévues et fournira au modèle d’IA les critères nécessaires à une correspondance sémantique.
{% endhint %}

Ainsi, en utilisant l’ **"**&#x52;echerche sémantiqu&#x65;**"** option, l’IA analysera diverses possibilités pour comprendre le sens du message du client et, sur la base de la correspondance, le chatbot déclenchera l’événement approprié.

## Constructeur de déclencheurs

Trigger est une fonctionnalité unique et spécialisée conçue pour créer rapidement des déclencheurs dans les blocs correspondants afin de répondre aux callbacks entrants provenant de divers canaux, systèmes de paiement et autres intégrations.

En conséquence, le générateur de déclencheurs n’est disponible que pour les blocs qui prennent en charge les déclencheurs :

<div data-with-frame="true"><figure><img src="/files/64d20cf0f6b1b626114e8ec0a5fa743bb9c84631" alt="" width="375"><figcaption></figcaption></figure></div>

Pour utiliser le générateur de déclencheurs, ouvrez les paramètres du bloc où vous verrez le bouton correspondant situé juste au-dessus du champ de condition :

<div data-with-frame="true"><figure><img src="/files/70cc4c573a25e3a18fccc22f6da44f27ca925e79" alt=""><figcaption></figcaption></figure></div>

Après avoir cliqué sur le bouton correspondant, une fenêtre de travail avec les conditions s’ouvrira :

<div data-with-frame="true"><figure><img src="/files/d0442ffe8e881c34668dced5fc533ac9faba7283" alt=""><figcaption></figcaption></figure></div>

### Déclencheurs MaviBot

<div data-with-frame="true"><figure><img src="/files/409b96220c8631fa1c5836b52149cf63f7ccf606" alt=""><figcaption></figcaption></figure></div>

Le **« Déclencheurs MaviBot »** l’onglet du générateur de déclencheurs comprend toutes les conditions système qui sont stockées et disponibles pour être utilisées dans diverses sections de MaviBot.

**Déclencheurs par défaut**\
Cette fonctionnalité fonctionne de manière similaire aux conditions imbriquées dans un bloc : ici, vous spécifiez des conditions qui sont **NOT** intégrées au système. Cela peut être une balise de tunnel, une balise de site ou toute autre condition qui existe uniquement dans votre projet.

**Variables**

<div data-with-frame="true"><figure><img src="/files/483039f3b7cdd1c82a7f3119b5acce45fe33a0bd" alt=""><figcaption></figcaption></figure></div>

Les déclencheurs avec variables sont assez faciles à configurer.

**Étape 1.** Saisissez le nom de la variable dans le champ approprié.

**Étape 2.** Choisissez le paramètre de comparaison.

<div data-with-frame="true"><figure><img src="/files/3c8857bae09079d53c5850622987ee222b844883" alt="" width="563"><figcaption></figcaption></figure></div>

Autrement dit, spécifiez ce avec quoi vous souhaitez comparer votre variable : une valeur spécifique ou une autre variable.

<div data-with-frame="true"><figure><img src="/files/436a9fc38c6c0aa55890379ca9415eb2ed1b444d" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/6af50d7e600362bf6a5efd87dcfdaaa70f207aad" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 3. Sélectionnez le type de comparaison.

<div data-with-frame="true"><figure><img src="/files/7160d4aa0455a1393c5399d9ea7d5d3afd73fc47" alt="" width="563"><figcaption></figcaption></figure></div>

Chaque comparaison a sa signification : égal à (==) ; différent de (!=) ; strictement supérieur à (>) ; supérieur ou égal à (>=) ; strictement inférieur à (<) ; inférieur ou égal à (<=).

Exemple :

<div data-with-frame="true"><figure><img src="/files/d3cce00d9b5e0aef278f28598af5879b5242b340" alt="" width="563"><figcaption></figcaption></figure></div>

Dans l’exemple, la valeur de la variable est définie sur supérieure ou égale à 21. Qu’est-ce que cela signifie ?\
Cela signifie que l’événement dans le bloc ne se déclenchera que pour les clients appartenant à la tranche d’âge « adulte » — c’est-à-dire ceux qui ont 21 ans ou plus.

L’expression **« age >= 18 »** est équivalent à **« age > 17. »**

La condition **« age > 17 »** ne se déclenchera également que pour ceux qui ont strictement plus de 17 ans, c’est-à-dire à partir de 18 ans et plus.

#### Sections MaviBot

<div data-with-frame="true"><figure><img src="/files/54e44cec9f8bc9b7abad115f1224b96d0747ee45" alt=""><figcaption></figcaption></figure></div>

Dans les conditions des sections MaviBot, il existe des callbacks typiques — des notifications système — concernant divers événements du projet.

Pour déclencher un événement dans un bloc basé sur des notifications système, définissez le callback requis dans le champ de condition, puis sélectionnez le type de correspondance et cliquez sur le **« Ajouter une condition »** bouton :

Après cela, la condition apparaîtra dans les champs correspondants du bloc.

{% hint style="success" %}
Si le bloc contient déjà une condition, cliquer sur le **« Ajouter une condition »** bouton ajoutera la nouvelle condition **après** l’existante. Si vous devez remplacer l’ancienne condition par une nouvelle, cliquez sur **« Remplacer la condition. »**
{% endhint %}

### Messageries

<div data-with-frame="true"><figure><img src="/files/6dccabc03a9ea7ed12a4d59555beca44e34819e3" alt="" width="563"><figcaption></figcaption></figure></div>

Le générateur de conditions dans les canaux aide non seulement à suivre les réactions aux publications ou aux posts, mais aussi à déclencher des événements dans les blocs pour la réponse du chatbot.

### Paiement

<div data-with-frame="true"><figure><img src="/files/aa6d5ba1420159a89e2c4b6533a897c7adb9343c" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 1. Pour configurer les conditions des systèmes de paiement, assurez-vous d’avoir connecté l’intégration correspondante ; sinon, vous ne pourrez pas utiliser le générateur de conditions avec le système requis.

Étape 2. Ensuite, cliquez sur le système de paiement dont vous avez besoin.

Étape 3. Sélectionnez le callback approprié.

Étape 4. Saisissez ensuite le montant du paiement dans le champ correspondant et cliquez sur **« Ajouter la condition. »** La dernière étape consiste à écrire le message approprié dans les paramètres du bloc :

{% hint style="success" %}
Les autres sections du générateur de conditions se configurent de la même manière que les sections abordées ici.\
Nous vous souhaitons du succès !
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/builder/setting/trigger/type.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
