# 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

image

# Texte

Le type de message le plus courant est le message texte.

Pour ajouter un message texte, cliquez simplement sur Ajouter un message

image

# 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...

image

# 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é :

Affichage de la zone d'édition HTML

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é.

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 :

  1. Renseigner l'url de l'image que vous souhaitez placer dans la carte de carrousel.
  2. Ajoutez une image depuis votre ordinateur.
  3. Afficher votre carte de carrousel en fonction de critères de votre choix (filtre).
  4. Ajouter un titre à votre carte de carrousel.
  5. Ajouter une description à votre carte de carrousel.
  6. Ajouter une url à votre carte (un lien) => un article complet est sorti à ce sujet (opens new window)
  7. Ajouter un nom au bouton ajouté à votre carte de carrousel.
  8. Assigner un payload au bouton.
  9. Ajouter un bouton au carrousel.
  10. Afficher votre carrousel en fonction de critères de votre choix (filtre).
  11. Supprimer le carrousel.
  12. Ajouter une carte au carrousel.
  13. 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).

Dans les options du bouton de réponse vous pourrez choisir le type de bouton comme ci-dessous: Bouton type

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. Web view 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. 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 : image

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 : image

# 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. image

# 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 :

  1. 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.

file_message_from_disk.png

  1. 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).

file_message_from_url.pngVous 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. randomMessages.png

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 : {{...}})

result list message type

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 :

result list rendered on Teams

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.

image

# 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: Message si ressource déjà connue

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 Message si ressource inconnu

La second fois, que votre répondant recevra cette "ressource", vous pouvez modifier le message. Message si ressource inconnu

# 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.

![toggle suggestions de réponse sous forme de carousel](./images/ressources/display_quick_replies_as_carousel_toggle. png)

Dans ce cas, chaque item de carousel (correspondant à un "bouton" suggestion de réponse) se présentera de la sorte : img.png 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

Liste de réponse

Une fois l'option activée nous voyons un panel s'ouvrir dans lequel nous pouvons personnaliser certaines choses. Liste de réponse

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. Liste de 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: Liste de réponse

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

Liste de réponse

  • 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

Cas 1: L'utilisateur n'a pas accès à la ressource poser un RTT

Bonjour, bienvenu, comment puis-je vous aider?

Comment poser un RTT

Pour poser un RTT, ...

Cas 2: L'utilisateur n'a pas accès à la ressource poser un RTT, mais accès à RTT

Bonjour, bienvenu, comment puis-je vous aider?

Comment poser un RTT

Voici ce que je sais sur les RTT

Cas 3: L'utilisateur n'a ni accès à la ressource poser un RTT, ni à la ressource RTT mais à accès à congés

Bonjour, bienvenu, comment puis-je vous aider?

Comment poser un RTT

Voici ce que je sais sur les congés

Cas 4: L'utilisateur n'a ni accès à la ressource poser un RTT, ni à la ressource Congés

Bonjour, bienvenu, comment puis-je vous aider?

Comment poser un RTT

Désolé vous n'avez pas accès à cette ressource

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

Specific Memory

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)