# Ressources
Les ressources sont les éléments qui composent les compétences. Une ressource peut être une question que le chatbot pose, ou une réponse qu'il apporte. Dans tous les cas, il s'agit d'une combinaison d'un message et d'une réponse attendue (comme dans une conversation humaine). Vous paramètrerez donc d'abord un message, puis le type de réponse que le chatbot doit attendre
# Messages
Votre chatbot peut écrire un ou plusieurs messages en même temps. Ces messages peuvent être de plusieurs types. Nous allons les détailler maintenant
# Texte
Le type de message le plus courant est le message texte.
Pour ajouter un message texte, cliquez simplement sur Ajouter un message
# Mettre en forme le message
Nous vous proposons plusieurs options pour mettre en forme le message.
Vous pouvez changer la couleur du texte, le mettre en gras, ajouter des listes à puce, mettre des titres, etc...
# Insérer un lien dans un message
Pour ajouter un lien dans un message, surlignez la portion du texte du message que vous voulez transformer en lien hypertexte.
Apparait alors un bouton "Ajouter un lien", sur lequel vous pouvez cliquer pour faire apparaître le champ de saisie de l'URL de la page voulue.
Pour modifier le lien, il vous suffit de sélectionner à nouveau le texte correspondant et cliquer sur le bouton "Modifier le lien" qui s'affiche alors. Dans la zone de saisie qui apparait ensuite vous pouvez effectuer la modification voulue. Si vous effacez complètement cette zone, cela revient à supprimer le lien hypertexte.
ℹ️ Par défaut, le lien est ajouté avec l'attribut target="_blank"
, qui a pour effet d'ouvrir la
page de destination dans un nouveau lien. Ce qui permet à l'utilisateur de pouvoir revenir rapidement revenir à sa
conversation avec le bot lorsqu'il a fini de consulter le contenu externe que vous lui avez suggéré via ce lien. Si
vous préférez plutôt que la page référencée par le lien s'affiche dans le même onglet que la conversation et donc à
la place de celle-ci, vous pouvez supprimer manuellement l'attribut target="_blank"
via
l'édition du contenu HTML du message.
# Éditer le contenu HTML brut d'un message
Toute mise en forme appliquées via les différentes options offertes dans le champ d'édition des messages texte se concrétise par l'ajout de balises et d'attributs HTML correspondants. Si vous voulez consulter ou modifier le code HTML de votre message, vous pouvez cliquer sur le bouton dédié :
Dans la zone d'édition qui s'affiche en dessous du message, vous pouvez apporter les modifications que vous souhaitez. Pour les sauvegarder, comme d'habitude sur le Dashboard Vizir, il vous suffit de cliquer en dehors de cette zone. ⚠️ Assurez-vous que le contenu de cette zone soit toujours du code HTML valide ! Dans le cas contraire, le fonctionnement de votre bot pourrait être perturbé.
# Carousel
Tout d'abord, rendez-vous dans la ressource à laquelle vous souhaitez ajouter un carrousel.
Ensuite, passez votre curseur sur "Ajouter un message". Vous verrez apparaître 4 choix dont "Ajouter un carrousel", cliquez !
Vous voyez donc apparaître une structure vide de carrousel qui vous permet de nombreuses fonctionnalités :
- Renseigner l'url de l'image que vous souhaitez placer dans la carte de carrousel.
- Ajoutez une image depuis votre ordinateur.
- Afficher votre carte de carrousel en fonction de critères de votre choix (filtre).
- Ajouter un titre à votre carte de carrousel.
- Ajouter une description à votre carte de carrousel.
- Ajouter une url à votre carte (un lien) => un article complet est sorti à ce sujet (opens new window)
- Ajouter un nom au bouton ajouté à votre carte de carrousel.
- Assigner un payload au bouton.
- Ajouter un bouton au carrousel.
- Afficher votre carrousel en fonction de critères de votre choix (filtre).
- Supprimer le carrousel.
- Ajouter une carte au carrousel.
- Passer le curseur dans cette zone pour accéder aux paramètres du bouton de la carte (pour gérer la logique du bouton notamment).
# Boutons de carousel
Dans les options du bouton de réponse vous pourrez choisir le type de bouton comme ci-dessous:
voici les explications:
- bouton: La réponse de l'utilisateurs sera la valeur indiqué sur le bouton (ou le payload). La conversation va se poursuivre avec la ressource suivante (via un logique sur le bouton ou la suivante si nous sommes dans une compétence action)
- url: Ce type de bouton vous permettra d'avoir un bouton qui renvoie vers une URL dans la webview donc sans quitter la fenêtre du chatbot (voir ci-dessous) en passant l'option
?openMode=iframe
a la fin de votre URL.si cette option a une autre valeur ou qu'elle n'existe pasm le lien s'ouvrira dans une fenêtre enfant.
- download: Ce type de bouton vous permettre d'avoir un bouton qui ouvre le lien dans un nouvel onglet.
- share: ne fonctionne que sur Facebook Messenger
# Images
Vous pouvez faire en sorte que votre chatbot envoie des images à vos utilisateurs.
Pour ce faire ajoutez un message Image et cliquez sur le petit icône d'upload, puis sélectionnez votre image.
# Graphiques
Vous pouvez envoyer un graphique dynamique grâce à l'API quickchart.io (opens new window). Pour ce faire, modifiez l'URL de l'image et entrez un URL de rendu quickchart valide (comme indiqué dans la documentation de l'API (opens new window))
https://quickchart.io/chart?c={type:'bar',options:{title:{display:true,text:'hello'}},data:{labels:[2012,2013,2014,2015,2016],datasets:[{label:'Users',data:[120,60,50,180,120]}]}}
l'URL ci-dessus permet d'envoyer le message suivant :
l'option title
de quickchart est utilisée pour afficher le nom du fichier dans le message. Si cette option est laissée vide, le nom du fichier sera l'URL quickchart.
options:{title:{display:true,text:'hello'}}
Ajoutez le paramètre ci-dessus a votre requête pour personnaliser le nom du fichier :
# Vidéos
Vous pouvez faire en sorte que votre chatbot envoie des vidéos à vos utilisateurs.
Pour ce faire ajoutez un message Vidéo et collez une URL Youtube ou Loom, ou uploadez un fichier .mp4.
# Fichiers
Vous pouvez faire en sorte que votre chatbot envoie des fichiers à vos utilisateurs. Ils pourront alors les visualiser et les télécharger.
Pour ce faire, cliquez sur Ajouter un fichier. Ensuite, deux options s'offrent à vous :
- Sélectionnez un fichier stocké sur votre ordinateur : pour ce faire, cliquez sur l'icône qui se trouve dans le coin inférieur droit du message et choisissez le fichier voulu dans la fenêtre qui s'ouvre.
- Renseignez une url publique dans le champ dédié. (🔓 Dans ce cas, aucun fichier n'est transféré ; le message reçu par le répondant ne fera que "pointer" vers cette URL).
Vous pouvez envoyer des fichiers PDF. La prévisualisation est prise en charge sur tous les supports pour ce format.
Vous pouvez uploader tout autre type de fichier (.pptx, .xlsx, etc...). Mais la prévisualisation n'est pas prise en charge sur notre plateforme web.
# Afficher des messages de manière aléatoire
Dans l'onglet détails de votre ressource vous avez une partie dédiée aux messages aléatoires.
Activez les messages aléatoires, ajoutez un (ou plusieurs messages) et cliquez sur Editer
pour les éditer.
L'édition de ces messages est similaire à celle des messages "classiques" et se fait sur la droite de votre écran.
Bon à savoir
Le message par défaut sera ajouté à la liste des messages aléatoires.
# Liste de Résultats
⚠️ Ce type de message n'est pour l'instant affichable que sur Microsoft Teams. ⚠️
Ce type de message présente une liste d'éléments les uns à la suite des autres sur un axe vertical, par groupe de 3. Pour charger plus d'éléments, un bouton "Voir plus d'éléments" est affiché.
Pour utiliser ce format de message, sélectionner "Ajouter une liste de résultats" via le bouton "Ajouter un message". L'interface présentée permet de paramétrer le contenu des items de la liste. ⚠️ Toutes les valeurs de paramétrages doivent être dynamiques, c'est-à-dire qu'elles doivent contenir des paramètres variables désignés entre double accolades.
(en utilisant la syntaxe appropriée : {{...}}
)
Le champ "Nb items" doit être obligatoirement renseigné avec l'attribut en mémoire qui contient la valeur de la longeur de la liste d'éléments à afficher. (Cette valeur peut être calculée via l'action de workflow "Get Tag Length"). Les autres champs sont facultatifs. Plus ils seront remplis, plus riches seront l'information et l'interaction proposée aux utilisateurs du bot. En détails, ces champs sont :
- À gauche : une image représentant l'élément
- Partie central : le titre puis le corps de l'élément (par exemple le titre puis la description d'un ticket)
- En bas : section interaction
- bouton pour sélectionner l'élément courant. La valeur à renseigner dans le champ de saisie est donc par exemple l'ID de l'élément qui permettra à la compétence appelée ensuite d'exécuter un workflow pour récupérer plus de détails sur cet élément sélectionné.
- bouton pour consulter l'élément dans son "environnement naturel" (par ex., une url renvoyant vers le ticket JIRA, Easyvista, Github, ...). La valeur à renseigner dans le champ de saisie est donc une url renvoyant vers la page voulue.
# Rendu durant la conversation (sur Teams)
Voici ce que verront les répondants à qui est addressé un message de type Liste de Résultats :
On retrouve donc les différentes parties listées plus haut renseignées avec les valeurs correspondantes dans la liste d'items source. Chaque "page" de résultats se termine par une section de "pagination" affichant le nombre d'éléments restants dans la liste, et qui peuvent être consultés par un clic sur le bouton "Voir plus d'éléments" qui se trouve juste à côté.
# Temps d'attente
Vous pouvez faire en sorte que votre chatbot fasse semblant de refléchir / écrire. C'est ce qu'on appelle un temps d'attente.
Pour ajouter ce type de message, il suffit d'ajouter un temps d'attente. Ensuite vous devez définir la durée de ce temps d'attente en millisecondes.
Donc si vous souhaitez que le chatbot attende 3 secondes, tapez 3000 dans le message en question.
# Message différent si la réponse est déjà connue
Cette option va vous permettre d'envoyer un message différent à l'utilisateur si ce dernier est déjà passé par cette ressource.
Voici comment l'activer:
Ensuite en cliquant sur Editer le message vous pourrez éditer le message que l'utilisateur verra lorsqu'il repassera par cette ressource.
Voici par exemple comment on peut l'utiliser en message d'accueil du chatbot
La second fois, que votre répondant recevra cette "ressource", vous pouvez modifier le message.
# Options de réponses
# Suggestions de réponse
Les suggestions de réponses vous permettent d'afficher une liste de boutons sur lesquels pourront cliquer vos répondants au cours de la conversation.
ℹ️ Les resources de type FAQ, sur Facebook Workplace sont affichées sour forme de carousel (pour des raisons de limitation du nombre de caractères affichables sur les boutons des bots Facebook). Ce comportement par défaut peut être modifié via le sélecteur dédié sur chaque resource de FAQ.

Dans ce cas, chaque item de carousel (correspondant à un "bouton" suggestion de réponse) se présentera de la sorte :
Cliquer sur le bouton "En savoir plus" est équivalent à cliquer sur le bouton de suggestion de réponse correspondant.
Ce texte "En savoir plus" peut être personnalisé sur le dashboard dans la secion Paramètres > Options de procédure et
FAQ > (Facebook Workplace) Suggestions de réponse présentées sous forme de carousel
# Demander une liste de réponse
Dans certains cas vous souhaitez récupérer plus d'une réponse de votre utilisateur.
Par exemple dans l'exemple ci dessous, l'utilisateur peut avoir plus de 1 device. Nous allons donc activer l'option Demander une liste de réponse
Une fois l'option activée nous voyons un panel s'ouvrir dans lequel nous pouvons personnaliser certaines choses.
WARNING
Le nom du tag doit être différent du nom de l'attribut, sinon vous risquez d'avoir des problèmes de logiques et de mémoire.
- Cacher les réponses déjà sélectionnées: nous allons cacher le bouton de sorte que l'utilisateur ne puisse pas répondre deux fois la même chose.
- Ajouter un message: Vous pouvez personnaliser les messages que l'utilisateur va recevoir. Il recevra les message dans l'ordre. C'est-à dire qu'il recevra le message "de base" la première fois. Ensuite quand il aura répondu une première fois à la question nous enverrons le message 1, puis le 2, etc
Voici par exemple un message différent lorsque le répondant a déjà donné la première réponse.
TIP
Pour modifier le message, sélectionnez le message que vous souhaitez éditer et gérer le simplement sur la droite.
Pour revenir au premier message "de base", il faut cliquer sur un autre onglet dans la ressource (compréhension par exemple).
Nombre de réponses minimum et maximum Lorsque l'utilisateur aura répondu un nombre de fois égal au nombre maximal nous passerons directement à la réponse suivante.
Attribut: Permet de stocker la réponse de l'utilisateur dans un attribut
Tag: Etant donné que nous demandons une liste de réponse au répondant. Nous stockons ces réponses dans un tag. Par exemple la conversation ci dessus sera stockée de cette façon dans la mémoire du répondant:
TIP
Nous stockons dans 'nom du tag'_payload la liste des payloads des réponses. Ca peut être utile dans le cas de boutons qu'on récupère depuis une API avec un ID en payload.
⚠️ Les payloads sont une options seulement disponible en Web (pas sur Teams ou Google Chat).
Voici la suite des options
- Bouton Stop: Comme indiqué, ee bouton permet à l'utilisateur de passer directement à la question suivante.
Vous pouvez:
- l'afficher dès la première occurence de la question
- l'afficher en première position ou en dernière position dans la liste des boutons
- Logique: Vous pouvez gérer la logique de cette ressource comme une ressource normale
- Valeur et payload du bouton stop: Vous pouvez personnaliser la valeur (et le payload) du bouton stop.
PS: Ce n'est pour le moment pas possible de personnaliser la couleur de ce bouton.
# Proposer des boutons avec des urls
Vous souhaitez rediriger vos utilisateurs vers votre site web ou une page de documentation particulière. Vous pouvez le faire soit avec des carousels comme nous l'avons vu au dessus ☝️ ou bien utiliser les boutons pour cela.
WARNING
Cette option n'est valide que sur les bots qui sont accessibles sur le web ET Facebook (Messenger et Workplace)
Pour les créer, rien ne change. Ajoutez les boutons, vous pouvez "mixer" des boutons de redirection url et des boutons "classiques"
Pour les boutons URL rendez vous dans les options du bouton en cliquant sur le stylo.
✅ C'est fait !!! Pour le rendu, rendez vous sur votre plateforme de partage du chatbot.
Sur votre chatbot web, rien ne change, les boutons auront toujours le même design.
Par contre sur Facebook, cette fonctionnalité vient avec son lot d'inconvénients:
- Vous ne pouvez pas avoir plus de 3 boutons
- Si l'url est fausse le bot n'enverra pas le message (nous faisons une première validation mais Facebook est très dur sur le sujet 😫)
Voici le design qui vous sera proposé par Facebook sur ce genre de boutons
TIP
N'oubliez pas de rajouter des paramètres dans l'url si vous souhaitez mesurer le trafic qui vient du bot 😇
Sur le web , vous avez la possibilité de rajouter le paramètre openMode=iframe
a la fin de votre URL pour ouvrir l'URL dans le panneau web intégré au chat. Cela évite a vos utilisateurs de naviguer hors du chatbot.
exemple :
https://vizir.co?openMode=iframe
# Format de réponse imposé
Rendez-vous dans la ressource concernée (celle où vous souhaitez imposer un format de réponse à l'utilisateur).
Rendez-vous ensuite dans l'onglet Détails de cette ressource.
Vous y trouverez une zone Format de réponse imposée qui vous permettra de choisir parmi l'un des types suivants :
- date : impose le format de date JJ/MM/AAAA
- email : impose le format email
- nombre : impose le format nombre (une suite de chiffres de 0 à 9)
- regex : expression régulière qui permet d'avoir des formats imposés très spécifiques.
- téléphone mobile : un numéro de téléphone qui commence par 06 ou 07
- texte : format qui autorise l'utilisation de boutons (réponses suggérées) et de la NLU
- texte libre : format 100% libre
- entité : permet la reconnaissance NLU d'entités comme une date, un volume, un montant, etc...
- format intelligent : permet la récupération de données de manière structurée.
# Les profils
# Afficher les ressources en fonction du profil utilisateur
Vous pouvez décider que certaines ressources (FAQ) soient accessibles par seulement une partie des utilisateurs du bot.
Pour cela, nous avons créer la notion de profil.
Il faudra dans un premier temps créer un profil dans la partie Paramètres>Profil Utilisateur
Pour valider le profil utilisateur (et être en mesure de l'utiliser dans les ressources), vous devez activer le toggle en haut de votre filtre comme ci-dessous:
Un fois votre profil / filtre créé, vous pouvez l'ajouter à une ressource comme ci dessous:
WARNING
Les profils ne fonctionnent que sur les ressources qui sont dans une compétences de type FAQ (nouvelles FAQ uniquement)
TIP
Si vous ajouté un profil sur une ressource qui comporte des "enfants". Le profile sera également valable pour toutes les ressources enfants qui n'ont pas de profil.
Si la ressource enfant a un profil, nous utiliserons alors le profil de l'enfant.
# Afficher les messages et les réponses suggérées en fonction du profil utilisateur
Vous pouvez également utiliser les profils au niveau des messages et des réponses. La logique est la même que pour les ressources.
Voici comment ça se présente sur le dashboard
DANGER
⚠️ Si l'utilisateur a accès au parent (direct), alors nous renvoyons le parent de manière automatique. Dans le cas contraire, nous renvoyons la ressource paramètrée comme "no Access Profile" 👉 voir ci dessous
Voici un exemple:
- Congés
- RTT
- Poser un RTT
- RTT
Cas 1: L'utilisateur n'a pas accès à la ressource poser un RTT
Cas 2: L'utilisateur n'a pas accès à la ressource poser un RTT, mais accès à RTT
Cas 3: L'utilisateur n'a ni accès à la ressource poser un RTT, ni à la ressource RTT mais à accès à congés
Cas 4: L'utilisateur n'a ni accès à la ressource poser un RTT, ni à la ressource Congés
WARNING
Si aucun message ne correspond au profil de l'utilisateur, la conversation va s'arrêter. Testez la même conversation dans l'interface de test du dashboard pour comprendre l'erreur
# Gestion des cas où la ressource est inaccessible pour cause profil
L'utilisateur pose une question sur les RTT mais étant donné son profil dans l'entreprise, il n'a pas le droit à des RTT.
Vous pouvez maintenant rediriger l'utilisateur vers une ressource dédiée pour lui indiquer qu'avec son profil il ne peut pas accéder à ce type de ressource.
TIP
Nous privilégions les ressources parents (2 niveaux) si l'utilisateur peut y avoir accès.
WARNING
Si aucune ressource (ou compétence) n'est définie lorsque l'utilisateur n'a pas accès à une ressource, nous redirigerons l'utilisateur vers l'incompréhension.
# Garder la mémoire d'un utilisateur action au clic sur un bouton
# Comment pré-remplir les information de création de ticket depuis la FAQ
# Cas 1: En passant par la compétence feedback
User: Je souhaite changer mon mot de passe
Bot: Sur quelle application souhaitez-vous me poser votre question ?
User: Changer mon mot de passe
Bot: Pour changer votre mot de passe Azure vous devez vous rendre sur le site https://portal.azure.com/ et cliquer sur Reset Password
User: Réponse non satisfaisante
Bot: Désolé de ne pas avoir pu vous aider, pouvez vous me donnez un feedback pour que je progresse.
User: Il n'y a pas de bouton Reset Password
sur ce site
Bot: Merci pour votre réponse. Que souhaitez vous faire maintenant ?
User: Créer un ticket
# Cas 2: Au clic sur un bouton depuis la FAQ
User: Je souhaite changer mon mot de passe
Bot: Pour changer votre mot de passe Azure vous devez créer un ticket en cliquant sur le bouton ci-dessous.
User: Créer un ticket
A la suite de ces conversations on "sait" que l'utilisateur souhaite créer un ticket concernant son mot de passe Azure.
Pour faire passer ces informations au cours de la conversation il faut:
- Activer les actions sur la mémoire en cas d'escalade vers un ticket
Attention
Pour le moment nous ne supportons que les valeurs "prédéfinies" vous ne pouvez donc pas stocker la réponse de l'utilisateur et la faire passer dans les informations du ticket.
⚠️
Tous les attributs du process (en cours ou qui vient de se terminer) seront transmis au prochain processus.
Donc vous ne pouvez pas redémarrer le process directement depuis le résultat du process précédent. Si vous faites cela, n'oubliez pas de remettre les attributs de la mémoire à zéro (via @undefined)