Un chatbot intelligent est un chatbot qui collecte beaucoup de données, et qui les collecte sous une bonne structure.

Et ça tombe bien, c'est ce qu'on fait chez Vizir.

En résumé 👉 derrière chaque ressource que vous créez, nous créons par défaut un attribut.

Un attribut est une donnée stockée sur un utilisateur.

Il y a deux grandes familles de données :

  • les données utilisateurs : il s'agit des éléments collectés liés à l'utilisateur unique. On veut s'en souvenir aussi longtemps que possible, et ne jamais reposer la question si on a déjà la réponse.
  • les données actions : il s'agit des éléments collectés pendant une action spécifique (création d'un ticket / commande de pizza / etc...). Ces données stockées sont temporaires, simplement le temps de l'action. C'est-à-dire que si vous commandez une seconde pizza, on veut que vous puissiez commander une autre pizza.

Voici un exemple. Vous développez un chatbot qui permet de créer des tickets dans votre outil ITSM. Il est disponible sur Teams.

Quand un utilisateur va parler au chatbot, nous ajoutons à son profil un certain nombre de données comme la date de première conversation, la source (ici Teams) et aussi l'email que nous récupérons directement grâce à Teams (du coup dans le schéma l'attribut Email devrait être dans la colonne "avant la conversation", vous avez compris j'espère).

Ensuite quand il discute avec le chatbot, nous collectons d'autres données utilisateurs. Il s'agit des réponses aux questions posées.

Nous collectons aussi des données de type action. Ce sont les données collectées dans une compétence action. La différence est que ces données sont enregistrées action par action. Si bien que quand vous allez créer un ticket, on va sans cesse vous reposer les questions relatives au ticket en question.

Voici donc quelques exemples de trucs que vous pourriez avoir envie de faire.

Modifier le message du bot en fonction de la mémoire

Exemple : vous avez une FAQ avec une première ressource. Comme ci dessous : j'ai une ressource qui accueille l'utilisateur sur la FAQ. J'ai 4 messages. Les 3 premiers messages s'affichent uniquement la première fois que l'utilisateur arrive ici. Le 4 s'affichent quand l'utilisateur est déjà passé par là.

Cette ressource s'appeller "Menu FAQ" et l'attribut lié s'appelle "menufaq".

Pour afficher les 3 premières uniquement lorsque c'est le premier passage de l'utilisateur, je n'ai qu'à faire un filtre qui dit "Affiche-moi ce message si et seulement si la personne n'est jamais passée par là". On traduit chez Vizir le "n'est jamais passée par là" par "l'attribut menufaq n'est pas défini, n'a aucune valeur enregistrée".

Donc j'ajoute le filtre suivant :

Ne pas reposer une question si j'ai déjà la réponse (ex : ne pas demander un email si je l'ai déjà récupéré par ailleurs).

Pour créer un ticket support, ou envoyer un formulaire de contact, vous avez systématiquement besoin de l'email de l'utilisateur (sinon vous pourrez pas le recontacter...).

Cet email vous pouvez le récupérer soit :

  1. Avant la conversation, parce que l'utilisateur vous parle sur Teams ou qu'il est logé à votre système (Sharepoint / ...)
  2. Pendant la conversation, une bonne fois pour toute

Prenons l'exemple d'un formulaire de contact. Vous souhaitez récupérer l'email dans tous les cas. Mais deux cas peuvent se produire :

  1. L'email n'a jamais été renseigné, vous voulez le récupérer dans le formulaire de contact
  2. L'email est déjà connu, vous ne voulez pas être relou et lui redemander son email

Pour faire cela, vous allez donc créer une compétence action avec un certain nombre de questions, dont l'email (comme ci-dessous).

La magie de Vizir c'est qu'on vous prémache le boulot. Si vous creusez un peu dans la ressource Email, dans l'onglet Mémoire, vous verrez que l'option "reposer la question" est désactivée. Cela veut tout simplement dire que si nous connaissons la réponse alors nous ne reposons pas la question.

Reposer la question même si j'ai déjà la réponse (ex : pour afficher des messages dans la FAQ ou distribuer une procédure).

A l'inverse, pour une FAQ par exemple, vous voulez tout le temps afficher les messages même si l'utilisateur est déjà passé par là (vous n'êtes pas sadiques).


Dans les compétences FAQ, l'option "Reposer la question" est automatiquement activée. Si bien que peu importe le nombre de fois que la personne consulte cette ressource, celle-ci s'affichera à nouveau.

Voilà ce concept n'est pas très facile mais j'espère que j'aurais pu vous aiguiller un minimum !

Big love 🧡

Avez-vous trouvé votre réponse?