# FAQ sur conversation / livechat

# Supprimer une conversation

Parfois vous aurez envie / besoin de supprimer une conversation de votre base de données. Parce qu'il s'agit d'un test que vous avez fait, ou parce que l'utilisateur en question vous a demandé de supprimer ses données au nom du RGPD.

Heureusement, Vizir vous permet de faire ça en un clic đŸ„°đŸ˜

  1. Allez dans l'onglet conversation
  2. Sélectionnez la conversation que vous souhaitez supprimer : vous pouvez utiliser le module de recherche pour trouver l'utilisateur en question (possible qu'il ne marche pas génial génial pour le moment, désolé pour ça...)
  3. Cliquez sur la poubelle en haut Ă  droite
  4. Cliquez enfin sur Confirmer

⛔⛔⛔⛔ : attention si vous supprimez les donnĂ©es d'un utilisateur, ce sera Ă  tout jamais !!!

Faudra pas venir nous voir pour nous demander de les rĂ©cupĂ©rer 🙂🙂

Si vous ĂȘtes un Terminator et que vous voulez supprimer TOUTES les donnĂ©es collectĂ©es, donc TOUS les utilisateurs, alors ça se passe juste en dessous :

# Supprimer toutes les conversations

Dans certains cas, ma foi plutĂŽt rares, vous viendra l'envie de supprimer TOUTES les conversations avec vos utilisateurs.

En général, on le fait juste avant de lancer le chatbot, pour supprimer les données de test. Pour repartir à zéro, sur une base saine en somme.

🎈🎈🎈    ALERTE BALLON ROUGE    🎈🎈🎈
Cette manipulation est irréversible. C'est un peu comme le bouton de l'arme nucléaire. Vous appuyez dessus et il sera trop tard. Les données seront totalement supprimées de l'ensemble de nos serveurs et ni nous ni vous serez en mesure de les récupérer.

Si cela ne vous fait pas peur, voici comment procéder :

  1. Allez dans ParamĂštres
  2. Scrollez tout en bas
  3. Cliquez sur Réinitialiser les données
  4. Cliquez sur Valider

# Comment accéder à la conversation d'un utilisateur ?

# Pourquoi donc aurait-on envie de faire ce truc ?

Cas 1 : vous avez activé un live chat sur votre chatbot (reprise par un agent humain) et vous souhaitez vous faciliter la vie en recevant une notification (email, teams, slack,...) qui pointe directement vers la conversation qui va bien

Cas 2 : votre chatbot créé des tickets et vous souhaitez que vos experts du support puisse accéder à l'historique de conversation afin de limiter les aller retours.

Cas 3 : vous avez remarquĂ© que la barre recherche dans l'onglet "Conversation" ne marche pas et vous cherchez une conversation en particulier [on est en train de corriger 😑😑]

C'est trùs simple 🎉🎉

Pour accéder à la conversation d'un utilisateur en particulier, il suffit d'ajouter son respondentID en paramÚtre comme ceci:

https://dashboard.vizir.co/app/AppIDDeVotreBot/livechat?respondentID=LeRespondentIdDeLaPersonne

Donc si vous voulez renseigner ce respondent ID de façon dynamique pour faire une notification par email / slack / teams ou bien l'insérer dans un email, il suffit de remplacer LeRespondentIdDeLaPersonne par l'attribut respondentID.

Donc ça donne ça : https://dashboard.vizir.co/app/AppIDDeVotreBot/livechat?respondentID=#

# Pour chercher la conversation d'un utilisateur via son respondentID :

Il suffit de connaßtre le respondentID (j'avoue c'est pas facile mais si vous lisez ça avant qu'on corrige le search c'est vraiment qu'on est des gros nases) et de le mettre ici :

https://dashboard.vizir.co/app/AppIDDeVotreBot/livechat?respondentID=LeRespondentIdDeLaPersonne

# DĂ©clencher des workflows manuellement depuis le livechat

Cette fonctionnalité est assez compliquée à expliquer à la fois en termes d'usage (mais à quoi ça peut bien servir ???) qu'en termes de comment faire.

Donc, comme le veut la tradition, on a fait une superbe vidĂ©o 👇👇

Pour les experts qui n'ont pas le time comme disent les jeunes, voici le guide express Ă©tape par Ă©tape.

  1. Allez dans le workflow que vous souhaitez pouvoir actionner manuellement

  1. Cliquez sur Définir les champs à remplir manuellement. On vous affiche ici tous les champs que vous avez ajouté au workflow, c'est à dire tous les champs obligatoires + les champs optionnels que vous avez ajouté à votre workflow

  1. AprÚs cette étape tout est good. Pour tester vous allez dans conversation, vous en prenez une au pif et vous sélectionnez "Sélectionnez un worfklow à lancer manuellement"

Y a ça qui devrait s'afficher

Sur la droite vous verrez les champs dynamiques paramétrés dans le workflow initial.

Vous pouvez décider de

  1. les laisser comme tel,
  2. en mettre d'autre Ă  la place (attention toutefois Ă  ce que la champs soit bien valide vs ce que demande l'API),
  3. ou mettre un truc à la main (comme j'ai fait dans la vidéo)

Puis vous faites "Exécuter" (le workflow pas votre collÚgue)

Et c'est tout bon 🎉🎉

# Mettre en place un livechat dans le chatbot

La section Conversation dispose, en tĂȘte de liste des rĂ©pondants, de trois filtres qui permettent d'afficher :

  • soit les rĂ©pondants en train de converser avec le bot (filtre "Bot")
  • soit les rĂ©pondants en train de converser avec un humain (filtre "En Cours")
  • soit les rĂ©pondants qui ont fait une demande pour parler avec un humain et qui attendent une rĂ©ponse (filtre "En attente")

Pour activer un de ces filtres, il suffit de cliquer dessus. Sa couleur de fond devient alors plus foncée pour montrer qu'il est actif. Bien évidemment, quand aucun des filtres n'est activé, c'est la liste intégrale des répondants qui est affichée.

# Modifier le statut d'un répondant

Lorsqu'il démarre sa conversation avec un bot, un répondant est par défaut, en mode "Bot", c'est à dire que la conversation se déroule de maniÚre automatique suivant la configuration du Bot, ses compétences, ses resources, ses logiques, etc...

Un répondant en mode "En cours" est un répondant qui est en train de converser avec un opérateur humain. C'est à dire que l'opérateur a activé le sélecteur permettant de passer en mode "manuel" (en haut à droite de l'écran) ou a envoyé un message via le champ de saisie dédié (en bas de l'écran).

# Mettre un répondant "en attente"

Pour que le statut d'un rĂ©pondant passe Ă  "En attente", il faut que l'attribut isWaitingForLivechat de ce dernier prenne la valeur true. Pour ce faire, il faut configurer un workflow qui s'en chargera. Ce workflow pourra ĂȘtre dĂ©clenchĂ©, par exemple, lorsque l'utilisateur cliquera sur un bouton "Parler Ă  un humain".

Pour ce faire, il faut :

  1. Créer un workflow
  2. Dans celui-ci, ajouter une action "Vizir - change memory attribute"
  3. Dans l'onglet "paramĂštres", renseigner le champ "new value of the attribute" avec la valeur true
  4. Dans l'onglet "réponse", activer le sélecteur "Sauvegarder la réponse dans les attributs"
  5. Et renseigner le champ "attribute" avec la valeur isWaitingForLiveChat

MĂȘme s'il y a d'autres maniĂšres de procĂ©der, afin de vous donner un exemple complet, voici comment vous pouvez terminer la configuration :

Une fois le workflow créé, créez une nouvelle compétence intitulée par exemple "parler à un humain". Dans l'onglet de cette compétence "workflow", activez la fonction "Lancer un workflow avec la compétence" et sélectionnez ensuite le workflow que vous venez de paramétrer dans la liste déroulante. Ainsi, le workflow sera exécuté à chaque fois qu'un répondant sera redirigé vers cette compétence (faisant ainsi passer la valeur de son attribut isWaitingForLiveChat à true).

Revenez sur l'onglet "Resources" et ajoutez une resource dont le texte est censé informer le répondant que sa demande de mise en relation a bien été prise en compte.

Enfin, dans la compĂ©tence et la resource de votre choix, lĂ  oĂč vous voulez que vos rĂ©pondants puissent demander l'aide d'un opĂ©rateur humain, ajouter un "suggestion de rĂ©ponse" (un bouton, quoi 😉) qui redirigera votre rĂ©pondant vers la compĂ©tence "parler Ă  un humain" que vous venez de crĂ©er.

Et voilà ! Avec cette configuration, à chaque fois qu'un répondant cliquera sur le bouton "Parler à un humain", (son attribut isWaitingForLiveChat prendra la valeur true,) et l'opérateur le verra alors apparaßtre dans la liste des répondants "En attente". Ne restera plus qu'à l'opérateur de prendre le relais, en passant la conversation en mode "En Cours", comme nous l'avons vu plus haut.

# Pourquoi le respondentID (ou répondentID) est différent entre les paramÚtres de conversation et processus

Comme on le voit sur l'image ci dessous on peut avoir des respondentID différents dans la partie processus par rapport aux répondentID des paramÚtres.

C'est tout à fait normal. Lorsque l'utilisateur entre dans une compétence de type action (ou un process), nous créons une copie de cet utilisateur qui sera utilisé seulement dans le contexte de cette compétence.

Nous faisons cela pour de nombreuses raison technique, la principale Ă©tant que cela permet Ă  un mĂȘme utilisateur de rĂ©pondre plusieurs fois Ă  la mĂȘme compĂ©tences action sans que ses rĂ©ponses soient dĂ©jĂ  enregistrĂ©es par le bot. C'est grĂące Ă  cette fonctionnalitĂ© qu'un utilisateur peut commander deux billets de train, peut crĂ©er deux tickets au support, ...

# Pourquoi j'ai des attributs qui sont différents des autres

Dans la partie livechat vous pouvez remarquer que certains attributs sont présentés de maniÚres différentes (avec un bordure bleue) comme on peut le voir dans l'image ci dessous

Nous avons choisi de mettre ici en évidence les attributs (tag et event) qui sont propres au processus (compétence action) par rapport aux attributs qui sont hérités de la mémoire de l'utilisateur (rootUser).

Les attributs qui on le liseret bleu sont donc uniques au process et ne sont pas accessibles par le répondant principal.