Lors d'une conversation avec un client, un problème peut survenir : il ne termine pas l'action cible, reste bloqué dans le dernier bloc de l'entonnoir, ou le chatbot ne répond pas à ses actions. Pour éviter cela, vous pouvez configurer un transfert automatique du client vers un autre bloc sans créer de chemins de déplacement en double.
Comment déplacer automatiquement un client dans l'entonnoir ?
Comme exemple de déplacement automatique d'un client dans l'entonnoir, nous utiliserons un flux de chatbot simple qui demande à l'utilisateur s'il assistera à un événement :

À partir de l'exemple (Fig. 1), vous pouvez voir que le client avance dans l'entonnoir uniquement s'il clique sur le bouton « Oui ! » envoyé par l'avant-dernier bloc. (Dans d'autres cas, le déclencheur pour continuer dans l'entonnoir peut être pratiquement n'importe quoi, selon les conditions de votre flux de chatbot.)
Dans cet exemple (Fig. 1), la cliente Nastya a décidé de ne pas cliquer sur le bouton dans le chatbot, donc la conversation est restée bloquée dans l'avant-dernier bloc de l'entonnoir :

Pour résoudre ce problème, vous devez suivre quelques étapes simples dans votre organigramme : pour continuer le dialogue avec le client ou le déplacer dans l'entonnoir après un certain temps (par exemple, après n minutes), dessinez une flèche supplémentaire à partir de l'avant-dernier bloc et définissez le délai après lequel le client passera automatiquement au bloc suivant de l'entonnoir.

Maintenant, définissez une minuterie avec l'intervalle de temps souhaité dans les paramètres de la flèche, afin que le client se déplace automatiquement vers le bloc suivant :

Assurez-vous d'activer l'option « Annuler si le bloc est quitté » (Fig. 3) pour éviter que le message ne soit renvoyé après l'expiration de la minuterie si le client est déjà passé au bloc suivant (par exemple, en cliquant sur un bouton).

L'exemple ci-dessus montre que le bot déplace automatiquement le client dans l'entonnoir et envoie le message final, même s'il n'a pas cliqué sur le bouton.
Maintenant, grâce à la deuxième flèche avec la minuterie définie, le client sera déplacé plus loin dans l'entonnoir après un certain temps.
Comment déplacer un client du dernier bloc vers un autre bloc ?
Dans l'organigramme (Fig. 4), vous pouvez voir que l'avant-dernier bloc détermine dans quel bloc votre client entrera, en fonction du bouton sur lequel il appuie dans le bloc à deux branches :

Si le client clique sur l'un des deux boutons, il s'arrêtera dans le dernier bloc et ne pourra pas, par exemple, revenir au bloc précédent et choisir une autre option si nécessaire. Le chatbot ne répondra tout simplement pas à l'appui sur un autre bouton car l'utilisateur est déjà passé au dernier bloc, ce qui ne permet pas de continuer à se déplacer dans l'entonnoir (voir l'exemple ci-dessous).

Dans ce cas, vous pouvez résoudre le problème de deux manières :
- En utilisant le bloc « Not State » — cette fonction maintient le client dans le bloc avec les choix de boutons sans le déplacer vers les blocs suivants.
- En utilisant des boutons de rappel — cette fonction déplace le client vers les blocs suivants mais lui permet toujours de modifier son choix s'il n'est pas satisfait du résultat.
Le bloc « Not State »
Le bloc « Not State » est un bloc gris. Contrairement au bloc « Dialog State », il n'a pas de conditions et les clients ne peuvent pas y être déplacés directement.
Dans notre flux, le bloc « Not State » est parfait car l'utilisateur ne quittera pas l'avant-dernier bloc et pourra appuyer sur un autre bouton s'il n'est pas satisfait de son premier choix.
Pour configurer cela, allez dans le constructeur d'entonnoir et sélectionnez le type de bloc « Not State » (ne le confondez pas avec « Not State with condition »).

Maintenant, notre organigramme ressemble à ceci :

Pour tester que le flux fonctionne correctement, ouvrez le testeur de bot. Vous y verrez que n'importe quel bouton peut être pressé indépendamment du choix précédent du client :

Boutons de rappel
Si vous avez besoin que le client avance dans l'entonnoir et passe à d'autres blocs, la fonctionnalité des boutons de rappel vous aidera.
Pour ce faire, supprimez les flèches menant aux blocs finaux dans l'organigramme et définissez le type de ces blocs sur « Primary condition check » :

Allons dans les paramètres du bouton à l'intérieur du bloc :

La fenêtre des paramètres du bouton « Oui ! » s'ouvrira. Ici, faites ce qui suit :
- Sélectionnez le type de bouton « Callback button »
- Dans le texte du message de réponse, entrez les mots ou phrases nécessaires pour le champ de condition dans le bloc « Primary condition check ».

Configurez le deuxième bouton de la même manière (dans notre flux, il s'agit du bouton « Non »).
Utilisez des textes/phrases différents pour les champs « texte du message de réponse » dans les paramètres des boutons au sein du même projet pour éviter les erreurs du chatbot.
Ensuite, allez dans les paramètres des blocs Primary condition check, où vous devez entrer les mots que vous avez tapés dans le champ « texte du message de réponse », en utilisant le type de correspondance « Exact match » :

Configurez le deuxième bloc pour le bouton « Non » de la même manière.
Ainsi, vous avez appris à déplacer automatiquement un client dans l'entonnoir en utilisant trois méthodes différentes.


