# Un même logiciel, de multiples applications

**À propos de la documentation Dydu**

La documentation Dydu est une ressource complète pour tous les utilisateurs Dydu, des débutants aux développeurs avancés. Il offre des guides détaillés, des bonnes pratiques et des références pour vous aider à comprendre et à maximiser l'utilisation de la plateforme de bot conversationnel Dydu. Que vous cherchiez à créer votre premier chatbot, à améliorer l'intelligence du bot ou à intégrer le bot dans votre écosystème, la documentation contient les informations nécessaires. Elle est régulièrement mise à jour pour vous assurer l'accès aux dernières fonctionnalités et fonctionnalités de la suite logicielle Dydu.

***

Voici quelques exemples de sujets que vous pourrez découvrir dans cette documentation :

[Connaissances :](/contenus/connaissances)  Apprenez à configurer efficacement votre bot avec des connaissances spécifiques, et à créer des scénarios interactifs et convaincants pour engager vos utilisateurs.

[Apprentissage : ](/apprentissage)Découvrez les outils qui permettent à votre bot d'apprendre et de s'améliorer grâce à la rétroaction et à l'analyse des interactions utilisateurs.

[Contenus : ](/contenus)Explorez le menu Contenus pour paramétrer et enrichir votre base de connaissances, augmentant ainsi les compétences et les réponses de votre bot.

[Intégrations : ](/integrations)Suivez nos guides pour intégrer et personnaliser votre bot dans votre écosystème numérique, pour une expérience utilisateur transparente et cohérente.

[Statistiques](/statistiques) :  Utilisez les rapports statistiques pour surveiller et analyser les performances de votre bot, afin d'optimiser sa précision et son efficacité.

***

#### **À propos de Dydu**

Dydu (Do You Dream Up) fournit une solution logicielle innovante qui permet aux entreprises de créer et de gérer des robots conversationnels, également connus sous le nom de chatbots. Le logiciel est conçu pour être polyvalent, offrant un large éventail d'applications, notamment le service client, l'automatisation du support et le partage interne des connaissances. Dydu met l'accent sur la facilité d'utilisation, permettant aux utilisateurs non techniques de concevoir des conversations et de déployer des bots avec une formation minimale. Ses fonctionnalités incluent la configuration intuitive des connaissances, des outils d'apprentissage, la gestion de contenu et des options d'intégration. De plus, avec Dydu, les utilisateurs ont accès à des analyses détaillées pour suivre les performances et l'efficacité de leurs bots, permettant ainsi d'améliorer continuellement l'expérience utilisateur.

{% embed url="<https://youtu.be/XF8zvM1z1oc>" %}

Pour plus d'informations, visitez  : <https://www.dydu.ai/>&#x20;


# Guide de première utilisation

***

Ce Guide de Première Utilisation est conçu pour aider les nouveaux utilisateurs à naviguer dans le processus de configuration initiale avec facilité. Vous apprendrez comment créer votre premier projet, personnaliser vos paramètres et comprendre les caractéristiques de base à votre disposition. Suivez les instructions étape par étape pour être opérationnel en un rien de temps. Rappelez vous, notre équipe d'assistance est toujours prête à aider si vous avez des questions.

***

<figure><img src="/files/63gZKXklNhy39iTslX17" alt=""><figcaption></figcaption></figure>


# Prise en main

Lors de votre première connexion à la plateforme, vous vous retrouverez sur la page de prise en main.

<div data-full-width="false"><figure><img src="/files/GNSvQR4KNvpMgrltEwSw" alt=""><figcaption></figcaption></figure></div>

Le menu se trouve à gauche de votre page. Par défaut, le menu est persistant mais pouvez désactiver cette option via l'option **Garder le menu ouvert** au bas du menu. Si la persistance du menu est désactivée, cliquez sur le bouton <img src="/files/olSgYTNKE9gJlIdAfvl1" alt="" data-size="original">  pour afficher le menu principal qui vous permettra d'accéder à l'ensemble des éléments principaux de la plateforme.

<div align="center"><figure><img src="/files/y9mHzOuQhI62SOhqOB7S" alt="" width="183"><figcaption></figcaption></figure></div>

N'hésitez pas à parcourir ces différents menus notamment le **Tableau de bord** qui vous permet d'avoir un aperçu global de l'état de votre bot par le biais d'informations utiles sur vos connaissances, sur les statistiques de votre bot mais aussi les actions importantes à mener sur celui-ci.

En fonction de vos droits sur la plateforme et des modules déployés sur la configuration de votre bot, les menus qui vous sont accessibles peuvent sensiblement être différents.

Notez que vous pouvez également cliquer sur les icônes <img src="/files/3KoN5lhOxzPazuD1sO8M" alt="" data-size="original"> afin d'épingler les pages pour lesquelles vous souhaitez obtenir un raccourci sans même avoir besoin de cliquer sur le menu principal.

<div align="center"><figure><img src="/files/cbrSrvbhGbvFnWqDYXAV" alt=""><figcaption></figcaption></figure></div>

Pour paramétrer votre compte, cliquez en haut à droite sur le nom de votre compte puis cliquez sur **Compte**.

<div data-full-width="false"><figure><img src="/files/nREsRCz13tFkgUrQw7ym" alt=""><figcaption></figcaption></figure></div>

Vous pourrez modifier différents paramètres dont la langue par défaut de votre plateforme.

Important : il ne s'agit pas ici de la langue de votre bot mais uniquement de la plateforme. Vous pouvez, par exemple, enrichir les connaissances d'un bot en langue anglaise en travaillant depuis la plateforme en langue française.

C'est également ici que vous serez en mesure de gérer vos abonnements mails (notifications sur les activités, alertes, etc.).

<figure><img src="/files/rMCfObc0DzDPkMDP4KXr" alt="" width="563"><figcaption></figcaption></figure>


# Créer votre bot

Créer un nouveau bot implique de définir de nouveaux réglages comme les paramètres, les modules, les utilisateurs, les droits des utilisateurs etc.

Pour créer un nouveau bot, veuillez suivre les étapes suivantes :

1. Cliquez sur l'icône en haut à droite de la page, à côté de votre nom.
2. Cliquez sur **Créer un autre bot**.
3. Une nouvelle fenêtre s'ouvre. Cliquez sur la **carte +**.

### Pour la version française

Si votre compte est en français, par défaut le bot sera également en français. Nous proposons deux modèles&#x20;

<figure><img src="/files/A4V9AzWPv1tmFVJF1R9x" alt=""><figcaption></figcaption></figure>

* quand vous créez un bot en démarrant de zéro, vous êtes invité à lui choisir un nom et cliquer sur **Créer le bot**.
* quand vous créez un bot depuis un modèle, nous vous demandons de :
  * sélectionner les utilisateurs finaux
  * sélectionner un modèle
  * alternativement, vous pouvez nous envoyer un message pour demander un nouveau modèle

### Pour les autres langues

Nous ne proposons pas encore de modèle dans les autres langues. Vous êtes invités à choisir un nom pour votre bot et cliquer sur **Créer le bot**.

<figure><img src="/files/0DKLffVRtmD62j2BhNbi" alt=""><figcaption></figcaption></figure>

Votre bot est créé. Vous pouvez changer de bot quand vous le souhaitez en cliquant simplement sur le nom du bot dans le coin supérieur droit de la fenêtre.

Vous pouvez alors commencer à configurer votre bot, droits et utilisateurs, créer vos matching groups et votre première connaissance.


# Créer votre première connaissance

### Définition

On appelle connaissance le couple question + réponse.

La question correspond à l'intention de l'utilisateur final que le chatbot doit comprendre. La réponse correspond au contenu que vous allez configurer et qui sera restitué par le chatbot à l'utilisateur final.

La base de connaissances comprend l'ensemble de vos connaissances ! C'est le cerveau de votre chatbot ! Vous pouvez organiser vos connaissances par thématique.

Une connaissance peut être simple : une question - une réponse, ou prendre la forme d'un arbre de décisions. L'arbre de décisions permettra au chatbot d'articuler des sous questions nécessaires à sa réponse finale.

### Créer une connaissance

Une grande partie de votre temps sera consacrée à la création de vos connaissances. Cette page vous permet alors d'acquérir les éléments essentiels à la création d'une connaissance.

Note : vous pouvez également créer une connaissance à l'aide du guide « Création d'une connaissance » depuis le bot support.

Veuillez suivre les étapes suivantes pour créer votre première connaissance :

1. Cliquez sur le menu principal en haut de votre page :  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAtCAYAAAAHiIP8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAv0lEQVRoge3YIQ7CQBSE4bbhECTUQwikEoeoJ2hMD1eD5gIIHLIBAR6S3qJY9JtJOizz+Zd9/zZrmpfL3ZD9uGLsBRgcocIRKhyhwhEqHKHCESqSiJhEB1fVnLbEvXtC8+GIdbWADv42WsSte0AHM4Uj0Ntj+u+HfWj2tCWO7QmaT+JL5P7bISL8Jrb1hrbE5XyF5sMRs3IKHcwUjkBvjykc8X71zD0gSTxsR6hwhApHqHCECkeocIQKR6hwhIoPPfgZ1Pzr+HwAAAAASUVORK5CYII=" alt="" data-size="line">

(le menu est déjà ouvert si vous avez gardé l'option de persistance activée par défaut).

2. Dirigez-vous sur la page **Contenus > Connaissances**.

<figure><img src="/files/ifgSSLXsUUKhdMxjSast" alt=""><figcaption></figcaption></figure>

C'est à partir de cette page que vous constituerez la base de connaissances de votre bot.

3. Cliquez sur le bouton **Créer connaissance**.
4. Sélectionnez le type de connaissance que vous souhaitez créer. Pour la création d'une connaissance simple, veuillez cliquer sur **Réponse à une question / Arbre de décision**.
5. Inscrivez la phrase utilisateur (il s'agit le plus souvent de questions) : les phrases utilisateurs correspondent aux questions que l'utilisateur posera à votre bot.
6. Cliquez sur **Créer**. Il est possible qu'il vous soit proposé des groupes de formulations. Si vous souhaitez obtenir plus d'informations sur les groupes de formulations, veuillez vous rendre sur cette page. Si vous ne souhaitez pas les utiliser, veuillez sélectionner votre phrase d'origine puis cliquez sur **Créer**. La fenêtre de réponse apparaît.

<figure><img src="/files/WyAjtEkanGJnAkjXxqxc" alt=""><figcaption></figcaption></figure>

7. Saisissez la réponse du bot. Une barre d'outils est à votre disposition (ajout de liens, d'images, d'emojis, etc.).
8. Sélectionnez le statut de votre connaissance. Toutes les informations sur les statuts des connaissances sont disponibles [ici](https://docs.dydu.ai/fr/docs/Knowledge/responses_elements). Sélectionnez le statut **Publiée** puis cliquez sur **Mettre à jour**. Votre connaissance est créée.

{% embed url="<https://youtu.be/lsO99bXVn7o>" %}

### Tester votre bot

Après avoir créé une connaissance, vous pouvez désormais la tester.

Note : vous devez être situé sur la page des **Connaissances**.

1. Cliquez sur le bouton **Tester mon bot** au-dessus de votre liste de connaissances. Une boîte de dialogue s'ouvre.

<figure><img src="/files/sy9vrnQ6Ma6FGvzjAv2p" alt=""><figcaption></figcaption></figure>

2. Testez votre connaissance nouvellement créée. La boîte de dialogue affichera la réponse que vous avez créée.

<figure><img src="/files/eW3ZFeshwiw3sUpdw6C3" alt=""><figcaption></figcaption></figure>

Différents outils et options sont à votre disposition depuis la boîte de dialogue de test.


# Créer et publier votre chatbot

Il existe plusieurs façons de contacter un bot. Le BMS dydu offre la possibilité de personnaliser et de déployer son bot sur plusieurs plateformes/canaux, ce qui lui permet d'être présent là où se trouvent ses utilisateurs.

Dans le cadre d'une stratégie omnicanale, le bot peut également passer le relais à un humain pour les demandes plus complexes nécessitant une attention particulière. Il devient alors un assistant augmenté pour les équipes.

Cette section décrit les différentes possibilités de déploiement et de personnalisation de l'interface du bot pour la rendre accessible aux utilisateurs finaux.

### Dydubox

Pour rendre ses clients encore plus autonomes dans le déploiement de leur chatbot sur leur intranet ou site internet, dydu permet d’accéder, à travers le BMS, à la dyduBox : une interface permettant de configurer, customiser et intégrer sur son site la partie front de son chatbot (appelée chatbox).

Pour avoir plus de détails sur la façon de déployer votre chatbot via dydubox, suivez ce [lien](/integrations/canaux/chatbox).

### Teams

Les bots dydu peuvent également être mis à disposition sur Teams en tant qu'application. Ainsi, le BMS dydu offre la possibilité de configurer son application Teams bot directement depuis le menu Canaux.

Cliquez sur [ce lien ](/integrations/canaux/connecteurs/teams)pour découvrir comment créer une configuration Teams.


# Cas d'utilisation fréquents

Cette page vous présente différents cas d'utilisation basiques et fréquents de la plateforme dydu. N'hésitez pas à les reproduire afin de vous familiariser avec la plateforme.

### Créer un groupe de formulations

Les groupes de formulations représentent des groupes de mots et de termes ayant une signification ou intention similaire.

<figure><img src="/files/kq3Rac7YbDP9kpvYZhIE" alt=""><figcaption></figcaption></figure>

Note : créer des matching groups est la première étape majeure avant la création de connaissances.

Pour créer un matching group, suivez ces étapes (dans cet exemple, nous allons créer un matching group "ordinateur") :

1. Dirigez-vous sur la page **Contenus > Groupes de formulations**.
2. Cliquez sur **Ajouter** pour créer un groupe. Avant de créer un groupe, vous pouvez créer des catégories dans lesquelles seront classés vos groupes.
3. Cliquez sur **Ajouter un groupe de formulation**. Une nouvelle fenêtre apparaît.
4. Inscrivez le nom de votre groupe de formulation.

<figure><img src="/files/nPMH10MHyU0zCEAt6GEJ" alt=""><figcaption></figcaption></figure>

5. Cliquez sur **Ajouter**. Votre groupe de formulation est créé.
6. Sélectionnez ensuite votre groupe de formulations nouvellement créé afin de lui ajouter des formulations.
7. En bas de la page, ajoutez toutes les formulations une par une depuis le champ **Formulation**.

<figure><img src="/files/G7OUfbye5TgRweATRyBT" alt=""><figcaption></figcaption></figure>

8. Cliquez sur **Ajouter**. Votre groupe de formulations contient désormais des formulations et va pouvoir être utilisé lors de la création d'une connaissance.

Consultez la page matching groups pour plus d'informations.

### Créer un arbre de décision

Une conversation avec un bot peut impliquer des flux conversationnels plus ou moins complexes. Pour répondre à ce besoin, vous avez la possibilité de créer des arbres de décisions permettant de gérer multiples scénarios au sein d'une même connaissance. Veuillez suivre ces étapes :

1. Veuillez créer une connaissance simple (voir procédure sur cette page). Notre connaissance pour l'exemple sera « J'ai un problème de paiement » avec pour réponse « Avez-vous un compte sur notre site web ? »

Note : des groupes de formulations peuvent vous être proposés à tout instant. Sélectionnez les suggestions proposées si vous souhaitez les utiliser ou ignorez-les simplement.

Dans ce cas précis, l'utilisateur est invité à répondre par oui ou par non.

2. Afin de gérer les deux scénarios possibles, il devient nécessaire de créer un arbre de décision. Pour cela, veuillez cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAIAAAAnX375AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAA5BJREFUWIW9l71uIzcQx/kxJHclu7ABv0KKAGlSpEseIm+QLi9wT5EXuC5vcA9xl+oCpAlwAVIb9hkRrD15bXk5HDLFyFxqvZA2lpypVlru/DjkcPgfmVISL7X3f/6dn3/45quJX8F0QJ5cfoiR8tsYoxBCSimlPBQ5IJU/GZN/SilTSjxgB3sXsvSeedmEEDGEzVApiUgWxmNGwXJ0L8s/Y4wlRinFjpRSeRKPiCAlB62UymPYA4/chRwsXZ6vMWbHkrCFEBCRJ8T2nDpEDngxxomw0rquIyIAGKVuIZ/zlFIA/yGrsyGi9x4AtNYDau9uwCMirfXLeEIIXpiu60oYb9DQ41F4mZpS4q1lKiNVJoniDEgpD+SxWWtTSkRUHrOt9OUQQwjW2sN5bPP5HBGJiI/QBlmGGGPUWk/x9eHjp99+/2vvME74EEJfmPpSEiOHWNf1FOTFtz8JIf7549e9I1NKq9XKOae11lr3e8kh7i3KLzCuDHlH1aCQDorTsUxrzYVMCDGM8pWQABACMbVPH354JaSUki/XlJJkMh9/RDw5ORn95sPHTz/+/Mte1+/evvn+u69HXy0Wi7qujTF9TDl1X8nyXvZR8r0zn88nru30QyKEQMTlcjmbzay1Q+9ENPrNgVZKlv8J6b0fQbJ0QMTXQK7Xa1YnPTLLJMRw9CSKMXZdxzVoc1+yIMvg9Xo9m832Onr39s1EZNN80VorpTeIfKcQERF57xHx/Pz8WMU2xnh5eemc43QFAJVdZ6kopWqaL0fhCSGur6+llKyARvZSKaW1BtAh4P39/eG8xWLhvTfGGGO01htKfp2pSikA07btgdS2bW9vbwEg67xe4XH6lIGmlGKE1WoVYzw9PX0Bb7lsPn++5v3jLcz6fUtTlUhWSnd3dw8PDxcXF9NvmJTSzc3Ncrms69paa63jVWUPMh8PUSggvlWIKITgvffehxDm8/nZ2dlucEqpbdurq6uUUlVVzjnnKuesMSavqlJqqBxzf1P+I6Vs27ZpGmttVVV1XQNAVVVCCESMMT4+Pq7X66ZpiMgYU1WVtda5ylpTtgm8sHsaBI4VMSB6vmoQMYTAb7PofUo6AABjjHPOGMu8XQ2C2C5DfdcipVIKQCOi1poVYnyyrMTZtTEGADhfJrVBo7FyKKx9iSgEIgqlAN8+01tHYlKzN6CK7Za2VC1Pc0pKbeq1KiwfieeN9L8FuAd0vu42zgAAAABJRU5ErkJggg==) en-dessous de votre bulle de réponse. Cliquez sur **Ajouter une intention**.
3. Cliquez sur **Ajouter une intention** puis inscrivez « Oui » et cliquez sur **Créer**.
4. Ecrivez la réponse, sélectionnez le statut **Publiée** puis cliquez sur **Mettre à jour**. Votre première sous-branche est créée.
5. Répétez les opérations précédentes pour créer une deuxième sous-branche avec la connaissance « Non ». Votre arbre de décision est créé.

<figure><img src="/files/VUmgQM88VwY4gdUX2yX8" alt=""><figcaption></figcaption></figure>

Note : il aurait été possible ici d'insérer deux redirections cliquables « Oui » et « Non ». Toutefois, l'utilisation de liens directs vers une redirection interne est plus particulièrement utile lorsque votre bot propose des choix multiples et spécifiques.

{% embed url="<https://youtu.be/hT5i7RtP8W8>" %}

5. Un utilisateur peut répondre une phrase inattendue que le bot n'a pas envisagé. Dans ce cas précis, il s'agirait d'une réponse qui ne correspond ni à « Oui » ni à « Non ». Pour cela, vous devez utiliser l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAA2CAYAAAB++T94AAAACXBIWXMAABYlAAAWJQFJUiTwAAAECUlEQVRoge2aPY/cRBjHf/PiPe/dXoIOUA6dEAkKDQgFKSUVRAEampR8Bago+AD5AjR0qdKkylVICAqogkQJzRUEKYfQiZxQ4NgXr9cez1Bsxvic3AvJjn0X/Jes3fXL7MzP/5nn8XiEc87RgmZZzr3f/+DBaALAC2cHXHjpRXpat1GdUrLVfz+B6oDU1AGpqQNSUwekpg5ITR2QmloN+s45fBpU/d6mGgfiG22tfQSGcw5rLUIIgPKzSYmmMtVq43NT8Nc4ZThJKQqHY9745aWIlThi0O/Ri1QrYBoBUnXFNDOAYClSRFrtO88UltFkxmiasRJrnhvESDkf5pqCEhxI6QxA/odG/T1JyXLD2mofIUS5hVZQINWin6QxzsFwMmXQ7zUGpbEx5GmUznIiLZFSdkC8jCmQMrxLgiRmIRjrhwNw6HwlCJBQd9BHnJA6Uam7nd4n296k+PPHQ88L6ZB25+tqmv18E7PzHQCDq5uIaPDIOVLKMssN4cRWgWTbt3FmPqeqVi8iohUAhF5+LIwm1FqUybZvM9u6sW9ftHGF6OX3EP11ZH/9wGt9lUM4pJUxxOx+z2zrBnrjXQZXN5FnzgOQ73xL9ts3h8LwCnUfW+kysn+O6PyHxK9/QvLDp9jhdnnMTXePvF4IUYbfRbuk1cQs3fqCfPtLANTaGwDY0T3U2pv0L18/9Fo/TbBoIK0Oqh4GQP/ydfKdrzEt1gdadsjoq/eRq69gR78SbVwhvvTZsa6rdpdT7xA7/KUMtQB6/W3kq9dIf/oc4FhQnpnEzOVjJnc+3rdPLp8j2vgAm+yS3b1F78I15JmLh5cTKCmDhoGIaMDKOzdx0/vz33pQNl4/f4ns7i2cGR9ZjrUWpdTpyFSPunuyvw7HyDMOkjHm//H4r9beovfaR8jVg7uLc46iKIBwT9QLjzI+AoR4VE/TFCEEWutgs2fBUndr7ULLS9MUa23wacSFA/G5gbW2tPfTajyZkmUZUv47rxpsEipIqcznLYqiYDabPXHe4Bw82BuRZyla62CRpaogYddXWimFMYYkSVBKEcfxscvYG6dMxglx5NC9Hkqp4O6AwHmIEKK0eZZlJEmCE5qlOCbuabTab1BTWIbJjL1hgsIwiDVRFDXmDmjgRZUPlcYY8jwnz3Oy3JAVgtwKCgeFBSUFWoISBT0FS9EcRh3IqewyXr7yUkr0w+WW3jVRUWCt3ReN5m5SKKXQWpdbE13FK3jq7gFU4SilKA4EMj/ux4ymnFHWt8nlENU1IH6rv//1UKqueOaWQ3g9boGM/11dC1KF0PSimWafdiuN898PWiHQxuohOEUvu5vSiXqVeRLUAampA1JTB6SmDkhNHZCaOiA1dUBq6oDU9A+b4OprYJ+0hgAAAABJRU5ErkJggg==) qui vous permettra de répondre à toutes phrases utilisateurs ne correspondant pas aux branches de l'arbre de décision définies.

<figure><img src="/files/bX3NVTqDSheVlJujm4M4" alt=""><figcaption></figcaption></figure>

6. Testez votre connaissance et les multiples scénarios via le bot de test.

{% embed url="<https://youtu.be/biBbP6lOD7s>" %}

### Créer une redirection vers une autre connaissance

Vous pouvez effectuer des redirections vers d'autres connaissances. Cela vous permet, entre autres, de créer des connexions entre vos connaissances. Pour effectuer une redirection, veuillez suivre ces étapes :

1. Créez ou éditez une connaissance puis positionnez-vous sur la fenêtre de réponse.
2. Cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAUCAIAAABnBnglAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAcpJREFUSIlj/P//PwPtARMd7Bhwa37R3Jpfr3Z1Z6Zm1O9+/JN61jCiJoFfj3dNbF9w4QMDAwMjr2pCaZWr8usNtTWr7mHxHiOnSmpnk4MwMdYg++bX4609TRA7GBgY/n++vaC9cdtdPi0deS5sWv9/f/3sPZG+YYGz/l1Y2L706ldGXnlZpoePPvLKyTI/evxgafec0v7GOeFo2p4sLS/b+oRIO1CsYZI30le+98k5K/LplLJHH5n0Uurdd/btY7BQ4CBoyuNnLy5eu4kmKC0pYaitjm4Ng6BxerMxAwPDk6VQAXHH7E5HohwrKyXBwMCAbBOyHQxUzDeyUhL6WupY7WBA8Q0x4P3ZmX1rPjlnhTAwMDAwMDL8frl/at8+Bv/iLCsBRoif3rz/iGYHydb8e3ju4t1HH+61vpNlYmBg+HtpYeOWxx8YeU88+GFlwAnxE8QyYq35uKU+aguKyH8uxaCyosro101Lrz58xMDAwPD50WMGRk6F6NJsA0787sMSNwJSItzYlDJ+f3zk+ntZ75K6aG0BqBCvQnRlvZcyO35LGBgY/pMDfr7c2ZURl16369EP4jSgFTakgF8MDGzEqqXAGlLA8KrWAKAg/yqvv/mKAAAAAElFTkSuQmCC) puis cliquez sur **Reword**.
3. Cherchez la connaissance vers laquelle vous souhaitez effectuer une redirection depuis le champ **Reword**.

<figure><img src="/files/oKCLBTACULJ7l09ydIfW" alt=""><figcaption></figcaption></figure>

4. Cliquez sur **Ok**. Votre redirection s'affiche.

<figure><img src="/files/Luk7jUXapki8aVfg1NQd" alt=""><figcaption></figcaption></figure>

{% embed url="<https://youtu.be/bgiH8hPPeFY>" %}

### Créer une escalade Livechat

Pour créer une escalade Livechat, vous pouvez le faire par simple connaissance ou par le biais d'un ciblage comportemental (condition pour déclencher une escalade Livechat). Veuillez suivre ces étapes :

1. Créez une connaissance simple comme "Je veux parler à un opérateur".
2. Dans la fenêtre de réponse, cliquez sur **Plus d'options** puis sur le **Autres options**.
3. Cliquez sur le bouton![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAIAAACeQxh6AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAM1JREFUOI1j/P//PwM1ABNVTBmUBrGg8b/9/PXs5Vs0QSlxYS52NtIMevrizfTlW9EEMyO9VeWlSDMIAvoqUrcfPnv30fOcaJ+ijtkMDAy3Hz7DbwG6QdISIpmR3miqpSVEIAxkcTRz0Q3iYmdD8wWci993NI7+oo7Zu4+eu/f4OSSAiAHYAxstOMgx6O3Hz6cv3/KwMSbVIHSvvfvwedeRc6SagsUgsgHN8hoE7DhyllKDuDjYlWQl7zx8TlCnkqwkFwc7nMs4WkLSzyAATCpCQskdZs4AAAAASUVORK5CYII=) à droite du champ **Définir une action GUI**. Puis cliquez sur **Connexion au Livechat** (si vous ne voyez pas cette option, allez dans **Préférences > Bot > Général**> cochez la case **Mode Livechat**, puis cliquez sur **Mettre à jour**).

<figure><img src="/files/1kH3aFk6kfexGFPXycsh" alt=""><figcaption></figcaption></figure>

Remarque : vous pouvez également créer des escalades Livechat en utilisant la connaissance du type d'activité de l'internaute.

Remarque 2 : n'hésitez pas à utiliser les conditions contextuelles pendant l'escalade Livechat pour vérifier la disponibilité des opérateurs, les compétences des opérateurs, etc.

Allez à la page Livechat si pour plus d'informations.

### Créer une condition de contexte

Les conditions de contexte vous permettent d'ajouter des conditions qui déclencheront une connaissance, vous trouverez plus d'informations sur ce sujet sur cette page.

Dans cet exemple, la condition de contexte à créer portera sur la page de l'utilisateur. Plus concrètement, l'objectif est de vérifier si l'URL de l'utilisateur contient « knowledges ». Si tel est le cas, l'utilisateur obtiendra une réponse spécifique. Si ce n'est pas le cas, il en obtiendra une autre lui demandant d'aller sur la page déclenchant la connaissance.

Note : si vous souhaitez tester la condition de contexte à la fin de cet exemple avec un bot déployé, veuillez personnaliser l'exemple en remplaçant le terme de l'URL par un terme propre à une URL où se trouve votre bot.

Pour créer et exploiter cette condition de contexte, veuillez suivre ces étapes :

1. Dirigez-vous sur la page **Contenus > Conditions de contexte**.
2. Cliquez sur le bouton **Ajouter** en haut à gauche de la page.
3. Remplissez les champs ainsi :&#x20;

<figure><img src="/files/jIpwX3bHIwfn1IIu7mEH" alt=""><figcaption></figcaption></figure>

Note : la condition **UserURL()** est une condition de contexte sélectionnable par défaut dans la liste des conditions.

4. Cliquez sur la **coche** pour valider la création de votre condition de contexte.
5. Dirigez-vous sur la page **Contenus > Connaissances** et créez votre connaissance ainsi :&#x20;

<figure><img src="/files/EXmIskDOtynlZZFWJgeF" alt=""><figcaption></figcaption></figure>

* Ajoutez une nouvelle connaissance
* Réponse à une question
* Créez une phrase à comprendre
* Fermer la fenêtre de réponse
* Cliquez dessus ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAmCAYAAABQ3RJZAAAACXBIWXMAABYlAAAWJQFJUiTwAAADBklEQVRYhe2Zv0/bQBTHv3dn+xLSlJEBMZUqA1vF0rB168KPqcwwVe3Yrf9ABf9HUTfUpWMXYKFDJZAAqVIFqKiooCokJU58d69DYteBtNg+k1Rqv5JlRZe799Hzu3fv2YyICDnp/KKBT19OobRBqSBxf3wMpaLMa/lIPPcVB6D/0INSbtBEdO26LTk2k0Ow8G6M6QJ37uFvAGCMWaL+EsuSPa5O6QektAYIAAic8+g/ecCnhiai1Ia11h1jjEWXjTJ5OouICFrryOs24APLHowxcM5jcZ/dVwNNeaGXbR/uwPO0EMI6LeYKPb+0kswo539PeGx9OEhm1DK2h3aM28T2UKGzamjQNnH9b4fH7v5Rzz2phrYRd/ePsLC8iiezVcwvrSQCtzpgKKN29g7p5avXtLN3SJPV57S2vkFERGvrG3Tv4bOe8X5SSlG73SatdWrbmevpWr2Jd+8/4s3bLbx4OovFuRkAwOLcDI5PzrCwvIq75RE8fvSg73ytdebCySo8jk/OAAAX9eYfx/sphM6izNCj5SKq0xVMVSawub3fM7a5fYCpygSq0xWMlovX5iqlAGTP1TfW05Sh6L9JjUYDruvCcZyeriapEnnaaqdfUbPZCaUssKFuhA4XNsZkMhBXEARot9twHMeq9UoV02Gvl0VBEKBer0chwXn2HJBoZtwjrVYr2khJdXl5iVqtFsWxEMKqT0yVpxljEEIgCAL4vg/OeQRyFSBQCr7vo+X7YIzB8zy4rhsB2yhVN07dol1rDa01giCAUgpaaxhjcF6r4/PXb9DaoFQsYnJ8DOVSEY7jXMsWNuCpPQ2g5/EKIWCMgTEGshXAkxJaG0gpUZASUkoIISCEyAU4NXQcPAQIoYkIBdmG9CSUNnA9D67nwfO86PVBfP5AoUPD8Xo4LOidbgiAGzhCRJsuL1gr6FBxEMYYitIDFwKMAGIMBvnChsqlng49PyIl3G4mUd3NeRvKtd0SgqNU6HxjUdqg9qMJY/J/VZh7j3gn9mHo9HsNgcUp+jv9BCwT++IfF0wKAAAAAElFTkSuQmCC)
* Sélectionnez Action courante
* Selectionnez votre condition dans la liste
* Cliquez sur Mettre à jour
* Ensuite, vous pourrez remplir les réponses Success et Failure.

Ainsi, en fonction du succès ou de l'échec de la condition de contexte, le bot enverra une réponse différente à l'utilisateur.

Vous pouvez créer et personnaliser un nombre infini de conditions de contexte et les exploiter au sein de vos connaissances.


# Bonnes pratiques

Cette section présente les bonnes pratiques à mettre en application lors de la constitution de la base de connaissances.

Elle décrit les points clés pour la constitution de la base de connaissances pour éviter les pièges, et maximiser la satisfaction des utilisateurs en leur proposant le meilleur contenu possible.

### Questions et reformulations

* Favorisez les questions très précises aux questions vagues, elles permettent de donner un contenu plus concis. Cela multiplie les connaissances et donne de meilleurs résultats lors d'une reformulation par le bot.
* De la même manière, les phrases de reformulation doivent être concises et précises. En effet, lorsqu'elles sont affichées suite à une reformulation du bot, si elles sont trop longues, l'internaute ne les lira pas.
* Utilisez au maximum les groupes de formulation pour réduire leur nombre. Exemple : groupe de formulation email : email, e-mail, courriel, mail, message, message électronique, etc.
* Pour comprendre un maximum de formulations, des codes et groupes de formulations sont disponibles directement dans la fenêtre d'édition de la phrase utilisateur.

*Allez dans Contenus > Connaissances > Créer connaissance > Réponse à une question*

* Mail : permet de comprendre une adresse mail.
* Entier : permet de comprendre un nombre entier.
* Nombre : permet de comprendre un nombre entier ou décimal.
* Url : permet de comprendre que l'internaute a saisi une url.
* Vider : en cliquant sur la flèche, vous pouvez indiquer l'élimination d'une variable. Indiquez le nom de cette variable dans **Nom de la variable** :&#x20;

<figure><img src="/files/dscjJ1PO8vjymxwqqHg4" alt=""><figcaption></figcaption></figure>

* Constante : enregistre l'utilisation d'une variable pour la retenir au cours de la conversation. Indiquez le nom de cette variable dans **Nom de la variable**. Pour mieux comprendre l'utilisation de Vider et Constante, vous pouvez consulter le paragraphe sur les conditions de contexte .
* mois : saisir le mot « mois » permet de comprendre tous les mois.
* jour : saisir le mot « jour » permet de comprendre tous les jours de la semaine.
* ville : saisir le mot « ville » permet de comprendre toutes les villes françaises.
* Si vos internautes ont tendance à utiliser seulement un mot comme question, vous pouvez créer des « Connaissances mots-clés » :
* Soit sous forme de questions ouvertes dans le cas où un grand nombre de questions peuvent être suggérées derrière.

Le symbole **Aa** signifie que la reformulation sur la connaissance a été désactivée, c'est à dire que lorsque le bot ne comprend pas une phrase, la question « train » ne sera pas proposée aux internautes. Pour cela, il faut décocher la case **Activer la reformulation** (dans "Options", puis sélectionnez "Options"):

<figure><img src="/files/pefX2LtC03iBvnUXN5dJ" alt=""><figcaption></figcaption></figure>

Le symbole ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAIAAADEqSm4AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAb5JREFUOI2lk8FLwlAcx3+bEUXXndzzsktteg0mktTFwDwGQVAwtewv6JKkaB2EhP4CL101iKCDRBBELDzangs8iHvTfyCKonodNuaYmlE/dnh8+X3e9+19f495fvmASTU36/Mo7ERmZP0RmxqW8BOuXdTUhqq1NAAIisElObyrpAI8cnoYz78VSoXKWQUAEI+keQkASI9gHQPAnpIuZnN23/PLh/NF4zFOQImNdb3dcetdYmxlUpyAVhKrlFJK6QDbzx1yAjo6OXEUvd2xeKu1dFrmBHRQzA0wvd2xfDzm0XjMwSillmeXGOC28pzt+vbu+vbOjXWJYRnaAagNFfEI+ZH7erCOiUncSoBHIVG6f1BZp8O6N3fVb+rVi6pHDKBAE2v/mxJpQTL75m8AgxghUbIxeVHWWhrpkQmMSR5bOCKHbSy5lQSAQqkw3Mowg/VBMQ8AGSXtjfu4XHaU88ur88ur17fPsXG7h2tzJ+kO8O39q0uM7b00J6DltZi1xdhRDopB3s8DQL9vNrEGABkldZTN2ycfft2kRypnFbWhWoMfEqWIHM4o6Z8ejqdmplmfjxnWf4qbZZmRDAB8AzxrXM5vz0RcAAAAAElFTkSuQmCC) indique qu'on ne questionnera pas la satisfaction de l'internaute pour cette réponse. Pour cela, il faut décocher la case **Demander l'avis des utilisateurs** (dans "Plus d'options", puis "Autres options") :&#x20;

<figure><img src="/files/1KqUuwI6m1pydxiyYO3n" alt=""><figcaption></figcaption></figure>

Pour établir ce type de connaissances, il faut imaginer toutes les questions qui peuvent être suggérées derrière et ajouter la formulation mot clé + question dans la liste des formulations des connaissances utilisées.

Par exemple, pour la connaissance « train », nous pouvons imaginer que les internautes peuvent demander « comment réserver ». Pour « Comment annuler mon billet de train », il faudra ajouter « train comment annuler », etc.

* Soit en questions fermées si vous souhaitez que les internautes choisissent parmi une des connaissances proposées. Cette solution est plus simple car elle évite de devoir anticiper une liste de questions à traiter par la suite. Nous vous suggérons de l'utiliser lorsque vous souhaitez proposer entre 2 et 4 connaissances à vos internautes.

<figure><img src="https://dev.docs.dydu.ai/fr/assets/images/bp08-4f42f2495a225f235608f40570616d0c.png" alt=""><figcaption></figcaption></figure>

Dans ce type de questions, vous devez également penser à désactiver la question des reformulations et à ne pas demander l'avis des internautes.

L'internaute pourra cliquer sur l'une des trois propositions. Pour rendre celles-ci cliquables, il faut sélectionner la partie que vous souhaitez rendre cliquable puis cliquez sur l'icône **Insert redirection** ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAATCAIAAAAIzCorAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAapJREFUOI1j/P//PwNtABONzKW/0b9oYvSvZ3s6M1OzOvY8o9x8RqRo/PVgT3/nvEsfGRgYGPj1ksqLXOSfbaqsX/HoNxaNXHrp3RX2AsS4+teD7V0tUHMZGBg+XprX0rn9oYCmvjwXVo3fXj/7iFUCDligBl+c17n4+jcGfnl5hocPP/LLyzE8fHR9ceeK8glNcyLQ9DxYXlK1+Tl+cxFGs8mb6Ks8/O2c6/usr+rhRy69jGKPTZP3sprIsxE04vGzFxev3UQTlJEUhxrNIGCS0WTCwMDwYDlUQMo+t92eoLEMDAwMslISDAwMyKbLSIobaGtQJ13LSknoa6kjm8sADxCiwIczM/rW/nbO9YDyfz07OHnyXtbgogwTAajb377/ADGXNKN/PTxz8c6jj3danskzMDAwfLs0r3nzo48M/Gce/jIRYIO4HWIBBDCiFU84Y59LJaK8UO/OlJbF178hiWrG1pR7Yo9r9LAWkBLFkY4fHr/+UcGzrCZWkx8qxI/HXAYGBob/JIOfT3d3ZMRltu9++hOvOvQAIRb8YmAglOLJNZoIQMPyGgCz1PAkS8vQwgAAAABJRU5ErkJggg==) de la barre d'outils et choisissez l'option **Reformulation** :&#x20;

<figure><img src="/files/3AEdYW67FQl9dwndw2ET" alt=""><figcaption></figcaption></figure>

Saisissez le nom de la connaissance vers laquelle rediriger et cliquez sur **Ok** puis sur **Mettre à jour**.

### Réponses

* Les réponses du bot doivent avoir un style rédactionnel. Il vaut mieux rédiger de vraies phrases que des injonctions afin d'établir une relation de confiance et un effet de dialogue.
* Les réponses ne doivent pas commencer par « oui » ou « non », car de nombreuses formulations mènent à ce type de connaissances et ce type de réponse est trop spécifique.
* Plus généralement, il est même nécessaire de reprendre le sujet de la question pour introduire la réponse. Par exemple, si la question est : « Comment ouvrir un lien considéré comme dangereux par Outlook ? », la réponse adéquate devrait commencer de cette manière : « Pour ouvrir un lien considéré comme dangereux par Outlook, vous devez... ».
* Il vaut mieux éviter les réponses trop longues, il est souvent possible de les subdiviser avec un arbre.
* Essayez tant que possible de garder une cohérence entre les phrases de reformulation ;
* soit ce sont toutes des questions ;
* soit ce sont toutes des formulations affirmatives du problème de l'internaute.
* Le bot s'adresse aux utilisateurs, il vaut mieux utiliser l'impératif de la deuxième personne du pluriel que l'infinitif. Par exemple, optez pour « Cliquez ici » plutôt que « Cliquer ici ».
* Il est possible d'utiliser des fonctions JavaScript dans vos réponses. Toutefois, notez que l'éditeur de texte empêche l'utilisation de certaines fonctions pour des raisons de sécurité. Afin de les contourner, vous devrez ajouter la balise < !--NOCLEAN--> dans le code source. La balise devra être placée au début de votre code, comme suit :&#x20;

<figure><img src="/files/iq0ae3sAJGEYrk4om3W1" alt=""><figcaption></figcaption></figure>

### Satisfaction

Proposer une solution alternative aux internautes insatisfaits, en précisant, par exemple, un numéro de téléphone ou un email du support.

### Conversations

* Lorsque vous consultez les historiques des conversations, vous avez la possibilité d'enrichir les connaissances ou d'associer de nouvelles formulations à des groupes de formulations existants. Toutefois, une mauvaise utilisation ou une utilisation abusive de cette fonctionnalité peut provoquer un grand nombre d'erreurs et engendrer des conversations incohérentes en cas d'ajout d'une connaissance inadaptée ou de formulations erronées.
* Prenez en compte le contexte général de la conversation et vérifiez s'il est pertinent d'ajouter ou non la connaissance.
* Il est conseillé d'effectuer une recherche avant d'ajouter une connaissance afin de vérifier la pertinence de son insertion au sein de la base de connaissances.
* Pensez à effectuer des audits de manière régulière, ce qui vous permet de parcourir aisément les différentes conversations et de valider la pertinence des connaissances proposées par votre bot.


# Glossaire

### Termes généraux

#### Back Office ou BMS

Ce terme fait référence à la plateforme qui vous permet d'administrer le bot.

### Contenu du bot

#### Connaissance

Il s'agit d'un couple question/réponse défini par un administrateur. Exemple : « Comment t'appelles-tu ? » - l'algorithme analyse la phrase grâce à un calcul de distance et cherche la connaissance la plus proche. La connaissance « Quel est ton nom » est calculée comme étant la connaissance la plus proche, ayant le meilleur score de matching. Il comprend cette connaissance et donne la réponse qui lui est associée : « Je m'appelle XXX ».

#### Formulation

Une formulation est une manière différente de poser la même question.

#### Base de Connaissances

La base de connaissances comprend toutes les connaissances de votre bot.

#### Base sociale

Il s'agit d'une base de connaissances regroupant les interactions dites sociales, communes à tous les projets. Elle permet au bot d'apporter un aspect plus humain / intime à la conversation.

#### Arbre de Décision

Un arbre de décision représente un élément de connaissance divisé en plusieurs branches pour offrir plusieurs parcours à l'utilisateur

#### Push rules

Il s'agit des règles spécifiques et personnalisées que vous pouvez ajouter afin d'enrichir les règles de vos connaissances de type ciblage comportemental.

#### Redirection

Une redirection au sein d'une connaissance représente l'action de rediriger vers une autre connaissance à l'appel (peut-être automatique ou insérée sous forme cliquable).

#### Thématique

Il s'agit d'une catégorie de connaissances pour classer et retrouver plus facilement vos connaissances (par thème, etc.). Vous pouvez également ajouter des sous-thématiques.

#### Groupes de formulations

Les groupes de formulations sont des groupes de mots ayant une signification similaire dans un contexte spécifique.

Exemple : groupe de formulations de *"Comment modifier"* : "Comment changer" / "Modifier le" / ...

#### Phrases générales

Les phrases générales représentent les phrases ou réponses du bot pendant une conversation qui ne sont pas gérées directement par la base de connaissances et qui permettent de gérer des situations particulières à l'instar de l'incompréhension d'une phrase utilisateur.

#### Reformulation

En fonction de sa compréhension, le bot peut proposer des connaissances qu'il considère comme proches de la question de l'utilisateur. C'est ce qu'on appelle la reformulation du bot. Cependant, certaines connaissances n'ont aucun intérêt à être reformulées même si le résultat de la correspondance indique que ces connaissances sont proches de la question de l'utilisateur et pourraient donc correspondre à sa demande initiale. C'est le cas par exemple des connaissances sociales ou des connaissances telles que "je veux résilier mon contrat".

#### Slot:

La connaissance de type slot est utilisée pour capturer et enregistrer des informations. Ainsi, si l'utilisateur demande au bot « Je souhaite acheter un billet de train pour Paris le 8 juillet », le bot est en mesure d'extraire les informations « Paris » et « 8 juillet ». De plus, s'il manque une information dont le bot a besoin pour poursuivre la requête utilisateur, il sera en mesure de vérifier les Slots manquants et de demander l'information à l'utilisateur.

#### Espace de consultation

Il s'agit d'un espace sur lequel le bot s'appuie pour donner une réponse. Au sein d'une même base de connaissances, vous pouvez créer plusieurs espaces de consultation ; l'avantage étant que vous pouvez donner une réponse différente à une même question d'un espace à l'autre.

Exemple : « Comment vas-tu ? » - « Comment allez-vous ? » - « Tu vas bien ?" - « Comment ça va ? ».

#### Conditions de contexte

la condition de contexte permet de vérifier qu'une condition est effective pour déclencher une connaissance.

#### Conditions de rebond

Une condition de rebond permet d'effectuer une redirection vers d'autres connaissances après déclenchement d'un arbre de décisions.

#### Connaissances proches

Les connaissances proches sont des éléments de connaissance ayant un taux de similarité élevé avec une question de l'utilisateur. Vous pouvez consulter les connaissances proches lorsque vous utilisez la fonction de recherche (soit dans la boîte de dialogue de test soit depuis l'historique d'une conversation).

### Apprentissage

#### Conversation

Une conversation représente toutes les interactions entre le bot (l'opérateur dans le cas d'une conversation Livechat) et l'utilisateur.

#### Intéraction

Une interaction représente un échange question/réponse entre le bot et l'utilisateur.

Exemple : « Quel temps fait-il ? » + « Il fait beau. ». Cet échange équivaut à une interaction.

#### Mode de qualification

Le mode de qualification permet d'utiliser les connaissances à l'état publié et validé. Les conversations ne sont pas comptabilisées dans les statistiques.

### Intégrations

#### Chatbot ou Chatbox

Le chatbot représente le concept d'assistant conversationnel permettant d'effectuer un dialogue textuel en langage naturel via une boîte de dialogue (aussi appelée chatbox).

#### Livechat

Le service Livechat permet la connexion entre l'utilisateur et un opérateur humain afin d'échanger sous forme de messagerie directe via la boîte de dialogue.

#### Questionnaires

Le méta bot permet à votre bot principal de trouver des connaissances dans d'autres bots.


# Contenus

Créez et enrichissez les connaissances!

<figure><img src="/files/tsDObub5yiBRKXvb75E6" alt=""><figcaption></figcaption></figure>

La gestion du contenu au sein de la plateforme DYDU s'appuie fortement sur sa base de connaissances qui est au cœur du système. Les fonctionnalités clés pour la gestion du contenu incluent :

**Édition de contenus**

* Interface intuitive pour la création et la modification des dialogues
* Possibilité d'ajuster des réponses préprogrammées

**Modularité des connaissances**

* Catégorisation des connaissances pour une meilleure organisation
* Gestion des tags pour une recherche facilitée

**Analyse et amélioration**

* Outils de suivi des interactions utilisateur
* Feedbacks utilisateurs pour affiner les réponses du bot

**Intégration et compatibilité**

* API pour intégrer la base de connaissances à d'autres systèmes
* Exportation et importation de contenus au format standardisé


# Connaissances

## Qu'est ce qu'une connaissance ?

On appelle connaissance le couple question + réponse. La question correspond à l'intention de l'utilisateur final que le chatbot doit comprendre. La réponse correspond au contenu que vous allez configurer et qui sera restitué par le chatbot à l'utilisateur final.

La base de connaissances comprend l'ensemble de vos connaissances ! C'est le cerveau de votre bot ! Vous pouvez organiser vos connaissances par thématique.

Une connaissance peut être simple : une question - une réponse, ou prendre la forme d'un arbre de décisions. L'arbre de décisions permettra au chatbot d'articuler des sous questions nécessaires à sa réponse finale.

## Configuration des éléments de connaissance spécifiques à votre bot.

Cette partie de la documentation technique vous aidera à comprendre la manière dont vous pouvez gérer votre base de connaissances ainsi que les différents outils à votre disposition.

Le bot comprend les phrases des utilisateurs grâce au calcul des distances entre les phrases. Le calcul est basé sur un mélange unique d'algorithmes du domaine public.

Votre base de connaissances contient toutes les questions que le robot comprend et les réponses associées. Les modifications apportées à la base de connaissances sont immédiatement accessibles en production, ce qui assure une grande réactivité.

Mais il est possible de mettre en place des processus de validation pour vérifier le contenu avant la publication [en gérant les droits des utilisateurs.](/preferences/droits-et-utilisateurs)

{% embed url="<https://www.youtube.com/watch?v=7vJOmjuqwx4>" %}


# Gestion des connaissances

Dans **contenus > connaissances,** vous pouvez gérer votre base de connaissances en créant des connaissances et des thématiques ou les modifiant en vous aidant de la [recherche et remplacer](#3-rechercher-et-remplacer) ou bien des[ vues filtrées](#2.2.-vue-filtree) mais aussi tester votre bot.&#x20;

## Fenêtre principale

A l'ouverture de la page **connaissances,** vous pouvez :

[1- Créer et tester vos connaissances](#1-creer-et-tester)

[2- Trier et filtrer vos connaissances](#2-trier-et-filtrer)

[3- Rechercher et remplacer vos connaissances](#3-rechercher-et-remplacer)

<figure><img src="/files/uWloy8JnWX9SirHaRT44" alt=""><figcaption></figcaption></figure>

### 1- Créer et tester

#### 1.1. Créer une connaissance:&#x20;

<figure><img src="/files/FJIPE5ECkyPM4bn3PB9V" alt=""><figcaption></figcaption></figure>

Vous pouvez [créer une nouvelle connaissance](/guide-de-premiere-utilisation/creer-votre-premiere-connaissance). Elle peut être de types différents : *Réponse à une question, Réponse complémentaire, Réponse prédéfinie, Ciblage comportemental, Slot*. Vous trouverez plus d'informations sur [cette page.](/contenus/connaissances/types-de-connaissances) &#x20;

La connaissance créée sera ajoutée à c**onnaissance sans thématique**. Il sera possible de lui attribuer une thématique plus tard.

#### 1.2. Créer une thématique:&#x20;

<figure><img src="/files/36QUSQLbrjcfjXvExPuJ" alt=""><figcaption></figcaption></figure>

Les thématiques représentent les principaux sujets abordés par votre bot. Celles-ci peuvent également être séparées en sous-thématique. Vous trouverez plus de d'information sur [cette page](/contenus/connaissances/gestion-des-thematiques).  Exemple de thématiques et sous-thématiques:&#x20;

<figure><img src="/files/Yktty0AozLdjKI0jYrN9" alt="" width="500"><figcaption></figcaption></figure>

La thématique "congés & absences" à pour sous thématiques " Congés payés" "Congé maternité",... .

#### 1.3. Tester vos connaissances

<figure><img src="/files/pebWkOEoSLbOLIKCN3dJ" alt=""><figcaption></figcaption></figure>

Les interactions avec le bot de test ne sont pas comptabilisées dans les statistiques. Les dialogues sont renvoyés à l'interface de test (Interface de configuration). S'il y a une correspondance directe, la connaissance est déclenchée quel que soit le statut **(même avec le statut Désactivée**). Tous les statuts (à l'exception du statut Désactivée) vous permettent de suggérer des reformulations de connaissances, à moins que N'afficher que les reformulations publiées ne soit activé dans les préférences (Préférences > Bot > Général). Si ces suggestions sont cliquées, le bot répondra qu'il comprend la question mais qu'il n'a pas encore la réponse (sauf le statut "Publiée" qui déclenchera la connaissance). Cette phrase peut être configurée dans les phrases générales.

\
Toutes les informations sur la boîte de dialogue de test sont disponibles sur [cette page.](/contenus/connaissances/tester-le-bot)

<figure><img src="/files/w39MyJxaUw600DZOzdHZ" alt=""><figcaption></figcaption></figure>

### 2- Trier et filtrer

#### 2.1. Trier ![](/files/hvgSNJHQFcWWabaeimEq)

Vous pouvez filtrer votre base de connaissances selon leur **Thématique**, **Statut**, **Alerte Qualité**, ou **Commentaires** laissés sur les connaissances.

<figure><img src="/files/dkTfclPWoATagUw1xyRd" alt=""><figcaption></figcaption></figure>

Les connaissances filtrées seront affichées dans une liste en indiquant le nombre de connaissances de chaque catégorie.

<figure><img src="/files/WAneJb5m6hNP1ESxE4KP" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:**  Lorsque vous utilisez le filtre Statut, le nombre total des connaissances affiché peut différer du nombre réel de connaissances que vous avez dans le bot. Par exemple, si vous utilisez des connaissances du type d'arbre de décision dans lesquelles des connaissances Enfants ont des statuts différents de la connaissance Parent, alors les statuts des connaissances enfant seront comptabilisés à part (indépendamment du parent).
{% endhint %}

#### Alertes qualité

L'intégrité de la base de connaissances est analysée régulièrement par notre système afin de vérifier la qualité des connaissances (disponibilité des liens, la longueur des réponses, la validité des reformulations, etc).

Nous avons trois niveaux d'alertes : *information, avertissement, erreur*. Les connaissances dont l'alerte est *erreur* doivent être corrigées en priorité, c'est la raison pour laquelle leur numéro apparaît en surimpression de l'onglet **Alertes**.

Vous pouvez directement configurer vos paramètres d'alerte

<figure><img src="/files/LqIdT0w2Vk5tHyopsgwP" alt=""><figcaption></figcaption></figure>

Pour plus d'informations sur les alertes, regardez la page [alertes qualité.](/contenus/connaissances/alertes-qualite)

#### 2.2. Vue filtrée ![](/files/jP9TVK2fLMyZ4tGQ4g57)&#x20;

<figure><img src="/files/ggXdZpWHVxv6YMCCNSH5" alt=""><figcaption></figcaption></figure>

Afin de rechercher une ou des connaissances dans sa base de connaissances, il est possible de filtrer par :&#x20;

* Types : connaissance simple , arbre de décision , slot, réponse complémentaire, réponse prédéfinie, ciblage comportemental.
* Statuts : publiée, publiée (modifiée), validée, à valider, invalide, brouillon, désactiver.
* autres  : connaissance avec slot définie, reformulable, demande la satisfaction utilisateur, contient un panneau latéral, contient une url de redirection, contient une redirection vers une connaissance, contient une action GUI, contient une réponse alternative, ignorée des statistiques, avec une date de départ, avec une date de péremption.

Pour les **statuts et types** de connaissances, le filtre s'effectuera en cherchant des connaissances avec un des types sélectionnés. C'est-à-dire, si je sélectionne arbre de décision **et** ciblage comportemental, la recherche m'affichera des connaissances du type arbre de décision **ou** ciblage comportemental.&#x20;

Pour les statuts, il est possible d'afficher uniquement les connaissances avec plusieurs statuts en cochant la case prévue à cet effet. &#x20;

<figure><img src="/files/llVy4baBHVBn5ocJfhG6" alt=""><figcaption></figcaption></figure>

Pour les autres filtres, chaque filtre est ajouté à la rechercher. C'est-à-dire que si je sélectionne "contient un panneau latéral" et "formulable", le résultat me montrera uniquement des connaissances avec un panneau latéral **et** reformulable.&#x20;

### 3- Rechercher et remplacer

La recherche vous permet de trouver rapidement une connaissance. Les mots saisis dans le champ seront recherchés à la fois pour les questions et les réponses. La recherche est effectuée à la fois par la correspondance textuelle (mot pour mot) avec les connaissances existantes et par correspondance avec l'algorithme NLP.

Les résultats sont affichés par ordre de pertinence. Voici comment cela fonctionne concrètement :

* Recherche dans les conditions via le moteur de correspondance (score) pour aider à déterminer l'ordre de pertinence ;
* Recherche de labels de connaissances (contenu du texte) ;
* Cherchez les réponses (contenu du texte).

#### Rechercher et remplacer

Cette fonctionnalité vous permet de **remplacer** un mot, une expression, un groupe de formulation par un autre, dans la question principale, les formulations et la réponse (y compris panneau latéral et modèle de réponse) quel que soit le statut. Pour commencer un remplacement, Cliquez sur le bouton **Remplacer l'expression** comme illustré par la flèche sur l'image ci-dessous :&#x20;

<figure><img src="/files/1fjTGOwntP2FHyjTCDj1" alt="" width="268"><figcaption></figcaption></figure>

*Exemple de remplacement "humain" par "robot":*

<figure><img src="/files/2KzWxGSeo6WPAnrMVLXJ" alt=""><figcaption></figcaption></figure>

Une fois que vous avez cliqué sur **"aperçu avant remplacement"**, une modale s'affiche. Dans cette modale vous pouvez voir les types de remplacement. Pour une meilleure visibilité, vous pouvez ouvrir ou fermer tous les remplacements avec les boutons en haut à droite ou sélectionnez ou désélectionnez tous les remplacements en haut à droite.

<figure><img src="/files/L40m18KhpS0mleg96QDQ" alt=""><figcaption></figcaption></figure>

Après avoir étendu la connaissance dans la modale, vous pouvez voir l'emplacement du remplacement, comme dans l'exemple ci-dessous:

<figure><img src="/files/xAB50Oy8KBAHLqKYnAFi" alt=""><figcaption></figcaption></figure>

Après avoir vérifié et/ou sélectionné les modifications, une modale sera ouverte pour votre approbation.&#x20;

<figure><img src="/files/LgMH66uprXCi9UXvREbO" alt=""><figcaption></figcaption></figure>

## Fenêtres de connaissances

Dans cette partie de l'écran, vous trouverez vos fenêtres de connaissances (phrases et réponses de l'utilisateur). C'est à travers ces fenêtres que vous pouvez modifier vos connaissances (contenu, options, etc.).

<figure><img src="/files/Uu8XdSwGGBHHbyqPUXN1" alt=""><figcaption></figcaption></figure>

Notez que vous avez également accès à une barre d'outils :

<figure><img src="/files/5IH8P0VIRn75iyTT03ur" alt=""><figcaption></figcaption></figure>

* **Thématiques** : cette option permet d'attribuer ou de modifier la thématique de la connaissance actuelle ;
* **Statuts** : permet de modifier le statut de vos connaissances ;
* **Statistiques** : cette option vous permet de visualiser les analyses de connaissances ou d'activer le paramètre d'analyse ignoré ;
* **Conditions de rebond** :  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAjCAYAAADmOUiuAAAACXBIWXMAABYlAAAWJQFJUiTwAAABPElEQVRYhe3WMUvDQBjG8aciOQRBKVKpgovYxTq1aza3bC6FLq76jfwEQru3H6BZr1PSJSGDGYwKNqYGSrvERYOU0jZ5r5rh/W8H4e7HHZeklCRJggK389+AdTGQGgOpMZAaA6kxkBoDqe1uc/IwihFOYnh+gHEUI4w+cXtzjT2hbTxHZqC0XJjSxl3bWLuQ5wfo9gfpWAgtEw7IccSe/4LgbYyHxx6ms/nKZ5tXF2jUa+n4pFLOulx2YMvQ0ajXNkJKy8XQdiC+d+30+CgzsJT3j7rTMzG0HVQr5aXHLS0X3f4AQmi4bxt4fn3HdDaH3rz8G+Aq5CIuz9EqAS5DjpwnZTglwN/Iw4N9fESxMhyg6D3YMnQASC+EKhygaAd/MuUI52dVZThAMXAbFf5bzEBqDKTGQGoMpFZ44BcqX4q5paaFbQAAAABJRU5ErkJggg==) ce bouton vous permet d'ajouter des conditions de rebond ;
* **Voir la cartographie des connaissances** : ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAjCAYAAADmOUiuAAAACXBIWXMAABYlAAAWJQFJUiTwAAACjUlEQVRYhe2WP0gbcRTHPynlrgdK8AqxyRBLJVliBiVQQTsZHZQK2qEotOjUZqsdu5QuXe3WbrYUCnVQKNQh2kXjUBrMELMkKJpCgoGeRgP3Z0mH2KvSQnt/bDPkO93v9+Ddh/d+38fz1Ov1Ok2sS/8b4E9qATpVC9CpWoBO1QJ0qqYHvOxWonS2QHJzC4CRgT5i0ZAreV0BPKzWWFxZ5/ZQPwCLK+tEwl1IouA4tystVqonAMSiIbNypYNvbqR2p4LdQT9+n8ybpTWU6gl+n0x30O9Gajx21y1VN8gV9gGIhLrQNIONdA6A4cFeAHKFfSRR5Ebwmu122wacX1hGqdYAkL1tzM1OsFMsA42Kzi8s0+FtR9V0PB4PD6dGbQHaeoM7xTLlisKTxF0ez05QriiUKsq5OMDMZJyZO8MoRyfn4lZk6w3K3nag4d4fUjUdVTd+nnXDPB8d1/59i5OpDGuncy8+0MdhtcZOsQRAT/g6qmaQK+wBMD7Ub3su2gYEzApJokAylWH3a6O1sZ7GuDkbtyvLgKWKYrr1VixiwkXCQUoHjXcW6JTJ5YuMDPai6g13S6JALBoi4JMvFvD5y/cEOq8CsFssE4uGGR+6yWG19suYWU1lSGfz+H0y2mk152YnLAFacnGponB0XGu4czKOphtEQkEAXi+tsp3fYzu/x6t3H5FEgUgoiKYbJKbHmPuN2/9Gllwc8MmIosCHT5/NO9nbbo6dZ4/uAfD0xVtKFcV0++pmBlUzEEXBcostj5nE9BjJ1BaqpvNgapQOb5sZS2cL5neHtw1JFLg/GWfjyzbSFZHE9JjV3zlz8VmlswWSqdN1a9C9dcs1wItS02/ULUCnagE6VQvQqb4Dc2EVmEjbAC4AAAAASUVORK5CYII=) ce bouton vous donne accès à la carte des connaissances en se concentrant sur les connaissances actuelles ;
* **Passer en plein écran** : ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAAfCAYAAAB6Q+RGAAAACXBIWXMAABYlAAAWJQFJUiTwAAABBklEQVRYhe2WQQ6CMBBFP8ZDoAkkyglkq0viRbyDnkHv4EWAJWzlBMWkJJZb4MJYEUwsQ6Ni+lYMlMwLHWZqVVVV4ccZfVtABSOpCyOpCyOpCyOpizH1xe3+2LoXLH2sVwsAQJhkiNNTa81ht+mciywJADPHhudOZey5duPalzHjF5yLkpSnl6TnTuWXaz+bwHMnMg4TkCUHUZODkCRvd7D0n2rwHc0a7YJlzpOaIEuGSQbGhfJ6xgWiNCPlIkvG6QmMq7cUxktESbu5q/Df2/1Jek2cvBCI0kc8d2w5ZRgXyGsTJi/U67dJP0kukNd+nlvvvEuWLw8YFEyf1IWR1IWR1MUgJK8JJ0+Q7cEebAAAAABJRU5ErkJggg==) ce bouton permet d'afficher les connaissances en plein écran ;
* **Fermer la connaissance** : ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAdCAYAAABSZrcyAAAACXBIWXMAABYlAAAWJQFJUiTwAAABCElEQVRIie3VvwqCQBwH8G8NWiBEDkK9T5Ojm1OjvVD4AllrkE0uTb1FQ1CSkCJIqcu1GJgpXZdhwX23gx/3+Q73p0UIIWgo7aZgjnOc47+HB2EEc77G0fMrZ65J+nKGCV/YG+z2LkzLLt38mqQwLRu7vYuls60XH2sjDBQZcYbkC9xh1/MxUGSMtRHVnq133vY80hEFGLqKfk96gA1dRVcU6sfLCvR7EhPMhBcLAGCCAcarFoQRgjCqXH8NP3o+TMtGnKQQRaHyENaOF+GJrsLQVeYC1HgZPFRkdLNTz1KAGl862yf4nmIB2kcGhDKXOCHT2YocTuePZvJhump15T9+NY5z/O/xG7WkMG6DLKpHAAAAAElFTkSuQmCC)  ce bouton permet de fermer la connaissance et d'afficher la liste des connaissances.

### Liste des connaissances

Les connaissances du bot sont listées dans cette vue.Plusieurs regroupements de connaissances sont disponibles à travers les onglets :

### Thématiques

Les thématiques permettent d'organiser les connaissances en fonction des thèmes abordés dans la question. Ils sont également utilisés pour obtenir des informations sur les catégories de questions les plus fréquemment abordées par les utilisateurs au cours d'un dialogue. Rendez-vous sur [Management des Thématiques](/contenus/connaissances/gestion-des-thematiques) pour plus d'informations.

### **Types de statut**

Les connaissances peuvent suivre un flux de validation avant d'être publiées et disponibles via le bot. Cette vue vous permet de trouver rapidement les connaissances en fonction de leur statut.

<figure><img src="/files/qGClOpSBRCkp3nrceIA6" alt=""><figcaption></figcaption></figure>

Une connaissance peut avoir les statuts suivants :

* *Désactivée* : les connaissances sont complètement ignorées. Ces connaissances ne peuvent pas être suggérées dans les mots-clés et sont mal comprises par le bot de test. Une connaissance avec ce statut déclenche la phrase d'incompréhension du bot.
* *Brouillon* : la connaissance est en attente d'écriture et le bot dira qu'il comprend la question mais n'a pas encore la réponse. Les connaissances sont comprises par le bot de test.
* *A valider* : la connaissance est en attente de validation et le bot suggérera qu'il a compris la question mais n'a pas encore la réponse. Les connaissances sont comprises par le bot de test.
* *Validée* : la connaissance est validée et est en attente de publication. Le bot indiquera qu'il a compris la question mais qu'il n'a pas encore la réponse. Les connaissances sont comprises par le bot de test.
* *Invalide* : la connaissance a été vérifiée par une instance de validation qui a déterminé que le contenu doit être revu. Le bot suggérera qu'il comprend la question mais qu'il n'a pas encore la réponse. Les connaissances sont comprises par le bot de test.
* *Publiée* : les connaissances peuvent être utilisées par le bot pour répondre aux utilisateurs.
* *Multiple* : une connaissance cumule plusieurs statuts (par exemple : une connaissance publiée et une autre à valider)
* Cas particulier : statut *Publié (modifié)*

Lorsqu'un éditeur (sans droits de publication) met à jour une connaissance *Publiée*, le statut de la connaissance est maintenant *Publiée (édité)*. Ainsi, jusqu'à ce qu'un administrateur (ou un utilisateur disposant de droits de publication) la publie, l'appel de connaissances affichera l'ancienne réponse.

Pour plus d'informations sur les droits des utilisateurs, veuillez consulter cette[ page.](/preferences/droits-et-utilisateurs)

**Impacts du statut des connaissances sur les bots de test**

Le comportement de votre bot peut différer selon le statut et la boîte de dialogue (bot de test dans BMS, chatbox de test, chatbox en production intégrée sur un site) sur laquelle vous effectuez vos tests. Voici le détail de ces comportements :

### Publier ou dépublier les connaissances en masse

Pour publier ou dépublier les connaissances en masse, rendez-vous sur **Contenus > Connaissances** cliquez sur l'onglet statuts. Puis cliquez sur les **...** pour faire apparaître le menu déroulant. Dans ce menu, vous pouvez choisir les statuts suivants :

* publiée
* validée
* à valider
* invalide
* brouillon
* désactivée

## Commentaires

Toutes les connaissances du bot ayant un ou plusieurs commentaires sont dans cette liste, cliquez sur une thématique permet d'afficher la liste des connaissances correspondantes. Cliquez sur la ligne affiche alors la connaissance au centre de la page. Obtenez plus d'informations sur [cette page](/contenus/connaissances/commentaires).


# Gestion des thématiques

Les thématiques représentent les principaux sujets abordés par votre bot. Celles-ci peuvent également être séparées en sous-thématiques. Dirigez-vous sur la page **Contenus > Connaissances**.

<figure><img src="/files/AIS7OaVa424nHDLLyXPo" alt=""><figcaption></figcaption></figure>

La gestion des thématiques a plusieurs intérêts :

* **Classification des connaissances :** chaque élément de connaissance ne fait généralement référence qu'à un seul sujet. En classant les connaissances grâce aux thématiques, vous serez en mesure de trouver facilement les éléments de connaissance en fonction du sujet dont ils traitent ;
* **Connaître les sujets abordés lors des dialogues :** la classification des connaissances avec des thématiques permet au moteur de dialogue de calculer des analyses sur les sujets traités ;
* **Revoir les dialogues sur une thématique choisie :** pour observer les réactions des utilisateurs sur un sujet spécifique, vous pouvez afficher uniquement les dialogues qui couvrent un sujet lié à une thématique sur la page des dialogues.

### Créer, renommer, supprimer une thématique

Les thématiques sont gérées à partir de la page **Contenus > Connaissances**.

1. Pour ajouter une thématique, cliquez sur **Créer thématique** :&#x20;

<figure><img src="/files/WldoxZdkQSfHnEBNho6L" alt=""><figcaption></figcaption></figure>

2. Entrez le nom de votre thématique dans le champ et cliquez sur **Créer**. La nouvelle thématique apparait dans la liste.

Comme les thématiques sont basées sur l'arborescence, vous pouvez créer des sous-thématiques pour les thématiques de niveau supérieur en utilisant le menu contextuel à droite de celle-ci.

1. Cliquez sur **...** à droite d'une thématique.

<figure><img src="/files/OBIMzEaMe9PrG3fXuZYp" alt=""><figcaption></figcaption></figure>

2. Cliquez sur **Nouvelle sous thématique**.
3. Entrez le nom de votre sous-thématique et cliquez sur **Créer**. Votre thématique est créée.

Notez également que ce menu vous donne la possibilité de renommer une thématique, de changer sa couleur, ou d'exporter une branche de thématique avec les connaissances associées au format excel.

Vous pouvez supprimer une thématique si elle ne contient aucune connaissance. Pour ce faire, déroulez la thématique vide pour afficher l'option de suppression.

Remarque : la thématique **Connaissances sans thématiques** ne peut pas être supprimée.

### Attribuer des connaissances aux thématiques

Lorsque vous souhaitez créer une connaissance directement dans une thématique ou une sous-thématique, utilisez le menu contextuel de celle-ci et cliquez sur **Créer une connaissance** :&#x20;

<figure><img src="/files/ZFIYMM1QjqVVGSbCzi2w" alt=""><figcaption></figcaption></figure>

Vous pouvez déplacer les connaissances d'une thématique à l'autre par simple glisser-déposer.


# Types de connaissances


# Réponse à une question

Notre solution no-code vous permet de créer différents types de messages envoyés par votre bot conversationnel. Dans cet article, nous allons expliquer comment créer une réponse du bot à une question.

## Créez une connaissance "Réponse à une question"

{% embed url="<https://youtu.be/lsO99bXVn7o>" %}

Une connaissance **Réponse à une Question** est composée de la question de l'utilisateur et de sa réponse correspondante. Pour des scénarios de conversation plus complexes où vous devez fournir différentes réponses en fonction des informations données par vos utilisateurs, vous pouvez également créer un arbre de décision. (Nous expliquons le concept ici)

Pour créer une telle connaissance, veuillez suivre ces étapes :

1. Dirigez-vous sur la page **Contenus > Connaissances**.

<figure><img src="/files/deIyTIEjgUMN6pmlyZsf" alt=""><figcaption></figcaption></figure>

2. Cliquez sur le bouton **Créer connaissance**. (Vous pouvez également sélectionner une thématique et cliquez sur **... > Nouvelle connaissance**. Cette deuxième option vous permet d'attribuer une thématique directement à votre connaissance.

<figure><img src="/files/AtvsqJ6g9o1PAxwh9dKr" alt=""><figcaption></figcaption></figure>

3. Cliquez sur **Réponse à une question**.

<figure><img src="/files/DBXX6S17GXWWY7D2J2w3" alt=""><figcaption></figcaption></figure>

4. Entrez la question de l'utilisateur et cliquez sur **Créer**.

<figure><img src="/files/NKwLS9rZtG2N7MV6DN9S" alt=""><figcaption></figcaption></figure>

Vous pouvez utiliser des [groupes de formulations ](/contenus/groupes-de-formulations)pour remplacer certains mots dans la question de l'utilisateur. Pour insérer un groupe de formulation dans la question de l'utilisateur, cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAWCAIAAAC63aDhAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAM1JREFUOI1j/P//PwOVABO1DBrEZrGg8b/9/PXs5Vs0QSlxYS52NpLNevrizfTlW9EEMyO9VeWlSDYLAvoqUrcfPnv30fOcaJ+ijtkMDAy3Hz4jaAe6WdISIpmR3mgapCVEIAxkcUyj0c3iYmdD8w6cS9CbtE8TRR2zdx89d+/xc0hgEQmwhz1a0JBp1tuPn09fvuVhY0yGWeh+fPfh864j58gwCItZlABa5kcI2HHkLBXM4uJgV5KVvPPwOUGdSrKSXBzsyCKMo+UqSQAAtshCQBFSIiUAAAAASUVORK5CYII=) .

Lorsque vous cliquez sur **Créer**, le bot va vous suggérer automatiquement quelques groupes de formulation disponibles dans votre base de connaissances existante. Vous pouvez accepter ou ignorer la suggestion. (Pour l'ignorer, cliquez sur "Créer" à nouveau).

<figure><img src="/files/lA1JHq4RVGF4BOFGGZ5u" alt=""><figcaption></figcaption></figure>

5. Une fois que vous avez créé la question, entrez la réponse correspondante dans la zone Réponse en-dessous.

Vous pouvez utiliser différentes options de formatage et ajouter des actions supplémentaires à votre réponse (faire une escalade Livechat, afficher un panneau latéral, modifier des variables capturées...).

<figure><img src="/files/wQZByDbqsnNunx2dCSKR" alt="" width="451"><figcaption></figcaption></figure>

La réponse est formatée en HTML et peut donc contenir tout type de formatage valide en HTML.

Pour plus de conseils sur la création d'une réponse pertinente, référez-vous à [cet article.](/contenus/connaissances/elements-de-reponse)

6. Enregistrez votre connaissance avec le [statut ](/contenus/connaissances/gestion-des-connaissances)approprié puis cliquez sur **Mettre à jour**. Votre connaissance est maintenant créée.

<figure><img src="/files/M63X99hSqAyOhfm5mcia" alt=""><figcaption></figcaption></figure>

## Allez plus loin avec la question de l'utilisateur

### Description Métier

Cette fonctionnalité permet au système de mieux comprendre ce que veut l'utilisateur et de trouver la bonne réponse, même si la question n'est pas formulée de manière exacte ou n'est pas comprise par les méthodes de recherche habituelles.

{% hint style="info" %}
Pour activer la fonctionnalité de description métier, il est nécessaire d'importer le modèle "**Dydu LLM Business description**" dans les [NLP externes](/developpeurs/reference-api/nlp-externes#dydu-llm-business-description).
{% endhint %}

#### Configuration

Pour que cette recherche fonctionne, vous devez remplir **un champ dans chaque connaissance**.

<figure><img src="/files/mKJAnJjaKyo5EqqoWlKx" alt="" width="313"><figcaption></figcaption></figure>

Un champ "**Description métier**" est disponible pour chaque connaissance.

* Ce champ est **facultatif**.
* Utilisez-le pour **décrire**, avec des mots simples, à quoi sert cette connaissance ou dans quel cas elle doit être utilisée. Plus cette **description est claire**, plus **le bot est précis**.

#### Objectif et Fonctionnement

Le système utilise son moteur de **compréhension avancé (LLM)** pour analyser le sens de la question de l'utilisateur.

* La recherche par **Description Métier** est activée automatiquement quand le bot ne trouve pas de réponse claire **avec ses méthodes de recherche classiques**.
* Si le système trouve une similitude avec une connaissance, il **dirige automatiquement** l'utilisateur vers cette connaissance.
* S'il ne trouve rien, **le bot affiche un message neutre**, indiquant qu'il ne peut pas aider sur ce sujet.

Exemple de réponse :

<div><figure><img src="/files/W6CRelo9lRoamXsnZcWN" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/nhK2tcLkdav4JPUmvC0S" alt="" width="277"><figcaption></figcaption></figure></div>

### Formulations associées à la question de l'utilisateur&#x20;

Une fois que vous avez créé une connaissance "Réponse à une question", vous pouvez modifier la question de l'utilisateur, qui correspond en réalité à une des formulations possibles pour exprimer une intention, en cliquant sur le bouton![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAWCAYAAAArdgcFAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wcQCBYZyN0ErAAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAHeSURBVDjLrZTda9pQGMZ/jWeGhDVusx8otuLWrR0TSgfdxQr777eLMXBlFgq1FTsxVlFJ3M4ayceuzNQkmtqdm8OBvL/znOd5824EQRDwyJWEUNaBdQdjag0T1/NZpm3jocpvOkMuWj0ANrUsZ9UyIqM8XnmtYXLR6iEyCpXdZ9jS4UfzLtEqkQbqej61K5PuaIyhq5weldCygonn0+5bAJwcFCIZKGnAn+stuqMxeUPjrFpGy4oQmDc02n0LSzqRcJcqt6TDt8ufSMeltJ3j5KAwV3zTGTKw/2DoKjldjYQrloG/1Fu4ns+b0haHe1tzxbWGSbtvsfv8Ke9fF2O7JhZ+27M4vzYBOH5VYH8nFxZPbbKlE/uaWWtEXA+fX5uIjMKHoxJ5Qw8/tqTD96sOtnR4V97hZfFFIjgWbo5+ITIKH6vlOR8HtuTrZRvX8yOvSVoRuP37nv3t3Bx4apPIKHw6rsSGt6g60ueu52NLh0rh33OnwWlZwenbvVjwIjRW+cT1AGiaQ+rNLq7nA2Doavibp50WQRBEZ8ttz0LeT8Kzpj6hmN8M50eSytnzdI/Ak5Sl8XhxV9KAV10WB049FdMEGLeLVYrXBa8cXOuCQ1vSBvhQcCTQ/2HF7CV/ASslo4fUp0eOAAAAAElFTkSuQmCC) .

Comme une intention peut être exprimée de différentes manières, vous pouvez ajouter des formulations similaires à la question de l'utilisateur via le champ **Formulation**. Cela vous permet de gérer facilement les différentes variantes de la question au sein d'une connaissance. Votre bot pourra ainsi comprendre davantage de questions. Cliquez sur **Ajouter** ou appuyez sur la touche **Entrée** pour valider.

<figure><img src="/files/IiSVCh9DpQ6GtEJj8w5q" alt="" width="563"><figcaption></figcaption></figure>

La formulation peut être ajoutée en entrant une chaîne de caractères (texte) ou en ajoutant [groupes de formulations.](/contenus/groupes-de-formulations)

Une fois ajoutées, les formulations peuvent être modifiées, supprimées individuellement ou massivement.

> Remarque : l'option de suppression massive n'apparaîtra que lorsque vous aurez plus d'une formulation. La fonctionnalité de suppression massive vous permet de choisir une formulation à conserver tout en supprimant toutes les autres.

<figure><img src="/files/wqjnBKw7ETGiL94b19X5" alt=""><figcaption></figcaption></figure>

Les formulations ajoutées sont triées dans l'ordre suivant (de haut en bas de la liste) :

* Nombres (triés par grandeur)
* Formulations utilisant des [variables par défaut](/contenus/avance/variables) telles que des entiers, des dates ou des adresses e-mail (triées par ordre alphabétique)
* Autres formulations telles que les groupes de formulation ou le texte brut (triées par ordre alphabétique)

Notez qu'une formulation ne peut être utilisée que dans une seule connaissance.

### Options avancées pour vos formulations

Il y a 4 onglets en bas du panneau d'édition de la question de l'utilisateur :&#x20;

<figure><img src="/files/Qj7EjYfOyoT2Bs5ES5DZ" alt=""><figcaption></figcaption></figure>

#### **Ajout**

Cet onglet vous permet de choisir le type de votre formulation :

* **Formulation** : c'est le type par défaut sans options spéciales.
* **Mot-clef** : les formulations seront créées en tant que **mot-clef**.

Le mot-clef a un poids plus important dans notre système de matching. Cela signifie que si le bot matche à la fois avec une connaissance A qui contient un mot-clef et avec une autre connaissance B qui ne contient que des formulations, la connaissance A sera toujours considérée par le bot comme la connaissance la plus appropriée, même dans le cas où B aurait un score de matching plus élevé. Enregistrez une formulation en tant que mot-clef a donc un impact important sur votre bot.

Les mots-clefs ajoutés en tant que formulation sont symbolisés par l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAXCAIAAABxgXNEAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAWpJREFUOI3F1FFLwlAUB/C/263hSC9qlgNRyh4F6bW+fAT1WlJ7ENKhGW7MZXfGZLq5Hq6KzNymSJ2nszP4cc65d0sFQYADhXAoKMaybIc5bnKLbJY8f97qDTv6J3+UJXKh5C+VfKyV2tzXo9q17Emo2KgplTMabYVn1K0xh4golIu0kE3zerM9cNxZtBWecTXaTb1KZQmAqhkdfQRgyJzo1rbunkMASoUMTyZxfYUtIoo8WZ2gbo15kpaOoq3wjJUiNUbfAO6bWimXcdypvURPqbxbX6VC5jx3suhoNLbX7lfrfRht/XInAKia0TOZ588BpI8JgMnUA1Au0usrZTeLh2U7hIhUljx//vDa5T1GcFHWeiThkn7bRBRu61UiCgD6Jnt6G+xvAXjRDL7BbVxSizlu32Trlb7JVM3Yx6Ky1KgtdpSVpawsAZgu21xEsEt0ja+7587M82ee3/6wQm+TnmOS+Kt/9H9aP1Ul5aMLcDOPAAAAAElFTkSuQmCC).

* **Exclusion**: il vous permet d'exclure une formulation. Cela signifie que le bot ignorera cette formulation dans son matching, et, par conséquent, la connaissance ne pourra jamais être déclenchée par cette formulation.

  Les formulations exclues sont symbolisées par l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAIAAABVH8vfAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAWxJREFUOI3NlD1vwjAQhi9fcjBKIjlFJEJ8VK06sDBQiX/Qn8x/yNgF2CBFKEqBVCFAQSFph6ip69qUgaHvZPus587v6Sydsg+4huSrUK4JUkWBaRAtVvFmfwQAYlZso9pxiaYIE0u/PUqz3Bv5BeJHTkUedFsW1rkgTgYuBQBOWe6NXkQVsaBpEHEpJWu+jLkh1qPFin+v1NgPJYA6MRi/WJConMaN1axZOtIw0obeRPVDxq+/268qcv++0btziYkx0vbHFL78SrNcCLLNCnPSu3XrtlFuk+2hWJyyfBZEQhAxqsyLaAoAzNffJkbJTgjquESlXGzWLDoarpPXt225XW/ehSBNkQfdVsnSkUZTnqcBCMQZEQvrT48P82U89sPC3c3usFjFIVVLIROjcyD6UUNvIroAAG2HlOtz7XeIoYqn1MSIdvAciPGLoQy6bfqEM/2M0iyfBVGU7IoemRi1HcJ08yLQhfp/X+0nekqPmd38PmsAAAAASUVORK5CYII=) .

#### **Chercher**

Cet onglet vous permet de voir les détails du matching entre une phrase de votre choix et les formulations existantes dans la question de l'utilisateur.

Entrez une phrase et cliquez sur **Chercher**. Vous verrez à quel point cette phrase correspond aux formulations que vous avez déjà ajoutées. Cela vous donnera une meilleure idée sur la pertinence de vos formulations.

<figure><img src="/files/h5C4ylQlThHVxTTznvVU" alt=""><figcaption></figcaption></figure>

En cliquant sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAVCAIAAABHbRCDAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAPZJREFUSIlj/P//PwONAROtLaCTHSwkqXZycv769Sucy83NvW/fXoK6hktYDRc7SIvzjMyMX79+HTp4kIGBwc7eno2Njfp2hIWGMjAwvHj+nIGBISY6mkhdjHjyeVFR8dGjR0lyhLW1dV9fL5ogAX/k5uViurenp4eBgaGkpARNfMnSpefOnsM0BLsdS5YuZWBgePbsGSMjIwMDg5CgkJeXJwMDw6rVq3/9+nXr1i2IGjY2Nkjobdu2/d37d+fPnX/27BlEL7LLsIeVubkFMldZWXnZsqUMuPN5VFT03bt3kbWcPHkCzh4u+WO42IEvf1ALDJewAgAAVFoUhKAOxQAAAABJRU5ErkJggg==) , vous pouvez obtenir plus de détails sur le matching.

<figure><img src="/files/i2ftBM6eJDiLZBewTDlp" alt=""><figcaption></figcaption></figure>

#### **Options**

Il y a 3 sous-menus dans cet onglet :&#x20;

<figure><img src="/files/mJf0s6JtN9m5se2Bj3Jh" alt=""><figcaption></figcaption></figure>

* **Export :** cela permet d'exporter, dans de différents formats, des fichiers contenant toutes les formulations associées à la connaissance ;
* **Ajout massif :** cela vous permet d'ajouter plusieurs formulations à la fois. Entrez simplement des formulations (séparées par des sauts de ligne) ou copier-coller une liste dans le champ dédié, puis cliquez sur **Ajouter**.
* **Options :** cela vous permet d'effectuer des actions avancées sur votre connaissance :
  * **Correspondance stricte sur les formulations** : lorsque cette option est activée, la connaissance ne sera déclenchée que s'il y a une correspondance "textuelle" exacte entre la question de l'utilisateur et la formulation. Par exemple, si deux lettres d'une formulation sont inversées dans le message saisi par l'utilisateur, la connaissance ne sera pas déclenchée via cette formulation.
  * **Phrase de reformulation spécifique**: vous pouvez trouver plus d'informations[ ici.](/contenus/langues-espaces)
  * **Activer la reformulation** : lorsque cette option est activée, cette option autorise le bot à utiliser cette connaissance comme une [**reformulation**](/guide-de-premiere-utilisation/glossaire) lorsqu'il ne peut pas trouver de matching direct entre la question de l'utilisateur et votre base de connaissances.
  * **Connaissance non exportable** : lorsque cette option est activée, la connaissance ne peut pas être exportée.
  * **Exclure des top connaissances** : lorsque cette option est activée, la connaissance n'apparaîtra pas dans le menu Top Connaissance de la chatbox, que ce soit automatique ou [manuelle.](/contenus/avance/top-connaissances)

<figure><img src="/files/9NVwLUMEXaecRS0HYTPi" alt="" width="563"><figcaption></figcaption></figure>

## Arbre de Décision

Un arbre de décision peut être utilisé pour gérer la logique conversationnelle d'un bot dans les cas suivants :

* Quand la question d'un utilisateur est trop vague ou peut aboutir à différentes réponses en fonction des situations ;
* Lorsqu'un utilisateur saisit une phrase qui n'a de sens que contextuellement.

Pour créer un arbre de décision, il suffit de cliquer sur le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAIAAAADwcZiAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAA6BJREFUWIW1l81u20YQx3f2k5Tsgw34FXoo0EsPvbUP0TforS+Qp+gL5NY3yEM0PaVALgFSoGcDilHBYmTatHZ2dnMYe7miFImxpDkIpDjcH2d3Zva/kFISL7W/PvyXr3/54bvxL8oXIw8xPd41z0q+iJHy0xijEAIAAOAI1AGsvGVSvgWAlBI77MbvopaAjMwmhIghPLkCEBEUxj5fY8PWbCr/jDGWJCkljyWlzN/xiKgBOHQpZfbhEdhzD3Uwh/mrjTE7JoYthICI/E1sW8FD6gAZYxzJK221WhGR1vpr4DXqJlJKqfU35Hk2RPTea62VUpvgfsQBkoiUUi9DCiF4elarVcnjlRKbOXwUZAanlHiZGZypMsNEURgAcCCSzVqbUiKisvbEoCNyoCEEa+3hSLbpdIqIRMR11VPLQGOMSqkxw7199/Hvf/7d68YlEEIow+17GCdtCKGu6zHUqx9/E0L8//7PvZ4ppeVy6ZxTSimlAKBfVw50TO/+VuOmkVc3pSQHzXazex3FlFLc5vh2GOuJqFrrECiD+2ziixNRAYA346fKZD53BkQ8Ozvb+trbdx9//f2PvaO/ef3q55++3/poPp/XdW2MUUr1keVkPpGV69rHypvUdDodOcnjK0cIgYiLxWIymVhr12JlI6Ktrx1opdYRmxrxRFTv/XYqaw5EPAW16zqWNWvUrLIQw9FzKsa4Wq24Q/X7K0u6zO66bjKZ7B3rzetXI6lN81kpJaXKCMgbEBERkfceES8vL4/VkGOM19fXzjlOYK01APRznfUmgGyaz0dBCiFmsxkAsHravq5SSqWU1ioEvL+/Pxw5n8+998YYbkk5e4Y5zFpSa9O27YHgtm1vb2+11lkprmlEzqYy3JRSjHq5XMYYz8/PX4BcLJpPn2a8lnk5eYYBYE2SlVQWWnd3dw8PD1dXV+P3opTSzc3NYrGo69paa6176vhSMkKUKjyLGt5/iCiE4L333ocQptPpxcXFbnZKqW3b2WwWY6yqyjnnXOWcNcbk6eXfofzMx6byHwBo27ZpGmttVVV1XWutq6oSQiBijPHx8bHruqZpiMgYw1E6V1lrynNHXy+7TxwcMWJA9LwpIWIIgZ9m8fycg1prbYxxzhljGbnnxCHWm1T24GutFSIqpVhmxmfLup5HN8ZorTl9xp6utkbMAbGMJqIQiCiUcn691tfqZOxJcgAW66fmUu48f1aS8qmty8LKOtlsrl8Atm0QkeA8OSkAAAAASUVORK5CYII=) . Ensuite, répétez le même processus d'édition de la question de l'utilisateur et de la réponse du bot. Un arbre de décision ressemble à cela dans le BMS :&#x20;

<figure><img src="/files/pELc4KTRWEMJyiOM7CeN" alt="" width="563"><figcaption></figcaption></figure>

Pour plus de conseils sur la création d'arbre de décision, référez-vous à[ cet article.](/contenus/connaissances/arbre-de-decision)

Prochaine étape : pour enrichir le contenu de vos réponses, consultez[ cet article](/contenus/connaissances/elements-de-reponse) pour plus de conseils et d'astuces.


# Réponse complémentaire

Ce type de connaissance permet d'ajouter un complément de réponse en fonction de données propres à l'internaute ou d'éléments extérieurs. Plus concrètement, le déclenchement des réponses complémentaires s'effectue par le biais de conditions.

L'intérêt majeur de la réponse complémentaire va être d'apporter une réponse pouvant survenir sur un grand nombre de connaissances (une thématique ou bien même l'ensemble de la base de connaissances). Ainsi, la mise à jour de cette seule réponse complémentaire sera nécessaire, ce qui s'avère être très pratique lorsque vous souhaitez informer vos utilisateurs d'une information temporaire ou évolutive.

Note : afin de mieux comprendre l'intérêt et la manière d'utiliser les réponses complémentaires, il est conseillé de reproduire le cas pratique (en-dessous de la partie théorique).

**Quelques exemples**

Si l'internaute souhaite mettre à jour un élément de son dossier, il est possible d'afficher à la fin de la réponse prévue pour cette question, un complément d'informations qui lui rappelle qu'un autre élément de son dossier n'est pas à jour.

Pendant une période de promotions, en complément, il serait possible d'informer l'internaute qu'un produit est en promotion ou bien même qu'un nouveau produit est disponible.

La réponse complémentaire pourrait également être utilisée pour mettre en avant une action à effectuer sur une certaine période, comme l'actualisation de sa situation pour Pôle Emploi.

Pour créer une réponse complémentaire,

1. Dirigez-vous sur la page **Contenus > Connaissances**.

<figure><img src="/files/OCyeqncfT5Tozl9mBThH" alt=""><figcaption></figcaption></figure>

2. Cliquez sur le bouton **Créer connaissance**. Ou sélectionnez une thématique et cliquez sur **... > Ajouter des connaissances**. Cette deuxième option vous permet d'attribuer une thématique directement à vos connaissances.

<figure><img src="/files/AtvsqJ6g9o1PAxwh9dKr" alt=""><figcaption></figcaption></figure>

3. Cliquez sur **Réponse complémentaire**.

<figure><img src="/files/amfhz9nOQEB9MMWAMkjI" alt=""><figcaption></figcaption></figure>

Lorsque vous sélectionnez ce type de connaissance, voici ce qui apparaît :&#x20;

<figure><img src="/files/uXaRWsGMscy22X9WZLhJ" alt=""><figcaption></figcaption></figure>

4. Effectuez un double clic sur la fenêtre bleue ou cliquez sur l’icône **Modifier** de la bulle bleue (condition de contexte) :&#x20;

<figure><img src="/files/iGT87ZQJSiDoRfbfGret" alt="" width="311"><figcaption></figcaption></figure>

5. Remplissez les champs des onglets **Configuration** et **Déclencheurs**.

<div align="center"><figure><img src="/files/r3y5yH42D2JKqGmqbliX" alt="" width="162"><figcaption></figcaption></figure></div>

* **Configuration :**
  * Label : ajoutez le nom que vous souhaitez donner à cette connaissance.
  * Activation : choisissez ici le type de fréquence d'utilisation de ce complément d'information.
  * Position : choisissez la position du complément avant, après ou à la place de la réponse sur laquelle vous souhaitez appliquer cette connaissance.

<figure><img src="/files/LMCuBuAIZcWGvCCgE4Sa" alt="" width="146"><figcaption></figcaption></figure>

* **Déclencheurs :**
  * Condition : la flèche de droite permet d'afficher la liste des [conditions de contexte](/contenus/conditions-de-contexte) créées au préalable. Sélectionnez la condition de contexte que vous souhaitez utiliser. Ce champ est **obligatoire**.
  * Thématiques utilisées précédemment : permet de limiter le déclenchement de la réponse complémentaire en fonction des thématiques (associées aux connaissances) utilisées pendant la conversation. Ce champ est **optionnel**.
  * Connaissances utilisées précédemment : vous pouvez déclencher cette réponse lorsque l'internaute a posé une question sur une connaissance ou plusieurs connaissances particulières. Ce champ est **optionnel**.
  * Filtre sur le type de réponse : vous pouvez choisir de déclencher cette réponse lorsque le bot répond directement, lorsqu'il reformule ou lorsqu'il ne comprend pas. Ce champ est **optionnel**.

Lorsque vous avez terminé la configuration de votre réponse complémentaire, cliquez sur **Mettre à jour**.

6. Complétez ensuite la fenêtre de réponse à l'aide des outils. Notez que vous pouvez consulter la page portant sur les [Éléments de Réponses](/contenus/connaissances/elements-de-reponse) afin d'obtenir un aperçu global des possibilités offertes par la fenêtre de réponse.
7. Sélectionnez votre statut et cliquez sur **Mettre à jour**. Votre connaissance est créée.

<figure><img src="/files/M63X99hSqAyOhfm5mcia" alt=""><figcaption></figcaption></figure>

### Cas pratique

L'objectif de ce cas d'utilisation est de créer une réponse complémentaire pour compléter chaque question de l'utilisateur ayant porté sur les variables.

Afin de réaliser le cas pratique, veuillez suivre les étapes suivantes :

1. Vous devez tout d'abord créer la condition de contexte adéquate. Pour cela, dirigez-vous sur la page **Contenus > Conditions de contexte**.
2. Cliquez sur **Ajouter** puis remplissez les champs comme ceci :&#x20;

<figure><img src="/files/QvURSq17ZnLvsl8Nsz93" alt=""><figcaption></figcaption></figure>

3. Cliquez sur la coche bleue. Votre condition de contexte est créée.
4. Dirigez-vous sur la page des **Connaissances** puis créez une nouvelle connaissance (**Réponse complémentaire**).
5. Éditez la bulle bleue puis remplissez les champs de l'onglet **Configuration** comme ceci :&#x20;

<figure><img src="/files/JXlnRI13GGHtWRx3iQcS" alt="" width="164"><figcaption></figcaption></figure>

3. Cliquez ensuite sur l'onglet **Déclencheurs** et remplissez les champs comme ceci :&#x20;

<figure><img src="/files/5HtdtWR6XTWJMTlI7GJ2" alt="" width="169"><figcaption></figcaption></figure>

Note : il est ici possible d'ajouter la thématique **Livechat** dans le champ **Thématiques utilisées précédemment** mais dans le cadre de cet exemple, ce filtre n'est pas nécessaire.

7. Cliquez sur **Mettre à jour**.
8. Éditez la fenêtre de réponse puis ajoutez-y la réponse complémentaire :&#x20;

<figure><img src="/files/1SxC0Z9tkATBDrEBbYvi" alt="" width="316"><figcaption></figcaption></figure>

Note : N'hésitez pas à insérer une séparation en début de votre réponse afin de séparer la réponse principale de la réponse complémentaire en deux bulles distinctes. Pour ce faire, veuillez cliquer sur le bouton de la barre d'outils :&#x20;

<figure><img src="/files/N3ZEGw6grLnFILO2Ut9I" alt=""><figcaption></figcaption></figure>

9. Cliquez sur **Mettre à jour** puis testez votre bot

<figure><img src="/files/IegD3OSDeiHtmQqppj5f" alt="" width="173"><figcaption></figcaption></figure>

Le premier terme « Variables » prononcé par l'utilisateur entraînera le déclenchement de la réponse complémentaire. Afin que celle-ci soit déclenchée à chaque interaction, il serait nécessaire de modifier le champ **Activation** et lui conférer la valeur **A chaque fois**.

Prochaine étape : afin d'enrichir le contenu de vos réponses, vous pouvez vous renseigner sur[ les éléments de réponses](/contenus/connaissances/elements-de-reponse) qui vous permettront de découvrir toutes les possibilités qui s'offrent à vous.


# Réponse prédéfinie

La réponse prédéfinie vous permet de préparer quelques réponses aux questions les plus fréquemment posées lors d'une session Livechat. Cela permet à l'opérateur de donner des réponses plus rapidement.

Note : Pour activer les réponses prédéfinies, vous devez activer le "mode livechat" dans Préférences > Bot > Général

Pour créer une réponse prédéfinie :

1. Dirigez-vous sur la page **Contenus > Connaissances**.
2. Cliquez sur le bouton **Ajouter** puis cliquez sur **Nouvelle connaissance**. Ou sélectionnez une thématique et cliquez sur **... > Ajouter des connaissances**. Cette deuxième option vous permet d'attribuer une thématique directement à vos connaissances.
3. Cliquez sur **Réponse prédéfinie**.

<figure><img src="/files/Wi0PgntxAy8ThjiV0YwW" alt=""><figcaption></figcaption></figure>

Lorsque vous sélectionnez ce type de connaissance, voici ce qui apparaît :&#x20;

<figure><img src="/files/AbUniiZde0SK74YTILrJ" alt=""><figcaption></figcaption></figure>

4. Saisissez un nom pour vos connaissances prédéfinies dans la case **Label**. Vous pouvez également associer cette réponse prédéfinie via un raccourci clavier. Dès lors, ce raccourci vous permettra d'afficher cette réponse prédéfinie pendant une session Livechat.
5. Cliquez sur **Mettre à jour**.
6. Complétez ensuite la fenêtre de réponse à l'aide des outils. Notez que vous pouvez consulter la page [Eléments de réponse ](/contenus/connaissances/elements-de-reponse)pour avoir un aperçu de ce que la fenêtre de réponse peut faire.
7. Sélectionnez votre statut et cliquez sur **Mettre à jour**. Votre connaissance est créée.


# Ciblage comportemental

Vous voulez maximiser l'engagement des utilisateurs avec votre chatbox? Le ciblage comportemental peut vous aider !

Comme son nom l'indique, une connaissance de type ciblage comportemental permet à la chatbox d'envoyer un message spécifique aux utilisateurs lorsqu'une action spécifique de l'utilisateur est détectée.

Par exemple, lorsque la chatbox détecte que ça fait 5 minutes que l'utilisateur consulte la même page, il peut intervenir et demander "Comment puis-je vous aider ?".

Dans cet article nous allons vous présenter comment mettre en place une connaissance de type ciblage comportemental.

### Démarrer : créer votre première connaissance de ciblage comportemental

1. Dirigez-vous sur la page **Contenus > Connaissances**.
2. Vous pouvez soit cliquer sur le bouton \*\* + Nouvelles connaissances\*\*, soit cliquer sur l'icône **...** à côté d'une balise, puis cliquer sur **Nouvelles connaissances** (comme le montre l'exemple ci-dessous). Cette deuxième option vous permet d'attribuer une thématique directement à vos connaissances.
3. Choisissez **Ciblage Comportemental**.

<figure><img src="/files/OshGU85jkFeoDgqyQxYX" alt=""><figcaption></figcaption></figure>

Voici à quoi ressemble une connaissance de ciblage comportemental :&#x20;

<figure><img src="/files/0o11hUmpDd7CztUimYLh" alt=""><figcaption></figcaption></figure>

* "Label" est l'endroit où vous allez nommer la connaissance.
* Le bouton "+" vous permet de définir les règles du ciblage. (Oui, vous pouvez définir plusieurs règles ! Continuez à lire.)
* La première case correspond à l'événement déclencheur. La seconde à l'opérateur (égal, supérieur/inférieur à, différent de...). La dernière à la valeur - ce peut être un nombre, un texte ou une URL.

Remarque : le BMS fournit des événements prédéfinis (consultez [Règles prédéfinies](#regles-predefinies) pour plus de détails).

4. Cliquez sur le ✓ pour valider.
5. Enfin, éditez dans la zone de réponse le message que vous voulez que vos utilisateurs voient lorsque l'action attendue est détectée par votre chatbox. (N'oubliez pas de mettre à jour le statut des connaissances à "publiée" afin que ces connaissances puissent être utilisées par le chatbox. )

<figure><img src="/files/9neviFHQY7IpAWNDMwCL" alt=""><figcaption></figcaption></figure>

### Devenir expert : utiliser des règles combinées

#### Règle combinée "ET"

Considérons le premier cas d'utilisation : nous voulons envoyer un message aux utilisateurs qui sont restés sur une page Web particulière pendant 10 secondes sans effectuer aucune action.

Pour ce faire, nous devons créer une connaissance de ciblage comportemental avec des règles combinées "ET".

La connaissance ne sera déclenchée que si TOUTES les conditions définies sont remplies.

Etapes :

1. Créer la première règle "la page en cours contient <mark style="color:blue;">**[www.dydu.ai](http://www.dydu.ai)**</mark>.
2. Cliquez sur le bouton "+ (ajouter un élément)" qui s'affiche à droite de la première règle lorsque vous y survolez.

<figure><img src="/files/V3KQln5FPwKWqJmR6wSr" alt=""><figcaption></figcaption></figure>

3. Définissez la règle comme "Durée d'inactivité supérieure à 10" puis validez. N'oubliez pas de cliquer sur "enregistrer" pour sauvegarder vos connaissances.

<figure><img src="/files/dGsDOioExJ7dhXuOeTXz" alt=""><figcaption></figcaption></figure>

#### Règle combinée "OU"

Considérons maintenant un deuxième cas d'utilisation : nous voulons envoyer un message aux utilisateurs qui SOIT sont restés sur une page web particulière pendant plus de 10 secondes sans aucune action, SOIT ont une adresse IP située en France.

La connaissance ne sera déclenchée que si l'une des règles définies est remplie.

Etapes :

1. Créer la première règle "la page en cours contient <mark style="color:blue;">**[www.dydu.ai](http://www.dydu.ai)**</mark>.
2. Cliquez sur le bouton "+ (ajouter)" juste en dessous de "Conditions" afin d'ajouter une règle "OU".

<figure><img src="/files/G7I41qxki9UY3U6L4FX0" alt=""><figcaption></figcaption></figure>

3. Définissez la deuxième règle comme "Pays égal France" puis validez. N'oubliez pas de cliquer sur "enregistrer" pour sauvegarder vos connaissances.

<figure><img src="/files/voX3Jnbom8FrwqgAeYe8" alt=""><figcaption></figcaption></figure>

Comme vous pouvez le voir visuellement, les règles "OU" sont toujours sur le même niveau alors que les règles "ET" sont sur un niveau hiérarchique. En fonction de vos besoins, vous pouvez librement combiner les règles "ET" et "OU". Par exemple, créez 2 règles "OU" dont chacune est composée d'une règle "ET". (Comme le montre l'image ci-dessous).

<figure><img src="/files/vb5pREvhYNJSe2jSZpKX" alt=""><figcaption></figcaption></figure>

#### Cas d'usage avec un Livechat

Vous pouvez même utiliser les connaissances de[ ciblage comportemental](/contenus/connaissances/types-de-connaissances/ciblage-comportemental) dans le cadre d'un Livechat.&#x20;

### Règles prédéfinies

Voici une liste des règles déclencheuses actuellement fournis dans le Bot Management System :

* **Temps d'inactivité :** est le temps d'inactivité sur une page (en secondes) ;
* **Durée de visite de la page :** est la durée de la visite sur une page (en secondes) ;
* **Durée depuis la dernière visite :** le temps écoulé entre la visite actuelle et la précédente du même utilisateur (en secondes). Les visites sont enregistrées pendant 60 jours (informations stockées dans le cookie *DYDU\_PUSH\_XXXX*) ;
* **Durée totale de la visite actuelle :** est la durée totale de la visite actuelle (en secondes) ;
* **Langue :** est la langue du navigateur (format : en-US) ;
* **Nombre de pages vues :** est le nombre de pages vues lors d'une visite ;
* **Nombre de visites de pages :** le nombre de visites d'une page ;
* **Compte global de visiteurs :** est le nombre total de visites sur le site ;
* **Page actuelle :** est une URL ou une partie de l'URL de la page actuelle (déclenchant la règle si cette page est actuellement celle sur laquelle l'utilisateur se trouve) ;
* **Page précédente :** vous devez ajouter ici l'URL ou une partie de l'URL de la page précédente à celle que vos utilisateurs sont en train de consulter - par exemple, les utilisateurs reçoivent un message d'appel à l'action après avoir abandonné la page de paiement sur un site de commerce électronique ;
* **Page consultée lors de la visite du site web :** vous devez ajouter ici l'URL d'une page particulière sur laquelle vous souhaitez envoyer un message à vos utilisateurs - par exemple, lorsque le robot détecte qu'un utilisateur consulte actuellement la "page de contact", il apparaît et demande "Puis-je faire quelque chose pour vous ?" ;
* **Pays :** le pays où se trouve l'IP de l'utilisateur ;
* **City :** la ville où se trouve l'IP de l'utilisateur ;

{% hint style="info" %}
Remarque : une nouvelle visite est comptabilisée après 30 minutes d'inactivité. Ainsi, si un utilisateur est inactif pendant plus de 30 minutes, deux visites seront alors comptabilisées.
{% endhint %}


# Slot filling

### Qu'est ce que le Slot Filling ?

Le but du Slot Filling est de récupérer tous les paramètres correspondant à une intention.

Afin de répondre correctement à l'utilisateur, le type de connaissance Slot est créé pour capturer et enregistrer les paramètres requis.

Grâce à cette fonction, le bot peut détecter si l'utilisateur a envoyé toutes les informations dont il a besoin. Sinon, il pose automatiquement des questions pour les obtenir.

<figure><img src="/files/Lt7WiNSHkkEWq7BIGOtO" alt=""><figcaption></figcaption></figure>

### Cas pratique : Commander une pizza

Ce cas pratique est basé sur une commande de pizza réalisée à travers le bot. Pour commander une pizza, deux paramètres sont nécessaires :

* le nombre de parts et
* le type de pizza.

Ces paramètres correspondent à des slots que nous allons créer et utiliser tout au long de ce cas pratique.

Nous allons dérouler notre exemple en trois parties :

* dans la première partie : nous allons créer le premier slot : le nombre de part ;
* dans la deuxième partie : nous allons configurer le slot filling (c’est à dire créer une connaissance qui utilisera ce slot) ;
* Pour finir, nous allons créer le deuxième slot (le type de pizza) et l’ajouter au slot filling existant.

**Partie 1 : Création du premier slot : le nombre de part**

Dans notre cas, le nombre de parts correspond à un nombre positif. Le bot s’attend donc à ce que l’utilisateur final renseigne un “entier”.

Nous allons ensuite créer une connaissance de type "Slot" qui permettra de comprendre la formulation de l'utilisateur quelle que soit la pizza qu'il renseignera parmi les pizzas disponibles. Afin de pouvoir ré-utiliser l'entier renseigné par l'utilisateur final, nous enregistrerons ce dernier dans une variable nommé "part".

Dans la réponse de cette connaissance de type "Slot" nous afficherons la saisie de l'utilisateur grâce à la syntaxe ${capture.part}

{% embed url="<https://youtu.be/gwh4mWZiTrQ>" %}

&#x20;

**Partie 2 : Configurer le slot filling (utiliser le slot crée dans une connaissance)**

Dans cette partie, nous allons créer une connaissance simple permettant de comprendre l’intention de l’utilisateur final « Je souhaite commander une pizza ». Au sein de cette connaissance, nous utiliserons le slot précédemment crée (le nombre de part) procédant ainsi à la configuration de notre slot filling !<br>

{% embed url="<https://youtu.be/cFZ32PO04hU>" %}

Lors de l'utilisation d'un slot dans une connaissance, plusieurs options sont disponibles :

Options générales (ces options seront appliquées à l'ensemble du remplissage des slots)

* **Phrase d'introduction** : la phrase d'introduction correspond à la première phrase affichée à l'utilisateur final lorsqu'il rentre dans le process de slot filling. Nous nous servons de cette phrase pour faire part à l'utilisateur qu'il y a des informations manquantes pour pouvoir traiter sa demande. Exemple : "J'ai besoin d'informations supplémentaires pour traiter votre demande".
* **Max. garbage count** : cette option permet de déterminer après combien de phrases incomprises le process de slot filling sera abandonné.
* **Leaving confirmation sentence** : cette option permet au bot de demander une confirmation à l'utilisateur pour abandonner le remplissage du slot.
* **Leaving sentence** : saisir une phrase de fin pour informer l'utilisateur que la demande de slot filling est abandonnée.

Nous nous servons de cette phrase pour faire part à l'utilisateur qu'il y va quitter le process. Exemple : « Etes vous sur de vouloir quitter votre demande en cours ? ".

Options du slot (ces options seront appliquées uniquement pour ce slot et dans ce slot filling)

* **Options** :
  * **Slot** : cet élément vous permet de sélectionner un slot ;
  * Variable name : c'est ici que nous définissons un nom pour la variable qui va enregistrer la réponse de la connaissance de type Slot (connaissance de type "Slot" que nous avons crée lors de la première partie)
  * \*\*Instructions \*\* : cet élément permet d'ajouter les phrases (et ses alternatives) pour redemander à l'utilisateur les informations manquantes. Vous pouvez décocher cette case afin d'indiquer que le slot est optionnel (s'il n'est pas donné par l'utilisateur final, le bot pourra quand même poursuivre le processus)
  * **Reset** : cette case (cochée par défaut) permet de réinitialiser la valeur capturée. Cela permet notamment de modifier la valeur du slot. Voici les différents comportements possibles :
* **Cas 1** : L'utilisateur dit « Je souhaite commander une pizza pour 10 » puis il dit ensuite « Je souhaite commander une pizza pour 3 ».
* Si la case n'est pas cochée, le bot comprend la valeur 10 et la conserve. Si la case est cochée, le bot comprend la valeur 3 et écrase la valeur 10 au profit de cette dernière.
* **Cas 2** : L'utilisateur dit « Je souhaite commander une pizza pour 10 » puis il dit ensuite « Je souhaite commander une pizza ».
* Même si la case est cochée, la valeur n'est pas réinitialisée : la première valeur comprise est toujours valide, soit la valeur 10.
* Onglet instructions :
* Question that ask the value of the capture : c'est ici que nous inscrivons la (ou les phrases) que nous souhaitons afficher à l'utilisateur final pour lui demander l'information manquante.

**Partie 3 : Créer un second slot (le type de pizza) et l'ajouter au slot filling existant**

Dans cette dernière partie, nous allons créer le dernier slot nécessaire pour procéder à la commande de pizza : il s'agit du type de pizza.

Comme plusieurs pizzas existent, nous choisissons de créer un groupe de formulations listant l'ensemble des pizzas disponibles.

Nous allons ensuite créer une connaissance de type "Slot" qui permettra de comprendre la formulation de l'utilisateur quelle que soit la pizza qu'il renseignera parmi les pizzas disponibles.

Comme lors de la création de notre premier slot, afin de pouvoir ré-utiliser le type de pizza renseigné par l'utilisateur final, nous enregistrerons ce dernier dans une variable nommé "pizza". Dans la réponse de cette connaissance de type "Slot" nous afficherons la saisie de l'utilisateur grâce à la syntaxe ${capture.pizza}

Enfin, nous ajouterons ce slot à la connaissance simple « Je veux commander une pizza » (connaissance que nous avons créée en partie 2)

{% embed url="<https://youtu.be/48LCrzk1OXY>" %}

### Cas pratique : acheter un billet de train

<figure><img src="/files/DXeotkpLND1hvHnd4uEy" alt=""><figcaption></figcaption></figure>

Dans ce premier cas, l'utilisateur déclare une intention pour laquelle le robot a besoin de deux paramètres obligatoires pour satisfaire sa demande. Pour ce faire, le bot va successivement récupérer ces informations auprès de l'utilisateur et ainsi poursuivre le processus.

<figure><img src="/files/5qAI2u6k2BU8MtATMxpa" alt=""><figcaption></figcaption></figure>

Dans ce deuxième cas, l'utilisateur envoie au bot l'un des deux paramètres nécessaires à la poursuite du processus. Ainsi, le paramètre de la ville est renseigné et le bot ne demande alors que le deuxième paramètre, qui n'a pas été donné (la date). Une fois ce paramètre récupéré, le bot est en mesure de poursuivre le processus.

<figure><img src="/files/59o8w4i1XaSdA18XOrnA" alt=""><figcaption></figcaption></figure>

Dans ce dernier cas, l'utilisateur transmet au bot tous les paramètres requis. Le bot récupère alors toutes les informations et peut directement poursuivre le traitement de la demande de l'utilisateur.

### 1 - Configuration des slots

Dans un premier temps, vous devez créer et configurer vos slots que vous pourrez utiliser plus tard dans vos connaissances. Vos slots correspondent aux paramètres à récupérer pour répondre à la question de l'utilisateur. Dans le cadre de notre exemple d'achat de billets de train, les slots sont **Ville** et **Date**).

Veuillez suivre les étapes suivantes :

1. Allez à la page **Connaissances**.
2. Cliquez sur le bouton **Créer connaissance** en haut à gauche de votre page.
3. Cliquez sur **Slot**.
4. Spécifiez le type de contenu que vous souhaitez récupérer dans la phrase utilisateur à comprendre. Dans notre cas, nous ajoutons le groupe correspondant permettant de récupérer une date précise (groupe existant par défaut).

<figure><img src="/files/x5WeZtDgPyy9PtgxTtVW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/luMYipDFJbNfXHG6N8Ux" alt=""><figcaption></figcaption></figure>

5. Cliquez sur **Créer**.
6. Vous pouvez ensuite configurer votre réponse comme si vous répondiez à une question. Dans notre exemple, nous décidons de récupérer le jour et le mois.

<figure><img src="/files/qU9CYhHuST6dUXRJatjj" alt=""><figcaption></figcaption></figure>

Le groupe **Date - Date précise** peut capturer plusieurs informations telles que le jour de la semaine, le mois et l'année. Vous pouvez restituer dans votre réponse tout ou partie de ces informations. Dans notre exemple, nous voulons afficher uniquement le jour et le mois. Ainsi nous exploitons les captures suivantes : ${capture.date\_dayofmonth} et ${capture.date\_month}.

6. Répétez le processus pour créer autant de slots que vous le souhaitez. Dans le cadre de notre exemple, nous avons créé un deuxième slot qui récupérera la ville dont le nom de variable est **city** (grâce à un groupe de correspondance composé de noms de ville, créé dans advance) :&#x20;

<figure><img src="/files/pXbT9p1JjgwIYcr7Wtrc" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5ywZcBrHK00FtCWwMWqe" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/fQHvvcWbciLrrEIdu2mG" alt=""><figcaption></figcaption></figure>

Vos slots sont maintenant créés et configurés. Notez que vous pouvez ajouter autant de slots que vous le souhaitez.

### 2 - Création d'une connaissance à l'aide des slots

Vous pourrez désormais exploiter vos slots précédemment créés au sein de vos connaissances. Pour ce faire, veuillez suivre les étapes suivantes :

1. Créez une Réponse à une question pour créer les connaissances qui utiliseront les emplacements créés précédemment. Pour ce faire, cliquez sur **Créer connaissance** puis sur [**Réponse à une question**.](/contenus/connaissances/types-de-connaissances/reponse-a-une-question)
2. Entrez la phrase de l'utilisateur et cliquez sur **Créer**.
3. Modifiez la fenêtre de l'utilisateur (bulle bleue) et cliquez sur **Slot filling**.
4. Remplissez les champs.

<figure><img src="/files/lmW12MP0m2VNtikHd4k1" alt=""><figcaption></figcaption></figure>

* **Phrase d'introduction:** saisir une phrase d'introduction pour informer l'utilisateur qu'il manque des informations pour traiter la demande. Exemple : "J'ai besoin d'informations supplémentaires pour traiter votre demande".
* **Phrase de fin** saisissez une phrase de fin pour informer l'utilisateur que la demande de remplissage de slot est abandonnée.
* **Max. garbage count** : cette option vous permet de déterminer après combien de phrases incomprises le remplissage du slot est abandonné.
* **Leaving confirmation sentence** : l'activation de cette option vous permet de demander la confirmation de l'utilisateur pour abandonner le slot filling.

4. Cliquez sur **Sauvegarder**.
5. Vous pouvez maintenant utiliser des slots précédemment créés et les ajouter comme paramètre pour vos connaissances.
6. Cliquez sur **Ajouter** (en bas de la page) pour ajouter un nouveau paramètre de slot.

Description des champs :

* **Slot :** cet élément vous permet de sélectionner un slot ;
* **Variable :** c'est le nom de la variable qui stockera le résultat du slot de connaissance.
* **Instructions :** cet élément permet d'ajouter les phrases (et ses alternatives) pour redemander à l'utilisateur les informations manquantes.
* **Options** :
  * **Requis** : cocher cette case implique que l'information doit être capturée afin de poursuivre le processus. Le fait de décocher cette case indique que le paramètre est facultatif.
  * **Réinitialiser** : cocher cette case permet de modifier la variable capturée par le slot. Voici les différents comportements possibles :
* *Cas 1:* l'utilisateur dit "Je veux acheter un billet de train pour **Paris**" et dit ensuite "Je veux acheter un billet de train pour **Bordeaux**".

Si la case n'est pas cochée, le bot capture la valeur **Paris**. Si la case est cochée, le bot saisit la valeur **Bordeaux**.

* *Cas 2:* l'utilisateur dit "Je veux acheter un billet de train pour **Paris**" et dit ensuite "Je veux acheter un billet de train"

<figure><img src="/files/ddfafIdeKAl6RJ3Ftq4u" alt=""><figcaption></figcaption></figure>

Même si la case est cochée, la valeur n'est pas réinitialisée et la première valeur saisie est toujours valable, à savoir **Paris**.

Note : Pour modifier **Options**, vous devez cliquer sur le **...** à droite de la ligne, cela ouvrira une nouvelle fenêtre.

5. Cliquez sur **Sauvegarder** indépendamment pour chaque paramètre de slot pour enregistrer vos modifications.

Remarque : vous devez cliquer sur la croix en haut à droite pour quitter le mode d'édition.

Dans notre exemple :&#x20;

<figure><img src="/files/boilsrlnMrqoyyBI0dro" alt=""><figcaption></figcaption></figure>

6. Dans la fenêtre de réponse, saisissez la réponse déclenchée lorsque tous les paramètres définis ont été complétés. Nous recommandons d'écrire une phrase de synthèse de la situation. Cliquez ensuite sur **Mettre à jour**.

<figure><img src="/files/4EIzZYyhPpd21GSj1LND" alt=""><figcaption></figcaption></figure>

Astuce : vous pouvez cliquer sur l'icône à droite d'une variable (dans le menu déroulant **Boucle slot configuré**) pour copier le code à insérer dans votre réponse pour afficher la variable.

<figure><img src="/files/oN7HEeSW1ieanV7ZNBjE" alt=""><figcaption></figcaption></figure>

Attention : si un slot est supprimé après avoir créé une connaissance exploitant ce slot, la connaissance ne pourra pas être bouclée si le paramètre est obligatoire. Une erreur d'interaction sera déclenchée.

Prochaine étape : afin d'enrichir le contenu de vos réponses, vous pouvez vous renseigner sur les [éléments de réponses](/contenus/connaissances/elements-de-reponse) qui vous permettront de découvrir toutes les possibilités qui s'offrent à vous.


# Eléments de réponse

### Eléments de réponse

Vous pouvez utiliser les différents formatages proposés par la barre d'outils texte : mettre en gras, italique, ajouter des puces, etc. Vous trouverez ci-dessous plus de détails sur les éléments de réponses disponibles.

### Insérer un lien hypertexte

Vous pouvez proposer l'ouverture d'une page web dans la réponse :

1. Sélectionnez le mot ou groupe de mots et cliquez sur l'icône **Insérer/modifier un lien** ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAIAAABLixI0AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAahJREFUOI1j/P//PwOVABO1DKKyWSwk6/hwZtHkxYfufONSsYzLSDIRJdtdr49Pruvf8UzUMthO6vXevua+Y6+RZP8TD14dm5QbFZk76egrZO7001+g8kSb9eXCdGSDoKZvq42Lqt32HsIj1o8fjm8+/lEloiLXiv/Dh68w0d8MDAwMDKykhhcrAwO/igrD8cklBSXzLkLCrrdjyR1+22BLARLD68vT+1cPIsLr1bEeDC8z/seT7j9cXD5j8aE73wQs08v9vi1unnKcwTg9w+73nUvHt++9zmqRU5trhZQmcJv1+vjk5inHf2s6e1roq7AdnzHzOINFTm0s96bOGcc/cslbRmbEIicu3H6ExncvxDsQ9oGrD57+xBcM2MyCRn8vJCwuTEqJzJ109OnVhbnxTQfe4zELSx76cHzdoY8qEe1FkLDQT+qexiAg8HHTjo8MrL/xRTW2NPGbgQGRaBgYuAUEvh3v7Vh5h9/CDx79WAFuPyLyCmb0YwU44hEeiXZSzw5hiX6sAE+auLhoxrxDD79xydvF5caa4PUcIbNIB4O1jB4JZgEAbTgR0SpHPOgAAAAASUVORK5CYII=)
2. Remplissez les champs suivants :

* Dans le premier champ **Url**, vous pouvez donc entrer l'adresse de votre hyperlien.
* Le champ **Texte à afficher** vous permet d'inscrire le texte qui sera affiché.
* Le champ **Titre** vous permet d'ajouter un titre à votre lien. Celui-ci sera affiché uniquement dans le code source.
* Le champ **Cible** vous permet de définir la manière dont le lien s'ouvrira.

<figure><img src="/files/0q7sE8WW25YCWRy5GPBb" alt="" width="410"><figcaption></figcaption></figure>

3. Cliquez sur **Ok**.

<figure><img src="/files/gWqsm1MQnT2XMelHRiim" alt="" width="456"><figcaption></figcaption></figure>

### Rendre une adresse email cliquable

Si vous souhaitez rendre un mail cliquable, réalisez la même opération que pour ajouter un hyperlien :

1. Sélectionnez la partie que vous souhaitez rendre cliquable et cliquez sur **Insérer/modifier un lien**  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAIAAABLixI0AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAahJREFUOI1j/P//PwOVABO1DKKyWSwk6/hwZtHkxYfufONSsYzLSDIRJdtdr49Pruvf8UzUMthO6vXevua+Y6+RZP8TD14dm5QbFZk76egrZO7001+g8kSb9eXCdGSDoKZvq42Lqt32HsIj1o8fjm8+/lEloiLXiv/Dh68w0d8MDAwMDKykhhcrAwO/igrD8cklBSXzLkLCrrdjyR1+22BLARLD68vT+1cPIsLr1bEeDC8z/seT7j9cXD5j8aE73wQs08v9vi1unnKcwTg9w+73nUvHt++9zmqRU5trhZQmcJv1+vjk5inHf2s6e1roq7AdnzHzOINFTm0s96bOGcc/cslbRmbEIicu3H6ExncvxDsQ9oGrD57+xBcM2MyCRn8vJCwuTEqJzJ109OnVhbnxTQfe4zELSx76cHzdoY8qEe1FkLDQT+qexiAg8HHTjo8MrL/xRTW2NPGbgQGRaBgYuAUEvh3v7Vh5h9/CDx79WAFuPyLyCmb0YwU44hEeiXZSzw5hiX6sAE+auLhoxrxDD79xydvF5caa4PUcIbNIB4O1jB4JZgEAbTgR0SpHPOgAAAAASUVORK5CYII=)

<figure><img src="/files/jPBThwzJcaB5SUBVudUo" alt="" width="456"><figcaption></figcaption></figure>

2. Ajoutez dans le champ URL : mailto:(adresse mail) et cliquez sur **Ok**.

<figure><img src="/files/hvDufw6fPHxyRc2QNDzx" alt="" width="369"><figcaption></figcaption></figure>

### Créer un lien de redirection vers une connaissance

Vous pouvez proposer un lien cliquable qui renverra sur une autre connaissance de votre bot :

1. Cliquez sur l'icône **Insert redirection** ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAWCAIAAAAqztkuAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAbFJREFUSIlj/P//PwPtARMd7BhB1vyiuTW/nu3pzEzN6tjzjFp2MWKktF8P9vR3zrv0kYGBgYFfL6m8yEX+2abK+hWPfmPRzqWX3l1hL0DQGjTf/HqwvasFagcDA8PHS/NaOrc/FNDUl+fCqv3b62cfsUqgARYUSy7O61x8/RsDv7w8w8OHH/nl5RgePrq+uHNF+YSmORFoOh8sL6na/JwYO9CtYZM30Vd5+Ns51/dZX9XDj1x6GcUemybvZTWRZyNo0ONnLy5eu4kmKCMpbqCtgW4Ng4BJRpMJAwPDg+VQASn73HZ7otwrKyXBwMCAbBPcDgbq5htZKQl9LXVMOxjQfUMM+HBmRt/a3865HlD+r2cHJ0/eyxpclGEiAPXT2/cfkO0gx5pfD89cvPPo452WZ/IMDAwM3y7Na9786CMD/5mHv0wE2CB+gliGDDDzDQMDnlTEpRJRXqh3Z0rL4uvfkEQ1Y2vKPfGlE+xxIyAliiOfPDx+/aOCZ1lNrCY/VIifoB0MDAwM/8kEP5/u7siIy2zf/fQnEaqxBxqx4BcDA+EcxcCAK26oDga8vhmK1gAAg4H8oQ+d7kcAAAAASUVORK5CYII=) de la barre d'outils puis cliquez sur **Reformulation**.
2. Saisissez les premiers termes de la connaissance dans le champ **Reformulation** et sélectionnez-le.

<figure><img src="/files/0FBgjGWM7TTze4kA2oWA" alt="" width="297"><figcaption></figcaption></figure>

3. Cliquez sur **Ok** puis sur **Mettre à jour**.

<figure><img src="/files/ufpwjSdEEx495aUXOyTK" alt="" width="457"><figcaption></figcaption></figure>

### Utiliser les groupes de reformulation

Vous pouvez reprendre un mot contenu dans un groupe de formulation dans la réponse.

<figure><img src="/files/aBxUalopmHJk4mbi7F4b" alt="" width="313"><figcaption></figcaption></figure>

<figure><img src="/files/QwuKKSsyXm6iV9SZBa9R" alt=""><figcaption></figcaption></figure>

Dans la réponse, une fois le curseur à l'endroit où vous voulez ajouter votre formulation, sélectionnez le bouton **Insérer une variable** ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAWCAIAAAC63aDhAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAb5JREFUOI3llCFMAmEUx/86vwtHkACBC2LAAOEMGMSAAYIECVoMXjkDbuqmk01lbk5k6oa66QwSpFzQokEDBggSSBIkYJDgMQcBAxe8cBcwKKcwYKA0X3vfe99v7//e+76eSqWCLllvt0AA+jrML2djwmUsI0oqzbAejvfa9FqspyONzxf+0G1R1Xxi5Y833VVaZxqZYafVYGAnF9d4uwGAmnvMKlq0M406m3f9xAsohXhSBQBap6d+yQIApZCKHkWSRRWgrZNe23eknlWKbfmFnArQrO9g3alHOXUYOE1LALFw4aBLvgmFLnMyQEyO2SWfm0FzlmZyRjhPsXOUIKSl6plaSESvcjKIyelb48eMVO2VhnMs3e8HIhkZ/QNm5EUJxDK7F/QwKMd3FqJPPzOJhQsHPcZPp+EcjePzHEsDUl6UANrKLXkYACCEkGY6mtUFQMmeL4cSEgDavnK8OqJrwaha4/1SXq6F5Feb5LQgPL63gWrIUsSryJ2ogphHHWYCvCXPog9t0Oo1ajsBmCa2d2fI9cbW56upaXPbdQEADC5+eoiiBqfmXaZWDW9R11+sm//Xf2D15V+L3WJ9AI5roTZkOlM5AAAAAElFTkSuQmCC)  puis sélectionnez la variable ou le groupe. Dans notre cas, nous sélectionnons « Calendrier » depuis l'onglet **Groupe**.

<figure><img src="/files/8gaGq30RcUZWZlmrRNv6" alt="" width="281"><figcaption></figcaption></figure>

Cliquez sur **Ok** et la formulation sera représentée de cette manière dans la bulle de réponse en mode édition :&#x20;

<figure><img src="/files/HEp527yTLioWLUFnNAac" alt="" width="457"><figcaption></figcaption></figure>

### Utiliser les options avancées

En cliquant sur le lien **Plus d'options** en bas de la bulle de réponse verte, il est possible de configurer davantage d'informations.

<figure><img src="/files/he1mZ9la89UlD7ShIP2w" alt="" width="451"><figcaption></figcaption></figure>

Il est dès lors possible d'effectuer des redirections.

<figure><img src="/files/p9NYd3s1C4XPX4e1eqWT" alt=""><figcaption></figcaption></figure>

L'URL de redirection permet de rediriger automatiquement l'internaute vers une page lorsque la réponse du bot est restituée.

Il est également possible d'effectuer une redirection vers une autre connaissance. Cela permet notamment d'éviter d'en dupliquer son contenu.

Par exemple, la question « Comment faire pour travailler sur un environnement de test ?  » utilise une redirection vers la connaissance « Comment créer un bot ?  » :&#x20;

<figure><img src="/files/XPb8pz4U5XUxyw669iEH" alt="" width="247"><figcaption></figcaption></figure>

La case **Rediriger vers une autre connaissance** utilise la saisie prédictive :&#x20;

<figure><img src="/files/w3cwN5Eo6mQlOHV16fyz" alt="" width="458"><figcaption></figcaption></figure>

Juste au-dessus de ce champ, une case permet de séparer les réponses.

Si cette case n'est pas cochée, les deux réponses seront regroupées dans le même message et l'internaute ne pourra donner son avis qu'à la fin. Par exemple, lorsque l'internaute pose la question « Comment faire pour travailler sur un environnement de test ? », il obtiendra le premier élément de réponse de cette connaissance ainsi que la réponse liée à « Comment créer un bot ? » de manière continue.

Si la case est cochée, les deux connaissances seront séparées. L'internaute pourra ainsi donner un avis sur la première connaissance puis donner un autre avis sur la seconde de manière indépendante.

Lorsque l'internaute pose la question « Comment faire pour travailler sur un environnement de test ? », il aura le premier élément de réponse ajouté dans la connaissance « Comment faire pour travailler sur un environnement de test ? » ainsi que la réponse à « Comment créer un bot ? » :&#x20;

<figure><img src="/files/JbgWJgakUMbsdDWA1ls7" alt="" width="172"><figcaption></figcaption></figure>

Une bulle grise *Source* apparaît. Cela signifie que la connaissance *Source* "Comment créer ma première connaissance?" propose une redirection vers la connaissance "Comment créer une nouvelle connaissance?".

<figure><img src="/files/81zxfaiRjzVjsnTpo1Hz" alt="" width="167"><figcaption></figcaption></figure>

### Insérer un panneau latéral

Le panneau latéral vous permet d'ajouter du contenu en dehors de la bulle de réponse. Vous pouvez y afficher des images, vidéos, tableaux ou pages web.

<figure><img src="/files/OxAPpN9nMAdSkUoVLc3X" alt="" width="306"><figcaption></figcaption></figure>

Vous pouvez paramétrer le panneau latéral à travers l'éditeur de connaissance WYSIWYG en suivant les étapes suivantes :

1. Cliquez **Plus d'options -> Panneau latéral** dans l'éditeur de réponse.
2. Editez votre contenu. Si vous voulez y ajouter une page web, mettez son URL dans le champs **"Afficher une page web"**.

<figure><img src="/files/u8VG7ykE1Tt4rMe5DyRM" alt="" width="461"><figcaption></figcaption></figure>

Astuce : si vous voulez que l'image soit sur la même ligne qu'avec le texte, définissez le texte et l'image en tant que "Paragraph".

### Modèle de connaissances

Si vous avez créé des [modèles de réponses](/contenus/avance/modeles-de-reponse-predefinis), un onglet **Modèle** sera disponible depuis les options de votre fenêtre de réponse.

<figure><img src="/files/IOgGLuFl7DduFN6VaRQH" alt="" width="461"><figcaption></figcaption></figure>

Vous pouvez dès lors sélectionner l'un de vos templates et l'utiliser pour alimenter votre réponse.&#x20;

<figure><img src="/files/iCDOXtdwEuQXeuFZd8m6" alt="" width="458"><figcaption></figcaption></figure>

### Utiliser des step actions

Vous pouvez également utiliser les step actions : celles-vous permettent de découper une connaissance en plusieurs étapes à l'aide de bouton **Previous** et **Next**.

Vous pouvez utiliser les "step actions" pour diviser une réponse en plusieurs étapes. Cette fonction est utile, par exemple, pour les connaissances expliquant un processus étape par étape.

<figure><img src="/files/4KUAblEyn3Om2PqjiwVh" alt="" width="466"><figcaption></figcaption></figure>

<figure><img src="/files/RKqaRyxDps3UBSa6oeZj" alt="" width="546"><figcaption></figcaption></figure>

Tout d'abord, vous devez paramétrer cette fonctionnalité dans votre bot car elle n'y est pas par défaut.

1. Dirigez-vous sur la page **Préférences > Bot > Général**.
2. Faites défiler vers le bas jusqu'à la section **Conversations**.
3. Cochez la case **Permettre les étapes d'action**.

<figure><img src="/files/oPLBEi6m3bZZinmINxvt" alt="" width="410"><figcaption></figcaption></figure>

4. Cliquez sur **Mettre à jour** en bas de la page.

Vous pouvez désormais créer des connaissances avec des actions par étapes.

Lorsque vous créez une connaissance, vous pouvez ensuite ajouter des étapes d'action de cette manière :

1. Déroulez le menu dédié aux espaces de consultation en haut à gauche de la fenêtre de réponse.
2. Cliquez sur l'icône d'étape dans l'espace de consultation actuel, puis cliquez sur **Ajouter une étape**.

<figure><img src="/files/5wpvwXQdOMvewBIADxsQ" alt="" width="497"><figcaption></figcaption></figure>

Default = étape 1

Default -step 2 = étape 2

Default -step 3 = étape 3

Vous pouvez créer jusqu'à 15 étapes en cliquant sur l'icône **"steps"**.

<figure><img src="/files/VW6JWgBVq7yUJHyxKjD7" alt=""><figcaption></figcaption></figure>

Pour chaque ajout d'une étape **Mettre à jour** la connaissance pour la sauvegarde de la réponse correspondante.

<figure><img src="/files/wLDuXEdVb0a5vqA6ySUP" alt="" width="377"><figcaption></figcaption></figure>

Cliquez sur l'icône **"-"** pour supprimer une étape. Vous pouvez également supprimer toutes les étapes grâce à l'option **"Supprimer tout"**.

**La partie visible**

La réponse s'affiche maintenant étape par étape avec la réponse correspondante et la possibilité d'avancer et de reculer sur les étapes à l'aide des boutons **"précédent"** et **"suivant"**.

### Code source

Notez que vous pouvez également modifier le code source de votre réponse en cliquant sur **Code source** : ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAIAAABLkRCkAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAFtJREFUKJFj/P//PwPFgIlyI+hgyuvjk/Oio/ImH3uNjYsG/mMFr45Nyo2KzJ109BUhwf//////j80U3KpxSWGYgscI3AqoE7o08hEe1aSFLlY9eMOL8f9wywEAYKd/5lWkZPEAAAAASUVORK5CYII=)

<figure><img src="/files/gDRSlSLC4RtkBaivFzzQ" alt="" width="281"><figcaption></figcaption></figure>

Cliquez sur **Ok** pour valider vos modifications.

{% hint style="info" %}
**Sécurité du contenu : Utilisation du JavaScript dans les connaissances**

Par défaut, il est possible d'injecter des scripts JavaScript au sein des connaissances pour ajouter des interactions dynamiques. Il s'agit du comportement standard du chatbot.

Cependant, si vous souhaitez restreindre ce comportement pour des raisons de sécurité, une configuration peut être mise en place :

* Désactivation du JavaScript : Une fois activée, cette sécurité permet de supprimer automatiquement tout script JavaScript contenu dans les connaissances avant leur affichage.
* Mise en œuvre : Cette option n'est pas activée par défaut. Il appartient au client d'informer Dydu s'il souhaite que la possibilité d'utiliser du JavaScript dans les connaissances soit désactivée sur son bot. Dydu se chargera alors d'ajouter la référence de configuration nécessaire (`bot.allowjsinanswers`).
  {% endhint %}

### Autres options

<figure><img src="/files/0gbbin9UVrt7vhFY5T7k" alt="" width="563"><figcaption></figcaption></figure>

Les autres options sont composées de :&#x20;

* **Définir une action GUI :**&#x20;

Cela permet d'inclure du code javascript dans la réponse du bot. Elle est utilisée, entre autres, pour définir l'animation associée à la réponse. L'action GUI est particulièrement nécessaire à:

1. définir des actions **Livechat** : [escalader la conversation en livechat](/guide-de-premiere-utilisation/cas-dutilisation-frequents#creer-une-escalade-livechat);
2. définir les actions de **callbot** [(raccrocher, répéter, etc.)](/contenus/connaissances/elements-de-reponse#utiliser-une-action-predefinie-de-linterface);
3. permettre l'affichage d'un bouton de **téléchargement de fichier** lors d'une conversation avec le chatbot.

{% hint style="info" %}
Quand vous téléchargez des fichiers, vous pouvez en envoyer **jusqu'à cinq maximum** à la fois.&#x20;

Attention, la taille totale de ces cinq pièces jointes combinées ne doit **jamais dépasser 10 Mo par envoi**.
{% endhint %}

* **Type de réponse :** &#x20;

Cela permet de définir un type de réponse associé à la connaissance. Ainsi, vous pouvez considérer une connaissance comme étant une connaissance sociale, une connaissance de type phrase incomprise ou bien encore comme étant une connaissance neutre (non comptée dans les statistiques).

* **Avis automatique :**&#x20;

Cette option vous permet de définir un avis automatique pour la connaissance.

* **Questionnaire :** &#x20;

Cette option vous permet d'associer un [questionnaire ](/preferences/bot/questionnaires)à la connaissance qui sera alors proposé à l'utilisateur.

* **Type de contact fourni :**&#x20;

Cette option vous permet d'ajouter un moyen de contact pour l'utilisateur. Vous pouvez notamment lui faire remplir un formulaire, etc.

* **Changer d'espace de consultation :**&#x20;

Cette option vous permet de faire en sorte que l'utilisateur passe à un espace de consultation.

* **Date de départ :**&#x20;

Vous avez la possibilité de créer une connaissance que vous ne souhaitez pas publier tout de suite mais à une date prévue. En choisissant une date de départ, une alerte à cette date vous indiquera qu'il faut passer cette connaissance au statut *Publiée* pour la rendre accessible aux internautes.

* **Date de péremption :**&#x20;

Lorsque la date arrive à échéance, une alerte apparaîtra dans l'onglet **Alertes** et la réponse configurée sera affichée pour les connaissances non publiées (réponse modifiable dans les [Phrases générales](/contenus/phrases-generales)). Vous pouvez continuer à afficher la réponse que vous aviez ajoutée en cochant l'option **Conserver la réponse après la date de péremption**.

* **Modification de variable avant action :**&#x20;

Cette option permet de définir une variable avant l'exécution de l'action. L'action définie sera alors exécutée avant la réponse.

* **Modification de variable après action :**&#x20;

Cette option permet de définir une variable après l'exécution de l'action.

* **Conserver la réponse après la date de péremption :**&#x20;

Cette option vous permet de conserver la réponse après la date de péremption.

* **Ignorer dans les statistiques :**&#x20;

Cocher cette case vous permet d'indiquer que vous ne souhaitez pas que cette connaissance soit comptabilisée dans les statistiques.

* **Conserver la boîte de dialogue réduite :**&#x20;

Cocher cette case vous permet d'indiquer que vous souhaitez conserver la boîte de dialogue réduite.

* **Demander l'avis des internautes :**&#x20;

Vous avez la possibilité de choisir si la réponse apportée nécessite ou non l'avis des internautes. La demande d'avis est cochée automatiquement lors de la création d'une connaissance. Si vous souhaitez créer un arbre de décision, celle-ci sera demandée en fin d'arbre.

* **Bloquer le champ de saisie :**&#x20;

Cette option vous permet de bloquer le champ de saisie.

* **Phrase incomprise exclusive:**&#x20;

Cette option n'est disponible que dans la branche d'échec d'un arbre de décision.

<figure><img src="/files/r8EDULu1OT9X02HuERAg" alt=""><figcaption></figcaption></figure>

Lorsque cette case est cochée et que l'utilisateur fournit une réponse qui n'appartient pas aux branches de succès de l'arbre de décision, le bot répondra avec le contenu de la branche d'échec.

Lorsque cette case est décochée et que l'utilisateur répond avec une phrase qui n'appartient pas aux branches de succès de l'arbre de décision, mais qui correspond à une autre réponse d'une autre connaissance de la base de connaissances, le bot fournira la réponse issue de cette connaissance.

## Utiliser les actions GUI prédéfinies

### Utiliser une action GUI&#x20;

Vous pouvez utiliser vos actions GUI dans vos connaissances à partir de la fenêtre de réponse:

<figure><img src="/files/tqFHULgAB2g0eILF2gJk" alt="" width="563"><figcaption></figcaption></figure>

1. Dans la fenêtre de réponse, cliquez sur **Plus d'options** puis sur **Autres options**.
2. Cliquez sur ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAXCAIAAAB1dKN5AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAM5JREFUOI1j/P//PwNVARN1jRsiJrKg8b///PXs1Ts0QSkxIU52NjJNfPry7bTl29AEsyK9VOQkyTQRAvrKk3ceOXfn0fPsKO+izrkMDAx3Hj0n0iZ0E6XFhbMivdC0SYsLQxjI4pgWYDeRk50NzVo4l0iP0yv1FHXO3Xn0/N3HLyCBSBLAHjNoQUaRie8+fjlz5ZabtRHZJqL7+t3HzzuOnCfbOCwmUg5on68hYNfRc1QzkYuDXVlW4vbD5wR1KstKcHGwY4ozjpbhg9REAGWXQjvbL5bpAAAAAElFTkSuQmCC)  pour **Définir une action GUI**
3. Sélectionnez une action prédéfinie.&#x20;
4. Cliquez sur **Mettre à jour** puis encore sur **Mettre à jour** pour valider les changements. Votre espace réservé sera modifié lorsque cette connaissance sera appelée.

{% hint style="warning" %}
Remarque : il n'est pas possible de tester cette action GUI à partir du bot de test. Pour tester et valider le bon fonctionnement du changement de votre placeholder à l'appel d'une connaissance, merci de tester la connaissance sur votre bot à partir d'une URL test (sur la page de configuration de votre bot).
{% endhint %}

### Utiliser une action prédéfinie de l'interface

#### Callbot

* Attente d'un code DTMF
* Bloquer le STT
* Bloquer le DTMF
* DoNotSave
* Raccrocher
* Rediriger sans introduction
* Rediriger avec introduction
* Répéter
* Envoyer un en-tête SIP
* Délai d'attente de l'utilisateur qui ne parle pas
* Reconnaissance d'adresse
* Reconnaissance d'une date
* Reconnaissance d'un mail
* Reconnaissance d'un nom
* Reconnaissance d'un nombre
* Reconnaissance d'une plaque d'immatriculation
* Reconnaissance d'un numéro de téléphone
* Reconnaissance d'un contenu épelé
* Reconnaissance d'une heure

#### **Fonctions:**

* Vider historique interactions
* CustomPlaceHolder :&#x20;

Utilisez cette action GUI pour modifier le placeholder affiché dans le champ de saisie du chatbot après le déclenchement de votre connaissance. Cela peut par exemple être utile si vous attendez que l'utilisateur saisisse son adresse e-mail dans le champs de saisie : au lieu d’avoir le placeholder indiquant “Tapez votre message ici” vous pouvez le remplacer par “Indiquez votre adresse mail ici”<br>

<figure><img src="/files/xC5eBOLdn4y6WCS9ouA7" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
Mettez à jour votre connaissance pour valider les changements. Le placeholder du champ de saisie sera modifié lorsque cette connaissance sera appelée.
{% endhint %}

* Demande de chargement de fichier:&#x20;

Cette action vous permet de proposer à l’utilisateur final de télécharger un ou plusieurs fichiers et de les envoyer au chatbot.

<figure><img src="/files/zjyMRZjWE4izeI4Luk1J" alt=""><figcaption></figcaption></figure>

La méthode nommée KnowledgeUploadFile() est appelée automatiquement et de manière silencieuse par la chatbox dès que le téléchargement des fichiers est réussi, permettant ainsi de poursuivre le scénario sans interruption visuelle pour l'utilisateur. Elle est optionnelle.

{% hint style="info" %}
La taille de la pièce jointe ne doit pas dépasser <mark style="color:$danger;">10 Mo</mark>.

Les extensions acceptées pour la pièce jointe à transmettre sont classées par catégories ci-dessous :

* Images : .png, .jpg, .jpeg, .jfif, .pjpeg, .pjp, .svg, .gif, .webp
* Documents et texte : .pdf, .txt, .dot, .doc, .docx, .odt
* Tableurs : .csv, .xls, .xlt, .xla, .xlsx, .ods
* Présentations : .pptx, .odp
  {% endhint %}

Les pièces jointes envoyées par les utilisateurs sont accessibles depuis la conversation concernée via un lien sécurisé par un token.&#x20;

En cas de purge, d’anonymisation ou chiffrement des conversations, les pièces jointes transmises sont prises en compte : elles ne seront donc plus accessibles selon les critères de purge, anonymisation ou chiffrement définis.

* Ouvrir la boîte de dialogue
* ProposeHelp
* Afficher uniquement le panneau latéral

#### **Livechat:**

* Connexion au livechat :&#x20;

Cette action GUI permet d’effectuer une escalade livechat vers la solution de livechat définie dans les préférences de votre bot.&#x20;

**4- Teaser:**

* Teaser
* Bouton d'appel déclenchant une connaissance

**5-Questionnaire**

* Afficher un questionnaire

## Options lié au Callbot

### **Voice Changer ElevenLabs**&#x20;

Cette fonctionnalité permet d’améliorer la qualité de la synthèse vocale des callbots en intégrant un voice changer tel qu’ElevenLabs. Pour chaque réponse, l’utilisateur peut enregistrer sa propre voix : celle-ci est analysée, puis la synthèse vocale génère une nouvelle version avec la voix de synthèse sélectionnée, tout en respectant le tempo, le rythme et l’intonation d’origine.

{% hint style="warning" %}
Cette option est disponible uniquement dans le WYSIWYG SSML et nécessite un callbot configuré avec une voix ElevenLabs.
{% endhint %}

Cela permet d’adapter la vocalisation des réponses à la manière de les dire (intonation, pauses…), pour un rendu plus naturel.&#x20;

{% hint style="info" %}

* La voix de synthèse est utilisée, mais la prosodie suit celle de l’enregistrement. Il est impératif de lire exactement le texte affiché , ’ajout ou la modification de mots empêche le fonctionnement de la fonctionnalité.&#x20;
* Les variables dynamiques (ex : `${capture.mavariable}`) ne sont pas prises en charge.
  {% endhint %}

*Astuce : rédigez les réponses comme vous souhaiteriez les prononcer à l’oral.*


# Accessibilité des réponses des bots

L’accessibilité numérique consiste à rendre les services en ligne accessibles aux personnes en situation de handicap. La direction interministérielle du numérique (DINUM) édite le référentiel général d’amélioration de l’accessibilité (RGAA).

Afin de proposer aux gestionnaires de bots de configurer du contenu qui respecte les normes RGAA sans avoir passer par le code source, dydu a intégré à son Bot Management System les normes RGAA appliquées à l’éditeur de contenu (WYSIWYG) dydu. Cela concerne les images, les listes, les pièces jointes, les ancres, les mises en forme de type gras, les iframes, les liens et les tableaux. Vous trouverez plus de détails ci-dessous sur les obligations d'accessibilité de ces éléments et comment les respecter avec le WYSIWYG.

### Image

#### Obligation sur les images

Une image peut parfois être porteuse de sens et aider à comprendre le reste du contenu. Si elle n’apporte aucune information supplémentaire, elle est dite “décorative”.

Les images “informatives” ou “porteuses de sens” doivent posséder un attribut alt, c’est-à-dire une alternative textuelle. Cette alternative doit pouvoir remplacer l’image et apporter le même degré de compréhension.

A contrario les images dites “décoratives” doivent posséder un attribut alt vide.

#### Comment intégrer une image ?

* Pour intégrer une image, vous devez d'abord la télécharger dans la section galerie.
* Allez dans **Contenus > Gallery**
* Cliquez sur **Ajouter**
* Si vous n'avez pas encore de dossier, cliquez sur **Créer un nouveau dossier dans Racine**.
* Choisissez un nom pour votre dossier et cliquez sur **Ajouter**.
* Cliquez sur **Ajouter > Importer un fichier dans&#x20;*****Votre nom de dossier***
* Choisissez un fichier, cliquez sur **Importer**, votre image est maintenant dans le dossier.
* Retournez dans la réponse de votre connaissance, cliquez sur **Galerie**, sélectionnez votre image.

<figure><img src="/files/rQ6SKG1PDTTXgB4jSQYL" alt=""><figcaption></figcaption></figure>

Elle apprait dans la réponse.

#### Comment la respecter ?

Une fois votre image ajoutée à votre réponse, cliquez sur l'icône Insérer/modifier une image du WYSIWYG.

Par défaut, une image est considérée comme décorative, sa description (définie dans le champ “Description de l'image” est donc vide). Si votre image est décorative, la case “Decorative image” doit rester cochée et le champ “Description de l'image” doit être laissé vide.

A contrario, si vous considérez que votre image est porteuse d’informations : décochez la case “Decorative image” et ajoutez une description claire et concise dans le champ “Description de l'image”.

### Listes

#### Obligation sur les listes

Les listes (listes à puces ou liste numérotée) et les éléments constitutifs de ces listes doivent être identifiés en tant que tels et donc disposer de balise html spécifiques. Pour ce faire, ils doivent avoir les bonnes balises html.

#### Comment la respecter ?

Dès lors que vous choisissez une mise en forme de type “Liste numérotée” ou “Liste à puces” les bons éléments html seront ainsi présents correctement. Ne créez pas la liste à partir de chiffres et de tirets “-” suivis d’un espace, cela ne créera qu’une suite de paragraphes sans qualification adéquate.

<figure><img src="/files/wf2ZI2dCREe4KqJidAK3" alt="" width="362"><figcaption></figcaption></figure>

### Liens

#### Obligation sur les liens

Les liens doivent être identifiables en tant que tels. Lorsque le lien ouvre un nouvel onglet ou une nouvelle fenêtre, cette information doit être perceptible par l’utilisateur avant qu’il ne déclenche l’ouverture du lien. L’utilisateur ne doit pas être perdu dans sa navigation.

#### Comment la respecter ?

Lorsque vous ajoutez un lien depuis le WYSIWYG (en cliquant sur l’icône Insérer/modifier un lien) vous avez la possibilité de choisir si ce lien s’ouvrira dans l’onglet en cours ou dans une nouvelle fenêtre via le champ “Cible”.

<figure><img src="/files/KhjLvrLCS6l7U4jufquJ" alt="" width="221"><figcaption></figcaption></figure>

Si le champ “Cible” est “n/a”, alors le lien s’ouvrira dans le même onglet. Si le champ “Cible” est enregistré sur “Nouvelle fenêtre”, alors le lien s’ouvrira dans un nouvel onglet. Dans ce deuxième cas, une icône informant de ce comportement sera affichée automatiquement à côté du lien.

Par ailleurs, lorsque vous insérez un lien, le titre sera affiché au survol, il doit donc être clair et concis. Ce titre doit être complété dans le champ “Titre”.

### Pièces jointes

#### Obligation sur les pièces jointes

Les pièces jointes téléchargables doivent être identifiables en tant que telles. Vous pouvez les ajouter depuis le menu Contenus > Galerie. Ensuite vous pouvez les sélectionner directement dans la Galerie de la réponse.

Les informations concernant le nom, le format et le poids des fichiers doivent être communiqués à l’utilisateur avant que ce dernier n’enclenche le téléchargement.

#### Comment la respecter ?

Dès lors que vous choisissez d’ajouter une pièce jointe au sein de votre réponse, le titre, le format et le poids de cette pièce jointe seront automatiquement affichés à l’utilisateur final. Cela s'affichera de la manière suivante :&#x20;

### Ancres

#### Obligation sur les ancres

Les ancres doivent être identifiées dans le code source par un identifiant unique généré automatiquement.

#### Comment la respecter ?

Les ancres sont utilisées, dans notre cas, par les fonctionnalités de reword ou redirection vers une connaissance.

Dès lors que vous ajoutez un reword ou une redirection vers une connaissance, un identifiant unique lui est associé et est généré dans le code source de la réponse. Veillez à ne pas le supprimer

### Mise en forme de type “gras”

#### Obligation sur la mise en forme “gras”

Les éléments textes mis en forme “gras” doivent être indiqués dans le code par les balises html appelées balises “strong”. Cela permet d’identifier les éléments sur lesquels cette balise est appliquée comme des éléments importants.

#### Comment la respecter ?

Dès lors que vous choisissez une mise en forme de type “gras” **B** les bons éléments html seront automatiquement ajoutés.

### Iframes

#### Obligation sur les iFrames

Les iframes (intégration de pages web notamment dans le panneau latéral) doivent comporter un titre.

<figure><img src="/files/KcQgrTenG4ZCnYtNbE8z" alt="" width="308"><figcaption></figcaption></figure>

#### Comment la respecter ?

Lors de l’ajout d’un iframe au sein du panneau latéral de votre réponse, ajoutez un titre concis et pertinent à votre panneau latéral.

<figure><img src="/files/cre9l1XPhist5ZUOvQFj" alt=""><figcaption></figcaption></figure>

Ce titre sera affiché à l’utilisateur final ainsi que dans le code html.

### Tableaux

#### Obligation sur les tableaux

Les tableaux ne doivent pas être utilisés à des fins de mise en page. Ils doivent respecter une structure html précise. Il existe deux types de tableaux : simple et complexe.

* Un tableau simple est un tableau dans lequel les cellules d'en têtes s’appliquent systématiquement à la totalité des cellules d’une ligne ou d’une colonne.
* Un tableau complexe est un tableau possédant des cellules ou colonnes fusionnées.

A partir du WYSIWYG nous considérons uniquement la création de tableaux simples, avec des lignes et des colonnes.

#### Comment la respecter ?

Ne créez pas de tableau uniquement pour faire de la mise en page d’éléments.

Lorsque vous créez un tableau via le WYSIWYG, veillez à ajouter les bonnes propriétés aux cellules.

Sélectionnez les cellules de votre tableau que vous désirez mettre en en-tête puis cliquez sur l’icône Tableau et enfin sélectionnez > Cellule > Propriétés de la cellule

<figure><img src="/files/S9APT4pRq3ha9QqAawIZ" alt=""><figcaption></figcaption></figure>

Vous accédez aux propriétés de la cellule. Dans le champ “Type de cellule”: sélectionnez “Cellule d'en-tête” :&#x20;

<figure><img src="/files/MHCAKp49y5qK4J2Oftw1" alt=""><figcaption></figcaption></figure>

Puis sélectionnez le scope voulu selon que l’en-tête concerne la colonne ou la rangée.

Si l’en-tête concerne la colonne, sélectionnez la valeur column dans le champ" étendue" ; s’il concerne la ligne sélectionnez la valeur ligne.

<figure><img src="/files/B37JG3dE3uwDokyynPP1" alt=""><figcaption></figcaption></figure>

Les cellules considérées comme en-tête seront ainsi bien balisées et possèderont les bons attributs html.


# Arbre de décision

{% embed url="<https://youtu.be/2pS17LW6aqs>" %}

Pour construire un arbre de décision,

1. Sélectionnez une connaissance existante ou créez-en une nouvelle.
2. Cliquez sur le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAlCAIAAABK/LdUAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAA3dJREFUWIW1l01uGzcUx/nIR3JGYy9swFfookA3WWSXHqI36K4XyCl6gex6gxwi6SoFuimQAl0bdowI1kQeezx8/OjiyRQlS9bEkt9CGGo4/PF9kPwTUkri++3DP//l559/+mH8hzimU55Tfogx5LcxRiEEAADAXrw1TNlkRm4CQEqJOzwN3swrh86wbEKI6P2iK0AIAQrjPtuosJa/shljLBlSSh5FSplncE+EAOyulDL34RG451beWsTyTLXW2+KTzXtPRDwbto1ISI9qgWExxpGk0oZhCCEg4jYkbKyFGKOUEnFU9a4ZETnnEFEp9RiJj2EhBKXU82BCCA7JMAwlifMiyvo8CCwjU0qcTkZmnlwrdwDYE8ZmjEkphRDKFSWEWISVnfPeG2P2h7E1TUNEIQReLUseTyHGqJQaM9DHT5///Ovfnd24vL33pYsQH8x7X9f1GN7Zq1+FEF///mNnz5TSfD631iqllFIAILNzY3bb7zVe/jmLKaVlPB/vPQcxpRRvVdxc+vdCPET0PmTksj5fiAcAfFgu1huXLBEdHR1t/ODjp8+//Pb7znHfv3v75vWPG19Np9O6rrXWSqll/vbwYYeV+QMi4qOkaZqRIR2/HoQQRDSbzSaTiTFm4R9bCOGJz55tpfIQuV5ejuecW+exAiCil+D1fc8iY8HLOofIH7xqYozDMPAus3L+MbLv+8lksnOU9+/ejuS17TellJQqIyA8mHOOiE5PTw+1kcYYz8/PrbVcnIgIAMv8SSkBZNt+OwhMCHF5eQkArGLW8yelVEohKu/p9vZ2f9h0OnXOaa15W8lVsuKflBJRd123J7Lruuvra0TMKm1Fn5UuppRixPl8HmM8Pj5+Bmw2a798ueSc5bRxPAFgWZ+Zx1Ln5ubm7u7u7Oxs/LmRUrq6uprNZnVdG2OMsYs9Wi6iKFjvZnHBejCE4L13zjnnvPdN05ycnDxNTSl1XXdxcZFSqqrKWmttZa3RWudg8u9S+uWLSPkPAHRd17atMaaqqrquEbGqKiEEEcUY7+/v+75v2zaEoLWuqsoYY21ljC5Vfa7PrXqevSTyRI4PED5J+G0Wqw9VhoiotbbWam0YtlXPMz/fFvM7fkZURKSUYnGX9VzWzjyu1hoRuUB231eyc6WX7AQL1hCC9yEEX0rm1bW7Uv3b7mP/Aw55y4XV2TCvAAAAAElFTkSuQmCC). Une nouvelle fenêtre apparaît.
3. Reprenez le processus classique de création d'une connaissance et ajoutez autant de branches et de niveaux que vous souhaitez au sein de votre arbre de décision.

{% embed url="<https://youtu.be/Ki3xhfayxm8>" %}

Notez que vous pouvez également créer des liens de redirections vers les embranchements de vos arbres de décisions.

1. Éditez la fenêtre de réponse et complétez le contenu de votre connaissance :&#x20;

<figure><img src="/files/IO1Yu2F4j2a9R3xhCdpV" alt=""><figcaption></figcaption></figure>

1. Sélectionnez le terme ou le groupe de termes sur lequel l'internaute pourra cliquer.
2. Cliquez sur **Insert Redirection** ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAWCAIAAAAqztkuAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAbFJREFUSIlj/P//PwPtARMd7BhB1vyiuTW/nu3pzEzN6tjzjFp2MWKktF8P9vR3zrv0kYGBgYFfL6m8yEX+2abK+hWPfmPRzqWX3l1hL0DQGjTf/HqwvasFagcDA8PHS/NaOrc/FNDUl+fCqv3b62cfsUqgARYUSy7O61x8/RsDv7w8w8OHH/nl5RgePrq+uHNF+YSmORFoOh8sL6na/JwYO9CtYZM30Vd5+Ns51/dZX9XDj1x6GcUemybvZTWRZyNo0ONnLy5eu4kmKCMpbqCtgW4Ng4BJRpMJAwPDg+VQASn73HZ7otwrKyXBwMCAbBPcDgbq5htZKQl9LXVMOxjQfUMM+HBmRt/a3865HlD+r2cHJ0/eyxpclGEiAPXT2/cfkO0gx5pfD89cvPPo452WZ/IMDAwM3y7Na9786CMD/5mHv0wE2CB+gliGDDDzDQMDnlTEpRJRXqh3Z0rL4uvfkEQ1Y2vKPfGlE+xxIyAliiOfPDx+/aOCZ1lNrCY/VIifoB0MDAwM/8kEP5/u7siIy2zf/fQnEaqxBxqx4BcDA+EcxcCAK26oDga8vhmK1gAAg4H8oQ+d7kcAAAAASUVORK5CYII=)  puis cliquez sur **Reformulation**.

<figure><img src="/files/eOetjmpIWG5fdn0kP8E1" alt=""><figcaption></figcaption></figure>

4. Inscrivez le nom de la branche puis cliquez sur **Ok**.
5. Réitérez l'opération pour les autres branches puis validez la connaissance en cliquant sur **Mettre à jour.**

<figure><img src="/files/eusrBAwBGFlU8tKHEB4V" alt=""><figcaption></figcaption></figure>

{% embed url="<https://youtu.be/hT5i7RtP8W8>" %}

Réitérez ces opérations autant de fois que nécessaire.

<figure><img src="/files/MJn2itNRh6yH8bK3DVmV" alt="" width="243"><figcaption></figcaption></figure>

Les internautes n'ont pas tous le même comportement face à un bot. Certains vont avoir le réflexe de cliquer sur l'une des propositions alors que d'autres vont écrire dans le champ de texte la proposition. Lorsqu'ils écrivent dans le champ de texte, ils peuvent écrire « Situation a » ou « Situation b », ce qui les redirigera également vers les branches correspondantes mais ils peuvent aussi écrire n'importe quoi d'autre. C'est pourquoi vous trouverez une icône orange ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAiCAIAAABeEieWAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAA+xJREFUSImll79vHEUUx9+8ebO3t8ZJFMfKRXBBJMiFUbAsIYGQHFEQiT+AKhUCISqEKEhDl4KCEgnR8g8gare2IhAIohiEiINkIDYOic7a0/3Yzez8oHiX8d55b88m32pv5837zHdmduad8N5DrUJAeNj4ZTu0Xr2yBABCCCHEtFY6Zuryz/KwvPdCiPAykMqqYBxN50sCAGsMBwghrLWiJO+9c65sa5JRHqBzrpwXERERAKSUb75yxTkHALkuAMBaGwI4Nffi+DFGefgBIIRQSh2dAe6fxA2Ot9YWReGcQ0TuxaMcBVcCuFkpVQmYkBCCiOI4FkIYY3h8YTJGjKMARDxO9glSo9FQSlljnLVlDE4ArLWISDR1v9VLKfXq8otmHHM4VwyQUv5vAOv0M3MvX75orQ1zPpqrsMJPCWBdOHf27HzinB1tsLIJpdTJkpkemF5ly+rSZeE9u0FG8TqfaJF957Zev67Xr7sHm0dbpcSL588ZY7z3h4yTmnCdOyPYwVZlwKVnW+yDKr/+6oF37+nvPxUmAwBoLtDye2K+7YsBnn+9Mp6kRERrrdBa836NoqiOkO0/3vgIwMtTz7vhI8gPPDWj5XdF+62aTsPh0FqLYTHqTZhfvxImi177TC5/4E0GAMJkxdaX9b2IyFpLAFA+v6YJ29ewfU3MtfTGhzxdnmJh8vpeQojDfTWb0VrD1pr58SZkHQAQ821qvwEA5rtPKvcVSynlvaeJO6dGvnPbHfzOz7Tysc8eYHcHYEZf5xyFp5lWWGK+7Xv37Z/f0soNbK3VB2utIZxXfM8cR/TS+/jcmtvdNHc+nxnM5xUFxrRv0G5/be99M4ZZuWEA3O6mO3UJX3i7hlEUBQAQf31FUcRxXBmHCyvlnyJpMUbvbvqiX+8jy3Ip8ZAR7sgJiYVVubBan6vahDFaP06SBOFJdZRl2YlSeKr2HXR3528p5aiS4JIiz/Nwyx9HjatfyKV3prUaa/+4/4+UUkqJbIJh/f6M+R1T80JN462ft6xzYz4YqLUeDAYnwEzR3Z2//j1IiYiIxnxwqTAYDJ4S86hz8NNv21JKKenQR9kKEfV6vV6v+gadqTRN12/9oEiRUpKIiIQQBACBEarbfr8/HA4XFxePecAAgHPu4cOHaZo2GrGKIqUUqZGPEQMAGAMA/MFrrff29pJk7syZ0/y+Jnu/39/f3weAZrOpokhFEZFClDxJo7OErZR7cvNg0O92U6VUHMfNZpNrTgDg6jbP8zzP0zQ1xkRR1Gg0ohHgyUogAp8l4a8DvyrX+ohojNFad7vdTqdjrS0XY2GnJEmilOJaVCklpUQpw6nxHxEvhIeAtjJnAAAAAElFTkSuQmCC)qui permet de gérer les phrases incomprises. Ceci vous permet alors de créer une réponse pour toutes les personnes qui écrivent une réponse différente des propositions « Situation a » ou « Situation b ».Cette réponse est optionnelle. Vous pouvez donc la créer en cliquant sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAiCAIAAABeEieWAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAA+xJREFUSImll79vHEUUx9+8ebO3t8ZJFMfKRXBBJMiFUbAsIYGQHFEQiT+AKhUCISqEKEhDl4KCEgnR8g8gare2IhAIohiEiINkIDYOic7a0/3Yzez8oHiX8d55b88m32pv5837zHdmduad8N5DrUJAeNj4ZTu0Xr2yBABCCCHEtFY6Zuryz/KwvPdCiPAykMqqYBxN50sCAGsMBwghrLWiJO+9c65sa5JRHqBzrpwXERERAKSUb75yxTkHALkuAMBaGwI4Nffi+DFGefgBIIRQSh2dAe6fxA2Ot9YWReGcQ0TuxaMcBVcCuFkpVQmYkBCCiOI4FkIYY3h8YTJGjKMARDxO9glSo9FQSlljnLVlDE4ArLWISDR1v9VLKfXq8otmHHM4VwyQUv5vAOv0M3MvX75orQ1zPpqrsMJPCWBdOHf27HzinB1tsLIJpdTJkpkemF5ly+rSZeE9u0FG8TqfaJF957Zev67Xr7sHm0dbpcSL588ZY7z3h4yTmnCdOyPYwVZlwKVnW+yDKr/+6oF37+nvPxUmAwBoLtDye2K+7YsBnn+9Mp6kRERrrdBa836NoqiOkO0/3vgIwMtTz7vhI8gPPDWj5XdF+62aTsPh0FqLYTHqTZhfvxImi177TC5/4E0GAMJkxdaX9b2IyFpLAFA+v6YJ29ewfU3MtfTGhzxdnmJh8vpeQojDfTWb0VrD1pr58SZkHQAQ821qvwEA5rtPKvcVSynlvaeJO6dGvnPbHfzOz7Tysc8eYHcHYEZf5xyFp5lWWGK+7Xv37Z/f0soNbK3VB2utIZxXfM8cR/TS+/jcmtvdNHc+nxnM5xUFxrRv0G5/be99M4ZZuWEA3O6mO3UJX3i7hlEUBQAQf31FUcRxXBmHCyvlnyJpMUbvbvqiX+8jy3Ip8ZAR7sgJiYVVubBan6vahDFaP06SBOFJdZRl2YlSeKr2HXR3528p5aiS4JIiz/Nwyx9HjatfyKV3prUaa/+4/4+UUkqJbIJh/f6M+R1T80JN462ft6xzYz4YqLUeDAYnwEzR3Z2//j1IiYiIxnxwqTAYDJ4S86hz8NNv21JKKenQR9kKEfV6vV6v+gadqTRN12/9oEiRUpKIiIQQBACBEarbfr8/HA4XFxePecAAgHPu4cOHaZo2GrGKIqUUqZGPEQMAGAMA/MFrrff29pJk7syZ0/y+Jnu/39/f3weAZrOpokhFEZFClDxJo7OErZR7cvNg0O92U6VUHMfNZpNrTgDg6jbP8zzP0zQ1xkRR1Gg0ohHgyUogAp8l4a8DvyrX+ohojNFad7vdTqdjrS0XY2GnJEmilOJaVCklpUQpw6nxHxEvhIeAtjJnAAAAAElFTkSuQmCC). Votre arbre de décision est désormais terminé.

{% embed url="<https://youtu.be/biBbP6lOD7s>" %}

<figure><img src="/files/XwmO5nNfkfYPRQ5xIqzw" alt="" width="545"><figcaption></figcaption></figure>

Il n'y a pas de restrictions techniques sur le nombre de branches et de sous-branches.

Selon la complexité de la réponse, il peut y avoir plusieurs niveaux, mais il est conseillé d'éviter de dépasser les 3 niveaux de sorte que l'internaute obtienne sa réponse le plus rapidement possible.

Lors de la création d'une sous-branche, la demande de satisfaction des internautes est automatiquement désactivée au niveau précédent de manière à ce qu'elle ne soit demandée qu'une seule fois à la fin de l'arbre. Cependant, si vous souhaitez demander la satisfaction en cours d'arbre, il est possible de réactiver celle-ci en éditant la réponse :

1. Cliquez sur **Plus d'options**.
2. Cliquez sur l'onglet **Autres Options**.
3. Cochez la case **Demander l'avis des utilisateurs**.
4. Cliquez sur **Mettre à jour**.

Sachez que vous pouvez rendre une branche d'un arbre accessible directement (ne pas repasser par le début de l'arbre si la question de l'internaute est précise et correspond à un cas décrit dans une branche) :

1. Éditez la phrase utilisateur.
2. Cliquez sur **Options** puis cliquez à nouveau sur **Options** dans le menu déroulant.
3. Cochez la case **Donner un accès direct**.
4. Fermez la connaissance pour valider.

Note : vous pouvez directement cocher le case **Donner un accès direct** lors de la création de votre connaissance.

<figure><img src="/files/Q0J6mg3JSz15TMffGFMf" alt=""><figcaption></figcaption></figure>

Ces connaissances auront un accès direct à la réponse sans avoir besoin de poser la question "Je veux une carte de crédit".

<figure><img src="/files/5h4ZAErYSDUIEBF4Is2X" alt=""><figcaption></figcaption></figure>

Faites attention lorsque vous exécutez cette action. Assurez-vous que cette connaissance n'existe pas déjà dans la base de connaissances. Il peut être nécessaire de suggérer des connaissances aux utilisateurs lorsque le bot n'est pas sûr d'avoir compris et de suggérer des questions similaires à partir de la base de connaissances. Ceci implique donc que le nom donné à cette branche soit une phrase bien construite. L'accès direct d'une connaissance est symbolisé par l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAIAAACA18GRAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAYpJREFUOI3llEFvgjAUx5+L2rTGJiBRJPMAMfOgy+In2Gff1duykDgPcIAoECKzzrLqwR3IEImg2zws2bu1fe/X1/7zf5X9fg9Xiptrgf4Jq1pytuLC9Vch2zAuAIASpNCGoUkY1U7mV4p0NO3A8pYAgOtV2sAAEIttAjVUeai3L2U9PduMixbF476W7SIWuxc78KM1JejxQT/PMm3f8qK7W2XQU1IEAKTQVyecuaGhSkO9ky3M/30sdpYXtShOQQAwmbqTqZsuBz2lIzUtL0ruKGRZ8yUAjPtadnOkd0bHLdzr7TS5kBUyjuvVnFKr9w9+3AJGNUpQyHgZi3GRqJYNL1o7wVtuE6N6Imsh6zeRZ1GCYrG9pDIWW0pQGUuhhHGRE+gUaMe4UCgpYxmaDACmHZSzkoQkuZCFUc1QpUW0njnh4YKubHQPZTMnXERrQ80bs8xDXak51Ns5D5l2sLjcQ1+v8C0vAgBKUAPVAWBz8HbePWdYSRfWfBkynpk5xNDkb8+cH8RfndGfEh3I0YVHraYAAAAASUVORK5CYII=).

De plus, votre connaissance peut désormais être redirigée depuis une autre connaissance :

1. Créez une nouvelle connaissance.
2. Dans la fenêtre de réponse, cliquez sur **Plus d'options**.
3. Positionnez-vous sur le champ **Rediriger vers une autre connaissance**.
4. Inscrivez le nom de la connaissance vers laquelle vous souhaitez rediriger cette réponse puis cliquez sur **Mettre à jour**.

<figure><img src="/files/tFqRVmyOVKNnfPhUoDRo" alt=""><figcaption></figcaption></figure>

Vous avez également la possibilité d'extraire une partie d'un arbre pour en faire une connaissance à part. Vous avez cette possibilité uniquement sur les branches qui sont en accès direct :

1. Cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAYAAABCIB6VAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wcRDgEIG9+7HwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAADYSURBVDjL7ZSxCsIwEIa/ilioUAfFTVwLPkF9B5/Wd6iDs9DV6iTp0EBTqkOcCraN2IpFCx5kyJfjv5/LJZbWWtNBDOgohk2StruwtN/43uccb3yvkeBvtAIgOBxbCVtNpiKWitMlAWAxnzB1nfbCsVTEiaolCpkCMHPHtbPpxKkVq/VYJAohUzSUVhFVLmSKMBgZVt1m+Q3HHjF7cFFwwMiz/EYsVcn1oHxBESq/ovIr+/Bs5MEhesmNrVivlqxXS9yxbeTP8r83x9Xn+y63eve7/YV7LHwHR8N7ycJEDGIAAAAASUVORK5CYII=) lorsque vous passez votre souris sur la connaissance.

<figure><img src="/files/zULTm9OItmZTAB9XrZV1" alt=""><figcaption></figcaption></figure>

2. Confirmez l'extraction de la branche (un message apparaîtra pour vous demander si vous confirmez l'extraction de la branche).

### Conditions de rebond

Les conditions de rebond vous permettent d'effectuer une redirection qui sera effective après initialisation de l'arbre de décision par l'utilisateur.

Certaines connaissances exigeront parfois de créer des arbres très complexes. Dans le but d'alléger ces arbres de décisions trop complexes et d'apporter plus de clarté dans la création de vos arbres de décision, vous avez la possibilité d'utiliser les conditions de rebond qui vous permettent d'effectuer des redirections vers d'autres connaissances en fonction des réponses utilisateurs. Ces redirections sont associées à l'arbre de décisions sur lequel vous ajoutez vos conditions de rebond. Ainsi :

* Si l'utilisateur pose une question correspondant à une formulation de la condition de rebond après l'activation de l'arbre, la redirection relative à la condition de rebond est utilisée.
* Si l'utilisateur pose une question correspondant à une formulation de la condition de rebond sans que l'arbre n'ait été activé, la redirection relative à la condition de rebond n'est pas utilisée.

Les conditions de rebond sont accessibles lorsque vous êtes sur votre connaissance via le bouton **Conditions de rebond** dans le menu au-dessus de votre connaissance. ![](/files/IGA78b1qNyZHkMEL4esQ)

<figure><img src="/files/gDk2PkwErDT69Txx15Fp" alt=""><figcaption></figcaption></figure>

Pour ajouter une condition de rebond,

1. Cliquez sur **Ajouter**.

<figure><img src="/files/yb5SQi3mskrNdQeGlJxX" alt=""><figcaption></figcaption></figure>

2. Complétez les champs :

* Le champ **Reformulation** vous permet d'inscrire la formulation de l'utilisateur qui le dirigera vers la connaissance cible.
* Le champ **Redirection** correspond à la connaissance vers laquelle sera redirigé l'utilisateur.

3. Cliquez sur **Ajouter** puis testez ensuite votre connaissance pour vérifier que la condition de rebond est correctement prise en compte.

Note : la redirection est dès lors effective et il n'est pas nécessaire d'effectuer une manipulation supplémentaire type « **rediriger vers** » dans les options de vos connaissances.


# Commentaires

Vous pouvez laisser des commentaires sur les connaissances. Ceux-ci ne sont visibles que par les utilisateurs de la plateforme.

Ces commentaires permettent :

* De communiquer entre les différentes personnes travaillant sur la base de la connaissance "pourquoi ne pas avoir fait ceci à la place..." ;
* De se souvenir d'une action à faire : "penser à ajouter le lien".

Lorsqu'un commentaire est ajouté, un email est envoyé à tous les utilisateurs du bot. Un utilisateur peut désactiver l'envoi de ces emails.

Les étapes ci-dessous décrivent le fonctionnement des commentaires :

1. Pour écrire ou lire un commentaire, déplacez votre souris sur l'icône de commentaire dans la réponse.

<figure><img src="/files/ylSB3VNekR7rHN99fIRw" alt=""><figcaption></figcaption></figure>

2. Cliquez dessus : un champ de saisie s'ouvre.
3. Rédigez votre commentaire puis cliquez sur **Ajouter un commentaire**.

Une fois enregistré, le commentaire figure au-dessus, avec le nom de son auteur et sa date de création.

Remarque : vous pouvez également taguer un utilisateur (@ + menu déroulant). En outre, l'utilisateur reçoit un e-mail (sauf s'il a désactivé cette fonctionnalité).

<figure><img src="/files/jsDcx4IQiyfyAwJnmnCd" alt=""><figcaption></figcaption></figure>

4. Cliquez sur l'icône de commentaire pour lire le commentaire, vous pouvez l'archiver.

<figure><img src="/files/bDhrwIvxyv02oyOBEW2U" alt=""><figcaption></figcaption></figure>

Lorsque quelqu'un ajoute un commentaire ou répond à l'un de vos commentaires, vous recevez une notification indiquant qu'il y a un ou plusieurs commentaires non lus.

Lorsqu'un commentaire n'est pas archivé, les connaissances correspondantes se trouvent dans la liste *Commentaire(s) à traiter*. Ces commentaires sont ceux que vous avez peut-être lus mais pas encore archivés.

Pour utiliser correctement les commentaires, il est nécessaire de les archiver uniquement lorsque l'action indiquée dedans est terminée (plutôt qu'après sa lecture).

Cliquez sur **Archiver** à droite d'un commentaire pour l'archiver.

Vous trouverez toutes les connaissances ayant fait l'objet d'un ou plusieurs commentaires dans *Connaissance avec commentaire(s)* .

Une fois de retour sur la vue initiale, si tous les commentaires associés aux connaissances sont archivés, les informations sur les commentaires disparaissent.

Cependant, vous saurez que cette connaissance a fait l'objet de commentaires car elle figure dans la liste *Connaissance avec commentaire(s)*.


# Tester le bot

Au fur et à mesure que vous construisez votre bot dans le BMS Dydu, vous pouvez utiliser le **bot de test** pour voir comment le bot répond aux questions de l'utilisateur afin que vous puissiez détecter et corriger tout comportement inattendu.

### Testez une connaissance avec le bot de test

1. Allez à la page **Connaissances** et cliquez sur le bouton **Tester mon bot** en haut à gauche de la liste des connaissances.
2. Il est conseillé de cliquer sur *nouvelle conversation* ![](/files/91l1w0W9UgBecdEKKYBu)en haut à droite du panneau de bot de test pour effacer les conversations précédentes. Effacer les conversations précédentes permet d'effacer tous les paramètres (comme les variables ou conditions de rebond) utilisés par le bot qui affecteront les résultats de matching.
3. Pour démarrer une conversation avec le bot de test en mode "production", il vous suffit d'activer l'option *dialogue pour production*  ![](/files/0ZzF1r9HJ7dX70Vjm5B7).

{% hint style="info" %}
Fonctionnement de l'option "Dialogue pour production":&#x20;

* Les conversations réalisées avec cette option activée sont enregistrées comme des conversations de "test" et ne contribuent pas aux statistiques, contrairement aux véritables conversations en production.
* Le canal indiqué dans les conversations est : Qualification
* Il est nécessaire de supprimer la conversation en cours pour que la modification de l'option soit prise en compte (le changement d'option n'est pas possible en cours de conversation).
  {% endhint %}

1. Dans la zone de saisie *"Tapez votre question ici"* en bas du bot de test, entrez la question d'utilisateur prédéfinie pour démarrer la conversation.

   Elle peut être écrite de la même manière que la question de l'utilisateur dans la connaissance, avec des fautes d'orthographe intentionnelles ou en remplaçant certains mots par leurs synonymes.

   Cela vous permettra de détecter toute faiblesse de votre bot et de l'enrichir.

<figure><img src="/files/brpwO1pKmrNQTBZ0xxCk" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Avec les touches *flèche vers le haut* et *flèches vers le bas* de votre clavier, vous pouvez naviguer dans les messages envoyés précédemment jusqu'à ce que vous cliquiez sur le bouton "nouvelle conversation".
{% endhint %}

4. Si vous avez plusieurs espaces de consultation qui contiennent des réponses différentes pour une même question d'utilisateur, utilisez la liste déroulante en bas du bot de test pour choisir l'espace de consultation dans lequel vous voulez exécuter votre test.

   Pour en savoir plus sur l'espace de consultation, référez-vous [cet article.](/contenus/langues-espaces)

### Enrichissez votre base de connaissances en améliorant le score de matching via le bot de test

Quand le bot de test ne comprend pas une question d'utilisateur, il fournit une phrase d'incompréhension affichée en orange. (Cette phrase peut être personnalisée[ ici](/contenus/phrases-generales).)

<figure><img src="/files/3UfznI2nsnGcgmlHLEpU" alt="" width="180"><figcaption></figcaption></figure>

Dans ce cas, vous pouvez entraîner le bot à reconnaître la question soit en créant une nouvelle connaissance, soit en ajoutant une formulation à une connaissance existante.

#### Ajouter une nouvelle formulation à partir du bot de test

Quand le bot ne comprend pas une question d'utilisateur, cela implique qu'après le traitement de la question, le bot n'a pas pu identifier une connaissance avec un score de matching suffisamment élevé pour fournir une réponse.

Par conséquent, vous pouvez enrichir la connaissance la mieux notée par le bot par rapport à la question d'utilisateur pour améliorer son score de matching. Ainsi, elle pourra être utilisée par le bot comme réponse.

Pour ce faire :

1. Cliquer sur l'icône Loupe (**"Rechercher"**) au-dessus de la réponse du bot de test.

   Cela ouvrira à droite de votre écran une liste de connaissances qui ont été analysées par le bot pour cette question classée selon le score du plus haut au plus bas.

   Choisissez la connaissance qui se rapproche le plus de l'intention de l'utilisateur et cliquez sur **Compléter cette connaissance**.

<figure><img src="/files/66KaB3D0HANjaNSLnQ96" alt=""><figcaption></figcaption></figure>

2. Confirmez (ou modifiez si nécessaire) la nouvelle formulation que vous souhaitez associer à cette connaissance et cliquez sur le bouton **Associer**.

<figure><img src="/files/a3Khy1yfP2IFR1VltOhl" alt=""><figcaption></figcaption></figure>

3. Vous recevrez un message de confirmation que la nouvelle formulation est maintenant associée à la connaissance. Vous pouvez tester à nouveau le bot pour vérifier sa réponse.

<figure><img src="/files/mQsLEyAbmhLXZeLzpd0d" alt=""><figcaption></figcaption></figure>

#### Créer une nouvelle connaissance à partir du bot de test

{% hint style="info" %}
Le bot de test vous permet uniquement de créer des connaissances simples. D'autres types de connaissances tels que slot ou ciblage comportemental doivent être créés via la page **Connaissances**.
{% endhint %}

1. Pour créer une nouvelle connaissance à partir du bot de test, cliquez sur le bouton **+** au-dessus de la réponse du bot.

<figure><img src="/files/029fpQgYwBSyvI5ipAMn" alt="" width="178"><figcaption></figcaption></figure>

Cela ouvrira le panneau d'édition de connaissances à droite de l'écran avec la question d'utilisateur préremplie :&#x20;

<figure><img src="/files/2JPWyQhwSpRytBdOEOqo" alt=""><figcaption></figcaption></figure>

2. Modifiez cette connaissance comme vous le faites habituellement.
3. Réinitialisez la conversation du bot de test et posez-lui la même question. Le bot devrait maintenant vous donner la réponse attendue.

### Utilisez le panneau Debug pour obtenir plus de détails sur le comportement du bot

La fonctionnalité **Debug** du bot de test vous permet d'obtenir des informations sur le comportement de votre bot comme l'utilisation des variables, journal de conversations, détails sur le matching, etc.

Le panneau Debug est accessible en haut à droite du bot de test en cliquant sur le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAHdJREFUKJFjFDFMYCAXMJGtkwTNshJCfDycZGqWkRBZP7McTT8JztbTlEfTz4gcYJYGapvmVeI34tL1h4HpnZ++fCfNZph1jNhtxgMgjrp041FgWgfEWtJsRtNJgs2yEkIfv3xH1snAwMBCpLWPX7zDFKRLCsMKAPy8KPwNqHuMAAAAAElFTkSuQmCC).

#### Consultez les détails du matching

Suite à une réponse du bot, vous pouvez ouvrir le panneau de débogage pour vérifier comment le bot a traité la question.

Comme indiqué dans l'image ci-dessous, dans la section **Matching** les connaissances qui ont été analysées par le bot sont triées par scores et bots correspondants.

La connaissance avec le score le plus élevé est fournie comme réponse du bot.

Veuillez noter que quand le bot social et le bot métier ont respectivement une connaissance qui correspond à la question d'utilisateur, c'est toujours le bot métier qui répond.

<figure><img src="/files/g8Np4LwDooPVioUHR0Rt" alt=""><figcaption></figcaption></figure>

En cliquant sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAVCAIAAABHbRCDAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAPZJREFUSIlj/P//PwONAROtLaCTHSwkqXZycv769Sucy83NvW/fXoK6hktYDRc7SIvzjMyMX79+HTp4kIGBwc7eno2Njfp2hIWGMjAwvHj+nIGBISY6mkhdjHjyeVFR8dGjR0lyhLW1dV9fL5ogAX/k5uViurenp4eBgaGkpARNfMnSpefOnsM0BLsdS5YuZWBgePbsGSMjIwMDg5CgkJeXJwMDw6rVq3/9+nXr1i2IGjY2Nkjobdu2/d37d+fPnX/27BlEL7LLsIeVubkFMldZWXnZsqUMuPN5VFT03bt3kbWcPHkCzh4u+WO42IEvf1ALDJewAgAAVFoUhKAOxQAAAABJRU5ErkJggg==)  , vous pouvez regarder comment le bot a traité chaque mot de la question de l'utilisateur. Il est utile de regarder ce panneau (dans l'image ci-dessous) surtout quand vous obtenez des réponses inattendues de la part du bot.

<figure><img src="/files/vK7nabyYtcJKpStD9xHz" alt=""><figcaption></figcaption></figure>

Score du matching avec une connaissance :&#x20;

Le score de chaque intention dans la base de connaissance varie de 0 à 100%

* De 0 à 50% : l'intention est considérée comme un échec . Si aucune intention avec un score plus élevé n'est trouvée, la phrase de l'utilisateur est considéré comme non-comprise.
* De 50% à 79,98%  : l'intention est considérée comme une reformulation (ou reword). Si aucune intention avec un score plus élevé n'est trouvée, des intentions alternatives sont proposées à l'utilisateur.

{% hint style="info" %}
**À noter** : même si un score affiché est inférieur à 79,98%, un matching direct peut tout de même être déclenché si la similarité avec la formulation cible est jugée suffisante. Notre système utilise une combinaison de critères pour évaluer la pertinence, et non un simple seuil unique.
{% endhint %}

* Au delà de 80%  : l'intention est considérée comme un match direct (direct match). Une réponse est fournie à l'utilisateur en utilisant l'intention avec le meilleur score.

Un score de 0 signifie qu'il n'y a aucun point commun entre les deux phrases, tandis qu'un score de 100% signifie que les deux phrases sont identiques.

### Processus du matching :&#x20;

1. **Matching avec Dydu :**&#x20;
   1. Si le matching direct donne un score ≥ 820, ou bien un score ≥ 700 avec un scoreMatch ≥ 820, alors on considère que c’est un **match Dydu**.
   2. Si un mot-clé déclenche une reformulation obligatoire, alors on passe par un **reword Dydu.**
2. **Sinon, matching avec un LLM** :&#x20;
   1. Si aucun résultat satisfaisant n’est trouvé avec Dydu, on effectue un **matching via un LLM**.
   2. Si le LLM retourne un résultat avec un score supérieur à un certain seuil, ce résultat est retenu **(match LLM)**.
3. **Seuils de score selon le fournisseur LLM :**&#x20;

| Fournisseur                | Seuil |
| -------------------------- | ----- |
| OPENAI                     | 0.4   |
| SCALEWAY                   | 0.4   |
| GOOGLE                     | 0.6   |
| MISTRAL                    | 0.65  |
| par défaut pour un inconnu | 0.5   |

### FAQ : pourquoi parfois le bot de test comprend ma question mais ne fournit pas la bonne réponse ?

Parfois, le bot trouve une connaissance avec un score de matching à 100%. Cependant, le bot n'a pas utilisé cette connaissance pour répondre à la question de l'utilisateur. Pourquoi?

Il y a plusieurs raisons à cela.

1. **La connaissance est désactivée** :

   lorsque le bot trouve une correspondance avec une connaissance désactivée, le bot se comporte comme s'il y a 0 correspondance (ce qui signifie qu'il ne répondra même pas avec la deuxième connaissance la plus correspondante). Dans ce cas, veuillez modifier le statut de votre connaissance pour la rendre "utilisable" par l'algorithme.
2. **Correspondance avec un mot-clé** :

   lorsque le bot trouve une correspondance avec un mot-clécontenu dans une connaissance, cette dernière sera considérée par le bot comme la réponse la plus appropriée, même s'il y a d'autres connaissances qui ont des scores plus élevés. Dans ce cas, veuillez modifier le mot-clé.
3. **Il y a une correspondance après reformulation mais l'option "activer la reformulation" n'est pas activée sur la connaissance correspondante** :

   lorsque le bot ne trouve pas de correspondance directe entre la question de l'utilisateur et la base de connaissance, il va chercher une connaissance dont l'intention se rapproche le plus de la question d'origine et l'utiliser pour répondre.

   Dans ce cas, la connaissance utilisée est considérée comme une reformulation de la question initiale. Cependant, si l'option "activer la reformulation" n'est pas choisie sur cette connaissance, le bot ne peut pas l'utiliser dans ce cas d'une recherche de reformulation. Dans ce cas, veuillez activer cette option.
4. **Il y a une correspondance après reformulation mais la connaissance en tant que branche d'un arbre de décision n'est pas en accès direct** :

   si la connaissance de reformulation est une branche d'un arbre de décision et l'accès direct n'est pas autorisé, le bot ne l'utilisera pas pour répondre à la question de l'utilisateur. Dans ce cas, veuillez activer l'option "accès direct".
5. **L'option "n'afficher que les reformulations publiées" est activée alors que la connaissance de reformulation n'est pas publiée** :

   l'option "n'afficher que les reformulations publiées" permet au gestionnaire du bot de ne tester que sur les connaissances finalisées et publiées.

   Par conséquent, si une connaissance de reformulation n'est pas publiée, elle ne sera pas utilisée par le bot pour fournir des réponses. Dans ce cas, veuillez publier votre connaissance ou désactiver l'option.

Voici des principaux cas que vous pourriez rencontrer si le bot ne propose pas la réponse souhaitée. Si aucune de ces explications ne vous aide à résoudre votre problème, veuillez contacter notre équipe support.


# Alertes qualité

### Alertes Qualité

La base de connaissances est constamment contrôlée par des processus de vérification de la qualité.

Contrôle des alertes qualité :

* **La longueur des réponses :** les réponses trop longues ne sont pas entièrement lues par les utilisateurs car la bulle de réponse n'affiche pas la totalité de celle-ci si l'utilisateur ne la fait pas défiler.
* **La longueur des questions :** les questions trop longues ne peuvent pas apparaître entièrement lorsqu'elles sont affichées juste au-dessus de la zone de texte dans la boîte de dialogue.
* **Liens hypertextes invalides :** si une connaissance contient un lien vers une page qui n'existe plus.
* **Connaissance sans thématique :** une connaissance sans thématique ne permet pas de déterminer le sujet dont parle l'utilisateur.
* **Liens vers d'autres connaissances :** la réponse d'un bot peut avoir un lien vers une autre connaissance, ceci est utile pour rediriger l'utilisateur vers un sujet connexe ou pour obtenir plus de détails. La solution vérifie que tous ces liens sont valides.
* **Dates d'expiration des connaissances :** lorsqu'une connaissance a une date d'expiration, une notification vous indique d'adapter le texte de la réponse, de modifier le statut de la connaissance ou même de supprimer la connaissance lorsque la date est atteinte.
* **Dates de début des connaissances :** lorsque vous attribuez une date de début à une connaissance, vous serez notifié ce jour-là, que vous devez changer le statut de la connaissance en *Publiée* pour la rendre accessible aux utilisateurs.
* **Conversations de tests rejouées en échec :** les dialogues de test que vous avez enregistrés sont automatiquement rejoués une fois par jour. Si ces dialogues ne se déroulent pas comme lors de la sauvegarde, vous les retrouverez sous cette alerte.

### Sur la page des connaissances

Ces alertes sont répertoriées dans le tableau de bord ou sur la page **Connaissances**, dans l'onglet **Alertes**.

<figure><img src="/files/BZfNg056LVBugx3hvevA" alt="" width="266"><figcaption></figcaption></figure>

Nous avons trois niveaux d'alertes : *Erreur, Warning, Information*. Les connaissances dont l'alerte est *Erreur* doivent être corrigées en priorité, c'est la raison pour laquelle elles apparaissent en premier dans l'onglet **Alertes**.

Comme dans toutes les vues de la page des connaissances, vous pouvez exporter au format excel les connaissances qui ont des alertes qualité, en utilisant le menu contextuel disponible à gauche lorsque vous survolez un type d'alerte qualité.

### Lors de l'édition d'une action

Lorsque vous validez le contenu d'une action, les alertes de qualité sont vérifiées en temps réel. Lorsqu'une action fait l'objet d'alertes de qualification, la liste de ces alertes est affichée directement dans l'action.

<figure><img src="/files/HcKksIuf3G9pWWOQBxRp" alt=""><figcaption></figcaption></figure>

### Sur le tableau de bord et par email

Sur la page du tableau de bord, dans *Actions à mener*, vous trouverez le nombre d'alertes qualité avec un statut d'erreur.

<figure><img src="/files/rb3YWErdljofXiCRyB9O" alt=""><figcaption></figcaption></figure>

Vous pouvez recevoir par e-mail, aussi souvent que vous le souhaitez, un rapport indiquant entre autres le nombre d'alertes qualité.

### Configuration des alertes

Certaines alertes sont configurables. Les paramètres sont accessibles directement depuis l'icône **...** à droite de l'onglet **Alertes**. Dès lors, une nouvelle fenêtre s'ouvre.

<figure><img src="/files/2s27ca3B54KJ8kJIJF7w" alt="" width="265"><figcaption></figcaption></figure>

Après avoir effectué vos modifications, cliquez sur **Mettre à jour**.

<figure><img src="/files/yB12hLxtBaQxpL8PN0VP" alt="" width="264"><figcaption></figcaption></figure>

Un bouton **Scanner les alertes** est disponible si vous souhaitez récupérer immédiatement la mise à jour des alertes.

### Informations sur les alertes et résolutions

Notez que la résolution d'une alerte n'efface pas immédiatement l'erreur dans votre back-office. Les erreurs résolues disparaissent après quelques heures.

#### Erreurs

* Liens inaccessibles : cette erreur signifie que le lien que vous avez inséré dans les connaissances n'est plus accessible. Cela peut également être dû à une erreur d'insertion (ajout d'un caractère dans le lien, etc.).

Pour résoudre cette erreur, vous devez mettre à jour le lien ou le supprimer s'il n'est plus fonctionnel.

* Reformulation introuvable : si une connaissance utilisée comme reformulation dans une autre connaissance n'est plus disponible (supprimée), vous verrez cette erreur. Pour résoudre l'erreur, réparez le lien de redirection en mettant à jour la connaissance redirigée.
* Reformulation cyclique : cette erreur apparaît lorsque la connaissance est susceptible de former une boucle, c'est-à-dire que la connaissance peut se rediriger sur elle-même.

Il peut s'agir d'une manipulation délibérée, si vous voulez retourner à la racine de la connaissance une fois que vous avez reçu des informations sur l'utilisateur, par exemple. Dans ce cas, vous pouvez simplement ignorer l'alerte grâce au ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAXCAIAAAB1dKN5AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAZBJREFUOI3F1U9rgmAYAHAbnWoeFsH8ErEufYp26tYW9DXaeV0t6NKQGmoHhZqDReguXRtbQrs5WonQoVFR8UpmpO0gi8gX+yfsOT1/8OfzCqpnOp0irsaZu9y/iu32dzx+E4vFJOnLBdE0TRzHh8MhAGoul1utVqeKPM93Op2/Zdv1ev0kUVVVkqQ2O8Xio67rx4sMw0wmk83OYDDgOO5Isdfrcdyzvc+y7Hg8PkYkCGK5XFp5qURnsxkrn800iqIPFkVRbDTe1iWGYcFgcF0KAi/L8gGiYRj5/IPD/QzDLBQKB4i1Wk1RFAcRQZD39w9RFPcSAQAkSTpzVhAEYZrmbpGmSwCo+4jdriwIrztERVGq1Zd9OCsoitI0bV167N/HVOrO/nScI5G4TSaT8B2bzSaU8/l8mQyeTt97vV77tFyujEYjuFipPEG3wLDLUCgUiURQFLVPdV1nGNbKt08djV4vFgsoGg5fzee6JEnQKYqeWy/79hECgYt+/wd6Tav1Ce1b4ff74TueHu7/Z34BpXO7Q5bsiMMAAAAASUVORK5CYII=)  lorsque vous passez votre souris sur la connaissance. Vous trouverez alors les alertes ignorées dans une nouvelle catégorie.

Cependant, si ce n'était pas volontaire, une erreur peut former une boucle dans votre connaissance. Afin de résoudre cette erreur, nous vous recommandons de tester l'ensemble de vos connaissances par le biais du bot.

* Connaissance inactivable : cette erreur signifie que la connaissance ou l'un de ses mots-clés ne peut être déclenché. En cliquant sur la connaissance, vous obtiendrez plus d'informations sur la connaissance inactivable.

Afin de résoudre cette erreur, veuillez tester les connaissances à partir du robot de test. Si la connaissance correspond à une autre connaissance, vous devez exclure la reformulation de la connaissance à laquelle vous ne voulez plus qu'elle soit associée.

Si la formulation fonctionne correctement, vous pouvez simplement cliquer sur le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAXCAIAAAB1dKN5AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAZBJREFUOI3F1U9rgmAYAHAbnWoeFsH8ErEufYp26tYW9DXaeV0t6NKQGmoHhZqDReguXRtbQrs5WonQoVFR8UpmpO0gi8gX+yfsOT1/8OfzCqpnOp0irsaZu9y/iu32dzx+E4vFJOnLBdE0TRzHh8MhAGoul1utVqeKPM93Op2/Zdv1ev0kUVVVkqQ2O8Xio67rx4sMw0wmk83OYDDgOO5Isdfrcdyzvc+y7Hg8PkYkCGK5XFp5qURnsxkrn800iqIPFkVRbDTe1iWGYcFgcF0KAi/L8gGiYRj5/IPD/QzDLBQKB4i1Wk1RFAcRQZD39w9RFPcSAQAkSTpzVhAEYZrmbpGmSwCo+4jdriwIrztERVGq1Zd9OCsoitI0bV167N/HVOrO/nScI5G4TSaT8B2bzSaU8/l8mQyeTt97vV77tFyujEYjuFipPEG3wLDLUCgUiURQFLVPdV1nGNbKt08djV4vFgsoGg5fzee6JEnQKYqeWy/79hECgYt+/wd6Tav1Ce1b4ff74TueHu7/Z34BpXO7Q5bsiMMAAAAASUVORK5CYII=) pour ignorer l'alerte.

Une connaissance qui correspond à un seul mot a d'autant plus de chances d'être inactive si le mot est intégré à un groupe de correspondance.

* Conversations de tests rejouées en échec : cette erreur signifie qu'un dialogue de test ne fonctionne pas correctement.

Pour le résoudre, identifiez les changements qui ont eu un impact sur le dialogue et appliquez les corrections nécessaires.

#### Alertes

* Connaissance sans thématique : cette alerte vous informe que votre connaissance n'est liée à aucune thématique.
* Action non traduite, Condition non traduite, Question non traduite, Réponse non traduite : les alertes concernant la traduction d'éléments signifient que vos connaissances n'ont pas encore été traduites dans une autre langue proposée par votre bot.

Même après avoir effectué la traduction, l'alerte ne sera pas supprimée immédiatement. Il peut s'écouler quelques heures avant que le système d'alerte ne la considère comme résolue.

#### Informations

* Réponse trop longue (info) : cette alerte signifie que la réponse de votre connaissance est trop longue. En effet, les meilleures pratiques pour la création d'une connaissance recommandent des réponses courtes.

Vous pouvez maintenant modifier vos connaissances ou ignorer l'alerte si vous ne souhaitez pas modifier la réponse.

Notez que cette information peut se transformer en avertissement si la réponse est vraiment trop longue.

* Question trop longue (info) : cette alerte signifie que la question (phrase de l'utilisateur) est trop longue.

Comme précédemment, vous pouvez choisir de modifier les connaissances ou d'ignorer l'alerte.


# Carte des connaissances

La carte des connaissances vous permet d'avoir une vue d'ensemble de vos connaissances sous la forme de cartographie. Cet outil de mapping visuel vous permettra, entre autres, de visualiser les liens et les dépendances entre vos connaissances.

Pour accéder à la carte des connaissances, dirigez-vous sur la page **Contenus > Carte des connaissances**.

<figure><img src="/files/IMSNfASNkJx3Cr6OE5eR" alt=""><figcaption></figcaption></figure>

Les flèches représentent les 4 types de liens modélisés par la carte de connaissances :

* Redirections ;
* Reformulations ;
* Conditions de rebond ;
* Modèle.

Afin de personnaliser l'affichage de votre carte de connaissances, vous pouvez utiliser l'outil de filtres en haut à droite de la page.

<figure><img src="/files/2XQOXQdpeqFDAevlaXIG" alt=""><figcaption></figcaption></figure>

Vous pouvez dès lors inscrire la connaissance sur laquelle se concentrera la carte avec son degré d'éloignement.

Vous pouvez également effectuer un filtre par thématique et/ou par espace de consultation.

L'option **Inclure les connaissances isolées** permet d'inclure les connaissances qui n'ont aucune redirection et ne sont cible d'aucune redirection.

L'option **Inclure les thématiques filles** permet d'inclure les sous-thématiques.

Lorsque vous sélectionnez une connaissance depuis votre carte, vous avez la possibilité d'effectuer un centrage sur la connaissance ou d'accéder directement à la connaissance.

<figure><img src="/files/hBdxXAXPAXQtcazKKb9V" alt=""><figcaption></figcaption></figure>


# Groupes de formulations

## Définition et avantage des groupes de formulations

Un groupe de formulations est un ensemble de mots et de termes qui ont un sens ou une intention similaire. L'utilisation de groupes de formulations simplifie la création de la base de connaissances pour votre bot.

Quand vous avez une question qui peut être formulée de différentes manières, au lieu de créer des questions séparées pour chaque variation, vous pouvez utiliser des groupes de formulations pour les représenter.

Par exemple, au lieu de créer des questions distinctes pour "Quelle est la procédure d'activation de mon compte ?" , "Comment puis-je activer mon compte ?", et "Je fais comment pour activer mon compte ?" , vous pouvez créer un groupe de formulations appelé "Comment activer" avec des formulations comme "Quelle est la procédure à activer", "Comment activer", et "Que dois-je faire pour activer".

<figure><img src="/files/69cIBaUJg9Y5a1xK8Wpu" alt=""><figcaption></figcaption></figure>

Comme indiqué dans l'image, vous pouvez rendre votre groupe de formulations plus puissant en utilisant différents groupes de formulations à l'intérieur du groupe parent. Ainsi, la capacité de compréhension du groupe parent sera élargie.

Vous l'aurez compris : les groupes de formulations sont utiles pour rassembler des "synonymes" et simplifier le processus de création de questions pour votre bot.

#### Types de groupes de formulations

Il y a deux types de groupes de formulations dans le BMS :

* **Groupes génériques**: Dydu fournit environ 160 groupes de formulations "génériques" à travers sa base de connaissances sociales. Ces groupes facilitent le travail d'enrichissement et assurent une meilleure compréhension de votre bot. Les mots et les termes qui composent ces groupes ont la même signification ou la même intention, quel que soit votre secteur ou le périmètre de votre bot. Les exemples incluent "Oui", "Non", "Comment faire", "Adresse e-mail", "Connexion", et "Mot de passe". Dydu a créé ces groupes de formulations génériques sur plus de 10 ans de recherche et de développement, ainsi que d'accompagnement de ses clients ayant des problématiques variées dans de nombreux secteurs. Ces groupes sont mis à disposition à tous les clients de Dydu.
* **Groupe de formulations métiers** : ce type de groupes de formulations traite des sujets spécifiques à l'expertise du bot, comme RH, e-commerce ou IT help desk. Une formulation peut avoir sz différentes significations selon le secteur et le contexte du bot. Par exemple, le terme "ticket" peut signifier "un titre de transport" pour le bot du service client d'une compagnie de transport, alors que pour un bot IT help desk cela signifie "une demande de support informatique".

Pour faciliter la création de groupes de formulations métiers pour ses clients, Dydu propose des **modèles de base de connaissances** dans divers domaines que RH, e-commerce, support IT ou encore relation citoyen pour les collectivités. Ces modèles sont fournis avec **des questions, des réponses et des groupes de formulations** pré-définis que vous pouvez personnaliser selon vos besoins et votre contexte.

Pour distinguer visuellement ces deux types de groupes de formulations, Dydu les affiche en différentes couleurs dans le BMS :

* Bleu : groupes de formulations génériques.
* Vert : groupes de formulations métiers.

<figure><img src="/files/3b6H4YWGClqgk9pyi7k3" alt=""><figcaption></figcaption></figure>

## Comment créer un groupe de formulations ?

Il y a deux façons de créer un groupe de formulations :

* A partir de la section **Contenu > Groupes de formulations**.
* Lorsque vous éditez votre base de connaissances.

### Créez un groupe de formulations à partir de la section "Groupes de formulations"

1. Allez à **Contenu > Groupes de formulations**.
2. Choisissez la langue dans laquelle vous souhaitez créer vos groupes de formulations. Ils peuvent être traduits dans d'autres langues de votre bot plus tard.
3. Cliquez sur **Ajouter**. Vous pouvez choisir d'ajouter un nouveau groupe ou une nouvelle catégorie qui vous permet d'organiser vos groupes de formulations.

<figure><img src="/files/AAFeM81jNLZPuY1AOvH8" alt="" width="563"><figcaption></figcaption></figure>

4. Si vous choisissez de créer une **nouvelle catégorie**, une fenêtre apparaîtra où vous pouvez entrer le nom de la catégorie. Ensuite, cliquez sur « Ajouter».&#x20;

<figure><img src="/files/wPZ60TUGA3CQPIChmTNN" alt="" width="262"><figcaption></figcaption></figure>

Si vous choisissez de créer un nouveau **groupe de formulations**, cliquez sur "**Ajouter un nouveau groupe de formulations**" et une fenêtre apparaîtra comme suit :&#x20;

<figure><img src="/files/Cz1sdb2aujFAo3A1Kp2Z" alt="" width="337"><figcaption></figcaption></figure>

Entrez le nom de votre groupe de formulations puis déterminez les paramètres suivants :

* **Multilingue**: l'activation de cette option vous permet de créer un groupe de formulations dans toutes les langues et tous les espaces de consultation de votre bot. Cette option est utile si vous avez des groupes de formulations génériques dont les formulations restent les mêmes quelle que soit la langue (par exemple, les noms de marques).

  Les groupes de formulations multilingues sont symbolisés par l'icône ![](/files/QoG9NufYxD2h069oaVOU) .
* **Inclure le nom du groupe dans ses formulations** : cochez la case seulement si vous voulez que le nom du groupe de formulations fasse partie de ses formulations.

5. Cliquez sur "Ajouter et ouvrir". Vous pouvez maintenant ajouter des formulations dans le groupe que vous venez de créer.

<figure><img src="/files/IgvEX8P7z8kNS73qJzQb" alt="" width="375"><figcaption></figcaption></figure>

Pour ajouter des formulations, vous pouvez soit les ajouter[ **une par une**](#ajouter-une-par-une) à partir du champ "formulation" ou en ajouter plusieurs à la fois en utilisant la fonctionnalité [**ajout massif**](#ajout-massif) dans l'onglet "Options".

***

#### Ajout Massif :&#x20;

1. Cliquez sur "Options > Ajout massif".&#x20;
2. Entrez plusieurs formulations (séparées par des sauts de ligne),
3. &#x20;Cliquez sur "Ajouter".

<figure><img src="/files/xiVaQjElAZ1gpfFt59f4" alt=""><figcaption></figcaption></figure>

***

#### Ajouter une par une :

1. Entrez une formulation à la fois dans le champ "formulation". Vous pouvez soit entrer un texte brut soit un groupe de formulations existant. Ensuite, choisissez le type de formulation dans la liste déroulante :&#x20;

<figure><img src="/files/osDY4voeG2PokAzV4oDS" alt="" width="375"><figcaption></figcaption></figure>

* **Formulation** : c'est le type par défaut sans aucune option spéciale. La plupart des formulations seront créées dans ce type.
* **Mot-clef** : les formulations seront créées en tant que **Mot-clef**.

Le mot-clef a un poids plus important sur notre système de matching. Cela signifie que si le bot correspond à la fois à un groupe de formulations A qui contient un mot-clef et avec un autre groupe B qui ne contient qu'une simple formulation, le groupe A sera considéré par le bot comme plus pertinent dans les résultats de matching, même si B aurait eu un score de matching plus élevé. Les mots-clés ajoutés en tant que formulation sont symbolisés par l’icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAXCAIAAABxgXNEAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAWpJREFUOI3F1FFLwlAUB/C/263hSC9qlgNRyh4F6bW+fAT1WlJ7ENKhGW7MZXfGZLq5Hq6KzNymSJ2nszP4cc65d0sFQYADhXAoKMaybIc5bnKLbJY8f97qDTv6J3+UJXKh5C+VfKyV2tzXo9q17Emo2KgplTMabYVn1K0xh4golIu0kE3zerM9cNxZtBWecTXaTb1KZQmAqhkdfQRgyJzo1rbunkMASoUMTyZxfYUtIoo8WZ2gbo15kpaOoq3wjJUiNUbfAO6bWimXcdypvURPqbxbX6VC5jx3suhoNLbX7lfrfRht/XInAKia0TOZ588BpI8JgMnUA1Au0usrZTeLh2U7hIhUljx//vDa5T1GcFHWeiThkn7bRBRu61UiCgD6Jnt6G+xvAXjRDL7BbVxSizlu32Trlb7JVM3Yx6Ky1KgtdpSVpawsAZgu21xEsEt0ja+7587M82ee3/6wQm+TnmOS+Kt/9H9aP1Ul5aMLcDOPAAAAAElFTkSuQmCC) .

* **Exclusion** : il vous permet d'exclure une formulation du groupe, ce qui signifie que le bot ignorera cette formulation dans son système de matching. Par conséquent, le groupe de formulations ne sera jamais déclenché par cette formulation. Les formulations exclues sont symbolisées par l’icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAIAAABVH8vfAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAWxJREFUOI3NlD1vwjAQhi9fcjBKIjlFJEJ8VK06sDBQiX/Qn8x/yNgF2CBFKEqBVCFAQSFph6ip69qUgaHvZPus587v6Sydsg+4huSrUK4JUkWBaRAtVvFmfwQAYlZso9pxiaYIE0u/PUqz3Bv5BeJHTkUedFsW1rkgTgYuBQBOWe6NXkQVsaBpEHEpJWu+jLkh1qPFin+v1NgPJYA6MRi/WJConMaN1axZOtIw0obeRPVDxq+/268qcv++0btziYkx0vbHFL78SrNcCLLNCnPSu3XrtlFuk+2hWJyyfBZEQhAxqsyLaAoAzNffJkbJTgjquESlXGzWLDoarpPXt225XW/ehSBNkQfdVsnSkUZTnqcBCMQZEQvrT48P82U89sPC3c3usFjFIVVLIROjcyD6UUNvIroAAG2HlOtz7XeIoYqn1MSIdvAciPGLoQy6bfqEM/2M0iyfBVGU7IoemRi1HcJ08yLQhfp/X+0nekqPmd38PmsAAAAASUVORK5CYII=)  .

Après avoir choisi le type de formulation, cliquez sur "Ajouter".

2. A cette étape, le bot peut suggérer de remplacer certains mots/termes de votre formulation par des groupes de formulations existants dans votre bot (tels que les groupes de formulations génériques, les variables par défaut, les verbes d'action...). Cela vous permet d'enrichir la capacité de compréhension de votre bot.

Avec les groupes de formulations suggérés, vous pouvez effectuer les actions suivantes :&#x20;

* Voir les formulations contenues dans chaque groupe en y survolant avec votre curseur.

<figure><img src="/files/CaKBjew9zW68pOD1WtXn" alt=""><figcaption></figcaption></figure>

* Identifier le type de chaque groupe suggéré par sa couleur. (Pour plus de détails, référez-vous à l'explication sur les Types de groupes de formulations.)
* Rendre le groupe **optionnel** :

  * Normalement, lorsqu'un groupe de formulations matche avec la question d'utilisateur, la connaissance qui contient ce groupe sera considérée comme plus pertinente que celle qui ne le contient pas.
  * Cependant, lorsqu'un groupe de formulations est **optionnel**, il n'affectera pas le résultat de matching.
  * Cette fonctionnalité est utile si votre connaissance contient un groupe de formulations avec des formulations génériques (comme "comment", "comment puis-je faire" ou "comment faire") qui est susceptible de matcher avec un grand nombre de questions d'utilisateur et donc peut biaiser le matching.

  Pour cela, cliquez sur la flèche dans la bulle de groupe de formulations, puis cochez la case "groupe optionnel".

<figure><img src="/files/1kgIODa2jpwJoK9cSsdK" alt=""><figcaption></figcaption></figure>

3. Choisissez la suggestion qui vous convient le mieux. Vous pouvez également ignorer la suggestion en cliquant une fois de plus sur "Ajouter".

***

3. Une fois les formulations ajoutées, elles peuvent être modifiées, supprimées individuellement ou massivement en cliquant sur l'icône correspondante :&#x20;

<figure><img src="/files/RGnvtdWcl2ctsCAgqK08" alt=""><figcaption></figcaption></figure>

> Remarque : l'option de suppression massive des formulations n'apparaîtra que lorsque vous aurez plus d'une formulation dans un groupe de formulations. Vous devrez choisir une formulation à conserver et le reste sera supprimé.

Une fois créés, les groupes de formulations peuvent être immédiatement utilisés dans vos connaissances.

#### Créez un groupe de formulations à partir de la zone d'édition de connaissances

Lors de la modification de vos connaissances, vous pourriez trouver pertinent de transformer un terme de la question de l'utilisateur en groupe de formulations.

Notre solution vous permet de le faire lors de la création de la question de l'utilisateur ou de ses formulations.

**Créez un groupe de formulations pendant la création d'une question d'utilisateur**

1. Pour ce faire, après avoir saisi la question de l''utilisateur mettez-vous en mode **Sélection** en cliquant sur l'icône **T** puis cliquez sur "Sélection".

<figure><img src="/files/bnzQZi91V8L02PZF4a91" alt="" width="210"><figcaption></figcaption></figure>

2. Double-cliquez sur le terme que vous souhaitez transformer en groupe de formulations. Puis cliquez sur l'icône **+** qui apparaît à droite. Un panneau s'ouvrira.

<figure><img src="/files/1xnW1Cgv3uCNSL3pBteA" alt="" width="218"><figcaption></figcaption></figure>

3. Dans le panneau, donnez un nom au groupe de formulations que vous êtes sur le point de créer dans le champ dédié.
4. Cliquez sur "Mettre à jour" et vous verrez que le terme est maintenant devenu un groupe de formulations métier (en vert).

<figure><img src="/files/KGC9VWDawkjR4Zg48Qm3" alt="" width="220"><figcaption></figcaption></figure>

**Créez un groupe de formulations lors de l'édition d'une formulation**

Pour créer un groupe de formulations pendant l'édition d'une formulation, commencez par modifier une formulation existante en cliquant sur l'icône à 3 points. Puis répétez les étapes susmentionnées.

<figure><img src="/files/ALdBlKqokdBEuVfPEM63" alt="" width="262"><figcaption></figcaption></figure>

### Utilisez les groupes de formulations dans une connaissance

Lors de la création d'une question ou d'une formulation de celle-ci, le BMS Dydu suggère automatiquement des groups de formulations qui pourraient être utilisés. Vous êtes libre d'accepter ou de rejeter ces suggestions.

<figure><img src="/files/khyCZP4WmPrdmLUxxsdA" alt=""><figcaption></figcaption></figure>

Vous pouvez également utiliser le bouton dédié dans la fenêtre d'édition de question de l'utilisateur pour rechercher un group de formulations et l'ajouter manuellement.

<figure><img src="/files/62ba60RXxa2LYsUPHPTL" alt=""><figcaption></figcaption></figure>

Pour plus de détails sur la façon de modifier la question de l'utilisateur, référez-vous [à cet article.](/contenus/connaissances/types-de-connaissances/reponse-a-une-question)

### Enrichissez vos groups de formulations

Une fois les groups de formulations créés, au fur à mesure que vous en apprendrez sur vos utilisateurs finaux, vous pouvez enrichir les groupes de formulations existants avec de nouvelles formulations.

Vous pouvez le faire à partir de la page d'édition de connaissance ou directement dans l'onglet **Groupes de formulations**.

#### Enrichissez un groupe de formulations à partir de la page d'édition d'une question

1. Après avoir créé la question de l'utilisateur ou une formulation de celle-ci, mettez-vous en mode **Sélection** en cliquant sur l'icône **T**.

<figure><img src="/files/xP1SyI5aGxFjCQqHhYpr" alt="" width="210"><figcaption></figcaption></figure>

2. Double-cliquez sur le terme que vous souhaitez ajouter dans un groupe de formulations existant. Cliquez ensuite sur l'icône **+** qui apparaît à droite. Un panneau s'ouvrira.&#x20;

<figure><img src="/files/5en8cPSN1jqr7LEx1CiG" alt="" width="218"><figcaption></figcaption></figure>

3. Commencez à entrer le nom du groupe de formulations dans le champ dédié. Une suggestion automatique sera faite en fonction de ce que vous entrez.&#x20;

<figure><img src="/files/ZBkZRyS8pMRRhMqGow2F" alt=""><figcaption></figcaption></figure>

4. Sélectionnez le groupe que vous souhaitez enrichir à partir de la liste de suggestions automatiques. Vous verrez également toutes les formulations contenues dans ce groupe. Le champ "formulation(s) à ajouter" est déjà prérempli avec le terme sélectionné. Vous pouvez également ajouter d'autres formulations si vous le souhaitez.

<figure><img src="/files/gk70egRADjDrz6hyp1di" alt=""><figcaption></figcaption></figure>

4. Cliquez sur "Mettre à jour" et vous verrez que le terme est maintenant remplacé par le groupe de formulations auquel il appartient.

<figure><img src="/files/BhNXrgdqqZQzSPm1W4I3" alt=""><figcaption></figcaption></figure>

#### Enrichissez un groupe de formulations à partir de la section "Groupe de formulations"[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#enrichissez-un-groupe-de-formulations-%C3%A0-partir-de-la-section-groupes-de-formulations) <a href="#enrichissez-un-groupe-de-formulations-a-partir-de-la-section-groupes-de-formulations" id="enrichissez-un-groupe-de-formulations-a-partir-de-la-section-groupes-de-formulations"></a>

Les étapes à suivre sont les mêmes que celles pour [créer les premières formulations d'un groupe de formulations](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#create-a-matching-group-from-the-matching-groups-section).

Pour rappel, vous pouvez les ajouter une par une depuis la zone "Formulation" ou en ajouter plusieurs à la fois en utilisant la fonctionnalité "Ajout massif" dans l'onglet "Options".

#### Traduisez vos groupes de formulations dans d'autres langues[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#traduisez-vos-groupes-de-formulations-dans-dautres-langues) <a href="#traduisez-vos-groupes-de-formulations-dans-dautres-langues" id="traduisez-vos-groupes-de-formulations-dans-dautres-langues"></a>

Pour traduire vos groupes de formulations, allez dans la section "Groupe de formulations" et sélectionnez votre langue cible dans la liste déroulante. La liste contient toutes les langues de votre bot. Ceci actualisera les paramètres de langue de la page.

<figure><img src="/files/rzowyZqtstoePDOGYFct" alt=""><figcaption></figcaption></figure>

Les groupes de formulations qui ont été créés dans la langue originale seront affichés avec un suffixe indiquant sa langue d'origine.

Tout d'abord, traduisez le nom du groupe de formulations. Ensuite, pour ajouter des formulations dans la langue cible, ouvrez le panneau d'édition d'un groupe de formulations et commencez à en ajouter un par un ou massivement.

### Suivez l'utilisation de vos groupes de formulations[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#suivez-lutilisation-de-vos-groupes-de-formulations) <a href="#suivez-lutilisation-de-vos-groupes-de-formulations" id="suivez-lutilisation-de-vos-groupes-de-formulations"></a>

Vous pouvez obtenir un aperçu de la façon dont un groupe de formulations est utilisé dans votre base de connaissances en analysant son utilisation et ses dépendances.

<figure><img src="/files/HwUb2Bwxqd7UAyJEipg8" alt=""><figcaption></figcaption></figure>

#### Dépendance[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#d%C3%A9pendance) <a href="#dependance" id="dependance"></a>

Cette fonctionnalité est particulièrement utile si certains de vos groupes de formulations sont utilisés comme formulations dans d'autres groupes de formulations. Il vous permet de voir les dépendances entre eux dans un format graphique.

Cliquez sur **Dépendances** et un nouvel onglet s'ouvrira en affichant un graphique.

Voici comment l'interpréter :

Les flèches partent toujours du groupe parent et pointent vers les groupes enfants. Le chiffre indique le nombre de fois un groupe enfant est utilisé comme formulation dans le groupe parent.

<figure><img src="/files/YOtwAeUeMHcp1jnVNBgT" alt=""><figcaption></figcaption></figure>

#### Utilisation[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#utilisation) <a href="#utilisation" id="utilisation"></a>

Cette fonctionnalité vous permet de voir quelles connaissances et quels groupes de formulations utilisent actuellement le groupe de formulations concerné.

Pour accéder à cette fonctionnalité, cliquez sur **Utilisation**. Un nouvel onglet s'ouvrira affichant les informations suivantes :

* Le nombre de connaissances qui utilisent ce groupe de formulations.
* Le nombre de groupes de formulations qui utilisent ce groupe.

Cliquez sur un élément de la liste et vous serez redirigé.e vers la page du contenu correspondant dans un nouvel onglet.

<figure><img src="/files/hlKmwYEkhv9bXzi8g80t" alt=""><figcaption></figcaption></figure>

### Import/Export de groupes de formulations[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#importexport-de-groupes-de-formulations) <a href="#importexport-de-groupes-de-formulations" id="importexport-de-groupes-de-formulations"></a>

#### Importez des groups de formulations[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#importez-des-groups-de-formulations) <a href="#importez-des-groups-de-formulations" id="importez-des-groups-de-formulations"></a>

La section "Groupes de formulations" vous permet d'importer ou d'exporter tous ou une partie de vos groupes de formulations.

Pour importer les groupes de formulations, veuillez suivre les étapes suivantes :

1. Cliquez sur **Importer** en haut de la page. Une nouvelle fenêtre s'ouvrira.
2. Cliquez sur **Modèle de template** pour télécharger le modèle. Notez que vous pouvez importer vos groupes de formulations au format Excel ou XML.

Note : Dans une cellule Excel, la limite est de 2672 lignes. Si vous souhaitez importer plus de 2672 formulations dans un groupe de formulation alors, il faut mettre plusieurs lignes pour le même groupe et répéter la catégorie et le nom du groupe sur chaque ligne.

<figure><img src="/files/9cVyQmyEM1vCG6M77S5K" alt=""><figcaption></figcaption></figure>

3. Cliquez sur **Choisir un fichier** puis sélectionnez votre fichier .xslx ou .xml.
4. Cliquez sur **Importer**. Vos groupes de formulations sont dès lors importés dans votre base de connaissances.

> Important : le nombre de groupes de formulations autorisé via l'import massif est limité à 99. Au-delà de 100 groupes, l'import ne fonctionnera pas.

#### Exporter tous les groupes de formulations du bot[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#exporter-tous-les-groupes-de-formulations-du-bot) <a href="#exporter-tous-les-groupes-de-formulations-du-bot" id="exporter-tous-les-groupes-de-formulations-du-bot"></a>

Pour réaliser l'export de vos groupes de formulations, veuillez suivre les étapes suivantes :

1. Cliquez sur **Exporter** .
2. Choisissez le format de votre rapport (XML ou Excel) et cliquez dessus.

Le téléchargement de vos groupes de formulations dans le format sélectionné commencera immédiatement.

#### Exportez un groupe de formulations[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/matching_groups#exportez-un-groupe-de-formulations) <a href="#exportez-un-groupe-de-formulations" id="exportez-un-groupe-de-formulations"></a>

Cette option vous permet d'exporter 1 groupe de formulations (avec ses formulations) dans le format *txt.* ou *xml.*

Cette fonctionnalité est accessible via l'onglet **Options** dans la zone d'édition d'un groupe de formulations :&#x20;

<figure><img src="/files/t41SSZt5gpVrQnBmIjsz" alt=""><figcaption></figcaption></figure>

### Options avancées à propos des groupes de formulations

<figure><img src="/files/PHbrBKPVtGzN9oHlNoPu" alt=""><figcaption></figcaption></figure>

**1. Chercher**

Cette option vous permet de voir le détail du matching entre une phrase saisie de votre choix et les formulations existantes dans un groupe de formulations.

Entrez une phrase et cliquez sur **Chercher**. Vous verrez le score du matching entre votre phrase et les formulations que vous avez déjà ajoutées. Cela vous donnera une meilleure idée sur la pertinence de vos formulations.

Cette option est accessible via le panneau d'édition de groupe de formulations **> Chercher**.

<figure><img src="/files/8fQC0mMhJNqJkFxJj3Yd" alt=""><figcaption></figcaption></figure>

En cliquant sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAVCAIAAABHbRCDAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAPZJREFUSIlj/P//PwONAROtLaCTHSwkqXZycv769Sucy83NvW/fXoK6hktYDRc7SIvzjMyMX79+HTp4kIGBwc7eno2Njfp2hIWGMjAwvHj+nIGBISY6mkhdjHjyeVFR8dGjR0lyhLW1dV9fL5ogAX/k5uViurenp4eBgaGkpARNfMnSpefOnsM0BLsdS5YuZWBgePbsGSMjIwMDg5CgkJeXJwMDw6rVq3/9+nXr1i2IGjY2Nkjobdu2/d37d+fPnX/27BlEL7LLsIeVubkFMldZWXnZsqUMuPN5VFT03bt3kbWcPHkCzh4u+WO42IEvf1ALDJewAgAAVFoUhKAOxQAAAABJRU5ErkJggg==) , vous pouvez obtenir plus de détails sur le matching.

<figure><img src="/files/0AUYDtfeoV82g1iovam5" alt=""><figcaption></figcaption></figure>

**2. Modification de variables**

Cette fonctionnalité vous permet de définir une formulation comme une variable ou de modifier la valeur d'une variable. Elle prend effet lorsque la question de l'utilisateur correspond au groupe de formulations qui contient ce paramètre.

Elle est accessible via le panneau d'édition de groupe de formulations **> Options > Options**.

<figure><img src="/files/deltpAwUQDcZKn9LqzQg" alt=""><figcaption></figcaption></figure>

**3. Correspondance stricte avec des formulations**

Lorsque l'option est activée, les questions de l'utilisateur doivent contenir exactement la même formulation que celle dans le groupe de formulations.

Par exemple, imaginons que « Bordeaux » est une des formulations du groupe de formulations « Ville ». Si l'utilisateur se trompe dans la saisie en écrivant « Bordeaux », le groupe de formulations « Ville » ne matchera pas avec ce terme.

Cette option est accessible via le panneau d'édition de groupe de **formulations > Options > Option**s.

**4. Peut être suggéré lors de l'ajout de formulation**

Lorsque l’option est activée, le groupe de formulations peut être suggéré pour remplacer des mots ou des phrases similaires dans une question de l'utilisateur ou dans ses formulations.

Cette option est accessible via le panneau d'édition de groupe de **formulations > Options > Options.**

**5. Groupe optionnel ou obligatoire**

Lorsque l'une des options est activée, le groupe de formulations devient soit : &#x20;

* **Optionnel**, ce qui signifie qu'il n'affectera pas le résultat du matching.
* **Obligatoire**, ce qui signifie que la présence de ce groupe est indispensable pour que la correspondance soit effectuée.

Ces options sont accessibles via le **panneau d'édition de groupe de** **formulations> Options > Options.**

**6. Définir l'URL de mise à jour**

Cette option vous permet d'ajouter massivement des formulations à un groupe de formulations existant à partir d'une URL.

Collez l'URL qui contient vos formulations dans la zone désignée, puis cliquez sur "Mettre à jour". Les formulations seront ajoutées immédiatement dans le groupe de formulations.

Cette option est accessible via le panneau d'édition de groupe de formulations **> Options**.

**7. Solveur**

Le solveur a les objectifs suivants :

* Définir une valeur à sauvegarder lors du match d'un groupe de formulations et définir la capture pour stocker cette valeur (soit au niveau du groupe, soit au niveau de la formulation du groupe) ;
* Effectuer des traitements javascript lors d'un groupe de formulations multi-niveaux.

L'ajout d'un solveur peut être réalisé sur un groupe de formulations.

Pour ajouter un solveur à un niveau de groupe, allez dans Contenu > Groupes de formulations, sélectionnez un groupe, cliquez sur l'onglet **Solveur** et entrez la valeur du solveur. Cliquez sur **Mettre à jour**.

<figure><img src="/files/aCDhFZ3wUKFMI0g0WA6v" alt=""><figcaption></figcaption></figure>

Si vous souhaitez ajouter un solveur à un terme de votre groupe de formulations, ajoutez-le directement à l'ajout de formulation comme suit : remplissez les champs **Formulation** et **Valeur résolue** puis cliquez sur **Ajouter**.

<figure><img src="/files/xXHcKf3f3pr5d2KKzgwN" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PoDnDcVoB5SBQHkVkBaZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yuFuttpfEjOoCYohp9QV" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CuJI41z48ffLZJ4DDOQr" alt=""><figcaption></figcaption></figure>

Remarque : vous pouvez également ajouter un solveur à un terme ultérieurement en modifiant votre terme.

Exemple (groupe de formulation **Ordinateur**):"Je veux acheter un \[Ordinateur]" Allez dans Contenu > Connaissances, Ajouter une nouvelle connaissance, écrivez la phrase utilisateur à comprendre, cliquez sur **T**, répétez les étapes du paragraphe précédent.

<figure><img src="/files/B3hRdaTnbEvUPK6bvK4l" alt=""><figcaption></figcaption></figure>

Avec une capture variable :&#x20;

<figure><img src="/files/Lot028nZsxrRjGDjMxJi" alt=""><figcaption></figcaption></figure>

Remarque : la variable peut également être au format JSON pour permettre l'utilisation du type $ {capture.MaVariable.Champ1}.

* **Cas 1 : aucun solveur configuré**

La valeur affichée correspond ici au terme identifié par le groupe de formulations.

<figure><img src="/files/zS3mk7H7a9bCxmzbOEjR" alt=""><figcaption></figcaption></figure>

* ***Cas 2 : solveur configuré sur le groupe de formulations Ordinateur***

La valeur affichée correspond ici à la valeur du solveur défini sur le groupe. Cette valeur apparaîtra pour l'ensemble des termes du groupe de formulations. Dans cet exemple, la valeur du solveur du groupe est : **ordinateur**.

<figure><img src="/files/QqC8DELN80gPw1WgcOxa" alt=""><figcaption></figcaption></figure>

* **Cas 3 : solveur configuré sur le groupe de formulations&#x20;*****Computer*****&#x20;et solveur configuré sur le terme « laptop computer »**

La valeur affichée correspond ici à la valeur du solveur défini sur le terme et non sur le groupe car il est considéré comme plus spécifique. Dans cet exemple, la valeur du solveur du groupe est : **ordinateur**. Dans cet exemple, la valeur du solveur du groupe est : **machine**.

<figure><img src="/files/BAKCTCncqDFSyCsurjv9" alt=""><figcaption></figcaption></figure>

Il est également possible de capturer une constante comme valeur du solveur ou de faire un appel à une fonction Javascript côté serveur.

1. Dans cet exemple, l'objectif va être ici de prendre en compte le paramètre **groupTokens** qui représente un mot-clé utilisé dans la configuration des solveurs. Afin de pouvoir exploiter son contenu (tableau d'objets) au sein de vos groupes de formulations, vous devez au préalable insérer une fonction qui retourne sa valeur (JS côté serveur) :&#x20;

<figure><img src="/files/deu4QelZYJMXyoLGHQYA" alt=""><figcaption></figcaption></figure>

Plus concrètement, l'objectif de cet exemple est de calculer le nombre de personnes dans une connaissance à partir d'informations de type « Ma femme et moi », « Mon ami et ses deux enfants », etc.

2. Créez des groupes de formulations du nombre et type de personnes (cousin, fils, nièce, etc.).

<figure><img src="/files/FwpYVHsnu8GdsNfuCVh4" alt=""><figcaption></figcaption></figure>

3. Allez en bas de la page et cliquez sur l'onglet **Solveur**.
4. Spécifiez **getNbPersons(groupTokens)** (pour les besoins de l'exemple) dans le champ **Valeur résolue**.

<figure><img src="/files/PVHBhBTyBTxSheXPYt6i" alt="" width="254"><figcaption></figcaption></figure>

5. Cliquez sur **Mettre à jour**.
6. Testez votre solveur par le biais d'une connaissance avec capture (Voir [Variables](https://docs.dydu.ai/fr/docs/Complementary_items/variables)). Ainsi, vous obtenez :&#x20;

<figure><img src="/files/ueSI7JTO6wy7lt0qh8H4" alt=""><figcaption></figcaption></figure>

**Comportement des solveurs**

* Si aucun solveur n'est défini, le groupe renvoie la formulation qui a été matchée ;
* Si un seul solveur est défni, pour une formulation donnée (au niveau du groupe ou au niveau de la formulation), celui-ci est utilisé ;
* Si le solveur est défini pour le groupe et la formulation, le solveur de la formulation est utilisé car il est plus spécifique.

**8. Informations sur la synchronisation des groupes de formulations**

Cette section vous présente les éléments techniques liés à la synchronisation des groupes de formulations avec le bot social.

La synchronisation des groupes de formulations (et leurs structures) est effectuée à partir de l'UUID en priorité. Ainsi, si un groupe possède le même UUID, celui-ci sera mis à jour : libellés, ajout et suppression de formulations.

Avec capture de la variable :&#x20;

<figure><img src="/files/RxhVY455NZYO5eCKDsjR" alt=""><figcaption></figcaption></figure>

| Situation                                                                                             | Action de synchronisation                                              |
| ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Ajout d'une formulation supplémentaire sur le serveur de destination (ajoutée manuellement)           | Pas de suppression                                                     |
| Ajout d'une formulation supplémentaire sur le serveur de destination (ajoutée de manière automatique) | Suppression de la formulation sur le serveur de destination uniquement |

Pour synchroniser les groupes, le contenu de la formulation compte. Si le contenu est différent alors la formulation est différente.

La synchronisation des groupes de formulations est effectuée une fois par heure.

## Enrichir les groupes de formulations grâce au LLM  &#x20;

A partir de la page des groupes de formulations ou bien de la page des connaissances, cliquez sur **Ajouter des formulations à partir du LLM.**

<figure><img src="/files/T381oiWnMnUwLyvBQG8w" alt=""><figcaption></figcaption></figure>

Si vous souhaitez enrichir votre groupe de formulations avec un mot qui n'est pas présent dans votre liste, vous pouvez éditer votre recherche en cliquant sur **edit suggestion prompt.**

<figure><img src="/files/i3cqPP4wCEC7s5W71kDY" alt=""><figcaption></figcaption></figure>


# Phrases générales

Les phrases générales représentent les phrases ou réponses du bot pendant une conversation qui ne sont pas gérées directement par la base de connaissances et qui permettent de gérer des situations particulières.

Dirigez-vous sur la page **Contenus > Phrases générales** pour gérer les phrases générales de votre bot.

### Phrases incomprises

* **Réponses aux phrases incomprises**

Cette phrase est fournie par le bot quand il n'a pas été capable de comprendre la requête de l'utilisateur.

* **Trop de phrases incomprises**

Cette réponse est fournie par le bot lorsqu'il n'a pas réussi à comprendre plusieurs questions de l'utilisateur au cours d'une même conversation. Par défaut, cette phrase est désactivée, vous devez donc l'activez pour la rendre opérationnelle.  Une fois activée, vous devez spécifier le nombre d'incompréhensions nécessaires pour son déclenchement puis cliquer sur "Mettre à jour".&#x20;

Vous pouvez laisser cette phrase générale désactivée dans le cas, par exemple, où vous utilisez une connaissance de type [réponse complémentaire](/contenus/connaissances/types-de-connaissances/reponse-complementaire) pour déclencher une escalade Livechat après 3 phrases incomprises.

### Questions invalides

* **Réponse aux phrases trop longues**

Quand une question est trop longue (supérieure à 1 000 caractères), le bot fournira cette réponse.

* **Réponse aux phrases vides**

Le bot fournit cette réponse lorsque l'utilisateur envoie une requête vide.

### Liens

* **Click sur les liens**

Quand l'utilisateur clique sur un lien (redirection vers une url externe par exemple), le bot fournira cette réponse.

* **Les liens s'ouvrent dans de nouvelles fenêtres**

Le bot indique à l'utilisateur que le lien sur lequel il vient de cliquer s'est ouvert dans une nouvelle fenêtre.

### Livechat

* **Phrase d'accueil automatique lors de l'acceptation d'un chat par un opérateur**

Vous pouvez activer cette phrase pour qu'elle s'envoie automatiquement dès lors que l'opérateur décroche la conversation. Cela évite à vos opérateurs de saisir manuellement une phrase d'accueil.

**Remarque**: après avoir défini la phrase de bienvenue, vous devez cliquer sur **"Activer cette réponse"** pour la rendre effective.

{% hint style="info" %}
Vous pouvez afficher le prénom de l'opérateur Livechat en utilisant la syntaxe suivante : **${account.firstname}**.&#x20;

Veillez à ce qu'un prénom soit bien renseigné pour chaque opérateur Livechat sur le BMS.
{% endhint %}

* **Phrase automatique de fin de conversation de livechat**

Vous pouvez ajouter une phrase comme « La conversation avec votre opérateur est terminée ».

* **Phrase de relance envoyée à l'utilisateur**

Cette phrase est envoyée automatiquement à l'utilisateur lorsqu'il y a une [période d'inactivité](https://docs.dydu.ai/livechat/livechat-dydu/configuration-livechat-dydu/configuration-generale). La durée de cette période est configurable dans les paramètres livechat, et elle débute au moment où l'utilisateur a envoyé sa dernière information.\
L'objectif est de relancer l'utilisateur, de s'assurer qu'il est toujours présent pour éviter une fermeture automatique de la conversation ([timeout de la conversation](https://docs.dydu.ai/livechat/livechat-dydu/configuration-livechat-dydu/configuration-generale)).\
Si l'opérateur est en statut "recherche d'information" alors la phrase n'est pas envoyée.\
*Exemple : "Etes-vous toujours en ligne ?".*

* **Phrase de réengagement envoyée à l'utilisateur du chat en direct**&#x20;

Cette phrase est automatiquement envoyée à l'utilisateur lorsque l'opérateur avec qui il échange a défini son statut sur l'un des suivants. :"en recherche d'informations", "échange avec le superviseur" ou "au téléphone". La durée de cette période est configurable dans les paramètres livechat, et elle débute au moment où l'utilisateur a envoyé sa dernière information.\
L'objectif est de faire patienter l'utilisateur, le tenir informé de la situation et de s'assurer qu'il est toujours présent pour éviter une fermeture automatique de la conversation ([timeout de la conversation](https://docs.dydu.ai/livechat/livechat-dydu/configuration-livechat-dydu/configuration-generale)).\
*Exemple : "Patientez encore un moment je vous pris que je réunisse les informations nécessaires."*

{% hint style="info" %}
Les durées avant l'envoi de la phrase de relance et de la phrase de réengagement sont configurables dans le menu Préférences -> Paramètres livechat -> Général -> Timeouts.
{% endhint %}

* **Phrase lors du timeout automatique du livechat**

Cette phrase est envoyée à l'utilisateur lorsque la session Livechat a atteint une [période d'inactivité définie](/livechat/livechat-dydu/configuration-livechat-dydu/parametres-generaux). Son objectif est d'informer l'utilisateur de la fin de la session Livechat et de lui fournir des instructions sur la marche à suivre.

* **Phrase de bienvenue les utilisateurs Livechat en mode debug**

Cette phrase est envoyée uniquement lorsqu'un utilisateur demande une escalade Livechat en utilisant le mot-clé **#livechatconnectiondebug#** et qu'un opérateur est disponible avec le statut '**debug**'.&#x20;

Cela permet de déboguer ou de réaliser des tests Livechat sans perturber le service en production. L'opérateur se connecte avec le statut '**debug**' et l'utilisateur final envoit le mot-clé, ce qui assure que l'escalade se fait uniquement vers l'opérateur en mode débogage. La phrase d'accueil confirme que la connexion est établie pour le débogage.

* **Phrase lorsqu'il n'y a aucun opérateur disponible**

Il s'agit d'une phrase qui apparaît lorsque l'utilisateur demande à parler à un opérateur et qu'il n'y en a aucun de disponible.

* **Phrase lorsque le livechat est fermé**

ll s'agit d'une phrase qui apparaît lorsque l'utilisateur demande à parler à un opérateur alors que [le Livechat est fermé](/livechat/livechat-dydu/configuration-livechat-dydu/parametres-generaux).

### Réponse inaccessible

* **Réponses aux connaissances non publiées**

Quand une connaissance n'est pas publiée, votre bot explique à l'internaute qu'il a été capable de le comprendre mais ne peut pas fournir de réponse.

* **Réponse par défaut quand l'action est vide**

Quand une connaissance n'est pas publiée, votre bot explique à l'internaute qu'il a été capable de le comprendre mais ne peut pas fournir de réponse.

### Divers

* **Phrase de recentrage**

Cette phrase est ajoutée à la fin des réponses non métiers de votre bot pour recentrer la conversation.

* **Réponse en cas d'erreur interne**

Quand une erreur interne se produit, le bot fournira cette réponse.

* **Introduction des reformulations**

Phrase d'introduction des reformulations quand le bot n'est pas sûr.

* **Suggestion générale pour les reformulations**

Cette phrase générale vous permet d'ajouter une phrase de reformulation (lorsque le bot n'a pas compris la phrase utilisateur) et vous permet ainsi de rediriger l'utilisateur vers une autre connaissance. Pour ce faire :

1. Activez la réponse à l'aide du bouton **Activer cette réponse**.
2. Sélectionnez la connaissance vers laquelle la reformulation redirigera l'utilisateur puis remplissez l'intitulé (via l'éditeur de texte) qui sera affiché depuis la boîte de dialogue.

<figure><img src="/files/ipRvLmcspF0GZ1RgHpQ3" alt=""><figcaption></figcaption></figure>

3. Cliquez sur **Mettre à jour**.

Ainsi, lorsque le bot ne comprendra pas une reformulation, il proposera à l'utilisateur (dans cet exemple) de cliquer sur **Aucune suggestion ne peut répondre à ma question.** qui le renverra à la connaissance **Autre** (dans cet exemple) créé précédemment.

Note : pensez à désactiver la satisfaction sur la connaissance vers laquelle se redirige la suggestion globale.

### File d'attente Livechat

* **Phrase lors de la fermeture de la fenêtre de file d'attente**

Phrase lorsque l'internaute est entré dans la file d'attente mais qu'il décide de fermer la fenêtre.

* **Un internaute est entré dans la file d'attente et pendant la durée d'attente, tous les opérateurs se sont déconnectés**

### Opérateurs Livechat

Il s'agit des phrases décrivant le statut de l'opérateur et celles indiquant à l'internaute lorsqu'il est en train de rédiger sa réponse.

### Mail

Ce sont des phrases liées aux options de courrier électronique.


# Langues / espaces

### Espaces de consultation

Au sein de la même base de connaissances, il est possible de définir plusieurs réponses différentes à une même question, en fonction des espaces de consultation.

Par exemple, la question « Comment modifier mon mot de passe ? » peut avoir une réponse différentes si l'internaute est connecté ou non sur le site.

Afin de configurer vos espaces de consultation, dirigez-vous sur la page **Contenus > Langues / Espaces**.

### Configuration

Vous pouvez tout d'abord gérer les langues de votre bot qui permettront de diviser les espaces par langue. Plus concrètement, cela vous permet de déterminer les langues que doit gérer votre bot.

<figure><img src="/files/plaK9JfRPiFYOnJf2ojP" alt=""><figcaption></figcaption></figure>

Cliquez sur **Ajouter** pour ajouter une nouvelle langue à votre bot. Sélectionnez une langue et validez votre choix en cliquant sur la coche bleue.

La section suivante vous permet de définir plus concrètement les espaces de consultation au sein d'une même langue.

<figure><img src="/files/2SsCGWWmHGA8DulHY88e" alt=""><figcaption></figcaption></figure>

Vous pouvez modifier le nom d'un espace de consultation.

Cependant, vous ne pouvez pas supprimer un espace de consultation qui est utilisé par des connaissances. Vous devez au préalable supprimer toutes les réponses définies dans cet espace.

Dans le cadre situé sous la liste des espaces de consultation, vous avez la possibilité de définir l'espace de consultation par défaut :

* **du bot :** lorsqu'une réponse n'est pas définie pour un espace de consultation, le bot va donner la réponse définie pour cet espace. Cela vous évite de devoir dupliquer le contenu des réponses pour chacun des espaces, si seulement quelques connaissances nécessitent d'avoir des réponses spécifiques.
* **de l'édition des connaissances :** par commodité, vous pouvez choisir l'espace de consultation que vous souhaitez utiliser par défaut lorsque vous travaillez sur la base des connaissances.

### Utilisation dans les réponses

Lorsque vous avez créé plusieurs espaces de consultation, dans les actions des connaissances, vous les retrouverez au sein des bulles de réponse sous la forme suivante :&#x20;

<figure><img src="/files/nJXjZa7EbyTSWtxcyKEV" alt=""><figcaption></figcaption></figure>

Quand vous créez une connaissance, l'espace de consultation défini par défaut pour l'édition des connaissances est activé.

Pour en ajouter un nouveau, il vous suffit de cliquer sur le menu déroulant et de sélectionner un espace de consultation. Si vous ne spécifiez pas de réponse par défaut dans une connaissance, cette connaissance ne sera accessible que dans les espaces de consultation où la réponse aura été définie.

Pour supprimer une réponse d'un espace de consultation, cliquez sur l'icône **-** de l'espace de consultation pour lequel vous souhaitez supprimer la réponse (requiert d'être en mode édition).

Note : pour exploiter les espaces de consultation dans la boîte de dialogue, vous devez intégrer la boîte de dialogue en précisant quel espace celle-ci doit utiliser. Ne pas spécifier d'espace de consultation revient à utiliser l'espace par défaut.

Dans ce cas, le bot répond la phrase définie dans les Phrases Générales, dans la section **La réponse est dans un autre espace de consultation**.

### Hiérarchie virtuelle des espaces de consultation

Cette section vous permet d'établir la hiérarchie de vos espaces de consultation, ce qui permet entre autres de déterminer depuis quels espaces de consultation sont accessibles les autres espaces de consultation.

A l'intérieur d'un espace de consultation, en cliquant sur le bouton **+**, vous pouvez ajouter un autre espace de consultation.&#x20;

![](/files/rJI2VpMblj2w4W0JfWvV)

Remarque : vous ne pouvez pas supprimer un espace de consultation s'il est utilisé dans une connaissance.

Remarque 2 : pour trouver une connaissance utilisant un espace de consultation, allez dans **Contenus > Connaissances** puis filtrez vos connaissances par l'espace de consultation concerné

### Espaces de consultation virtuels

Cette section vous permet d'ajouter des espaces de consultation virtuels dont le but est de fusionner les statistiques de plusieurs espaces de consultation.

Pour cela, cliquez sur **Ajouter** puis inscrivez un nom à votre espace virtuel. Validez.

<figure><img src="/files/6Qs3De95kxUw51IRH7jL" alt=""><figcaption></figcaption></figure>

Cliquez ensuite sur les espaces que vous souhaitez ajouter dans votre espace virtuel et cliquez sur **Ajouter**.

<figure><img src="/files/6OBVITNcB2lsiItlI3t6" alt=""><figcaption></figcaption></figure>

### Reformulations Spécifiques

Les reformulations spécifiques vous permettent de définir des formulations en fonction de l'espace de consultation sur lequel se trouve le client.

Pour cela, dirigez-vous sur la page de vos **Connaissances** puis sélectionnez une connaissance existante.

Lorsque vous modifiez la fenêtre de question (bulle bleue), cliquez sur le menu contextuel puis cliquez sur **Options**.

<figure><img src="/files/MVauIdCLPAe4gwNXrVRf" alt=""><figcaption></figcaption></figure>

Ainsi, pour effectuer une reformulation spécifique, positionnez-vous sur la **Phrase de reformulation spécifique** puis sélectionnez l'espace de consultation pour lequel vous souhaitez modifier la phrase de reformulation spécifique.

![](/files/PY74BRXiifCyBy5CO6R2)

Ensuite cliquez sur le bouton **Modifier** et entrez la reformulation souhaitée.

Cliquez sur **Mettre à jour**.

Vous pouvez maintenant naviguer entre les différents espaces de consultation pour vérifier que vos modifications ont été prises en compte.

Cliquez ensuite sur **Mettre à jour** pour valider vos options puis fermez la fenêtre de question.


# Conditions de contexte

### Conditions de contexte

Les conditions de contexte sont utilisées pour mémoriser des informations pendant la conversation, elles peuvent être ensuite utilisées pour fournir des réponses différentes.

Prenons l'exemple d'un site qui propose plusieurs produits. Si la question de l'internaute ne précise pas quel est le type de produit concerné par sa question, nous allons lui demander. Une fois qu'il a répondu, le bot retient l'information et sera en mesure de lui donner directement la réponse pour le produit concerné. L'information est ensuite stockée de manière à ne pas lui reposer la question si l'internaute pose d'autres questions autour du produit.

### Cas pratique

Dans ce cas pratique, l'utilisateur déclare une intention pour laquelle le bot doit ajuster sa réponse en fonction d'une condition à remplir. Ici, la condition à remplir est d'avoir 18 ans. Le bot détectera donc si l'utilisateur est majeur ou non grâce à une condition de contexte basée sur une expression mathématique. Il ajustera sa réponse en fonction du Succès ou de l'Échec par rapport à la condition de contexte implémentée.

{% embed url="<https://youtu.be/HiO5T7ufKzw>" %}

### Créer une condition de contexte[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/context_conditions#cr%C3%A9er-une-condition-de-contexte) <a href="#creer-une-condition-de-contexte" id="creer-une-condition-de-contexte"></a>

1. Dirigez-vous sur la page **Contenus > Conditions de contexte**.
2. Pour créer une nouvelle condition, cliquez sur **Ajouter**.
3. Complétez les champs :

* **Nom de la condition** : inscrire le nom de la condition qui apparaîtra dans les branches.
* **Condition** : sélectionner le nom de la variable qui permettra de déterminer la condition.
* **Opération et valeur** : sélectionner une combinaison entre une opération (*est défini, vaut, est contenu ou contient*) et une valeur.
* **Utilisation** : permet d'afficher les connaissances qui utilisent cette condition de contexte.

4. Validez l'ajout de la condition de contexte.

Notez que vous pouvez créer des groupes de priorités en cliquant sur **le fichier** située à droite de la condition de contexte : **Déplacer dans un groupe**.

<figure><img src="/files/l9fLYT7GsdlU5Vg9Krcy" alt=""><figcaption></figcaption></figure>

Vous pouvez dès lors créer un groupe de priorité ou sélectionnez-en un existant pour l'associer à la condition que vous avez sélectionnée. Vous pourrez ensuite gérer très facilement la hiérarchisation de vos groupes/conditions à l'aide des petites flèches situées à gauche de la condition de contexte.

### Utilisation d'une condition[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/context_conditions#utilisation-dune-condition) <a href="#utilisation-dune-condition" id="utilisation-dune-condition"></a>

Vous pouvez ensuite utiliser ces conditions dans un arbre de décision et apporter une réponse différente dans chacun des cas :&#x20;

<figure><img src="/files/cnQTkvQ0cCSNoNunaCzN" alt="" width="563"><figcaption></figcaption></figure>

1. Créez une connaissance "question produit"
2. Fermez la connaissances

<figure><img src="/files/LKUBSMGgLg3fN886tpw8" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="/files/XXQqKDORbyfptyKXIKAh" alt="" width="201"><figcaption></figcaption></figure>

3. Pour ajouter une condition de contexte à une connaissance, cliquez sur le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAYAAACMo1E1AAAACXBIWXMAABYlAAAWJQFJUiTwAAADzUlEQVRYhdWXv4/URhTHv/PDnt29O44mTRCnFCiHBF2UIqSDv+CQED10/ANXQnv5FxApoTz+ADqIIhGl4hBLigj2dKFAEbfe9e7anpmXYs+O94ft8a5PUb7SSrbX897Hb968N8OIiLCGTocjvP1wkt1f++YSLm521jGZSa5rgIiQ/770njG2runV4OZhAIBAM3B5rQrK6k5r6txaQhBOEIxjjCcJCFMAT3C0Wx46vsCFjRY4Z2CMrQToDJdFiAiDMIIBoDyJti/BOcu9B2hjEIQRxpHGZtvDhQ2VwdWBdILLg8XaouW7Z0N/OIGxFtsbCpzzWoDOcESUGa8rIiCcRGdR5s3BpX83sfriRENw5gxYCtckWCprbWazym7lPDUJBqBWahS+uWbjKFX6wVU+CuHq1Kajbg9H3V4tOJePX5pzddvP3r0DAMDhz/vOY4Bp/pUFYWnkms6zVbVa4WpIa6/W81ZZ7v2/IneeJaRIRT7X3mz2ByMcf/o7u97eamYXDKw5rf3BCLfv/4R+EKIfhNPrwch5fOUs0ZystWStnX+c6dnzl/TqdZdOg5Bu3nlIV248oDfvPtKbdx/pyo0HdPPOQzoNQnr1ukvPnr8stENEZIwhY0yhv4UiXNXs9+4d4NruZfz6+x/onXzG4ZN9XL+6A2DaKfbuH2Dn0lf44btv8fb9cWlhNsZkRXiZv4VpdWktj5++WAADgOtXd3D4ZB+9k894/PRFqQ1gdoeyTIUdIh1YpGA4xq27jxae37r7CMFwXAmmta7s34W9Ne2v84OPuj30B/86//H73Zn/f/ntfXa9vdWeiWzefhzHkLJ8Z1wKZ62FlGtXmwVFUQTGGKSU9Rt/HlJr3ThYuhCA8i5RmHOMTff6xhjEcdwIWDgaI45jCCGczhGlkUsBtdYYjUYrtzYi4Et/iCSOnMEAhwOOtRZaayRJAq01pN/CZqflDHY6nCAMQ7Q9Bt/34fu+M2BltjPGIITIFkk0DhEMBpB+C52WQkd5S0/8/XCCwXACjxt0lITneZWrc8G3y7mViGCMgTEGSZKc/TQiTRhrgjYExgUAQDBACgaPWSjJ4HlTMM/zIISAEML5fOIUOQAQQsw845xDSoMoGOLP47+mIQOwu/M1ttodCCEhhICUElLK2mBOcPOA+ZVsrYVSCXzfzxaLUgpKqQyGcz6TY3XOJ84VNjWaOuGcg4igfB9eHs73oZSaea+suTcClwdMHRERhJSQ0svg5FnizwOtcqKr3ZvyTtKVnIdIp3HZ++cON+80nbpUdUpFlf7zo2GZ/gHOkld+LzuAzgAAAABJRU5ErkJggg==) . La branche de gauche représente le succès de l'application de la condition alors que la branche de droite représente son échec.

<figure><img src="/files/b72SFleNmQiXSW4Rm6Qw" alt="" width="264"><figcaption></figcaption></figure>

Une fois la branche de succès ou d'échec sélectionnée, la condition de contexte apparait.

<figure><img src="/files/UNJh4qJT6T3XRtFBddlw" alt="" width="372"><figcaption></figcaption></figure>

Dans notre exemple, nous avons établi que si l'internaute n'a pas commandé le produit B, nous vérifions s'il a commandé le produit A. S'il n'a pas commandé le produit A, il faut alors récupérer l'information sur le produit qu'il a commandé.

3. Afin de récupérer l'information, effectuez une redirection vers l'arbre de condition (dans notre exemple, il s'agit de choix\_produits) qui va permettre à l'internaute de choisir le type de produit qui le concerne s'il n'a pas été déjà renseigné dans sa question.
4. Pour créer les connaissances « Produit A » et « Produit B », cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAIAAADNQonCAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAMdJREFUOI1j/P//PwNlgIlC/YPGCBY469vPX89evkWTlhIX5mJnI9aIpy/eTF++FU06M9JbVV6KWCMgoK8idfvhs3cfPc+J9inqmM3AwHD74TP8RiOMkJYQyYz0RlMnLSECYSCLo5mIMIKLnQ3NzXAufr/QIFKLOmbvPnru3uPnkIAgBqAHJ5q3STPi7cfPpy/f8rAxJtUIhEfeffi868g5UvUzDL48AgE7jpwl3wguDnYlWck7D58T1KMkK8nFwQ7nMg6XUgsA1ZhCPvMNPoIAAAAASUVORK5CYII=) puis choisissez **Constante**.
5. Cliquez sur la petite flèche à droite de **Constante**.

<figure><img src="/files/3SKUaoFqCDiBmuPLOa7C" alt=""><figcaption></figcaption></figure>

3. Inscrivez le nom que vous avez défini pour votre variable (veuillez reprendre exactement le nom de variable que vous avez créé dans vos conditions de contexte au préalable) et indiquez **Ok** comme valeur (ou la valeur que vous aviez déterminée au préalable).
4. Cliquez sur **Mettre à jour**.

L'enregistrement de votre variable est effectué.

9. Vous devez maintenant indiquer que vous souhaitez éliminer l'autre variable. Pour cela, placez votre curseur à la suite de produit\_A:=ok puis cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAIAAADNQonCAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAMdJREFUOI1j/P//PwNlgIlC/YPGCBY469vPX89evkWTlhIX5mJnI9aIpy/eTF++FU06M9JbVV6KWCMgoK8idfvhs3cfPc+J9inqmM3AwHD74TP8RiOMkJYQyYz0RlMnLSECYSCLo5mIMIKLnQ3NzXAufr/QIFKLOmbvPnru3uPnkIAgBqAHJ5q3STPi7cfPpy/f8rAxJtUIhEfeffi868g5UvUzDL48AgE7jpwl3wguDnYlWck7D58T1KMkK8nFwQ7nMg6XUgsA1ZhCPvMNPoIAAAAASUVORK5CYII=).
10. Choisissez *Vider* puis indiquez le nom de la capture à vider. Dans notre exemple, il s'agit de produit\_B. Cliquez sur **Mettre à jour**.

<figure><img src="/files/bV5S0DWGnAHOsrNnrNAQ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/4fFzP0MKup8jxfU9dkq5" alt=""><figcaption></figcaption></figure>

11. Réitérez l'opération pour créer le choix du produit B.
12. Une fois que toutes les variables sont enregistrées, il faut rejouer l'interaction précédente qui était l'accès à la connaissance « Question produit ». Vous pouvez désormais accéder à cette connaissance en sachant que l'internaute a commandé le produit A ou le produit B et auquel il lui sera donné la réponse « réponse produit A  » ou « réponse produit B ». Afin de rejouer l'interaction précédente, cliquez sur **Plus d'options** et remplissez le champ **Rediriger vers une autre connaissance :** ${replay\_interaction:-1}

<figure><img src="/files/CODQX6AbllpJQVNQIrBh" alt=""><figcaption></figcaption></figure>

11. Cliquez sur **Mettre à jour**.

Voici un récapitulatif du parcours de l'internaute :

1. L'internaute pose sa question « Question produit » sans préciser le type de produit, il est alors redirigé vers l'arbre « choix\_produit ».
2. Le produit sélectionné est enregistré et revient sur la connaissance « Question produit » pour le diriger dans la branche du produit choisi.
3. L'internaute pose une autre question dont la connaissance utilise également les deux conditions sur le type de produit, il est maintenant dirigé directement dans la branche correspondant au produit enregistré précédemment.

### Utiliser les conditions de contexte avec le LLM <a href="#utiliser-les-conditions-de-contexte-avec-le-llm" id="utiliser-les-conditions-de-contexte-avec-le-llm"></a>

L'utilisation d'une condition de contexte LLM permet au bot d'analyser une situation automatiquement grâce à un prompt. Tout se configure simplement dans un onglet dédié.

Pour que cette évaluation fonctionne, l'onglet classique du déclencheur doit obligatoirement rester vide.

1. Créer une nouvelle connaissance.
2. Valider et fermer cette connaissance.
3. Cliquer sur le bouton d'ajout de condition de contexte.
4. Une fois la branche de succès ou d'échec sélectionnée, la condition de contexte apparaît. Cliquer alors sur l'onglet "LLM".

<figure><img src="/files/nIDzVs1Kwitw1oxwZUkE" alt="" width="458"><figcaption></figcaption></figure>

5. Donner un nom à la bulle de condition.
6. Ajouter le prompt contenant les instructions permettant de valider ou d'invalider la condition.

<figure><img src="/files/EvHG14AjdupZQtY8Tqzn" alt="" width="366"><figcaption></figcaption></figure>

{% hint style="warning" %}
Le prompt doit indiquer précisément le format de la réponse que l'intelligence artificielle doit formuler, comme par exemple le mot TRUE ou FALSE.
{% endhint %}

7. Sélectionner le type d'opération à utiliser ainsi que la valeur de validation attendue en cas de succès.

Cette valeur de succès doit être strictement identique au mot renvoyé par le prompt pour que la condition fonctionne.

Une fois la configuration validée, le système gère automatiquement l'évaluation de la condition en arrière-plan.

### Expression mathématique <a href="#expression-mathematique" id="expression-mathematique"></a>

Voici un cas d'utilisation simple de l'utilisation des expressions mathématiques au sein d'une condition de contexte.

1. Dirigez-vous sur la page des **Connaissances** et créez une connaissance de type **Réponse à une question** « Je veux X mètres » en ajoutant le groupe **Nombre** pour capturer le nombre et lui associer un nom de variable qui sera utilisé dans la condition de contexte.

<figure><img src="/files/X8QTzLjAp0r8RacaZvkq" alt=""><figcaption></figcaption></figure>

2. Dirigez-vous ensuite sur la page **Contenus > Conditions de contexte** puis cliquez sur **Ajouter**. Configurez votre condition de contexte (avec expression mathématique) comme ceci :&#x20;

<figure><img src="/files/icm0qM3SvIX7w9HtjV48" alt="" width="563"><figcaption></figcaption></figure>

3. Validez la création de votre condition puis retournez sur la connaissance initialement créée.
4. Ajoutez la condition de contexte nouvellement créée puis construisez votre connaissance ainsi :&#x20;

<figure><img src="/files/Ns812dvx6LFuTxdlVJxf" alt=""><figcaption></figcaption></figure>

### Gestion des horaires

Vous pouvez gérer les horaires des opérateurs Livechat via les conditions de contexte. Cette option vous permet de gérer les créneaux horaires d'une manière différente par rapport à l'option des paramètres Livechat.

Pour ce faire, allez dans **Contenu > Conditions de contexte**.

Cliquez sur le bouton **Ajouter** puis, dans le premier champ, sélectionnez la condition **IsDateDayAndHour (...)**. Une fenêtre s'ouvre avec la possibilité de gérer facilement les créneaux horaires.

<figure><img src="/files/zBNPx3CCZ5OLkuFdPy5O" alt=""><figcaption></figcaption></figure>

Remplissez les autres champs et cliquez sur **Terminer** pour valider la création de votre condition contextuelle.


# Contenus externes

En tant que gestionnaire de bot Dydu , vous avez la possibilité de centraliser et organiser vos sources de contenu externe directement depuis une interface intuitive dans le BMS, afin de générer des réponses instantanées basées sur ces sources et ainsi améliorer la qualité des réponses fournies aux utilisateurs finaux.

## Créer une collection

Via le menu de navigation du BMS, vous avez la possibilité d'accéder à la page de Contenus externes : **Contenus  > Contenus externes.**

Vous arrivez donc sur la page de vos collections, où vous trouverez par défaut une collection créée.

<figure><img src="/files/izGPgQPfcvFgaUM4KQCV" alt=""><figcaption></figcaption></figure>

En cliquant sur cette collection, vous entrerez dans la page d'édition de votre collection.

<figure><img src="/files/yhVplNUAqPxufzw6M6Fz" alt=""><figcaption></figcaption></figure>

## Alimenter la collection

### **Importer vos documents**

<figure><img src="/files/oKpGHt9KUM5M1h8zED4y" alt=""><figcaption></figcaption></figure>

Il est possible d'importer un plusieurs documents de type : PDF, DOCX, PPTX, TXT. Chaque document doit faire 10Mo maximum.

<figure><img src="/files/fUkzSyjncY0cZbW0yowO" alt=""><figcaption></figcaption></figure>

### **Renseigner des Sharepoint**&#x20;

<figure><img src="/files/I4WjnJC9f4aiDDwYXBVc" alt=""><figcaption></figcaption></figure>

L'outil d'indexation SharePoint permet d'ajouter vos pages et vos fichiers à votre base de connaissances.

Pour autoriser cet accès, une nouvelle application disposant de droits de lecture doit être enregistrée dans votre environnement Microsoft. La démarche complète est expliquée dans ce [tutoriel officiel](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application).

{% hint style="info" %}
Lors de la configuration, à l'étape des permissions (API permissions), deux autorisations sont requises pour l'application Dydu. Dans "Microsoft Graph", puis "Application Permissions", il faut sélectionner les droits suivants et valider avec le consentement de l'administrateur (Grant Admin Consent) :

* Files.ReadAll
* Sites.Selected
  {% endhint %}

Pour finaliser la liaison de l'application, quatre éléments techniques devront ensuite être récupérés et conservés :

* Le clientId (identifiant du client)
* Le client Secret (valeur du secret)
* Le tenant Id (identifiant de l'environnement)
* L'identifiant du site SharePoint

<figure><img src="/files/bj0pYqBayd58k48IvoK4" alt="" width="563"><figcaption></figcaption></figure>

#### Détails des étapes nécessaires sur comment récupérer les valeurs requises depuis Azure pour  la configuration LLM Dydu:&#x20;

Aller sur le portail [Azure](https://portal.azure.com/#home):&#x20;

1. Cliquer sur inscriptions d'applications

<figure><img src="/files/gnj02DZSY9h5qJJWJrCY" alt="" width="563"><figcaption></figcaption></figure>

2. Cliquer sur Nouvelle inscription&#x20;

<figure><img src="/files/tDdThCt6VhdwZLJAUe6I" alt="" width="375"><figcaption></figcaption></figure>

3. Donner un nom et cliquer sur "S'inscrire"

<figure><img src="/files/9g8ylgpbLf1XUajHnBF3" alt="" width="563"><figcaption></figcaption></figure>

4. L'ID d'application est le client\_id

<figure><img src="/files/kRF7NfFEQEhoKocAgSNj" alt=""><figcaption></figcaption></figure>

5. Cliquer sur **Certificats & secrets**. Puis dans l'onglet "Secrets client" **cliquer sur Nouveau secret client**&#x20;

<figure><img src="/files/U8BtiSL8GrGO9uQEjdTV" alt=""><figcaption></figcaption></figure>

6. Cliquer sur **Certificats & secrets**&#x20;

<figure><img src="/files/evaQ3mABk0dgJp6SeT4m" alt="" width="375"><figcaption></figcaption></figure>

7. Copier la **Valeur** du secret générée (client\_secret)

<figure><img src="/files/ApNnpybJ5PcjsI9j1Trl" alt=""><figcaption></figcaption></figure>

8. Cliquer sur **API autorisées**. Puis cliquer sur **Ajouter une autorisation.**

<figure><img src="/files/echISsu6hFNa1zXoGiJK" alt=""><figcaption></figcaption></figure>

9. Cliquer sur **Microsoft Graph**&#x20;

<figure><img src="/files/5GiR2e55RtYOwbhoKxN9" alt="" width="563"><figcaption></figcaption></figure>

10. Ensuite sur "*Autorisations d'application*". Puis ajouter les autorisations *Sites.Selected et Files.Read.All*

<figure><img src="/files/2cCVL1a6HFKrEHdQA0MA" alt="" width="563"><figcaption></figcaption></figure>

11. Cliquer sur *Accorder un consentement d'administrateur pour XXXX*

<figure><img src="/files/meIQBrvC41KEGn1OioVM" alt=""><figcaption></figcaption></figure>

12. Pour trouver le tenant ID:&#x20;

Aller sur le site : [https://entra.microsoft.com/](https://entra.microsoft.com/#home)

Cliquer sur "Vue d'ensemble":&#x20;

<figure><img src="/files/7h7yKkaJZ3tWGQmMqzRm" alt="" width="563"><figcaption></figcaption></figure>

**ID du client** correspond au tenant ID.

13. Pour trouver le Sharepoint ID:&#x20;

Composer l'URL suivante: https\://\<tenant>[.sharepoint.com/sites/](http://.sharepoint.com/sites/)\<site-url>/\_api/site/id

Dans le résultat obtenu se trouve le sharepoint ID :&#x20;

```xml
<d:Id
  xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"  
  xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"  
  xmlns:georss="http://www.georss.org/georss"
  xmlns:gml="http://www.opengis.net/gml"  
  m:type="Edm.Guid">
67a90b63-3384-495d-9456-66141cf4ac28
</d:Id>
```

L'outil propose les fonctionnalités suivantes :

* Indexation des pages et des fichiers de tout un site SharePoint.
* Utilisation du RAG standard, avec affichage de l'URL d'origine du document SharePoint dans la réponse fournie.
* Couplage possible avec un système d'authentification (SAML). Dans ce cas, l'utilisateur doit se connecter, le système récupère ses groupes d'appartenance et filtre les réponses selon ses droits d'accès aux documents.

{% hint style="info" %}
Ne sont pas indexés :

* Fichiers "embarqués" dans les pages
* Les vidéos, et certains autres types (excel, wmf, ...)

Actuellement, l'opération de récupération des documents et l'indexation prend du temps (plusieurs minutes), le rafraîchissement le plus fréquent est 1 fois par jour.
{% endhint %}

### Renseigner une FAQ personnalisée <a href="#renseigner-une-faq-personalisee" id="renseigner-une-faq-personalisee"></a>

<figure><img src="/files/gGGzIHcpaWfLjmFbh3Df" alt=""><figcaption></figcaption></figure>

Pour paramétrer une FAQ personnalisée, il suffit de remplir les informations suivantes :&#x20;

<figure><img src="/files/1CBOmb2S5HGEyHTmrV7F" alt="" width="563"><figcaption></figcaption></figure>

* Nom : correspond à l'adresse (URL) de l'API à utiliser.
* Clé API.
* Secret API.
* Liste des identifiants des bases de connaissances à récupérer.

Une même combinaison de Clé API et de Secret API permet d'accéder à plusieurs bases de connaissances en même temps.

À partir de ces informations, l'ensemble des documents présents dans les bases de connaissances indiquées est automatiquement récupéré via le canal FAQ.

### **Renseigner une configuration Salesforce**

<figure><img src="/files/aAC1TE252vGjVz3I3fBx" alt=""><figcaption></figcaption></figure>

Pour paramétrer une configuration Salesforce, il suffit de remplir les informations suivantes :&#x20;

<figure><img src="/files/ZS9h3aaCBErp63VOirfb" alt="" width="563"><figcaption></figcaption></figure>

* **Nom** : Nom de l'intégration
* **Client ID** : Clé client de la configuration Salesforce
* **Client secret** : Clé secrète de la configuration Salesforce
* **Url d'accès aux contenus** : Url permettant de récupérer les documents dans votre configuration

#### Extraction des métadonnées Salesforce

Afin d'affiner les résultats de votre RAG et d'exploiter pleinement les données issues de Salesforce, vous pouvez filtrer et extraire des métadonnées spécifiques lors de l'indexation de vos contenus.

**Configuration dans les Contenus externes :**

Lors du paramétrage de votre source Salesforce dans l'interface, le champ **Métadonnées à extraire** vous permet de définir quelles informations associées à vos articles Salesforce doivent être récupérées et rendues exploitables par le moteur Dydu.

* **Comment l'utiliser** : Vous devez y renseigner le nom technique exact des métadonnées Salesforce que vous souhaitez rapatrier côté Dydu.
* **Exemple** : Si vous souhaitez conditionner la réponse en fonction de la visibilité de l'article dans votre application, vous devez ajouter la métadonnée `IsVisibleInApp` dans ce champ.

Une fois ces métadonnées déclarées et extraites, elles peuvent être manipulées pour filtrer dynamiquement les réponses, notamment via des scripts serveurs ou lors de l'intégration dans un Web Service.

**Filtrer les connaissances avec un script serveur**

Le script serveur permet d'appliquer des règles de tri précises avant que le moteur de recherche ne génère sa réponse. Cela vous assure que le chatbot n'utilise que les contenus pertinents selon vos critères.

Voici un modèle de script simplifié. Dans cet exemple, nous demandons à l'outil de restreindre la recherche uniquement aux articles Salesforce dont la métadonnée "IsVisibleInApp" (Visible dans l'application) a pour valeur "true" (vrai).

**Modèle de script :**

```
function generateMetadataFilters() {
    var metadataFilter = {
        "condition": "AND",
        "filters": [
            {
                "key": "IsVisibleInApp",
                "operator": "EQUAL",
                "value": "true"
            }
        ]
    };
    return metadataFilter;
}
```

**Comment adapter ce script :**

Vous pouvez facilement modifier ce modèle pour l'adapter à vos besoins en changeant les valeurs entre guillemets :

* `key` : Indique le nom technique exact de la métadonnée que vous souhaitez vérifier (celui que vous avez déclaré dans le champ "Métadonnées à extraire").
* `value` : Indique la valeur que le contenu doit posséder pour être utilisé par le chatbot.
* `operator` : Définissez la règle de comparaison. Trois options sont disponibles :
  * `EQUAL` : Cela indique que la métadonnée de l'article doit être strictement égale à la valeur que vous avez définie.
  * `NOT_EQUAL` : Cela indique que la métadonnée de l'article ne doit pas être égale à la valeur que vous avez définie.
  * `SUB_STRING` : Cela indique que la valeur que vous avez définie doit être contenue dans la métadonnée de l'article (elle n'est pas forcément strictement égale).
* `condition` : Si vous définissez plusieurs filtres, cela permet d'indiquer comment les combiner :
  * `AND` : Toutes les conditions doivent être remplies simultanément pour que l'article soit sélectionné.
  * `OR` : Il suffit qu'au moins une des conditions soit remplie pour que l'article soit sélectionné.

Il est aussi possible de combiner les deux conditions ensembles :&#x20;

```
function generateMetadataFilters() {
    var metadataFilter = {
        "condition": "AND",
        "filters": [
            {
                "key": "IsVisibleInApp",
                "operator": "EQUAL",
                "value": "true"
            },
            {
                "condition": "OR",
                "filters": [
                    {
                        "key": "Category",
                        "operator": "NOT_EQUAL",
                        "value": "Archive"
                    },
                    {
                        "key": "Tags",
                        "operator": "SUB_STRING",
                        "value": "Public"
                    }
                ]
            }
        ]
    };
    return metadataFilter;
}
```

**Utilisation des filtres dans le Web Service Dydu\_RAG**

Pour appliquer ces filtres lors de l'interrogation de votre base de connaissances, vous devez configurer le Web Service Dydu\_RAG.

Dans la configuration de ce Web Service, rendez-vous dans la section des paramètres et ajoutez un nouveau paramètre nommé `metadataFilters`.

Pour définir la valeur de ce paramètre, deux options s'offrent à vous :

* **Option 1** : Utiliser le script serveur Vous pouvez connecter ce paramètre au script serveur créé à l'étape précédente. Le Web Service appellera le script et appliquera automatiquement les règles de filtrage que vous y avez définies.
* **Option 2** : Définir le filtre directement Vous pouvez choisir de renseigner la règle de filtrage directement dans le champ de valeur du paramètre, sans passer par un script. La syntaxe doit obligatoirement se présenter sous la forme d'un tableau contenant la clé, l'opérateur et la valeur.

> Exemple : `["url", "EQUAL", "[https://www.dydu.ai/produits/chatbot/relation-clients/](https://www.dydu.ai/produits/chatbot/relation-clients/)"]`

### **Renseigner des Site web**&#x20;

<figure><img src="/files/X7IviP4v4MZ3yzumIFYK" alt=""><figcaption></figcaption></figure>

Il y a trois types de Sites Web que l'on peut indexer :&#x20;

#### Domaine

Lorsque vous indiquez une adresse web à explorer, l'outil cherche en priorité le plan du site (appelé sitemap) pour identifier les pages.

Si aucun plan n'est trouvé, l'exploration démarre directement à partir de l'adresse que vous avez saisie.

{% hint style="info" %}
Si cette adresse correspond à un dossier précis de votre site, la recherche s'effectuera uniquement à partir de cet emplacement précis.
{% endhint %}

<figure><img src="/files/CXW8ecXGZxUkRauyIzfk" alt="" width="563"><figcaption></figcaption></figure>

#### Sitemap

Une sitemap fonctionne comme la carte d'un site web. Ce fichier dresse la liste de toutes les pages importantes d'un site. Si vous sélectionnez une sitemap, l'outil explorera uniquement les adresses qui y sont inscrites.

<figure><img src="/files/LbMDzn2yyuvBzNpOajAJ" alt="" width="563"><figcaption></figcaption></figure>

#### URLs spécifiques&#x20;

En indiquant une liste d'adresses web (URLs), vous définissez précisément les pages exactes que l'outil doit analyser.

<figure><img src="/files/pnzTgPeviFRcKd1F1PUK" alt="" width="563"><figcaption></figcaption></figure>

#### Suivi des liens

Cette fonctionnalité permet d'autoriser l'outil à naviguer au-delà des pages initialement configurées pour enrichir votre base de connaissances.

* Suivre les liens : En cochant cette case, le robot explorera et indexera chaque lien direct (profondeur de niveau 1, ou N+1) présent sur l'ensemble des pages que vous avez soumises.

<figure><img src="/files/UcfTsN5ouOez1XKnUdM3" alt="" width="563"><figcaption></figcaption></figure>

* Restreindre le suivi des liens à certains domaines : Cette case devient disponible uniquement si l'option "Suivre les liens" est activée. Elle vous permet de cibler l'exploration en renseignant une liste de domaines précis. Le robot ne suivra alors les liens de niveau 1 que s'ils appartiennent aux domaines configurés.

<figure><img src="/files/mCQRi4NZItuAgfY6JcWy" alt="" width="563"><figcaption></figcaption></figure>

### Détail de la collection

Les informations sur l'ajout de votre source à votre collection s’afficheront comme suit :&#x20;

<figure><img src="/files/zuqBrclDSSmqZ31yClgP" alt=""><figcaption></figcaption></figure>

* **Nom** : le nom de votre source
* **Ajouté par** : l'identifiant du gestionnaire du bot
* **Date de création** : date à laquelle vous avez ajouté votre source
* **Préparation :** Statut et actions de la préparation de la source
* **Indexation** : Statut et actions de l'indexation de la source
* **Dernière indexation le** : Date de dernière indexation
* **Actions** : Actions possible sur les sources (modifier, supprimer & voir les détails)

{% hint style="info" %}
La préparation est l'étape de récupération individuelle des données, durant laquelle l'outil télécharge et lit le contenu de chaque source ajoutée.

L'indexation est l'étape globale qui rassemble et intègre toutes ces sources à la base de connaissances pour permettre au bot de générer des réponses. Toute modification d'une source nécessite de relancer cette indexation globale.
{% endhint %}

Il existe plusieurs statuts pour suivre l'avancement de vos contenus :

* **En attente d'action** : Aucune action n'a encore été initiée sur cette source.
* **Planifié** : La préparation ou l'indexation de la source est programmée et s'exécutera prochainement.
* **Annulé** : Le processus de préparation ou d'indexation a été interrompu.
* **En préparation** : Le téléchargement et la lecture des données de la source sont en cours.
* **Prêt** : Les données ont été récupérées avec succès, la source est désormais en attente de son indexation.
* **Préparation échouée** : Une erreur a empêché la récupération des données de cette source.
* **Indexation en cours** : L'intégration des données à la base est en cours de traitement.
* **Indexé** : La source est totalement intégrée à la base et le bot peut l'utiliser pour générer des réponses.
* **Indexation partielle** : La base nécessite une mise à jour. Par exemple, une nouvelle source a été ajoutée mais n'a pas encore été indexée avec le reste.
* **Test conf LLM échoué** : Le processus s'est arrêté suite à une erreur dans la configuration du modèle de langage.
* **Fichier de configuration non trouvé** : Une erreur technique liée au serveur a empêché l'opération de se dérouler correctement.

### **Suggestion et Indexation**&#x20;

<figure><img src="/files/kUpJiOdt1sgN5XnPKZZh" alt=""><figcaption></figcaption></figure>

#### Préparation et indexation par source (Individuelle)

Cette méthode vous permet de gérer chaque document ou site web de manière totalement indépendante. Pour chaque source, vous disposez de deux boutons distincts : un bouton pour la préparation et un bouton pour l'indexation.

**Le bouton "Préparation"**&#x20;

En cliquant sur la petite flèche de ce bouton, vous accédez aux options suivantes :

* **Préparer la source** : Lance uniquement la récupération et la lecture des données pour la source choisie.
* **Préparer et indexer la source** : Enchaîne automatiquement la récupération des données puis leur intégration à la base de connaissances pour cette la source choisie

**Le bouton "Indexation"**&#x20;

De la même manière, la flèche associée à ce bouton vous propose les options suivantes :

* **Indexer la source** : Intègre les données de la source choisie qui ont déjà été préparées.
* **Préparer et indexer la source** : Permet de lancer l'intégralité du processus (préparation et  indexation) pour la source choisie.

#### Préparation et indexation globale (Collection complète)

Un bouton principal permet de lancer simultanément la préparation et l'indexation de toute votre collection, ce qui inclut l'ensemble des sources configurées.

En cliquant sur la petite flèche adjacente à ce bouton principal, vous accédez à deux options spécifiques :

* **Préparer uniquement** la collection (sans lancer l'indexation).
* **Indexer uniquement** les éléments de la collection qui ont déjà été préparés.

#### Suggérer des connaissances à partir de la collection

Ce bouton permet de préparer votre collection dans le but d'en extraire un fichier Excel de connaissances, que vous pourrez ensuite importer directement dans votre bot.

Points d'attention importants :

* Pas d'indexation : Cette action n'indexe pas la collection.
* Pas de RAG : Elle ne permet pas au bot d'utiliser ces documents pour générer des réponses de manière autonome.

L'unique finalité de ce bouton est la création de ce fichier d'export.

### Détail des éléments de la collection avec le statut "Terminé avec erreurs"

Une fois l'indexation ou la suggestion effectuée , il est possible qu'on obtienne un statut "Terminé avec erreurs".&#x20;

En cliquant sur le statut, un rapport est affiché avec les détails d'erreurs.

* Détail des erreurs issues de Sites Web :&#x20;

Dans le détail du rapport, un pourcentage de succès et d'erreurs est indiqué. Une répartition des codes d'erreurs http est présenté.

<figure><img src="/files/AOeX8sGUodSuzJ4WJhAU" alt="" width="563"><figcaption></figcaption></figure>

Les erreurs peuvent être classées en différentes catégories, telles que celles liées côté serveur ou autres.

<figure><img src="/files/OTgdVl4YOSzKkkL55Qop" alt="" width="563"><figcaption></figcaption></figure>

* Détail des erreurs issues des Sharepoints :&#x20;

Dans le détail du rapport, un pourcentage de succès et d'erreurs est également indiqué. Le rapport fournit des détails complets sur toutes les pages qui n'ont pas pu être récupérées, ainsi que sur les dossiers concernés.&#x20;

<figure><img src="/files/HsV5pyiHzQUeJR1oNZFc" alt=""><figcaption></figcaption></figure>

Il précise également, pour chaque dossier, les fichiers spécifiques qui n'ont pas pu être récupérés, permettant ainsi une identification claire des éléments manquants

<figure><img src="/files/KoSC5gYQVob9dYNowgGC" alt="" width="563"><figcaption></figcaption></figure>

## Configuration de la collection

### Personnalisation des réponses

<figure><img src="/files/rXgVAU3qg3CD59vBnbSR" alt=""><figcaption></figcaption></figure>

Configurer les paramètres d’indexation d’une collection permet d’adapter précisément le comportement du bot à vos besoins métier et à l’expérience utilisateur souhaitée. Chaque collection dispose d’une **card dédiée** où vous pouvez ajuster plusieurs options afin d’optimiser la pertinence, la longueur et le style des réponses générées, ainsi que la sélection des sources d’information.

* La **température** définit le style des réponses fournies par le bot : plus la température est élevée, plus les réponses peuvent être créatives ; à l’inverse, une température basse privilégie des réponses strictement factuelles. Ce réglage est particulièrement utile pour s’assurer que le ton et le niveau de créativité du bot correspondent à votre contexte d’utilisation.
* Le **nombre de tokens de sortie** correspond à la longueur des réponses générées. Vous pouvez choisir entre des réponses courtes, moyennes ou détaillées selon la complexité des sujets traités ou la préférence de vos utilisateurs. Ajuster ce paramètre aide à fournir des informations plus synthétiques ou au contraire plus approfondies.
* Le **score minimum requis pour les sources des réponses** permet de filtrer les documents utilisés par le bot : seules les sources dont le score est supérieur ou égal à la valeur définie seront prises en compte dans la génération des réponses et dans l’affichage des sources citées. Ce réglage garantit que seules les sources jugées suffisamment pertinentes ou fiables sont utilisées pour construire la réponse.
* Le **prompt additionnel** offre la possibilité d’ajouter un contexte spécifique ou une instruction particulière qui sera systématiquement prise en compte lors de la génération des réponses pour la collection concernée. Ce champ texte libre permet par exemple d’imposer un ton, de préciser une consigne métier, ou d’orienter le bot sur un sujet sensible.
* La fonctionnalité de **gestion flexible du prompt additionnel** offre un meilleur contrôle sur le prompt final envoyé au modèle. Elle permet de visualiser le prompt final complet et de choisir l'emplacement précis du prompt additionnel : au début, au milieu, ou à la fin.

{% hint style="info" %}
Vous ne pouvez pas modifier le contenu du prompt final lui-même ; vous pouvez uniquement insérer le prompt additionnel et définir sa position pour optimiser la réponse du modèle.
{% endhint %}

<figure><img src="/files/KoYl4Dnh2jDZ2g1pD6Rd" alt=""><figcaption></figcaption></figure>

#### Mode avancé : Personnalisation des réponses

En activant le mode avancé, de nouvelles options de paramétrage apparaissent pour contrôler la façon dont le système sélectionne les informations.

**Score minimum requis pour les sources des réponses**&#x20;

Dans ce bloc, vous trouverez une nouvelle case à cocher : **Activer/Désactiver le filtrage par score avant la génération de la réponse**.

* **Désactivé (par défaut)** : Toutes les sources récupérées sont utilisées pour générer la réponse, quel que soit leur score de pertinence.
* **Activé** : Le système applique un filtre strict en amont. Seules les sources dont le score est supérieur ou égal au minimum que vous avez défini seront conservées et utilisées pour rédiger la réponse.

<figure><img src="/files/yewoOovMfQCnDa7ZUSO5" alt="" width="563"><figcaption></figcaption></figure>

**Génération de la réponse**

Ce nouveau bloc vous permet de configurer la quantité d'informations transmises au modèle pour construire sa réponse. Vous y trouverez les options suivantes :

* **Nombre de sources directes (Top K)** : Ce paramètre se règle sur une échelle de 1 à 10 et définit le nombre d'extraits de texte (*chunks*) qui seront directement envoyés au LLM. Il est fortement conseillé de garder une valeur faible (entre 2 et 4). Si vous définissez une valeur trop élevée, le modèle risque d'être noyé sous des informations moins pertinentes, ce qui augmente le risque d'hallucinations.
* **Activer/Désactiver le LLM Rerank pour améliorer la précision des réponses** : Cette option active un second examen des extraits pour ne conserver que les plus pertinents. Bien que cela ralentisse légèrement la génération de la réponse, ce traitement améliore grandement la qualité et la précision du résultat final.

<figure><img src="/files/w8sd61Wga3esgBEXGYNu" alt="" width="560"><figcaption></figcaption></figure>

**Paramètres spécifiques au Rerank**

Lorsque vous cochez la case d'activation du LLM Rerank, l'interface s'adapte et de nouvelles options de configuration apparaissent dans le bloc de génération de la réponse :

* **Étendue de la présélection (Top K)** : Le paramètre initial ("Nombre de sources directes") change de nom et de comportement. Le modèle va d'abord scanner ces *K* extraits pour identifier les plus pertinents, avant de n'en conserver que les meilleurs (*N*) pour répondre. Contrairement au mode classique, vous pouvez ici définir une valeur plus élevée (entre 10 et 30). Ce paramètre se règle sur une échelle de 1 à 50.
* **Nombre de chunks à utiliser (Top N)** : Ce nouveau paramètre (réglable de 1 à 10) correspond au nombre final d'extraits qui seront effectivement utilisés pour rédiger la réponse. Le Rerank choisit ces *N* meilleurs éléments parmi la présélection (*K*). Il est recommandé de conserver une valeur faible (entre 2 et 4).
* **Puissance de traitement (Batch size)** : Ce réglage définit la quantité d'extraits traités en une seule fois parmi le Top K. Une valeur élevée accélère le temps de traitement de la réponse, mais exige davantage de ressources système. *À noter :* L'échelle de ce paramètre s'adapte automatiquement à votre configuration du Top K (par exemple, si votre Étendue de présélection est réglée sur 35, le Batch size pourra être configuré de 1 à 35).

<figure><img src="/files/zAKIPb3LIM0ByM22DR9Z" alt="" width="562"><figcaption></figcaption></figure>

### Variables dynamiques

Des **variables dynamiques** peuvent être utilisées dans le prompt additionnel de chaque collection. Par exemple, `${capture.user_name}` est remplacé automatiquement par la valeur réelle récupérée pendant la conversation ou depuis un web service.

Si une variable n’est pas disponible, elle est ignorée ou remplacée par une chaîne vide.\
Cela permet de personnaliser les instructions envoyées au moteur RAG, pour des réponses adaptées au contexte de chaque utilisateur.

Afin que les variables de capture soient correctement remplacées dans le prompt, il faut les ajouter aux paramètres du Web service : Dydu\_RAG.\
Voici un exemple avec la variable de capture user\_name :

<figure><img src="/files/eI9zVI29q8z929nEbjn8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/6yj0swLQqCtudi0ftclC" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Lorsque le prompt est transmis au moteur RAG, il ne contient plus la variable sous forme `${capture.XXXX}`, mais directement sa valeur.

Par exemple, un prompt comme :

* *" Donne-moi la valeur contenue dans ${capture.city} "*

Sera envoyé au moteur sous la forme :

* *" Donne-moi la valeur contenue dans Paris "*

Si la variable `${capture.city}` contient « Paris ».
{% endhint %}

### Contextualiser le RAG avec des métadonnées&#x20;

Il est possible de cibler précisément les documents utilisés par le RAG pour générer une réponse. Pour cela, vous pouvez filtrer les contenus grâce aux métadonnées associées à chaque document (comme une URL ou une catégorie).

Toutes les métadonnées sont utilisables pour ce filtrage, à l'exception du score.

Exemple de métadonnée :&#x20;

<figure><img src="/files/wW61UQauIHpZK4IVwalH" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Il est possible de visualiser les métadonnées de vos documents en cliquant sur le bouton ![](/files/iUx0ct6UGTK2pNwy24ez)  d'une collection indexée
{% endhint %}

La configuration s'effectue directement dans le webservice nommé Dydu\_RAG. Il suffit d'y ajouter un nouveau paramètre intitulé metadataFilters.

La valeur de ce paramètre doit être saisie sous cette forme : \[{"key": "clé", "operator": "opérateur", "value": "valeur"}].

<figure><img src="/files/CFtzpzYZ57ZjVp34fiJP" alt="" width="563"><figcaption></figcaption></figure>

Trois opérateurs sont disponibles pour définir votre filtre :

* EQUALS : conserve uniquement les contenus correspondant exactement à la valeur.
* NOT\_EQUAL : exclut les contenus correspondant exactement à la valeur.
* SUB\_STRING : conserve les contenus qui intègrent tout ou partie de la valeur.

Par exemple, pour que le bot se limite exclusivement aux pages des produits Dydu, il faut utiliser l'opérateur SUB\_STRING sur l'URL de la manière suivante : \[{"key": "url", "operator": "SUB\_STRING", "value": "<https://www.dydu.ai/produits/>"}].

### Affichage du Score RAG dans les Réponses

Afin d'afficher le **score des métadonnées** attribué par le RAG pour chaque réponse fournie, il est nécessaire de modifier le **webservice** `Dydu_RAG` et d'intégrer l'information dans le **format de réponse**.

Pour récupérer le **score RAG**, la variable doit être extraite du JSON de retour du webservice.

Ajoutez la ligne suivante à l'**intérieur du JSON** afin d'**extraire la valeur du score** :

```
var score = returnedJson.metadata[i]["score"];
```

Après avoir extrait la valeur, vous devez définir la **variable d'affichage** et formater la manière dont le score sera présenté.

Ce code vérifie l'existence du score et le formate pour l'affichage, par exemple, en ajoutant un saut de ligne et l'étiquette :&#x20;

```
var scoreDisplay = "";

// Formatage du score pour l'affichage (ex: "Score : [valeur]")
if (score != undefined && score != null) {
    scoreDisplay = "<br/> Score : <br/>" + score;
}
```

Et voilà, maintenant à chaque réponse générée par le RAG, le score de la réponse sera affichée.

***

Bien configurer ces paramètres vous permet d’obtenir des réponses adaptées, fiables et pertinentes, tout en maîtrisant la façon dont le bot interagit avec vos utilisateurs pour chaque collection de données indexée.

## Gestion du contenu

### Réindexation automatique

<figure><img src="/files/UiKqSpQQhatKRTT2bX9w" alt="" width="563"><figcaption></figcaption></figure>

Vous pouvez configurer la fréquence de réindexation des collections selon quatre modes : aucune, quotidienne, hebdomadaire ou mensuelle.

* **Aucune** : aucune réindexation n’est programmée, les données restent inchangées.
* **Quotidienne** : la réindexation est effectuée automatiquement chaque jour, à minuit.
* **Hebdomadaire** : la réindexation a lieu chaque lundi à minuit.
* **Mensuelle** : la réindexation s’effectue le premier lundi de chaque mois, à minuit.

Le jour et l’heure de la réindexation sont prédéfinis et ne peuvent pas être modifiés.\
Cette configuration vous permet d’adapter la fréquence de mise à jour des données selon vos besoins, tout en gardant le fonctionnement simple et automatique.

### Optimisation de l'accès au contenu

<figure><img src="/files/1bY204dIrzd0G9N6wcBH" alt="" width="563"><figcaption></figcaption></figure>

Cette option permet d'obtenir des réponses rapides tout en conservant une grande précision. Elle est indispensable lorsque vous traitez un grand volume de données.

Cependant, elle peut s'avérer moins performante si votre base de connaissances est de petite taille. Il est donc conseillé de l'essayer au préalable pour vérifier son efficacité sur vos contenus en utilisant la fonctionnalité "Tester le RAG".

{% hint style="warning" %}
Cette option n'est pas activée par défaut
{% endhint %}


# LLM : comment configurer chaque type de modèle ?

Une fois une ou plusieurs collections créées dans le menu Contenus externes, il est possible de configurer un modèle LLM.

## Résumé des paramètres de mon LLM&#x20;

La modale **Résumé des paramètres de mon LLM** permet de configurer les paramètres nécessaires au fonctionnement du LLM qui va être utilisé.

<figure><img src="/files/l6boCWZOzY1d3bPYHqO0" alt=""><figcaption></figcaption></figure>

* Dans la modale ci-dessus, il est possible de renseigner les paramètres suivants selon le type de LLM choisi en cliquant sur le bouton **Modifier** :&#x20;

1. **Type de modèle LLM :** il en existe plusieurs -> **Azure OpenAI Dydu, OpenAI, Azure OpenAI, MistralAI, GoogleAI Gemini, VertexAI Gemini, Scaleway**.&#x20;
2. **Clé d'authentification API :** Entrez la clé d’authentification API associée au modèle LLM que vous allez utiliser.
3. **Modèle LLM et d'indexation (embedding) :**&#x20;
   1. Modèle LLM : Un LLM est un modèle d’intelligence artificielle entraîné sur beaucoup de textes pour comprendre et générer du langage naturel.\
      Il peut traduire, résumer, répondre à des questions, etc, en s’appuyant sur le contexte et le sens des mots.
   2. Modèle d'embedding : Un modèle d'embedding transforme des mots ou phrases en vecteurs numériques pour que l’intelligence artificielle puisse comparer leur sens.\
      Des textes similaires auront des vecteurs proches, ce qui aide à traiter et retrouver l’information plus intelligemment.
4. **Options supplémentaires :** Selon le modèle du LLM que vous allez utiliser, il peut y avoir des options supplémentaires à renseigner.

* Une fois les paramètres renseignés , il suffit de cliquer sur appliquer et le modèle est prét à être utilisé.

## Types de modèles LLM

Depuis la liste déroulante dans **Résumé des paramètres de mon LLM**, vous pouvez choisir celui que vous souhaitez utiliser :&#x20;

### Azure OpenAI Dydu :&#x20;

<figure><img src="/files/nZHwtQB1IZlTDjj78Ad0" alt=""><figcaption></figcaption></figure>

* Le modèle Azure OpenAI Dydu est utilisé par défaut, sans nécessité d'ajuster les paramètres.

### **OpenAI :**&#x20;

<figure><img src="/files/JnTB2AKis5fu3zNBmrrX" alt=""><figcaption></figcaption></figure>

* Voici le [lien vers les modèles de LLM et d'embedding](https://platform.openai.com/docs/models) que vous pouvez utiliser.
* Version de l'API : v1 est la version utilisée par défaut chez OpenAI pour les endpoints, donc c'est possible laisser v1 ou d'utiliser une autre version.

### **Azure OpenAI :**&#x20;

<figure><img src="/files/QFWj2BVvj6hV2VSQ0kZU" alt=""><figcaption></figcaption></figure>

* Si vous souhaitez partir sur une configuration Azure, vous aurez besoin de créer deux déploiements :&#x20;
  * Le premier pour le modèle de LLM à utiliser, par exemple : **gpt-4o-mini**
  * Le second, pour l'indexation (embedding), par exemple : **text-embedding-3-large**
* L’exemple mentionné ci-dessus sert uniquement à des fins d’illustration. Toutefois, les différents modèles LLM ainsi que les méthodes d’indexation sont en constante évolution. Voici le [lien vers les modèles de LLM et d'embedding](https://platform.openai.com/docs/models)&#x20;
* Il faut se connecter sur votre portail Azure : <https://portal.azure.com> afin de remplir les champs requis :&#x20;

  Dans votre ressource Azure OpenAI, vous trouverez  :

  * **Clé d’authentification API :**&#x20;

  Allez dans : Clés et points de terminaison .

  Vous y verrez deux clés `Key1` et `Key2` , copiez l’une d’elles.

  * **Point de terminaison AzureOpenAI**

  Dans la même section, vous verrez aussi l’URL de point de terminaison, du style : `https://nom-de-ta-ressource.openai.azure.com/`

  * **Nom des déploiements**

  C’est le nom que vous avez donné au déploiement du modèle, par exemple : `gpt-4`, `chat`, `embedding-model`, etc.

  Allez  dans l’onglet "Déploiements" pour le retrouver.

  * **Version de l’API**

  Vous pouvez le voir dans la [documentation officielle Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation#latest-ga-api-release) ou dans le portail.

### MistralAI :&#x20;

<figure><img src="/files/JHVrD7wIPnC8ChXYKYsM" alt=""><figcaption></figcaption></figure>

* Exemple de Modèle LLM et d'indexation (embedding) :&#x20;
  * Modèle de LLM : **ministral-8b-latest**
  * Modèle d'embedding : **mistral-embed**
* L’exemple mentionné ci-dessus sert uniquement à des fins d’illustration. Toutefois, les modèles de LLM ainsi que les méthodes d’indexation sont en constante évolution. Voici[ le lien vers les modèles de LLM](https://docs.mistral.ai/getting-started/models/models_overview/) et [le lien vers les modèles d'embedding](https://docs.mistral.ai/capabilities/embeddings/)

### GoogleAI Gemini :&#x20;

<figure><img src="/files/AMl2ZOABPLD4q6Ir2lsr" alt=""><figcaption></figcaption></figure>

* Exemple de Modèle LLM et d'indexation (embedding) :&#x20;
  * Modèle LLM : **gemini-1.5-flash-latest**
  * Modèle d'embedding : **models/text-embedding-004**
* L’exemple mentionné ci-dessus sert uniquement à des fins d’illustration. Toutefois, les modèles de LLM ainsi que les méthodes d’indexation sont en constante évolution. Voici [le lien vers les modèles de LLM et d'embedding](https://cloud.google.com/vertex-ai/generative-ai/docs/models)&#x20;

### VertexAI Gemini :&#x20;

<figure><img src="/files/xIYWfFrMcru4md3uwj2j" alt=""><figcaption></figcaption></figure>

* Pour configurer les paramètres de VertexAI Gemini, veuillez consulter la page suivante :[ VertexAI Gemini ](/contenus/contenus-externes/vertexai-gemini)

### Scaleway :&#x20;

<figure><img src="/files/yoBQdv5IJaRqgJp3tnU0" alt=""><figcaption></figcaption></figure>

* Voici [le lien vers les modèles de LLM et d'embedding](https://www.scaleway.com/en/docs/generative-apis/reference-content/supported-models/)

### Custom LLM

Si vous souhaitez utiliser votre propre LLM personnalisé, qui ne correspond à aucun des types mentionnés précédemment, vous avez la possibilité de configurer manuellement votre instance.

Cette configuration nécessite quelques pré-requis :&#x20;

* Disposer d’une URL exposant les routes spécifiées dans le tableau ci-dessous (ex. : <https://mon-api.test.fr/openai>, permettant d’accéder aux endpoints /openai/chat/completion ou /openai/embeddings)
* Fournir une clé API via le header Authorization (format : Bearer)
* Indiquer les modèles de LLM et d’embedding que vous souhaitez utiliser (information nécessaire de notre côté)

| API                  | Method + URL relative                             | Documentation                                                      |
| -------------------- | ------------------------------------------------- | ------------------------------------------------------------------ |
| Création d'embedding | POST <https://api.openai.com/v1/embeddings>       | <https://platform.openai.com/docs/api-reference/embeddings/create> |
| Question/Réponse     | POST <https://api.openai.com/v1/chat/completions> | <https://platform.openai.com/docs/api-reference/chat/create>       |


# VertexAI Gemini

Comparé aux autres types de LLM pris en charge par Dydu, VertexAI a besoin d'une configuration spécifique pour fonctionner.

## Introduction

Google met en place plusieurs types d'authentification pour pouvoir interagir avec VertexAI :&#x20;

* Échange de clef privée (non recommandé)
* Utilisation de la CLI Google Cloud
* Configuration d'une Fédération d'Identité de Charge de Travail (WIF)

La solution que nous proposons est la 3e de la liste. Cette configuration a quand même  besoin de certains pré-requis qui ne seront pas expliqués dans cette documentation, à savoir :&#x20;

* [La création d'un compte de service](https://cloud.google.com/iam/docs/service-accounts-create), qui devra avoir les autorisations nécessaires pour l'accès au LLM
* La création d'un OIDC, qui sera paramétré dans le fournisseur du WIF

## Création d'une Fédération d'Identité de Charge de Travail (WIF)

Pour commencer, allez dans le menu **IAM et administration** > **Fédération d'identité de charge de travail** :

<figure><img src="/files/vt6nScEjNxcYcMASFuWh" alt="Accès au menu de paramétrage du WIF"><figcaption><p>Accès au menu de paramétrage du WIF</p></figcaption></figure>

Vous arrivez sur une interface listant les Pools d'Identité de Charge de Travail. Il faut en ajouter un en cliquant sur le bouton d'ajout en haut de l'écran : **Créer un pool.**

<figure><img src="/files/qyubQpP76LGIuqWUsw1e" alt="Création d&#x27;un pool"><figcaption><p>Création d'un pool</p></figcaption></figure>

Complétez ensuite le nom et la description. Mettez le nom de côté, il servira pour la configuration côté **Contenus Externes** du BMS.

<figure><img src="/files/jty902nmV9MHyJlOWscx" alt="Paramétrage du nom du pool et de sa description"><figcaption><p>Paramétrage du nom et de la description</p></figcaption></figure>

Cliquez sur **Continuer**. Vous accédez au paramétrage du **Fournisseur** à ajouter au pool d'identité. Dydu prend en charge les fournisseurs de type OIDC.\
Sélectionnez OpenID Connect (OIDC) dans la liste, puis donnez-lui un nom qui sera nécessaire pour la configuration côté BMS.<br>

Maintenant, il faut configurer l'OIDC avec celui que vous avez préalablement mis en place. Complétez l'ID du fournisseur (clientId), l'émetteur (issuer), et le fichier JWK au format json si vous l'avez configuré de votre côté. Utilisez l'URL "<https://.../>*.well-known/openid-configuration"* pour configurer plus facilement cette partie.\
Ensuite, vous devez choisir la valeur de l'audience qui sera nécessaire dans le token délivré par votre OIDC. Cette valeur devra se trouve dans le claim **aud** du token délivré. Par exemple :&#x20;

<figure><img src="/files/XGdN81BV5pe1ApsSpTAt" alt="Valeur du claim aud dans un access_token"><figcaption><p>Valeur du claim aud dans un access_token</p></figcaption></figure>

Enfin, terminez le mappage des attributs pour finir la configuration du fournisseur de votre pool d'identité. Enregistrez, puis rendez-vous sur la page **Informations sur le pool \<nom\_du\_poll>** créé.\
Cliquez sur le bouton **Accorder l'accès, puis sélectionnez Accorder l'accès via l'emprunt d'identité de compte de service**.\
Sélectionnez votre compte de service dans la liste, puis compléter le mappage.

<figure><img src="/files/Ic7b7vUDbyzph7HsSe1o" alt="Paramétrage pour accorder l&#x27;accès au compte de service"><figcaption><p>Paramétrage pour accorder l'accès au compte de service</p></figcaption></figure>

Cliquez sur **Enregistrer**, une nouvelle fenêtre s'ouvre pour configurer votre application. Sélectionnez le fournisseur dans la liste, complétez les informations suivantes, puis cliquez sur **Masquer**. Le téléchargement de la configuration n'est pas utile pour la suite.

<figure><img src="/files/3mYah58YLVCtlsqYj3bL" alt="Fenêtre de configuration de l&#x27;application"><figcaption><p>Configuration de l'application</p></figcaption></figure>

Le paramétrage côté Google Cloud est maintenant terminé.

## Configuration du WIF côté BMS

Une fois sur le BMS, cliquez sur **Contenus** > **Contenus externes.**\
Dans la zone de configuration **Résumé des paramètres de mon LLM**, cliquez sur **Modifier**, puis sélectionnez VertexAI Gemini dans la liste des types de modèles LLM.

<figure><img src="/files/FXxA9RyaN0YscZMZDTSE" alt="Sélection de VertexAI côté BMS"><figcaption><p>Sélection de VertexAI côôté BMS</p></figcaption></figure>

Cliquez ensuite sur **Configurer** dans la partie \*Configuration du fournisseur\*. Une nouvelle fenêtre s'ouvre en survol. Il faudra paramétrer l'appel au point de terminaison **/token** de votre OIDC. Cet appel doit être un POST, et ne doit contenir que des headers et des paramètres url-encodés.

<figure><img src="/files/DECkXllbgu5ucF6Be2Ya" alt="Fenêtre de configuration du fournisseur"><figcaption><p>Fenêtre de configuration du fournisseur</p></figcaption></figure>

Vous avez deux choix :&#x20;

* Compléter toutes les informations à la main
* Coller une requête CURL dans la zone basse : toute la configuration sera faite automatiquement

<figure><img src="/files/8IOL9WLMJtvWRn6WNZn0" alt="Paramétrage fourbisseur terminé"><figcaption><p>Paramétrage fournisseur terminé</p></figcaption></figure>

Une fois le paramétrage terminé, vous pouvez cliquer en-dehors de cette fenêtre. Le bouton de configuration a été renommé, et vous verrez la requête CURL au survol de celui-ci.\
Complétez les modèles de l'étape 3 en fonction de ceux que vous souhaitez utiliser.\
Vous êtes maintenant à la dernière étape.

<figure><img src="/files/V5IRd6ahkdl2DYDheTMo" alt="Paramétrage du WIF"><figcaption><p>Paramétrage du WIF</p></figcaption></figure>

Voici où trouver les informations requises sur Google Cloud :&#x20;

* Numéro du projet : Cliquez sur les 3 barres horizontales en haut à gauche, puis sur **Présentation du cloud** > **Tableau de bord**. Prenez le numéro du projet.<br>

  <figure><img src="/files/PGmCGvDtbWKBbGcOUBDR" alt="Numéro du projet"><figcaption></figcaption></figure>
* Région à utiliser : [voir la documentation Google Cloud](https://cloud.google.com/vertex-ai/docs/general/locations)
* Identifiant du pool du WIF : Correspond à la valeur de la colonne **Identifiant** à côté du pool créé dans les premières étapes

<figure><img src="/files/7FagHhNWps3NfrPbuW1h" alt="Identifiant du pool du WIF"><figcaption></figcaption></figure>

* Identifiant du fournisseur : Depuis votre pool, cliquez sur **Modifier** sur la ligne de votre fournisseur, puis prenez la valeur d'**Identifiant**.\ <br>

  <figure><img src="/files/O68KAXnIbgrOoOAQQPvt" alt="Identifiant du fournisseur" width="414"><figcaption></figcaption></figure>
* Email du compte de service : L'information se trouve dans l'écran des comptes de service. Copiez l'email de celui qui a les autorisations d'accéder à VertexAI, puis renseignez-le dans le champ.

La configuration est terminée !


# Galerie

Vous pouvez ajouter des images (aux formats png, jpg, gif), vidéos (au format swf) ou fichiers (tous formats : doc, pdf, xlsx, etc.) dans vos réponses.

Note : Les formats de fichiers de type .exe ne peuvent pas être importés.

Pour cela, il faut d'abord ajouter ces éléments dans la galerie. Pour accéder à la galerie, dirigez-vous sur la page **Contenus > Galerie**.

Vous pouvez organiser votre galerie en dossiers. Pour créer un nouveau fichier, cliquer sur **Ajouter** > **Créer un nouveau dossier dans Racine**.

Une nouvelle fenêtre apparaît. Entrez le nom de votre dossier et cliquez sur **Ajouter**.

Vous pouvez réitérer l'opération de sorte à ajouter d'autres dossiers et sous-dossiers.

Pour ajouter un fichier dans un dossier, cliquez sur le nom du dossier puis sur **Ajouter** > **Importer un fichier dans (nom du dossier)**. Cliquez ensuite sur **Choisir un fichier**.

Sélectionnez le ou les fichiers que vous souhaitez télécharger et validez l'opération en cliquant sur **Importer**. Vous verrez apparaître votre ou vos fichiers dans la colonne de droite.

<figure><img src="/files/nnHf04BHDGbekq8VY8QV" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/nnHf04BHDGbekq8VY8QV" alt="" width="563"><figcaption></figcaption></figure>

Lorsque vous cliquez sur ce fichier, vous pouvez obtenir un aperçu du contenu, de sa taille ainsi qu'un lien direct vers le fichier.

Une fois l'élément enregistré dans la galerie, vous pouvez l'utiliser dans une réponse. Pour cela, lors de l'édition d'une réponse, placez votre curseur où vous souhaitez insérer l'élément puis dans la barre d'outil, cliquez sur le bouton **File manager** de la barre d'outils :&#x20;

![](/files/3JpHCARwmw9x2SELkyJW)

Sélectionnez votre fichier : celui-ci apparaît dès lors sur votre fenêtre de réponse.

Notez que vous aurez la possibilité de modifier la taille des images facilement en cliquant sur l'image.

Pour les fichiers word, excel, pdf, etc., un lien de téléchargement est affiché.

### Insérer des vidéos (Youtube, etc.)

Il est impossible, à ce jour, d'héberger des vidéos depuis la plateforme. Toutefois, il est possible d'insérer des vidéos depuis les plateformes comme YouTube, Dailymotion, etc.

Pour cela, vous devez impérativement utiliser le code fourni par ces plateformes et l'insérer directement dans le code HTML de la réponse (ou du panneau latéral).

Exemple YouTube :

1. Dirigez-vous sur la page de votre vidéo YouTube ;
2. Cliquez sur **Partager** ;

<figure><img src="/files/zfuDxE20xUlUAGmpst2j" alt=""><figcaption></figcaption></figure>

3. Cliquez sur **Intégrer** ;

<figure><img src="/files/yeNN25Sbami54d6eoQK6" alt="" width="375"><figcaption></figcaption></figure>

4. Copiez ensuite l'ensemble du code ;

<figure><img src="/files/6nUPPWx0LLckmoFZhuwR" alt="" width="360"><figcaption></figcaption></figure>

5. Enfin, collez l'ensemble du code dans le code source de votre connaissance (éditeur HTML).

Pour google drive, veillez à prendre le lien donné lorsque vous cliquez sur **Intégrer cette vidéo** (Voir <https://descary.com/integrez-video-google-drive-site-web-blogue/>).


# Web Services

{% hint style="warning" %}
**Note :** Seuls les utilisateurs avec les droits *Administrateur* ou *Super User* peuvent accéder à cette page.
{% endhint %}

Il est possible de configurer des services web pour y faire appel durant les conversations. Dirigez-vous sur la page **Contenus > Web services** pour accéder à la page de configuration. Cette page permet de créer un service web **REST** ou service web **SOAP depuis un WSDL.** Vous pouvez choisir entre les deux méthodes en cliquant sur le bouton **Ajouter** puis sélectionnez le type de webservice.&#x20;

<figure><img src="/files/nJ5n99rzWzvCL5pQVhJq" alt=""><figcaption></figcaption></figure>

La configuration/modification d'un web service est divisée en plusieurs parties :

* Configuration ;
* Certificat du service web;
* Authentification au service web ;
* Entêtes du service web ;
* Paramètres ;
* Variables de résultat ;
* Boutons d'actions.

## Configuration d'un webservice

{% hint style="info" %}
**Note :** Une fois le service créé, il n'est pas possible de modifier le type du service web (REST ou SOAP). Cependant, tous les autres champs sont modifiables.
{% endhint %}

* Le champ **Nom** permet de configurer le nom du service web, qui sera utilisé pour l'appeler dans la base de connaissances.
* Le champ **URL** permet de configurer l'URL du service web. Ce doit toujours être une constante.
* Le champ **Cache** permet de configurer la durée du cache du service web. La valeur 0 supprime le mécanisme de cache.
* Le champ **Timeout** permet de configurer la durée du timeout du service web. La valeur 0 laisse un timeout standard d'une requête HTTP.
* Le champ **Méthode HTTP** permet de configurer le type de requête : GET / POST / PUT / DELETE / PATCH. Ceci est surtout utile lors des appels REST.
* Le champ \***Type de Réponse** vous permet de configurer le type de réponse : XML / plain /  Bytes / JSON/ Json params in form .

## Configurer un certificat pour un webservice

Une configuration d'un certificat pour un webservice est requise dans le cas où vous voulez assurer la sécurité des communications en ligne entre l'utilisateur/le client et le serveur.

Pour associer un certificat à un web service, vous devez dans un premier temps chiffrer la clé du certificat. Pour cela vous devez aller dans **Préférences > Bot > Général.** Vous trouverez en bas de page la section " Définir un mot de passe pour chiffrer les certificats des Webservices"

{% hint style="warning" %}
Le mot de passe choisi est définitif. Il ne pourra pas être modifié, ni annulé.
{% endhint %}

Le format du certificat doit être en PFX (format de fichier permettant de chiffrer le certificat du serveur, les éventuels certificats intermédiaires et la clé privée). Une fois le certificat téléchargé et le mot de passe du certificat renseigné, il est obligatoire de cliquer sur "**Enregistrer**".

{% hint style="warning" %}
Seuls les services web de type REST peuvent être configurés avec un certificat dans le BMS. Cette fonctionnalité ne sera pas développée pour les services web SOAP.
{% endhint %}

## Authentification au service web

Ici, vous pouvez choisir le type d'authentification pour votre service Web (OAUTH\_2 / HTTP\_BASIC). Une fois sélectionné, vous pouvez remplir les champs **Nom d'utilisateur pour l'authentification** et **Mot de passe pour l'authentification**. Toutefois, ces champs peuvent rester vides. Ils ne doivent être configurés que si cela est vraiment nécessaire.

## Entêtes du service web

Cette section vous permet d'ajouter des en-têtes HTTP dans l'appel à un service. Ceci est souvent utilisé pour l'authentification.

## Paramètres

* Le champ **Nom** permet de configurer le nom du paramètre.
* Le champ **Valeur** permet de configurer la valeur du paramètre. Si cette valeur doit être récupérée dans une conversation, il faut indiquer \*\*${capture.\*\*Xxx} avec Xxx qui est le nom de la variable dans la conversation.
* Le champ **Valeur de test** permet de configurer une valeur pour le paramètre uniquement utilisée lors du test du service web sur la page de configuration (voir les boutons d'actions). Cette valeur n'est pas sauvegardée lorsque vous quittez la page.

Exemple : Dans une connaissance, si la question posée par l’internaute est « *Quel temps fait-il à Paris ?* » , il est possible de capturer la ville en indiquant dans la connaissance « *Quel temps fait-il à ${capture.city} ?* ». Des exemples plus complets sont listés sur[ cette page](/contenus/web-services/exemples-de-configuration-rest).

Les paramètres sont encodés en fonction de la méthode HTTP : dans l'URL en GET et dans le corps de la requête en POST / PUT / DELETE.

## Variables de résultats

Il est possible de configurer des variables qui pourront être affichées dans une conversation avec l’utilisateur. Cette partie dépendra du champ **Type de réponse**.

Il est important de noter que :&#x20;

* les variables récupérées du service web sont structurées comme suit : ${callapi.WebServiceName.variableName};
* les variables récupérées de la boîte de dialogue sont structurées comme suit : ${capture.VariableName}.

Avec une réponse de type XML : il est possible de récupérer des valeurs depuis le résultat en appliquant des fonctions XPath ou XSLT.

{% hint style="info" %}
Important : les fonctions XPath ou XSLT ne doivent renvoyer que du texte et jamais du XML pour être affichées dans les conversations.
{% endhint %}

Avec une réponse du type JSON : il est possible de récupérer des valeurs depuis le résultat en exécutant du javascript.

{% hint style="info" %}
Important : il est nécessaire de créer au moins une fonction javascript nommée « dyduParseJSON » qui renvoie une chaîne de caractères ou un tableau de chaînes de caractères, et qui a pour paramètre le JSON renvoyé par la requête (voir l’exemple REST en bas de page).
{% endhint %}

Notez que vous pouvez également retourner un message général si le résultat JSON est invalide. La fonction JSON devra alors être :

```

function dyduParseJSON (json, text) {

return {result: json}

}
```


# Exemples de configuration (REST)

## Exemple 1 : Configuration service web - METEO&#x20;

Cette section décrit les différentes étapes de configuration d'un service web REST météo afin de répondre automatiquement aux demandes des utilisateurs. Pour cela, vous pouvez utiliser le service openweathermap (<https://openweathermap.org/api>). **Il vous sera nécessaire de créer un compte pour disposer d'une clé.**

### Création et configuration d'un service web

1- Allez sur **Contenu > Web Services**.&#x20;

2- Cliquez sur **Ajouter** puis sélectionnez **Web Service REST**.

<figure><img src="/files/25uIvGb9mi71nqkWhbBT" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/usllSG0XHDoBoVAjrcd0" alt=""><figcaption></figcaption></figure>

3- Remplissez les champs suivants dans "configuration d'un webservice"

* Nom : "Meteo" &#x20;
* URL : "<http://api.openweathermap.org/data/2.5/weather>"&#x20;
* Methode HTTP : Get&#x20;
* Type de réponse : JSON&#x20;

<figure><img src="/files/eEbOgxafr0aNZoKEKxPp" alt=""><figcaption></figcaption></figure>

4. Remplissez les champs suivants dans "paramètres"

* APPID : Le paramètre est envoyé par WolrdWeatherOnline après la création d'un compte
* lang : fr&#x20;
* q : ${capture.ville meteo}

<figure><img src="/files/QDLl1b4XMBNL0vh2MpGp" alt=""><figcaption></figcaption></figure>

5. Cliquez sur "Ajouter" dans la catégorie "variables de résultat" et ajouter les deux variables suivantes:

<figure><img src="/files/pu7iQcnnHpnFUP5tiYlg" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Attention : les noms des variables sont libres mais doivent être cohérents avec ce qui est indiqué dans les connaissances. les noms des variables doivent être des caractères alphanumériques ou des caractères de soulignement et commencer par une lettre. Ils sont également sensibles aux majuscules et minuscules.
{% endhint %}

6. Modifier le format du résultat json avec les valeurs suivants :&#x20;

```
function dyduParseJSON(json) {
 // returns a map return {
     "name" : json.name, 
     "description" : json.weather[0].description, 
     "temperature" : parseInt(json.main.temp / 10)
      } 
      }
```

<figure><img src="/files/MAMktOpcgq34ZHalHthK" alt=""><figcaption></figcaption></figure>

7\. Tester la configuration de votre service web

<figure><img src="/files/mrLR3nPfbhseUV6Ih5ra" alt=""><figcaption></figcaption></figure>

avec la valeur de test "Paris" dans les paramètres :&#x20;

<figure><img src="/files/NGHALptK6Pi6yvkL2tXl" alt=""><figcaption></figcaption></figure>

### Création de la connaissance associée

L'objectif est maintenant de créer des connaissances pour fournir des données au service web et les restituer aux utilisateurs.

#### Configurer la question&#x20;

**Phrase de l'utilisateur :** la phrase doit ressembler à une demande pour connaître le temps qu'il fait dans une ville donnée. Le point important dans cette phrase est de ne pas oublier la variable.Dans notre exemple, la variable est appelée **ville** et elle est de type **Alphanumérique**.

1. Créez une connaissance " Quelle est la météo à" puis cliquer sur " T "&#x20;

<figure><img src="/files/ChIcE9IZbRHi2wy4BfEw" alt="" width="237"><figcaption></figcaption></figure>

2. Cherchez la variable " Ville"&#x20;

<figure><img src="/files/v2UIz5QfL12KbMdAteQ3" alt="" width="274"><figcaption></figcaption></figure>

3. Cliquez sur le groupe ville puis nommez "nom de la variable"villemeteo"
4. Cliquez sur **mettre à jour**

<figure><img src="/files/lDyo1ZUpoaTKTAT93euZ" alt="" width="327"><figcaption></figcaption></figure>

5. Cliquez sur **Créer** pour créer la connaissance.&#x20;

<figure><img src="/files/fr7LLFYA0BreevZmbTNN" alt="" width="375"><figcaption></figcaption></figure>

#### Configurer la réponse

La réponse donnée à l'utilisateur affichera la température et la ville comprise par le système pour identifier d'éventuelles différences.

<figure><img src="/files/gOggZ6AYL6DyvbWMP232" alt="" width="353"><figcaption></figcaption></figure>

{% hint style="info" %}
Il est important de noter que :&#x20;

* les variables récupérées du service web sont structurées comme suit : ${callapi.WebServiceName.variableName};
* les variables récupérées de la boîte de dialogue sont structurées comme suit : ${capture.VariableName}.
  {% endhint %}

Pour plus de détail :&#x20;

{% embed url="<https://www.youtube.com/watch?v=O5V8kwSW4_U>" %}

## Exemple 2 : Utiliser le service web dans une condition

Les services web peuvent être utilisés dans la connaissance mais aussi dans les conditions. Utilisez le service météo pour savoir s'il fait chaud ou froid dans une ville. Dans notre exemple, on considère qu'il fait chaud à plus de 20 degrés et froid dans le cas contraire.

1- Créez une nouvelle connaissance pour répondre.

<figure><img src="/files/bpDbWz5mT6sw7sM4dDLL" alt=""><figcaption></figcaption></figure>

2- Créez les deux réponses possibles avec une nouvelle condition que vous laisserez vide pour le moment:&#x20;

<figure><img src="/files/c5xzvOH6pqIyIlOkwFmU" alt="" width="340"><figcaption></figcaption></figure>

Une fois que la partie connaissance est prête, vous devez créer une nouvelle condition qui sera utilisée dans le web service. Pour cela, dirigez vous vers la page **Contenu > Condititions de contexte** .

1 - Cliquez sur **Ajouter une condition** et créez la condition associée :&#x20;

<figure><img src="/files/KNAZepfCJZnf5HdEElpS" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
A noter que l'opération est de type **expression mathématique** et la valeur doit être une expression correcte avec **x** la variable retournée par l'expression dans **Condition**. Ici, on doit vérifier que **callapi.TestWeather.Temperture > 20**.
{% endhint %}

Enfin, vous devez utilisez cette nouvelle condition dans la connaissance que nous avons créé. Pour ce faire:&#x20;

1- Modifiez la condition, sélectionnez **IsTempertureGreaterThan20**

**2-** Cliquez sur **Mettre à jour**.

<figure><img src="/files/U41NZ5HZPh58RFHMhOe2" alt="" width="344"><figcaption></figcaption></figure>

Vous pouvez maintenant tester la connaissance avec votre bot.

## Exemple 3 : Configuration service web - adresse IP

Nous allons ici utiliser les services web httpbin : <http://httpbin.org/> et plus précisément le service web IP permettant de retourner l'IP de l'utilisateur qui le demande.

### Création et configuration du service web

1- Créez un service web en mode REST.

<figure><img src="/files/r2qmss7h5uTT7wxHYjsn" alt=""><figcaption></figcaption></figure>

2- Entrez le code JSON dans la section **Variables de résultat:**&#x20;

```
function dyduParseJSON(json) {
	 return {'ip' : json.origin};
}
```

3 - Entrez la variables "IP" en cliquant sur "ajouter". Vous pouvez ajouter autant de variables que vous le souhaitez.&#x20;

<figure><img src="/files/dSriUvFNSN1VsIa7nV7N" alt=""><figcaption></figcaption></figure>

4- Cliquez ensuite sur **Sauvegarder**

**5-** Cliquez sur le bouton **Tester**  pour vérifier que le service web est opérationnel.

<figure><img src="/files/VFqB2Ny09GbPkoPYAQa4" alt="" width="262"><figcaption></figcaption></figure>

S'il n'y a pas d'erreur, l'IP vous sera retourné sinon il se peut qu'un élément ERROR fasse son apparition. Il est important de mentionner que les services web HTTPS peuvent ne pas fonctionner. Si tel est le cas, il vous suffit de retirer le « S » pour utiliser uniquement le protocole HTTP.

### Création de la connaissance associée

Dirigez-vous ensuite sur la page **Contenus > Connaissances** puis créez une nouvelle connaissance comme l'exemple ci-dessous :&#x20;

<figure><img src="/files/5nGwll4SzTagR68mDGlh" alt="" width="274"><figcaption></figcaption></figure>

Vous pouvez ensuite tester votre connaissance en posant la question à votre bot par le biais de la boîte de dialogue de test. Posez lui la question « Quelle est mon IP ? » et le bot vous retournera votre adresse IP.

<figure><img src="/files/7trVddV2t56pPZDTgBy2" alt="" width="268"><figcaption></figcaption></figure>

## Exemple 4 : Envoi de pièce jointe multiple

Par exemple, si votre bot propose de créer un ticket au support IT, vous pouvez dans le parcours de création de ticket, proposer à l’utilisateur d’ajouter une ou plusieurs pièces jointes à son ticket.

Il existe deux façons différentes de configurer votre webservice pour l'envoi de pièces jointes multiples :

### Configuration par le corps (Body) de la requête (Format JSON)

Dans le corps (Body) de votre requête POST, utilisez la fonction `${DialogAllLastFilesUploaded()}`. Les trois paramètres que vous passez entre parenthèses définissent les noms des clés qui apparaîtront dans le JSON final.

* Paramètre 1 : Nom de la clé pour le nom du fichier.
* Paramètre 2 : Nom de la clé pour le type de contenu.
* Paramètre 3 : Nom de la clé pour le contenu en base64.

Exemple du corps de votre Web Service :

```
{
  "summary": "Nouveau ticket",
  "project": {
    "id": "81-276"
  },
  "files": ${DialogAllLastFilesUploaded("fileName", "fileContentType", "base64Data")}
}
```

Au moment de l'exécution, le moteur remplace la variable par un tableau d'objets. Voici à quoi ressemble le flux JSON envoyé à votre serveur si l'utilisateur a téléchargé deux fichiers :

```
{
  "summary": "Nouveau ticket",
  "project": {
    "id": "81-276"
  },
  "files": [
    {
      "fileName": "Fichier1.txt",
      "fileContentType": "text/plain; charset=UTF-8",
      "base64Data": "VGVzdAo="
    },
    {
      "fileName": "Fichier2.txt",
      "fileContentType": "text/plain; charset=UTF-8",
      "base64Data": "VGVzdDIK"
    }
  ]
}
```

### Configuration en passant par un paramètre (Format Multipart)

Cette seconde approche est idéale si le serveur de destination attend une requête au format standard d'envoi de fichiers (`multipart/form-data`) plutôt qu'un flux JSON. Elle offre l'avantage d'être générée automatiquement par le système.

Comment configurer cette méthode ? Au lieu de construire manuellement le corps (Body) de votre requête, il vous suffit d'utiliser la fonction directement dans les paramètres de votre Web Service.

* La fonction à utiliser : Renseignez simplement `${DialogAllLastFilesUploaded()}`.
* Point d'attention : Contrairement à la méthode par le Body, les parenthèses doivent impérativement rester vides. Il n'est pas nécessaire de définir des noms de clés.

Que se passe-t-il lors de l'exécution ? L'outil prend le relais et formate la requête pour vous. Il génère automatiquement un corps de type `multipart/form-data`, qui est le standard du web pour transférer des pièces jointes.

Pour structurer cet envoi, le système crée de lui-même un identifiant de séparation unique (appelé *boundary*) qui permet au serveur de destination de distinguer clairement chaque fichier envoyé.

L'en-tête (Header) de la requête générée ressemblera alors à ceci :

```
Content-Type: multipart/form-data; boundary=fpzDzOf56Xecd3EcRuwZwVNnC8S5Ln0k
```

***

Les pièces jointes envoyées par les utilisateurs sont accessibles depuis la conversation concernée via un lien sécurisé par un token.

En cas de purge, d’anonymisation ou chiffrement des conversations, les pièces jointes transmises sont prises en compte : elles ne seront donc plus accessibles selon les critères de purge, anonymisation ou chiffrement définis.

## Exemple 5 : Envoi de pièce jointe simple

L'envoie de pièce jointe à un service web suppose qu'une pièce jointe ait été  chargée par l'utilisateur au cours de la conversation.

Si plusieurs pièces jointes sont chargées au cours de la même conversation, c'est la pièce jointe chargée lors de l'interaction la plus récente qui sera prise en compte pour être envoyée au service web (il est ainsi possible de modifier la pièce jointe à charger en cas d'erreur de selection depuis la chatbox).

Les données de la pièce jointe à envoyer sont accessibles par l'utilisation des trois clés suivants:

* ${DialogLastFileUploadedContent()}
* ${DialogLastFileUploadedContentType()}
* ${DialogLastFileUploadedName()}

{% hint style="warning" %}
Avant la version edge\_2025-12-09, le système utilisait ces variables

Ces variables sont toujours fonctionnelles mais ne récupèrent que le premier fichier envoyé et ne sont plus mises à jour. Il est recommandé d'utiliser la nouvelle fonction pour gérer les envois multiples.
{% endhint %}

Le premier mot clé fait référence au contenu du fichier, le second à son type et le troisième à son nom.

Dans la zone "Corps", ces trois clés peuvent être utilisées pour faire parti d'un contenu au format JSON, la valeur de DialogLastFileUploadedContent sera encodée au format Base64.

<figure><img src="/files/Wl5hiLMjOLoZwoeEnrC5" alt=""><figcaption></figcaption></figure>

Dans la zone "Paramètres", seule la clé ${DialogLastFileUploadedContent()} est nécessaire.&#x20;

Lorsqu'elle est présente, le fichier correspondant sera envoyé au service web sous forme de multipart-form-data, avec les meta data associées (nom du fichier et type de contenu).

<figure><img src="/files/MRXXEwvolj8ZWW2EI0Om" alt=""><figcaption></figcaption></figure>

Si la zone "Corps" est utilisée pour envoyer un fichier à un service web, cela n'a pas de sens d'utiliser aussi la zone "Paramètres" à cette fin, et vice-versa.


# Configurer l’OIDC sur keycloack pour un Service Web

Cette section vous guidera dans la configuration de l'authentification via OIDC avec Keycloak

## Configuration du client

1. Allez sur la page "Clients" et cliquez sur le bouton "Create" :&#x20;

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXe9a2pi_LxpcglWT41sxYZ3ROj_Wf5cskXibw86_BwCHsC7TukpRunrd1wyy0lrLjCBzzl5_RbjG4eQx-rrCsZuKnXSZmlOL1kF81cO6FflmRgyzuBhupI7y3Xki1zXzqs3PEBRm6yMv9tUvmYOcx9kDPE?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

2. &#x20;Attribuez un nom au “Client ID” (nécessaire pour la configuration sur le BMS).
3. &#x20;Définissez le “Access Type” sur “confidential”.
4. Définissez “Service Accounts Enabled” sur “true”.

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXceD1tGfXSSDh9C9o1AsoPtJSZjw62g7zoW_tBa_xL9VM9woW1exjymRsnFtjDk0cuVuC2Up8bHPNbT0xN7JCDsCaxFAxpylbdb9q283kUATnILcgtorKSsLJkpVixaY5eV3k2x59JCw4VlAE72io0o0pbw?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

5. &#x20;Ajoutez “Root URL”, “Valid Redirect URLs”, “Admin URL”, et “Web Origins” avec l’adresse du BMS où se trouve le Web Service. Dans l'exemple ci-dessous, dev.mars :

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXexInzhoHAblJAHL7U5s3DcxArbyoB7-eX8aZTIoFBO9kNuSkRHUHQiXcUdp4ORJ0B7f_4C7oBj9xyjbuzDEmflXaZSOpcY4UeBzh4uUKa4W19Ss22zYxIaN0oyuWIxgNW9Cnwakand__x6Nn4ErdniHuBZ?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

6. Cliquez sur “Save” en bas de la page.

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXfyrCJa-7LziPfuRNvfQ5acng3PZsI9nC_yoSVNaUda366b9J2nmztNULl_jGiEmgi2ZpXq-oEo4-gT6BsNMJywSDNRke4c75mmEpAiTsZaNNhnR4tFLUo6G7FKq3TwFTGLmUjTs862CC1TyFEKys8NWNch?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

## Configuration de l'authentification du Service Web du BMS

#### Récupérer le Client Secret

Accédez à l'onglet “Credentials” du client et récupérez le secret (nécessaire pour la configuration dans le BMS).

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXfdW3OBIYRR5lpcsbmZ3pLlZVGLHDBIOwLFmiO7gNcDz5Sv28UPEEsvE_YSLI7ma0tZjDmATaE1mxyjPfXBCDgD5SoctVYdTTBXFVjuHNH_yISW4FpJjtHKyxPYwG51HlZNfRUj5BWYezxpw7q0542Bs7Dd?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

#### Récupérer l'URL du token

1. Accédez à “Realm Settings”.

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXf11fGkTEpM_VmC9dZJVjWVaqQ-YEgq6xq7AhtNZ_PGDcO3gTYqn5ucdauXcDDDPQLoFNEZ4i76akLr0mMrvl4_oPGzTQ42EAj0EEasD51U2dZepT6-7zc_Yq70AEBkP5o-I-Y19ed9HDDSiSXNNKsVEtXc?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

2. Cliquez sur “OpenID Endpoint Configuration”.

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXdXo7UdLWltBlJeqC1xe_1ZCD8_N5IY0U3cIcyFwM7DY1UU6nmM9WExoREmiGuJK25au-VaaN9Wr6DOu36OqjBDhfNBEZnphIl-81MpVI9UbI5j8EBo_NjHric_p6jwy9e954pXGfZS7jt_nBofNGnxlX7P?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

3. En bas du fichier, localisez “token\_endpoint”.
4. Copiez la valeur pour la configurer dans le BMS.

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXcYz5JGn1W1__OnKm0vOx9IWfO60cSOYEZoawNIk5wHQAsbqOD77h6HrgtAMqiqxuh5T6XO8qEcCWRJLAOhRz3-HsME0qlSNduUfi2nwj9x0mRw0ZXX9Y5QBFId7mwpth7I7U-EqyBSsV_d3qrjJmpLzdb9?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt=""><figcaption></figcaption></figure>

Il ne vous reste plus qu'à vous rendre sur le BMS et remplir les champs suivants :

<figure><img src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXe7tm2tJhB7mY2KWEkULB4eUbaOXPtXNseE2mjW1yhC__dq2FASIv8r3IMoZRogTlYv_tUOJkBdtqtr_ZHWewkdICtQ5qiwY0Vp8qXmYh6_O0y18iZDNPVlGyUBsu7FR-1QxBW6w7_eUp4H7oqc8M8yIsgq?key=_7omhS_ZQ-TvWJo5H9s0Bg" alt="" width="563"><figcaption></figcaption></figure>

* **URL du token** : Pour le récupérer il suffit de suivre ces [étapes](#recuperer-lurl-du-token)
* **ID du Client** : Configuré lors de la [création du Client](#configuration-du-client)
* **Client Secret** : Pour le récupérer il suffit de suivre cette [étape](#recuperer-le-client-secret)


# Questions Fréquentes

Voici la liste des questions les plus fréquentes à propos de l'utilisation des services web.

### Est-il possible de créer automatiquement un ticket après une conversation (déclencheur à identifier) et à exporter toute la conversation ?

Oui, cela est possible au travers de deux moyens :

* Les Déclencheurs de fin de dialogue : il faut pour cela avoir défini le service web et initié le type de déclencheur. Vous pouvez obtenir plus d'information sur les déclencheurs sur cette page ;
* L'appel d'un service web dans une connaissance.

### Est-il possible de personnaliser la conversation en fonction de données de l'utilisateur ?

Oui, cela est possible. Pour cela, vous pouvez :

* Soit définir un parcours client via la création d'un arbre de décision ou de plusieurs arbres dans les connaissances ;
* Soit effectuer une réponse contextuelle à travers la création de conditions dans les connaissances.

### Est-il possible de récupérer des informations d'un outil de ticketing ?

Oui. Pour cela, le concept consiste à appeler un service web sur une connaissance :

1. Appel d'une connaissance : « Quel est le statut du ticket 123456 ? " ;
2. Il faut capturer ensuite « 123456 » dans une variable dédiée et l'utiliser dans un service web de la solution ;
3. Enfin, il faut indiquer le résultat en effectuant un callapi.WebService.Resultat dans une réponse de la base de connaissance.

### Comment procéder à l'authentification ?

Pour procéder à l'authentification, vous pouvez :

* Enregistrer des variables contextuelles (dydu.chatbox.registerContext(NomVariable, ValeurVariable) en Javascript. La personne peut donc exécuter ce code en remplaçant par la valeur qu'il souhaite.
* Procéder à une authentification SAML 2 dont vous pouvez retrouver les informations sur cette page.


# Avancé


# Scripts serveurs

Allez dans Contenus > Connaissances > Avancé > Scripts serveurs

Ici, vous pouvez ajouter des fonctions javascript qui peuvent être utilisées lors de la configuration d'une connaissance, comme par exemple.

<figure><img src="/files/8xA1fjxV1mSg5FKNC242" alt=""><figcaption></figcaption></figure>

Dans les scripts serveurs, vous pouvez notamment ajouter des éléments permettant de récupérer des informations sur le serveur : getHostType, getHostName, getServerType.

## console

L'objet **console** permet d'alimenter les logs présents dans la page console du BMS et cela pour les différents niveaux de logs

```
function logs() {
    console.debug("un message debug");
    console.info("un message info");
    console.warn("un message warn");
    console.error("un message error");            
}
```

## callApi

Pour déclencher l'appel à une API depuis un script serveur, il faut utiliser la syntaxe suivante. Il faut pour le moment encadrer cela dans un **JSON.parse()**, mais cela ne sera plus nécessaire par la suite.

```
var result = JSON.parse(callApi.process(apiName, params));
```

avec **apiName** contenant le nom du web service défini

et **params** contenant un object JSON contenant un mapping entre les clefs utilisées par le web service et les valeurs à utiliser. Exemple de **params** ci-dessous

```
{
    'capture.latitude': latitude,
    'capture.longitude': longitude,
    'capture.zoom': '2'
}
```

## capture

Le script serveur peut lire des variables de la conversation en cours via l'objet **capture**. Par exemple pour connaître le numéro de l'appelant pour le callbot cela peut être fait via

```
function logNumero() {
    console.info('Appel reçu du numéro ' + capture.callbot_client_phone);
}
```

## dialog

L'objet **dialog** permet de récupérer de nombreuses d'informations , parmi lesquels on retrouve:&#x20;

* Le nom de l'espace de consultation en cours d'utilisation dans la conversation:

```
function logSpace() {
    var space = dialog.currentConsultationSpace();
    console.info('espace en cours ' + space);
}
```

* La langue utilisée :  **dialog.language()**

```
function getDialoglanguage() {
    var language = dialog.language();
    console.info('Language en cours ' + language);
}
```

* L'URL en cours : **dialog.userURL()**

```
function getDialogUrl() {
    var url = dialog.userURL();
    console.info('Url en cours ' + url);
}
```

* L'ID de l'utilisateur (adresse IP, ..) : **dialog.userIdentification()**

```
function getDialogId() {
    var id = dialog.userIdentification();
    console.info('ID en cours ' + id);
}
```

* Le système d'exploitation (Os) utilisé : **dialog.userOs()**

```
function getDialogOs() {
    var Os = dialog.userOs();
    console.info('Os en cours ' + Os);
}
```

* Le navigateur utilisé : **dialog.userBrowser()**

```
function getDialogBrowser() {
    var Browser = dialog.userBrowser();
    console.info('Browser en cours ' + Browser);
}
```

* Les différentes requêtes de l'utilisateur : **dialog.currentUserSentence()**

```
function userSentenceFromScript() {
   return dialog.currentUserSentence()
}
```

* La réponse du bot pour l'intéraction en cours : **dialog.currentAnswer()**

```
function getCurrentAnswer() {
    return dialog.currentAnswer();
}
```


# Modèles de réponse prédéfinis

## Introduction : C'est quoi les modèles de réponse prédéfinis et à quoi ça sert ?

Vous pouvez rendre votre réponse plus attractive en utilisant un modèle de réponse adapté.

Selon le message que vous souhaitez transmettre à votre public, vous pouvez choisir entre :

* Quick reply
* Fiche produit
* Carrousel

### Quick reply

Les réponses rapides sont des réponses prédéfinies que les chatbots offrent à leurs utilisateurs. Ils offrent aux utilisateurs des façons simples et guidées de répondre à un message.

Ces boutons peuvent être utilisés pour rediriger le public vers une nouvelle connaissance ou une URL externe.

<figure><img src="/files/sgiR0egwJz44y1tjdBZH" alt=""><figcaption></figcaption></figure>

### Fiche produit

Une fiche produit vous permet de présenter un produit ou un service de façon visuelle.

Il permet d’inclure :

* une image ou un gif
* un titre
* un entier
* un sous-titre qui peut être utilisé comme descriptif
* jusqu’à 3 boutons

<figure><img src="/files/KjzAohORZqTZKi0sNPX2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note :** quand il y a plus d'un bouton, le premier aura toujours une couleur différente (la même que la couleur principale de la chatbox).
{% endhint %}

### Carrousel

Un modèle de fiche produit affiche une seule fiche à la fois, tandis qu’un modèle de carrousel permet d’afficher autant de fiches produits que souhaité, sous forme défilante.

<figure><img src="/files/NsJf9qJCXxdxejkMUA1W" alt=""><figcaption></figcaption></figure>

### Comment utiliser des modèles de réponse prédéfinis dans le BMS ?

1. Allez dans Contenu > Avancé > Modèles
2. Cliquez sur Importer
3. Choisissez le modèle que vous souhaitez utiliser dans votre réponse

<figure><img src="/files/ZePWAEkWMnUD7h019YmE" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Le modèle importé propose **9 boutons par défaut**, mais il est possible **d’en ajouter manuellement** selon votre besoin.
{% endhint %}

4. Retournez à la page d'édition de la réponse et cliquez sur "Plus d'options"
5. Dans la section "Modèle", choisissez le modèle que vous souhaitez utiliser

<figure><img src="/files/z81oLclsg8kCPk3ouxF7" alt="" width="299"><figcaption></figcaption></figure>

Pour le modèle **de réponse quick reply**, remplissez la case de bouton que vous voulez afficher en créant un texte personnalisé qui doit contenir un lien de redirection (vers une URL externe ou une connaissance).&#x20;

<figure><img src="/files/jQuS7Z98wNlIgKmSZynG" alt="" width="390"><figcaption></figcaption></figure>

Pour le modèle **Fiche Produit / Carrousel**, remplissez les champs que vous voulez afficher dans la fenêtre d'édition de chaque carte (titre, description, boutons...).

Les boutons doivent toujours contenir un lien de redirection (vers une URL externe ou un bout de connaissance).

Les champs vides ne seront pas affichés dans vos cartes.

<figure><img src="/files/cWZmu83i3D06HzYQNjhR" alt="" width="392"><figcaption></figcaption></figure>

### Modéle de carousel dynamique: dydu\_carousel\_array <a href="#bonnes-pratiques" id="bonnes-pratiques"></a>

Le "dydu\_carousel\_array" est conçu pour un affichage dynamique, permettant d’ajouter plusieurs fiches et de n’afficher que celles contenant des informations disponibles.

Pour l’ajouter, accédez à Contenus -> Avancé -> Modèles, cliquez sur Ajouter et renseigngnez le modéle "dydu\_carousel\_array".

<figure><img src="/files/aie8uOqkwbYCRBJ7z8je" alt="" width="385"><figcaption></figcaption></figure>

&#x20;Ensuite, renseignez le nom de votre modèle ainsi que le type, qui doit être : "SCRIPT\_TO\_JSON."

<figure><img src="/files/4NllSoDUUKYuJC1aJgSv" alt="" width="563"><figcaption></figcaption></figure>

Retournez ensuite dans la réponse de votre connaissance, dans la section Modèle, sélectionnez "dydu\_carousel\_array", puis saisissez dans le contenu la fonction que vous souhaitez appeler, disponible dans le script serveur.

<figure><img src="/files/mVHB3pr2z05MChtNfu2G" alt="" width="452"><figcaption></figcaption></figure>

Exemple du format JSON attendu dans le script serveur :&#x20;

<figure><img src="/files/rB7OxV7Mc2nKqxS4Ookb" alt="" width="519"><figcaption></figcaption></figure>

### Bonnes pratiques​ <a href="#bonnes-pratiques" id="bonnes-pratiques"></a>

#### Quick Reply​ <a href="#quick-reply-1" id="quick-reply-1"></a>

* Utilisez le modèle Quick Reply pour proposer des étapes spécifiques à suivre par votre public.
* Soyez bref, les réponses longues seront tronquées.
* Si vous voulez ajouter une image dans un bouton, assurez-vous qu'il s'agit d'une image carrée jusqu'à 18 x 18px.
* Chaque bouton peut contenir jusqu'à 15 caractères.
* Chaque bouton doit contenir une redirection vers une URL ou une connaissance.

#### Fiche Produit & Carrousel​ <a href="#fiche-produit--carrousel" id="fiche-produit--carrousel"></a>

Pour ce type de modèle, la cohérence visuelle des composants est essentielle pour fournir des messages de qualité.

**Vous devez prêter attention au ratio d'image​**

En tant que l'un des composants les plus accrocheurs du carrousel, les images doivent être choisies avec un ratio approprié pour garantir une esthétique globale.

Un rapport d'aspect d'une image est la relation proportionnelle de la largeur à la hauteur. Le premier chiffre représente la largeur et le second la hauteur. Essentiellement, le ratio définit la forme d'une image.

Par exemple, une image carrée a un ratio de 1:1, peu importe si sa dimension est de 50 x 50px ou 1500 x 1500px.

Comme autre exemple, une image horizontale (style paysage) pourrait avoir un ratio de 16:9. Il pourrait être 1920 x 1080px ou 1280 x 720px.

Dans le modèle Carrousel, comme les images peuvent être agrandies ou réduites pour s'adapter à différents contenus et largeurs de chatbox, elles n'ont pas toujours les mêmes dimensions, mais seront toujours de la même forme. C'est pourquoi vous devez prêter attention à la forme, pas à la taille.

**N'oubliez pas la "Zone sécurisée"​**

En plus de la forme, vous devez prendre en compte la "zone de sécurité" dans le choix de votre image.

Une zone de sécurité d'une image est la partie qui sera toujours affichée, quelle que soit la forme ou la taille de l'écran.

Les images à l'intérieur des cartes du carrousel peuvent être modifiées en fonction du contenu. C'est pourquoi les détails les plus importants doivent être conservés dans la "zone de sécurité" pour éviter qu'ils ne soient coupés.

Par exemple, si vous voulez utiliser une image avec deux personnes qui discutent, nous vous recommandons de les avoir au centre de l'image. Gardez à l'esprit : plus votre image est centrée, mieux c'est !

**Nos recommandations​**

**Conseils généraux :**

* Nous vous recommandons d'utiliser jusqu'à 3 boutons par carte.
* Limitez aux 35 caractères maximum pour le texte de chaque bouton.
* Les boutons doivent contenir une redirection vers une URL ou une connaissance.
* Limitez aux 85 caractères (espaces inclus) au maximum pour la description. Au-delà de cette limite, le reste du texte sera réduit avec "...lire plus".

[<br>](https://dev.docs.dydu.ai/fr/docs/Complementary_items/answer_template)

<figure><img src="https://docs.dydu.ai/fr/assets/images/11-501d12c8d1b68311a12015ce4ca1ef22.jpg" alt=""><figcaption></figcaption></figure>


# Variables

## Définition d'une variable

Chaque fois qu'un utilisateur fournit une information qui doit être stockée par le bot, celle-ci est sauvegardée dans une variable nommée en tant que sa **valeur**. Elle peut être réutilisée plus tard dans la conversation ou envoyée à une API externe.

***

### Différents types de variables fournis par le BMS Dydu

Le BMS fournit essentiellement deux types de variables en fonction de la sollicitation ou non de l'algorithme de matching NLP (traitement de langage naturel) de Dydu :

1. [**Variable en saisie libre**](#id-1.-variables-en-saisie-libre). Elle capture et enregistre une information fournie directement par l'utilisateur pendant la conversation, peu importe le format des données (nombre, date, texte, etc.). Ce type de variable ne sera pas analysé par l'algorithme NLP de Dydu et il n'y a donc **pas de matching.**&#x20;
2. [**Variable prédéfinie par défaut**. ](#id-2.-variables-predefinies-par-defaut)Elle doit être utilisée en respectant le format prédéfini (nombre, date, texte, etc.). L'algorithme de matching analysera les données utilisateurs (données personnelles, comportementales ou événementielles) capturées dans ce type de variable pour fournir la réponse la plus appropriée issue de votre base de connaissances.

***

## **1. Variable en saisie libre**

### **Comment utiliser une variable en saisie libre ?**

Prenons l'exemple suivant : Un utilisateur veut déclarer un arrêt de maladie via le bot RH de son entreprise. Pour traiter la demande, le bot demande des informations personnelles à l’utilisateur.

<figure><img src="/files/DkEc3LZpPCcUn7lJjmeJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8mUBLzzRJXsxyvDcNg0t" alt=""><figcaption></figcaption></figure>

**Étapes à suivre :**

1. Créez une connaissance comme vous le feriez habituellement. Dans la réponse, incitez l'utilisateur à fournir ces informations supplémentaires.&#x20;

<figure><img src="/files/lhuPW0I4NSwvVPM7caLq" alt=""><figcaption></figcaption></figure>

2. Cliquez sur le bouton + ("Ajouter une intention") en dessous de l'éditeur de la réponse et choisissez l'option "capturer la saisie utilisateur".

<figure><img src="/files/qrRurpsoLCPtfQkzHewA" alt=""><figcaption></figcaption></figure>

3. Donnez un nom pertinent à cette variable selon le type d'information qui sera capturée.

<figure><img src="/files/Vle5vRJUNRzXzZvnreMY" alt=""><figcaption></figcaption></figure>

4. Puisque nous voulons également connaître le numéro de sécurité sociale de l'utilisateur, nous allons ajouter une autre variable en saisie libre que nous appellerons «num\_secu».

<figure><img src="/files/digBvhuAHil7ziUqhzUV" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Pour ce type de variable, il n'y a pas de vérification de format sur la valeur capturée.

Si les utilisateurs font une erreur ou fournissent intentionnellement une information erronée, les données seront enregistrées dans le BMS.

Si vous avez besoin de vérifier le format des données, nous vous conseillons d'utiliser des variables par défaut couplées à une condition de contexte.
{% endhint %}

{% hint style="info" %}
Lors d'une saisie 'utilisateur, si l'utilisateur tape "+" devant sa saisie alors le "+" n'est pas conservé lors de la restitution du contenu de la variable.

Pour conserver le "+" utilisé au début de l'entrée, la variable qui stocke l'entrée doit contenir le terme "phone".

Exemple :&#x20;

Si la variable, qui stocke la saisie libre, contient le terme "phone"

Alors, lorsque l'utilisateur passe par cette branche et saisi "+33679305151", le contenu de la variable restitué sera "+33679305151". Sinon (la variable, qui stocke la saisie libre, ne contient pas le terme "phone") le contenu restitué sera "33679305151" (le "+" est supprimé dans la restitution.&#x20;
{% endhint %}

5. Enfin, imaginons que pour rassurer l'utilisateur que ses informations ont été bien enregistrées, le bot va résumer l'information recueillie en affichant la valeur de la variable dans sa réponse. Pour afficher une valeur de variable capturée dans une réponse, utilisez la syntaxe **`${capture.NomdelaVariable}`**.

<figure><img src="/files/1wwyqJZlSS7hlMPtK7nq" alt=""><figcaption></figcaption></figure>

***

## **2. Variables prédéfinies par défaut**

Lorsque vous éditez une connaissance, vous pouvez utiliser des variables prédéfinies pour récupérer les informations de l'utilisateur telles que le nom, le numéro de téléphone, l'âge ou la date.

Le BMS fournit quelques formats de variable par défaut :

* **Entier**: cette variable ne capture que les nombres entiers (pas de décimales). Notez que les nombres entiers écrits en lettres seront compris comme des nombres (par exemple : "vingt" sera compris comme "20").
* **Nombre**: cette variable capture des nombres. Les nombres entiers écrits en lettres seront compris comme des nombres.
* **Alphanumérique**: cette variable capture des lettres et/ou des nombres entiers (pas de décimales).
* **Mail**: cette variable capture une adresse e-mail selon ce format : {address}**@**{domain}**.**{com}
* **URL**: cette variable peut capturer une URL aux formats suivants : <http://url.com> / <http://www.url.com> / [www.url.com](http://www.url.com).
* **Date**: cette variable capture une date aux formats suivants : 28/07/21 ou 28/07/2021.

  Vous pouvez également capturer des moments précis à l'aide du groupe **Date - Date précise** qui vous permettra ainsi de récupérer le jour, le mois, l'année... Pour cela, il vous suffit d'afficher les captures de cette manière : ${capture.date\_dayofmonth} ${capture.date\_month} ${capture.date\_year}
* **Numéro de téléphone**: cette variable permet de capturer le numéro de téléphone aux formats suivants : 0601020304 / 06.01.02.03.04. S'il manque un chiffre, le numéro ne pourra pas être capturé.

### **Comment utiliser les variables prédéfinies ?**

Ces variables sont accessibles via le WYSYWG (la zone d'édition) de la question d'utilisateur en cliquant sur ![](/files/2cdhKJshKcnAvS08zO9e)  et en descendant jusqu'à la fin de la liste jusqu'à ce que vous voyiez le groupe « spécial ».

#### Exemple d'utilisation des variables prédéfinies :

Une banque offre à ses clients un chatbot qui répond à des questions sur leur compte bancaire, comme le solde du compte à une date spécifique. Le chatbot récupère ces informations depuis la base de données interne de la banque et les renvoie à l'utilisateur. Dans ce cas d'usage, le gestionnaire du bot va utiliser une variable pour capturer la date et l’envoyer à l’API de la banque.

<figure><img src="/files/t4mSxyYbrKNKGj71wWp4" alt="" width="210"><figcaption></figcaption></figure>

Les captures d'écran ci-dessous vous montrent comment cette conversation peut être configurée dans le BMS : (Pour simplifier, nous n'expliquons pas ici le fonctionnement de l'API pour récupérer les données de solde.)

<figure><img src="/files/vk4ZA8Qtc0TjWRz0k1DD" alt="" width="215"><figcaption></figcaption></figure>

<figure><img src="/files/vTzeTyvMcZWZ9sbjAcFD" alt="" width="314"><figcaption></figcaption></figure>

<figure><img src="/files/G5fNjG5MpZTps7VSygbm" alt="" width="305"><figcaption></figcaption></figure>

<figure><img src="/files/ZOqayUtFGlc3QgXH21iP" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
TIPS :&#x20;

* Utilisation d'une fonction de script du côté serveur ::

  ```
        ${displaySlots(capture.filtered_slots)}
  ```

Dans cet exemple, nous faisons **une fonction js appelée** qui prend un paramètre une capture. L' ${...} n'est pas nécessaire pour la capture.

* Pour une affectation de variable:

  ```
    ${mavariable:=....}
  ```

  * Pour assigner la valeur d'une variable dans une autre ou une valeur constante le ${...} n'est pas nécessaire :

    ```
      ${mavariable:=capture.autrevariable}

      ${mavariable:=valeur constante}
    ```
* Une affectation de variable à partir d'un retour de service web :

  ```
  ${service_staff:=${callapi.service_staff.staff}}
  ```

Nous devons mettre ${...} dans l'appel au service web.

* Affection de variable qui utilise un appel de fonctions javascript côté serveur nécessitant une capture en paramètres:

  ```
    no_tel:=${formatPhoneNumberWS(capture.phone_number)}}
  ```

{% endhint %}

***

## 3. Devenir expert sur les variables

### Fonctions

Outre les variables, le Dydu BMS fournit également plusieurs fonctions par défaut.

{% hint style="success" %}
Définition: &#x20;

Une fonction est un morceau de code informatique nommé qui effectue une tâche spécifique.

Les fonctions reçoivent généralement des données en entrée et retournent le résultat du traitement effectué par la fonction en sortie.
{% endhint %}

Les fonctions peuvent être utilisées comme condition de contexte ou directement dans une réponse. Dans ce cas, la syntaxe à utiliser est légèrement différente de celle des variables : **`${NomdelaVariable}`**.

#### **Exemple** :&#x20;

Pour utiliser la fonction **`UserOS`** qui peut récupérer le système d'exploitation de l'utilisateur directement dans une réponse, la syntaxe à utiliser est :&#x20;

<figure><img src="/files/NaJtfRj6IqD9cqaJqocw" alt=""><figcaption></figcaption></figure>

Voici la liste des fonctions par défaut fournies par le BMS :

* **ComputeDate(date\_dayofmonth, date\_month, date\_year, date\_dayofweek, date\_period, date\_daypart, date\_hour, date\_minute\[, date\_periodparam]) :** permet de calculer la date ;
* **ComputeDateGetDays(date\_dayofmonth, date\_month, date\_year, date\_dayofweek, date\_period, date\_daypart, date\_hour, date\_minute\[, date\_periodparam]) :** permet de calculer le nombre de jours
* **ComputeTime(date\_daypart, date\_hour, date\_minute) :** permet de calculer la date et l'heure précise ;
* **DialogCurrentAnswer() :** réponse du bot pour l'interaction en cours ;
* **DialogCurrentConsultationSpace() :** espace de consultation de la conversation en cours ;
* **DialogCurrentDate() :** date de la conversation en cours ;
* **DialogCurrentMatches():**
* **DialogFinished() :** conversation terminée ;
* **DialogHistory() :** historique de conversation ;
* **DialogLastFileUploadedContentType() :** permet de récupérer le Content-Type d'un fichier uploadé ;
* **IsDateBetween('YYYY-MM-DD', 'YYYY-MM-DD'\[, dateToTest]) :**
* **IsDateDayAndHour ('XXXXX--', '----- XXXXXXXXXXXX ----') :** signifie (dans cet exemple) du lundi au vendredi, de 8h à 21h ;
* **KnowledgeAskFeedback() :** indique si la satisfaction sur une connaissance est demandée (true, false) ;
* **UserBrowser() :** permet de récupérer le navigateur utilisé par l'utilisateur ;
* **UserBrowserVersion() :** permet de récupérer la version du navigateur utilisé par l'utilisateur ;
* **UserLocalization ('AreaCode' | 'City' | 'CountryCode' | 'CountryName' | 'CountryName' | 'Latitude' | 'Longitude' | 'MetroCode' | 'RegionCode' | 'RegionName' | 'TimeZone' | 'ZipCode'):** récupère l'une des données de localisation utilisateur suivantes en fonction de l'adresse IP : l'indicatif régional, le nom de la ville, le code ou le nom du pays, la latitude ou la longitude, le code du métro, le code ou le nom de la région, le fuseau horaire et le code postal.

> **Cas d'usage 1** : vous pouvez utiliser cette variable directement dans une réponse pour indiquer aux utilisateurs leur pays de résidence, par exemple. Pour ce faire, utilisez la syntaxe suivante dans la réponse `${UserLocalization ('Country')}`. **Cas d'usage 2** : si vous voulez envoyer un message personnalisé aux utilisateurs résidant en France, créez une condition de contexte `UserLocalization ('Pays') vaut "France"` et utilisez-la dans votre connaissance.

* **UserOs():** récupère le système d'exploitation de l'utilisateur ET sa version (eg.macOS 10.15) ;
* **UserOsFamily():** récupère le système d'exploitation de l'utilisateur sans la version (par exemple macOS) ;
* **UserURL() :** permet de capturer l'URL sur laquelle l'utilisateur se trouve actuellement.

### Suites de choix

Vous pouvez créer des suites de choix, ce qui peut s'avérer nécessaire lorsque vous souhaitez enregistrer plusieurs informations à la suite. Vous pouvez ainsi demander à l'utilisateur son premier choix, son deuxième choix, son troisième choix, etc.

Lorsque vous posez une question à laquelle vous attendez une réponse par oui ou par non, vous pouvez utiliser les informations en insérant une variable et une condition de contexte que vous pourrez utiliser plus tard.

1. Créez une condition de contexte servant à exploiter une information. Dirigez-vous sur la page **Contenu > Conditions de contexte**

<figure><img src="/files/RLcFQPBeagllBSMRnmFu" alt=""><figcaption></figcaption></figure>

2. Éditez une connaissance (fenêtre bleue - phrase utilisateur).
3. Cliquez sur **Options** puis encore sur **Options**.
4. Dans le champ **Modification des variables**, insérez ${Principe\_ok:=oui} pour la connaissance « oui » et ${Principe\_ok:=non} pour la connaissances « non ».

Ainsi, une première partie de la suite de choix est terminée.

Vous pouvez également créer des connaissances à choix multiples tout en liant diverses questions à l'aide, par exemple, d'actions GUI où vous pouvez insérer du code JavaScript.

### Variables "Dates"

<table><thead><tr><th width="159">Fonction</th><th>Paramètres par défaut</th><th width="141">Type</th><th>Résultat</th></tr></thead><tbody><tr><td>ComputeDate</td><td>ComputeDate (date_dayofmonth, date_month, date_year, date_dayofweek, date_period, date_daypart, date_hour, date_minute [, date_periodparam])</td><td>Intervalle</td><td>[[2013-03-23 00:00:00,2013-03-24 23:59:59]]</td></tr><tr><td></td><td></td><td></td><td>[[2013-04-02 00: 00: 00,2013-04-02 23:59:59], [2013-04-09 00: 00: 00,2013- 04-09 23:59:59], [2013-04-16 00: 00: 00,2013-04-16 23:59:59], [2013-04-23 00: 00: 00,2013-04- 23 23:59:59], [2013-04-30 00: 00: 00,2013-04-30 23:59:59]]</td></tr><tr><td>ComputeDateGetDays</td><td>ComputeDateGetDays (date_dayofmonth, date_month, date_year, date_dayofweek, date_period, date_daypart, date_hour, date_minute [, date_periodparam])</td><td>Nombre jours</td><td>7</td></tr><tr><td>ComputeDateJP</td><td>ComputeDateJP (date_dayofmonth, date_month, date_year, date_dayofweek, date_period, date_daypart, date_hour, date_minute [, date_periodparam])</td><td>Date</td><td>2013-03-18 20:30:00</td></tr><tr><td>ComputeDateJPF</td><td>ComputeDateJPF (date_dayofmonth, date_month, date_year, date_dayofweek, date_period, date_daypart, date_hour, date_minute [, date_periodparam])</td><td>Date</td><td>Mercredi 6 n Novembre à 23h30</td></tr><tr><td>ComputeTime</td><td>ComputeTime(date_daypart, date_hour, date_minute)</td><td>Intervalle</td><td>[[20:30:00,23:59:59]]</td></tr></tbody></table>

Ainsi, le moteur de calcul utilise les paramètres renseignés et calcule la sortie.

Pour récupérer la date du jour, insérez ${ComputeDateJPF()}

### Variables et groupes de formulation

Il est possible d'insérer des groupes de formulation en tant que variables. Dans notre exemple, l'objectif sera de récupérer le domaine d'innovation dans lequel se situe l'idée de l'utilisateur afin d'aboutir à une connaissance de ce type :&#x20;

Pour ce faire, veuillez suivre les étapes suivantes :

1. Créez votre groupe de formulations. Dans notre exemple, le groupe de formulations est Domaine d'innovation.
2. Dirigez-vous sur la page des **Connaissances** et créez votre connaissance comme l'arbre de décision de notre exemple.

La connaissance « la robotique » ne constitue en réalité qu'un libellé par défaut auquel vous devez ajouter une formulation qui intégrera votre groupe de formulations.

3. Éditez la phrase utilisateur pour laquelle vous souhaitez ajouter votre groupe de formulations puis positionnez-vous sur le champ d'ajout d'une nouvelle formulation.
4. Cliquez sur l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAXCAIAAAB1dKN5AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAM9JREFUOI1j/P//PwNVARN1jRsiJrJgCn37+evZy7doglLiwlzsbGSa+PTFm+nLt6IJZkZ6q8pLkWkiBPRVpG4/fPbuo+c50T5FHbMZGBhuP3xGjE1YTJSWEMmM9EbTJi0hAmEgi2NagN1ELnY2NGvhXGI8TsfUU9Qxe/fRc/ceP4cEIvEAZ8ygBRlFJr79+Pn05VseNsbkmYjF1+8+fN515Bx5xmE3kUJAl3wNATuOnKWaiVwc7EqykncePieoWUlWkouDHU2QcbQMH6QmAgDeJkJCs8bwjwAAAABJRU5ErkJggg==) et sélectionnez votre groupe de formulations créé au préalable.
5. Cliquez ensuite sur la petite flèche blanche située à droite de votre groupe de formulations.

<figure><img src="/files/HXhFYuq7cAWxKBbkNW7P" alt=""><figcaption></figcaption></figure>

6. Remplissez le champ **Nom de la variable** puis cliquez sur **Mettre à jour**. C'est le nom de cette capture que vous utiliserez ensuite pour récupérer l'information dans la fenêtre de réponse.
7. Complétez la fenêtre de réponse avec le nom de la capture correspondant à votre groupe de formulation (Voir étape précédente).

<figure><img src="/files/VBDZBp2lYif4jd3MKcxt" alt=""><figcaption></figcaption></figure>

8. Cliquez sur **Mettre à jour**.

Ainsi, si l'utilisateur répond l'un des domaines intégrés au groupe de formulation, la capture permettra de récupérer le terme précis. Par ailleurs, si vous souhaitez suggérer des domaines et effectuer des liens cliquables vers la connaissance « la robotique », il vous faudra tout d'abord modifier cette connaissance et la configurer en accès direct.

Vous pouvez également créer les liens cliquables vers la même connaissance « la robotique ». Afin de personnaliser chaque lien et de récupérer l'information correcte, cliquez sur le bouton de l'éditeur HTML puis modifiez tous les *title* pour qu'il soit en adéquation avec le domaine que vous souhaitez afficher.

{% hint style="info" %}
Il est possible d'avoir dans un groupe de formulation une variable qui a pour contrainte d'être entre deux entiers :&#x20;

<img src="/files/Klpq7jwu9a7gYNnT5sQx" alt="" data-size="original">
{% endhint %}

### Variables pour les services Web

Cette partie couvrira des informations de type général. Si vous souhaitez accéder à des cas plus concrets d'utilisation des variables pour les services web, veuillez vous rendre sur cette page.

* **Insérer une variable dans l'URL d'un service web**

Vous pouvez insérer une variable dans l'URL de votre service web de cette manière : <http://mon-domaine/abc/${}capture.mavariable/xyz>

* **Exploiter un retour de service web comme argument d'un script côté serveur**

${arg2:=${callapi.monWS.json}}

${monscript(capture.mavariable,arg2)}

* **Appel d'un script côté serveur depuis la page d'un service web**

Sur certains champs, il est possible d'inscrire des variables faisant appel à un script côté serveur. Allez sur **Contenus** > **Avancé** > **Variables** > **Ajouter** nouvelle **Configurations des variables globales**

Notez que les affectations de variables avec des fonctions ou services web ne fonctionnent pas. Par exemple : ${mavariable:=FonctionJSCotéServeur(callapi.WebService.Variable)}

Dans ce cas, le code ne sera pas exécuté et la variable aura pour valeur la chaîne de caractère qui se trouve derrière.

* **Insérer une variable issue d'un service web dans les templates de connaissance**

Les variables issues des services web peuvent également être utilisées dans les templates de connaissance. Si une variable retourne du JSON dans le template, il vous faudra utiliser la méthode JSON.stringify() sinon le template ne sera pas appliqué.

<figure><img src="/files/wJDrL6TEPzjwgos4umQD" alt=""><figcaption></figcaption></figure>

### Evénements internautes

Les événements internaute permettent de mémoriser une variable - typiquement l'occurrence d'un événement - pour une durée supérieure à celle du dialogue (cette durée est configurable au niveau du bot, et est soumise à la RGPD).

Un événement est identifié par son nom et contient, en plus de sa valeur, les identifiants du client et du bot ainsi que sa date de création.Pour créer un internaut event, allez sur **Contenus** > **Conditions de contexte** > **Ajouter**

Pour créer un internaut event, vous pouvez :

* Insérer une valeur directement :
  * **${internaut.myEvent:=eventValue**}
* Appeler une autre expression :
  * **${internaut.myEvent:=callapi.ws.var**}
  * **${internaut.myEvent:=capture.maValue**}
* Lecture d'une variable de type internaut event
  * **${internaut.myEvent}**
* Utiliser un événement internaute dans une condition de contexte. Pour utiliser un événement internaute comme condition de contexte, insérez-le de cette façon : **internaute.** myEvent. Par exemple :&#x20;

<figure><img src="/files/A7LR8mndmnv7WyRcDEW4" alt=""><figcaption></figcaption></figure>

* Utiliser les événements internaute dans la chatbox :
  * **dydu.chatbox.addInternautEvent**('NomInternautEvent', 'ValeurInternautEvent')

### Utilisation des fonctions JS côté serveur en tant que paramètre :&#x20;

Lors de l'utilisation d'une fonction JS, il est possible d'exploiter des chaînes de caractères, des entiers, des captures ou du json en paramètre.

* Les chaînes de caractères sont délimitées par des double guillemets : **"exemple"**. Si un guillemet est contenu dans la chaîne de caractères, celui-ci doit être échappé de cette manière : **""exemple""**.
* Les entiers n'ont pas besoin de délimitation : **10** ou **-10** par exemple. En revanche, lors du passage à la fonction JS, les entiers sont transformés en chaîne de caractères : **"10"** ou **"-10"** sera transformé en argument de la fonction.
* Les objets et tableaux définis dans un format json valide sont exploités tels quels, en tant qu'objet. Si l'objet json n'est pas décryptable, il sera considéré et exploité comme une chaîne de caractères.
* Les captures peuvent être utilisées avec la syntaxe **capture.nomVariable** ou juste **nomVariable**, sans double guillemets délimitant le nom de la capture. La valeur de la capture sera alors utilisée. Les règles décrites précédemment seront appliquées pour définir le type de la variable.

### Variables de la chatbox

Les internautes events vous permettent de garder en mémoire une variable - typiquement la survenue d'un événement - pendant une durée supérieure au temps de la conversation (cette durée est paramétrable au niveau de l'assistant, et est soumise au règlement RGPD):

* **DYDU\_LANGUAGE :** correspond à la langue (fr, en, etc.) ;
* **DYDU\_CONSULTATION\_SPACE :** correspond à l'espace de consultation ;
* **DYDU\_BOT\_ID :** correspond à l'ID du bot ;
* **DYDU\_SERVLET\_URL :** correspond au serveur avec lequel le bot communique ;
* **DYDU\_BACKUP\_SERVLET\_URL :** correspond au serveur de secours avec lequel le bot communique ;
* **DYDU\_QUALIFICATION\_MODE :** correspond au mode de qualification (true, false) pour marquer les conversations en tant que test.

### Autres cas d'utilisation et informations générales

* **Variables de type tableau**

${montableau:=\["blanc","noire"]}

${capture.montableau\[0]} → cela affiche blanc

* **Variables alpha**

Cela permet de capturer :

* Les accents (ex : testé, hâte, etc.) ;
* Les tirets (ex : Jean-Paul) ;
* Les points (ex : jean.paul).

{% hint style="warning" %}
Attention : il est impossible de capturer les apostrophes (ex : l'eau) ainsi que les espaces (Jean Paul).
{% endhint %}

* **Variables SAML**

Lors d'une authentification SAML, il est possible d'enregistrer des variables sur l'utilisateur. Ces variables commencent par « auth\_ ».


# Déclencheurs de web services

Cette section vous permet de configurer des déclencheurs de service Web via différentes actions.

1. Dirigez-vous sur la page **Contenus > Avancé > Déclencheurs de web services**.
2. Cliquez sur **Ajouter**. Une nouvelle fenêtre s'ouvre.
3. Inscrivez le nom du déclencheur.
4. Sélectionnez le type de déclencheur.
5. Sélectionnez le service web qui sera déclenché suite à l'action de déclenchement. De nouveaux éléments apparaîssent.
6. Cliquez ensuite sur **Ajouter** pour confirmer la configuration du déclencheur.


# Top connaissances

Cette fonctionnalité vous permet d'ajouter des top connaissances à votre bot, c'est à dire que votre bot proposera à l'utilisateur des connaissances lorsqu'il ouvrira la boîte de dialogue. Ci-dessous un exemple du top3 configuré sur le chatbot du site de DYDU:

<figure><img src="/files/gmCurNXz7VEaCvG3f2Wh" alt="" width="375"><figcaption></figcaption></figure>

### Intégration au chatbot[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/top_knowledge#int%C3%A9gration-au-chatbot) <a href="#integration-au-chatbot" id="integration-au-chatbot"></a>

Pour intégrer les top connaissances à votre chatbot, allez dans **canaux > liste des intégrations** et sélectionnez l'intégration que vous voulez. Puis allez à **partie 2 - avancé** et sélectionnez « Top 3 des connaissances les plus sollicitées» dans "Mise en avant des connaissances".

<figure><img src="/files/HZ8TMH5IgArDeTs8trjt" alt=""><figcaption></figcaption></figure>

Si vous souhaitez changer ce top. Vous devez aller à **contenus > Avancé > Top connaissance**.

### Top connaissances manuel[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/top_knowledge#top-connaissances-manuel) <a href="#top-connaissances-manuel" id="top-connaissances-manuel"></a>

Cette rubrique **Top connaissances manuel** vous permet d'ajouter des top connaissances manuellement. Pour cela, il vous suffit de cliquer sur une thématique et de retrouver la connaissance via le champ à droite de la fenêtre.

<figure><img src="/files/vS01QEUIzijkebmuIrPQ" alt=""><figcaption></figcaption></figure>

Sélectionnez ensuite la connaissance que vous souhaiter ajouter puis cliquez sur **Ajouter**.

Pour vérifier que l'action a été prise en compte, veuillez rafraîchir la page.

Si vous souhaitez supprimer une connaissance du top connaissances manual, sélectionnez la thématique pour laquelle vous souhaitez retirer une connaissance du top puis sélectionnez-la parmi les connaissances s'affichant sur la droite.

Cliquez sur la croix pour supprimer la connaissance.

Pour vérifier que l'action a été prise en compte, veuillez rafraîchir la page.

### Tests API Top Knowlegde[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/top_knowledge#tests-api-top-knowlegde) <a href="#tests-api-top-knowlegde" id="tests-api-top-knowlegde"></a>

Déterminez les paramètres de votre top connaissances en définissant l'ensemble des critères proposés. Après avoir sélectionné vos paramètres, cliquez sur le bouton **Tester**. Si vous souhaitez réinitialiser les paramètres, veuillez cliquer sur le bouton **Reset cache**.

### Exclusion du top des connaissances[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/top_knowledge#exclusion-du-top-des-connaissances) <a href="#exclusion-du-top-des-connaissances" id="exclusion-du-top-des-connaissances"></a>

Vous avez également la possibilité d'exclure des connaissances. Vous retrouverez l'ensemble de ces connaissances dans la rubrique **Excluded knowledge articles** depuis la page **Contenus > Avancé > Top connaissances**

Tout d'abord, veuillez noter que certaines connaissances sont exclues automatiquement du top. Il s'agit de toutes les connaissances pour lesquelles vous avez désactivé l'option de reformulation.

Ainsi, toujours dans les options des connaissances, vous pouvez cocher la case **Exclure du top des connaissances**. Votre connaissance ne pourra donc plus être automatiquement intégrée dans le top.


# Outils

Audit[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#audit)

Les audits vous permettent de mesurer manuellement, sur un échantillon de conversations, la pertinence des réponses apportées par votre bot en évaluant la qualité du matching. En résultat de votre audit vous obtenez un indice qui est en fait un point de comparaison.

Effectuer régulièrement cela vous permet de mesurer les progrès du bot grâce à votre processus d'amélioration de la base de connaissance.

Par exemple, l'audit va permettre au manager du bot de confirmer ou non les réponses données par le bot, de valider que le bot a choisi la bonne connaissance permettant ainsi de détecter les faux positifs.

Nous conseillons de réaliser un audit en moyenne une fois par trimestre. Pour réaliser un audit :

1. Dirigez-vous sur la page des **Contenus > Outils > Audit**
2. Cliquer sur le bouton "Ajouter" pour créer un nouvel audit
3. Donnez un titre à votre audit
4. Sélectionnez :
   * la taille de l'échantillon de conversations à mesurer
   * la période de votre audit
   * éventuellement un espace de consultation spécifique

<figure><img src="/files/RjVmQb23Dr5lLMWppTde" alt=""><figcaption></figcaption></figure>

Une ligne récapitulative de votre audit est dès lors disponible :

* **Période :** correspond à la date du début de la période de l'audit ;
* **Créateur :** correspond au nom du créateur de l'audit ;
* **Titre :** correspond au titre donné lors de la création de l'audit ;
* **Espace de consultation :** correspond à l'espace de consultation que vous avez sélectionné ;
* **Taille :** taille de l'échantillon que vous avez choisi ;
* **Réponses directes :** le chatbot a directement répondu à la question de l'internaute ;
* **Reformulations :** le chatbot n'étant pas certain d'avoir compris la question de l'internaute, il lui a proposé 1 à 3 questions pouvant correspondre à celle de l'internaute ;
* **Phrases incomprises :** le chatbot n'a pas compris la question de l'internaute ;
* **Complété :** il s'agit de l'avancement de votre audit (lorsque vous démarrez un audit, il est déjà en partie complété car il y a des questions en double et celles-ci sont déjà regroupées) ;
* **Note :** selon les résultats de l'audit, une note est attribuée entre 0 et 100 % ;
* **Réponses incorrectes :** cette partie sera remplie quand vous aurez terminé l'audit. Il s'agit du nombre de réponses incorrectes définies grâce à l'audit.

Survolez la ligne de l'audit. Vous pouvez le modifier ou le supprimer. Pour démarrer votre audit cliquez sur le bouton **Modifier**.

<figure><img src="/files/1QHxssOMVL9LprNToEdS" alt=""><figcaption></figcaption></figure>

Trois filtres pour votre audit sont alors affichés :

* Etat de l'action
* A corriger
* Résumé

<figure><img src="/files/Z4jpR3aElXNognLp2Bzm" alt=""><figcaption></figcaption></figure>

### Etat de l'action[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#etat-de-laction) <a href="#etat-de-laction" id="etat-de-laction"></a>

Dans cette section, vous trouverez l'ensemble des interactions de votre échantillon. Au fur et à mesure de votre traitement, les interactions seront organisées selon la classification que vous leur donnerez.

**Pas encore traité**

Il s'agit des interactions que vous n'avez pas encore contrôlées. Le contrôle a effectuer va dépendre du matching de l'interaction :

* Réponse directe : vérifiez que les réponses fournies par le chatbot sont correctes. Vous avez la question posée par l'internaute et la connaissance utilisée par le chatbot pour apporter la réponse. Il faut alors décider si
  * la connaissance utilisée par le chatbot était la bonne connaissance : choisissez **OK**
  * il aurait du matcher avec une autre connaissance, choisissez : **Une autre connaissance**
  * la question de l'utilisateur ne rentre pas dans le périmètre du chabot, choisissez : **Hors périmètre**

<figure><img src="/files/ZOLW9MY9ICjvoYChJkor" alt=""><figcaption></figcaption></figure>

* Reformulation : vérifiez si les propositions de reformulations réalisées par le chatbot sont pertinentes ou non. Il vous faut décider si :
  * la proposition de reformulation était nécessaire, choisissez : **OK**
  * l'une des propositions était la bonne, choisissez : **L'une des connaissances proposées**
  * aucune des propositions ne correspond à la question de l'internaute, choisissez : **Une autre connaissance**
  * la question de l'utilisateur contenait des informations superflues, choisissez : **Phrase longue avec du bruit**
  * la question de l'utilisateur contenait des plusieurs questions, choisissez : **Phrase longue avec plusieurs connaissances**
  * la question de l'utilisateur ne rentrait pas dans le périmètre du chabot, choisissez : **Hors périmètre**

<figure><img src="/files/MfoJARKSYNkcWVxiiCwp" alt=""><figcaption></figcaption></figure>

* Phrase incomprise : vérifiez si une phrase qui a été incomprise par le chatbot aurait pu être comprise. Il vous faut choisir si :
  * vous validez qu'il s'agit d'une phrase incompréhensible par le chatbot et à laquelle il n'existe aucune connaissance, choisissez : **Ok**
  * la question de l'utilisateur contenait des informations superflues, choisissez : **Phrase longue avec du bruit**
  * la question de l'utilisateur contenait des plusieurs questions, choisissez : **Phrase longue avec plusieurs connaissances**
  * Si la question de l'utilisateur ne rentrait pas dans le périmètre du chabot, choisissez : **Hors périmètre**

<figure><img src="/files/2uj4pJ08OZOK32ZaqdEO" alt=""><figcaption></figcaption></figure>

Note : Pour chaque interaction à traiter, vous pouvez cliquez sur Afficher la conversation pour situer la question de l'utilisateur dans le contexte de la conversation.

Une fois les interactions traitées, elles sont organisées selon le choix de classification qui a été effectué. Vous pouvez annuler la classification.

### A corriger[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#a-corriger) <a href="#a-corriger" id="a-corriger"></a>

Dans cette section, vous trouverez l'ensemble des interactions de votre échantillon à corriger. Ces dernières sont organisées selon le choix de classification qui a été effectué à l'étape "Etat de l'action".

Pour chaque interaction, est affiché :

* la question de l'utilisateur
* la connaissance que le chatbot à fourni comme réponse
* l'espace de consultation qui était interrogé

Lorsque vous cliquez dans le champ **Choisir la connaissance**, la liste des connaissances proches de la question de l'utilisateur s'affiche. Cliquez ensuite sur la bonne connaissance à laquelle associer cette question puis cliquez sur **Appliquer la correction**. En cliquant sur ce bouton vous ajouterez la question de l'utilisateur en tant que formulation de la connaissance.

Vous pouvez, au contraire, choisir d'ignorer la correction ou encore d'annuler la classification initialement effectuée.

<figure><img src="/files/w1iOiRMPQZhXladyxvfV" alt=""><figcaption></figcaption></figure>

### Résumé[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#r%C3%A9sum%C3%A9) <a href="#resume" id="resume"></a>

Une fois l'audit terminé, cliquez sur l'onglet Résumé pour accéder aux tableaux récapitulatifs de l'audit.

Un premier tableau vous présente l'état d'avancement de votre audit.

<figure><img src="/files/MzqMhcWTcAbxFvu1Q24U" alt=""><figcaption></figcaption></figure>

Le deuxième tableau vous donne un récapitulatif chiffré de votre Audit ainsi qu'une note finale.

<figure><img src="/files/DPX0PUNk99jzuXL6PpW0" alt=""><figcaption></figcaption></figure>

Lorsque vous aurez réalisé plusieurs audits, un graphique apparaitra sur la page **Contenus > Outils > Audits**.

Ce graphique montre l'évolution de la pertinence des réponses apportées en fonction des différents audits réalisés.

<figure><img src="/files/FobMsLmmUYaCDSP0knZz" alt=""><figcaption></figcaption></figure>

Voici la légende :

* **Vert :** proportion de réponses directes
* **Noir :** proportion de reformulations
* **Orange :** proportion de phrases incomprises
* **Bleu :** score
* **Rouge :** proportion de réponses incorrectes

### Conversations tests[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#conversations-tests) <a href="#conversations-tests" id="conversations-tests"></a>

Lorsque vous avez des cheminements de conversations assez complexes, vous pouvez enregistrer une conversation qui s'est bien déroulée dans les conversations tests en tant que modèle (depuis la page des **Conversations**)

1. Cliquez sur une conversation
2. Cliquez sur l'icône "copier le dialogue" lorsque vous êtes sur un dialogue que vous voulez sauvegarder.
3. Cliquez sur **Copier**.

<figure><img src="/files/3lEofPkQOpfoMN1kcXTu" alt="" width="375"><figcaption></figcaption></figure>

4. Retournez ensuite sur le menu **Conversations tests** et vous pourrez ainsi rejouer les conversations pour vous assurer que le bot répond toujours comme attendu. Allez dans **Contenus > Outils > Conversations tests**

<figure><img src="/files/6DANYDU5RlwWqOGBIzN9" alt="" width="375"><figcaption></figcaption></figure>

Retrouvez plus d'informations sur les conversations sur cette [page](https://dev.docs.dydu.ai/fr/docs/Learning/dialogs).

### Connaissances proches[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#connaissances-proches) <a href="#connaissances-proches" id="connaissances-proches"></a>

Ce menu permet de repérer les connaissances dont les formulations de questions sont proches. Il permet de se rendre compte, par exemple, que deux connaissances pourraient en réalité en être qu'une seule.

Ce menu vous permet également de consulter les dernières modifications qui ont été effectuées et par qui elles l'ont été, sur la période sélectionnée, sous une autre vue que le menu **Historique**.

Cela vous permet notamment de pouvoir effectuer directement les modifications si vous constatez une erreur lors d'une modification. Cela peut être particulièrement utile pour un relecture lorsqu'il doit valider les derniers changements effectués sur la base de connaissances.

Allez dans **Contenus > Outils > Connaissances proches**.

<figure><img src="/files/WbsrkndnIpdRAQIGqOjF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/wa3NRdGEykQtDY0oJ1zG" alt=""><figcaption></figcaption></figure>

### Historique[​](https://dev.docs.dydu.ai/fr/docs/Complementary_items/knowledge_tools#historique) <a href="#historique" id="historique"></a>

L'historique vous permet de visualiser toutes les modifications qui ont été effectuées sur la base de connaissances. Vous pouvez filtrer ces modifications par type d'action et par utilisateur.

<figure><img src="/files/n9fX9EFjySHuEkflHPx8" alt=""><figcaption></figcaption></figure>


# Import / Export

Vous pouvez réaliser des imports et exports de connaissances depuis votre back office. Pour cela, dirigez-vous sur la page des **Contenus > Import/Export**.

<figure><img src="/files/SM6PQKYTCxmV7fcINAUN" alt=""><figcaption></figcaption></figure>

Note : il n'y a actuellement aucune réversibilité entre l'import et l'export.

### Import massif

Effectuez un import massif de connaissances au format excel. Un template est mis à votre disposition.

Pour réaliser l'import massif, cliquez sur **Choisir un fichier** puis sélectionnez le fichier à importer. Cliquez sur **Importer** pour valider l'import.

<figure><img src="/files/NtGTTOlmQn7fGEdeQ5Hg" alt=""><figcaption></figcaption></figure>

### Export rapide

Effectuez un export de données associés à votre base de connaissances. Pour cela, sélectionnez les données puis cliquez sur **Export**.

<figure><img src="/files/nrXb0zwqpjwCP88Kz8fv" alt=""><figcaption></figcaption></figure>


# Etat d'avancement

<figure><img src="/files/IpGW5CTXxwxS8V9IX6je" alt=""><figcaption></figcaption></figure>

L'état d'avancement vous permet d'avoir un aperçu global de votre base de connaissances (répartition des connaissances, vue par thématique). Vous pouvez effectuer un export Excel de ces données en cliquant sur le bouton **Export vers Excel**.


# Réponses prédéfinies

<figure><img src="/files/OljDZauOO8803t7ZXYo1" alt=""><figcaption></figcaption></figure>

Vous avez la possibilité d'importer des réponses prédéfinies. Un template est mis à votre disposition.

Pour importer votre les réponses prédéfinies (via le template), cliquez sur **Mettre en ligne un fichier** puis sélectionnez votre fichier. Cliquez ensuite sur **Importer** pour valider l'import de vos réponses prédéfinies.


# Traduction

<figure><img src="/files/gnwQPa8g7YDsoIiKqMDo" alt=""><figcaption></figcaption></figure>

Cette page vous permet d'exporter les connaissances non traduites et d'importer les connaissances à traduire.


# Urls

<figure><img src="/files/9UQdNYjGL1sHJBttr57D" alt=""><figcaption></figcaption></figure>

Cette fonctionnalité vous permet de modifier massivement les URLs utilisées dans votre base de connaissances.

2 types d'URLs peuvent être remplacées via cette fonctionnalité :

* les URL insérées dans le texte de vos réponses en tant que hypertexte ;
* les URLs utilisées comme redirection via le champs d'option des réponses "redirections".

Par conséquent, les URLs qui sont utilisées directement dans une réponse (ni comme lien hypertexte ni comme option de redirection) ne peuvent pas être remplacées massivement via cette fonctionnalité.

**Étapes à suivre**

1. Cliquez sur **Exporter** et un fichier Excel sera téléchargé sur votre ordinateur.
2. Plusieurs colonnes sont listées dans le fichier. Parmi lesquels :

* **urlType**: cette colonne indique le type d'URL utilisée par réponse : **ACTION\_TEXT** si l'URL est insérée comme hypertexte ; **REDIRECT\_URL** si elle est utilisée comme redirection.
* **urlOld**: cette colonne montre les URLs actuellement utilisées dans votre base de connaissances.
* **urlNew (colonne à remplir)**: dans cette colonne, vous mettrez les nouvelles URLs que vous voulez utiliser dans votre base de connaissances. Si certaines URLs n'ont pas besoin d'être remplacées, laissez vides les colonnes en question et ces URLs ne seront pas modifiées après l'import.

  Remarque : votre url doit toujours commencer par le préfixe **https**.

<figure><img src="/files/Mm1HrbZXH8MTgwfcv244" alt=""><figcaption></figcaption></figure>

3. Remplissez la colonne urlNew avec vos URLs cibles. Enregistrez votre fichier Excel et cliquez sur **Choisir le fichier** puis **Importer**.
4. Une fois terminé, vous serez notifié par le téléchargeant automatiquement d'un fichier XML sur votre ordinateur vous confirmant le type de modifications apportées à votre base de connaissance.

Gardez à l'esprit que :

* supprimer des lignes du fichier Excel n'affectera ni l'import ni votre base de connaissances.
* Cependant, la suppression des colonnes du fichier rendra la fonctionnalité de modification de masse des URLs ineffective. Vous ne serez pas averti d'erreurs lors de l'import mais les URLs resteront inchangées.


# Import d'un modèle

La création d’un **bot conversationnel** à partir de zéro peut nécessiter plusieurs semaines de travail. En choisissant de partir d’un **modèle**, vous pouvez réduire ce délai à quelques **heures** ou **jours** seulement.\
Les modèles proposés incluent déjà une sélection de **questions fréquemment posées** ainsi que des **réponses par défaut**.

Une fois le modèle importé, vous êtes entièrement libre de **personnaliser** votre bot : modifiez les réponses existantes et **enrichissez la base de connaissances** selon vos besoins.

## A destination des salariés

<figure><img src="/files/lBVlI6LGo66EwoO3RaWb" alt=""><figcaption></figcaption></figure>

### Ressources humaines

Ce modèle est spécialement conçu pour répondre aux principales **questions** que les salariés peuvent avoir en matière de **ressources humaines**. Il intègre **327 connaissances** couvrant les **demandes les plus courantes**, telles que le **solde des congés restants** ou la **procédure de déclaration d’un arrêt maladie**. Grâce à ce modèle, vous disposez d’une base complète pour **automatiser le traitement** des demandes RH les plus fréquentes et **simplifier le quotidien** des collaborateurs.

### Informatique

Ce modèle est dédié à l’**assistance informatique** des salariés et couvre les **demandes les plus fréquentes**. Il contient **216 connaissances** permettant de répondre efficacement aux **questions courantes**, comme l’**ajout de formules dans Excel**, la **connexion à Chrome** ou l’**accès aux paramètres de Windows**. Ce modèle facilite la **résolution rapide des incidents** et accompagne les collaborateurs dans l’utilisation de leurs **outils informatiques** au quotidien.

## A destination des clients/usagers

<figure><img src="/files/N5O0H87vOMcaVn8t2nlE" alt=""><figcaption></figcaption></figure>

### Mairie

Ce modèle regroupe les connaissances nécessaires pour répondre aux **demandes récurrentes** liées à la **gestion de la relation citoyen** en mairie. Il comprend **246 connaissances** permettant d’apporter des **réponses rapides et précises** sur des sujets tels que l’**inscription d’un enfant à l’école**, la **demande de passeport** ou l’**obtention d’un acte d’état civil**. Ce modèle facilite ainsi le **traitement efficace** des principales démarches administratives des citoyens.

### E-commerce

Ce modèle réunit les connaissances essentielles pour répondre aux **demandes les plus fréquentes** sur un site e-commerce. Il propose **213 connaissances** permettant d’apporter des réponses claires concernant, par exemple, le **suivi de commande**, la **procédure de retour** d’un produit ou les **moyens de paiement acceptés**. Ce modèle aide à améliorer l’**expérience client** en facilitant le traitement des principales questions liées à la vente en ligne.

## APIs

<figure><img src="/files/F6cg5EMMBLIHJyEhYHLU" alt=""><figcaption></figcaption></figure>

### Connexion aux contenus externes

Cette fonctionnalité permet de créer un **connecteur** avec le **RAG Dydu** afin de générer des **réponses à partir de contenus externes** lorsque le bot ne comprend pas la demande de l’utilisateur. Grâce à cette connexion, le bot peut interroger des sources d’information complémentaires pour fournir une réponse pertinente, même en cas d’incompréhension ou de question hors périmètre de sa base de connaissances.

### Mailjet

Ce module permet d’**envoyer des mails** via la plateforme **Mailjet**.\
Pour plus d’informations, consultez : <https://www.mailjet.com/>

### **SMS Mode**

Ce module permet d’**envoyer des SMS** avec la plateforme **SMS Mode**.\
Pour plus d’informations, consultez : <https://www.smsmode.com/>

### **Twilio**

Ce module permet d’**envoyer des SMS** via la plateforme **Twilio**.\
Pour plus d’informations, consultez : <https://www.twilio.com/>

### **ServiceNow**

Ce module permet d’**importer les APIs** de la plateforme **ServiceNow**.\
Pour plus d’informations, consultez : [https://www.servicenow.com/docs/bundle/xanadu-api-reference](https://www.servicenow.com/docs/fr-FR/bundle/xanadu-api-reference/page/build/applications/concept/api-rest.html)

### Jira

Ce module permet d’**importer les APIs** de la plateforme **Jira**.\
Pour plus d’informations, consultez : [https://developer.atlassian.com/](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#version)

### **Zendesk**

Ce module permet d’**importer les APIs** de la plateforme **Zendesk**.\
Pour plus d’informations, consultez : <https://developer.zendesk.com/api-reference>

### **Salesforce**

Ce module permet d’**importer les APIs** de la plateforme **Salesforce**.\
Pour plus d’informations, consultez : [https://developer.salesforce.com/](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_what_is_rest_api.htm)

## Autres

<figure><img src="/files/pDAOLf8XGR52GtdFpLnN" alt=""><figcaption></figcaption></figure>

### **Interactions sociales**

Ce module permet d’**importer une micro base sociale** afin d’enrichir le bot avec des connaissances et réponses liées aux interactions sociales. Grâce à cette fonctionnalité, vous pouvez facilement intégrer des exemples de conversations ou des éléments de langage adaptés aux échanges courants entre utilisateurs.

### **Callbot**

Ce module permet d’**importer la configuration minimale** nécessaire au fonctionnement d’un **callbot**. Vous pouvez ainsi déployer rapidement un callbot opérationnel en intégrant les paramètres essentiels dès le départ.


# Apprentissage

Les conversations entre le bot et les utilisateurs finaux sont enregistrées et consultables  depuis la page “Conversations” du BMS. Cette dernière permet donc aux gestionnaires de la base de connaissances de lire toutes les conversations ayant eu lieu avec le bot et en fonction compléter ou améliorer la base de connaissances. C’est ce que nous appelons la correction des conversations.  &#x20;

<figure><img src="/files/XOfFrlTmM0WlHPgaRujl" alt=""><figcaption></figcaption></figure>

### Résumé de la Mise à Jour de la Base de Connaissances

#### Suivez un processus régulier pour maintenir et améliorer les interactions du bot:

1. Consultez les chats sur la page “Conversations” du BMS.
2. Identifiez et lisez les conversations nécessitant des améliorations.
3. Accédez à la base de connaissances et mettez à jour les informations.
4. Enregistrez les changements pour optimiser les réponses du bot.&#x20;

En répétant ce processus régulièrement, vous maintiendrez la qualité et la pertinence des réponses fournies par le bot, garantissant ainsi une meilleure expérience utilisateur.

#### Conseils pour une correction efficace

1. **Compréhension**: Assurez-vous de bien comprendre l'intention de l'utilisateur lors de l'interaction avec le bot.
2. **Contexte:** Prenez en compte le contexte de la conversation pour éviter les modifications qui pourraient altérer le sens.
3. **Précision:** Vérifiez que les informations ajoutées ou modifiées soient exactes et à jour.
4. **Cohérence:** Gardez une cohérence dans le ton et le style de la communication du bot.
5. **Suivi:** Après la modification, suivez de près les interactions pour s'assurer que les changements ont produit l'effet désiré.

Ces pratiques aideront à renforcer l'efficacité des corrections et assureront une amélioration continue de la base de connaissances.


# Conversations

## Interfaces

Les conversations pour le chat automatique, le Livechat ou les sessions de recherche pour le champ de recherche et FAQ statique peuvent être consultées depuis le back office.

Pour accéder aux conversations, dirigez-vous sur la page **Apprentissage > Conversations**.

<figure><img src="/files/pSM3KeDShpFlu82lAuZ5" alt=""><figcaption></figcaption></figure>

### Liste des conversations

La liste contient les conversations réalisées par le bot. Pour chaque conversation, le nombre d'interactions et la date sont affichées. Il faut cliquer sur la ligne pour afficher la conversation.

Les conversations non lues sont présentées en **gras**.

Si l'utilisateur a fourni des commentaires durant la conversation, ceci est présenté dans la liste sous la forme  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAVCAIAAADTi7lxAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAZJJREFUOI3N1M1u00AUBeAz996ZcWLHLlWQaPZ4xQvwDjwF78XTVLDMhsCqqhTxEyRQSIqbGseey8ICYmFD1WaBV5Z99OmckWWz3W5xjIuOogCQ24RUw+rVi6a8evT0uR0/uHsjYwga6nJbfr4YytxumioREYmG+l5QfbMJ3wtiSxLdC9p9fI0QmB1Hk6HMvw+72nwoV2+ZHQDxyR2h/eb99cU5GQNxAPZf3xm2ofwWqmvJzmR8+itpDj/I9Xq9XC4BxHGc53n15XJ3+VJDc0gb4vYJR2ny5BmJ62k0n88XiwWALMvyPK9Wb4gE9EdrEgDsJ8S/X3VCRVGICIAoigAQsRE/tNo0VdhtKD7tgVTVWgug5Zi9Bh2EQDhY3YGY2TkHoOWIrWoYhNzYjNJ+yFrnnG9vABAL8JdGiqbGz+0dSKxYZwGwMAAWD5ghCNkZfNzfSETaUcwMwDx8bK4+oSzQN1D95LBtB5rNZkmSnGTZdDoFoKNURymqG6p2qEuzLxEawMD6EKU6Puks/e/+kEeDfgARsYcHf+gCAgAAAABJRU5ErkJggg==) ou ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAVCAIAAAA8SdJPAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAZFJREFUOI3N1E9L3EAYBvBn/mZMYqfqUjFCaSnEQw+994v3Iwge9rT0KntpocjCmrgkk7zv9BBBY00ougfnlHcy+c37wEzEdrvFnobcF7RnSz8uNpvNer0GkGVZWZb3s10jw070DbpWMEGIqBN2h/HAz1nL5XK1WgHw3pdlKZpKVX/Q3iHy42UClapv6PhjzI4nrbqutdYAnHMAxM0192EyUnuHGSvGaIwBMIhMAdxNUeL2N/IT2PR5SyllrQUwiMxdpOm+5IGUSkz1ZYy1NhkeAFDfxZmM1IumEnnyvKWNNtYAUFoNGWcsoRNINfp8VGg9pFNKASCmSO2UJV0mx8diZBVFkef5e+8XiwUAc3rRrK8i06gdqYaZ2NZMvdT24dX8fey2v3bXl9xUQ+nOv9mTT9xWHHb68FSlR5N9/TuML9LP329//ojUAdC+UOnRE+Ih9bwFwPiz5MMF9YH6QKGeWflfd9sVX6OURIHaV1vaeWFTosBd81oLQjATU/fkQL3EipEhhHTv3OLL3I5v9B/9F6V/o3XFaaTOAAAAAElFTkSuQmCC)

Une couleur est attribuée en fonction de la qualification de la conversation :

* Vert clair : la conversation contient des questions auxquelles le bot n'a pas compris mais se termine par une interaction où le bot a pu fournir une réponse ;
* Vert foncé : toutes les questions de l'utilisateur ont été comprises par le bot ;
* Orange: la conversation se termine par une question de l'utilisateur que le bot n'a pas pu comprendre.
* Sans couleur : il y a 3 cas où une conversation n'a aucune couleur attribuée :
  * **La conversation n'a pas encore été traitée par le serveur**. Quand une conversation vient de se terminer, il faut quelques minutes pour le serveur de mettre à jour les données de qualification. Pendant ce temps, la conversation n'a pas de couleur attribuée. Mais elle sera mise à jour dès que le serveur aura terminé le calcul.
  * **La conversation ne contient aucune interaction**. Si les utilisateurs ont ouvert le chatbot mais n'ont pas interagi avec lui, aucun matching n'a eu lieu et par conséquent il n'y a pas de qualification.
  * **Quand il y a une escalade Livechat**. Si l'utilisateur a démarré une conversation en chat automatique puis basculé en Livechat, la conversation n'aura pas de couleur attribuée. Cependant, si une escalade Livechat avait été faite mais l'utilisateur a quitté la conversation sans discuter avec l'opérateur, une couleur sera attribuée à la conversation selon la qualification des interactions en chat automatique.

### Filtrage

Le filtrage permet de n'afficher que les conversations correspondant à un ensemble de critères :

#### **Qualification**

Ce filtre permet de n'afficher que les conversations ayant une certaine typologie, il est donc possible de se concentrer, par exemple, sur les conversations échouées afin de trouver les solutions d'enrichissement de votre base de connaissances et ainsi améliorer le fonctionnement de votre bot.

#### **Statut**

Ce filtre vous permet de voir :

* Non lues : aucun utilisateur ne l'a lu
* Lues : au moins un utilisateur l'a lu
* Corrigées : au moins un utilisateur a fait une correction
* Non corrigées : la conversation a été lue mais pas encore corrigée

Note : Quand une conversation est lue par l'utilisateur actuel, un symbole livre apparait :&#x20;

<figure><img src="/files/D5v6ocL5WUg6QxWzjuL5" alt=""><figcaption></figcaption></figure>

Dans le cas d'un usage collaboratif, vous pouvez utiliser les marqueurs prévus à cet effet (status géré) à l'intérieur de la conversation ![](/files/fJ2FTBCCrk5EiGHALRB1)

Cela permet à d'autres collaborateurs de filtrer les conversations qui ont déjà été gérées.

#### **Période**

Le choix de la période permet de lire les conversations du jour, du mois en cours, etc.

Notez qu'il est également possible d'effectuer un filtrage par heure, ce qui peut notamment être très pratique si vous avez des centaines voire des milliers de conversations par jour. Pour cela, vous devez sélectionner l'option **Date spécifique** et sélectionner l'horaire depuis **Heure (optionnelle):**.

#### **Avis utilisateur**

Les internautes ayant la possibilité de donner leur avis sur la réponse du chatbot, ce filtre permet d'afficher les conversations en fonction de l'avis des utilisateurs.

Vous pouvez également accéder à des filtres supplémentaires en cliquant sur le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAyCAYAAAD1CDOyAAAACXBIWXMAABYlAAAWJQFJUiTwAAACTElEQVRoge2Zv27TQBzHv8ZpIldxSIwsYXdgQK6SBckZkhdgagcYYS48AAwwwcCfAV6ifQSQqi70BS4DlmBI1A6daoGsOiaRiBJqmakWEU7uHJ9Vx/JnvPzOv98nlztf7oQgCAKsOTeuuwAeFBJZoZDICiVaACEu+oMRHGcK3093IRNFAapaQatZQ7erMPcTFi2xnvcHnz6fQ2mUYZp16LoEURS4FRyF7wew7Qksy4M7nOHhgy3U6xv0jsEC9g/OAkIuFn2cOoRcBPsHZ0yxkXOCEBdKo4xOh31IedPpKFAaZRDiUmMjJfqDEUyzzr2wuJhmHf3BiBoXKeE4U+i6xL2ouOi6BMeZUuMiJXw/SH0SsyCKAtOKmIv3RCGRFXIhQd120Dg8PMePn79j9dFub2J3dytp6pBEEicnI7x7/32lvoYhY3u7liR9SKKfkyxvoFqN/z1UqyXIMsOeiJFEI6FpEo6/3OdVy8oUE/tf3rz9hqMje2nMzo6O16/u8UoZwm0kxuNLLjGrwG0knj9r4fGjO0tjNG2TV7o5uElomgRNu56dLzeJK8bjS7x4+XWu7eOHNmSZe6oQ7k8+Pf0Fy3L/a2u3b/FOFcJdwjBuYm/v7lxbmgJAChKyXMLTJwbvxy4lFy+7QiIrFBJZIb8SrOc9acN6/hUpoaoV2PaEe1Fxse0JVLVCjYuUaDVrsCyPe1FxsSwPrSb9f3ikRLerwB3O0OvRT6TTotdz4Q5nTJctubhkWShxxVpfd60T+X1PrBuFRFYoJLJCLiT+AvfXc/gWGMvTAAAAAElFTkSuQmCC)  :

#### **Espaces**

Ce filtre permet de n'afficher que les conversations qui ont eu lieu depuis un des espaces de consultation. Si le bot gère plusieurs langues, les espaces de consultation peuvent être traduits par langue.

#### **Etiquette**

Ce filtre vous permet d'afficher uniquement des conversations importantes, non traitées, ou commentées en cliquant sur le bouton d'activation.

<figure><img src="/files/3YvpO2GMW68NmcaYI5zv" alt=""><figcaption></figcaption></figure>

#### **Conversations**

Solution : ce filtre permet d'afficher les conversations qui ont été menées selon un type de solution (Chat automatique, Livechat, etc.).

#### **Connaissances**

<figure><img src="/files/HnhWU0wRVOIYSVJkWtlI" alt=""><figcaption></figcaption></figure>

Filtrage thématique : ce filtre permet de n'afficher que les conversations concernant la thématique choisie.

Filtrage par connaissance : ce filtre permet de n'afficher que les conversations utilisant la connaissance choisie. Saisissez la connaissance, cliquez sur celle-ci dans la liste déroulante puis sélectionnez-la.

Lorsque vous cliquez dans le champ de saisie lorsqu'il est vide, la liste des connaissances qui apparaît correspond aux connaissances de type *Réponse complémentaire* et *Ciblage comportemental*.

Vous pouvez également activer le bouton **Afficher les conversations en entier** qui vous permet d'afficher l'ensemble de la conversation et non pas uniquement les interactions concernant la connaissance sélectionnée.

Recherche : cette barre de recherche vous permet de chercher un mot dans l'intitulé des connaissances, les questions saisies par l'internaute, les réponses de la base de connaissances, les réponses de l'opérateur, dans toutes les réponses ou dans toutes les questions et réponses.

#### **Variables et groupes**

Nom de variable : ce filtre permet de n'afficher que les conversations dont les variables sélectionnées ont été utilisées lors de celles-ci.

Valeur de variable : ce filtre permet de n'afficher que les conversations dont la valeur de la variable déterminée est effective.

Groupe de formulations : ce filtre vous permet d'afficher les conversations qui utilisent les termes du groupe de formulation sélectionnée.

* **Conversations** Vous pouvez filtrer vos conversations pour n'afficher que les conversations de test. Celles-ci représentent toutes les conversations qui n'ont pas eu lieu en production. Ces conversations sont divisées entre différents types :
  * avec des tests
  * sans tests
  * tests uniquement

Après avoir affiné votre filtrage, vous devez cliquer sur le bouton **Filtrer** à droite de la page pour valider vos filtres.

Une fois votre filtrage effectué, vous avez la possibilité de marquer toutes les conversations filtrées comme lues en cliquant sur le bouton **Marquer comme lues** en haut à droite de la page.

Vous pouvez réinitialiser vos filtres à tout moment en cliquant sur le bouton **Réinitialiser**.

### Plusieurs types d'export

#### **Excel**

Ce bouton permet d'exporter dans un fichier Excel les conversations correspondantes aux filtrages sélectionnés. Les exports Excel sont limités à une période de **95 jours**. Une requête effectuée au-delà de cette période entraînera une erreur.

Les exports effectués correspondent à la période pour laquelle vous avez effectuée un filtre.

L'export contient un onglet **Interactions** (colonne D : Utilisateur). Par défaut, ce champ sera vide. Afin d'y inscrire le nom utilisateur, mail, etc., suivez le processus suivant :

1. Dirigez-vous sur la page **Intégration > Boîte de dialogue** puis modifiez votre configuration.
2. Cliquez sur ... > Modifier > **Modules and resources** > **Advanced View**.
3. Allez sur le module **context (commun)**.
4. Remplissez le champ **common.context.userId** comme ceci :&#x20;

<figure><img src="/files/6bNaxx0ERQtfYbAMZeVv" alt=""><figcaption></figcaption></figure>

5. Cliquez sur **Mettre à jour**.

Notez que le contenu de cette case peut différer. Vous pouvez y inscrire différents types de contenu :

* Texte simple ou variables disponibles : **${nameOfVariable}**
* Variables multiples : **${firstName}** **{lastName}**
* Texte et variables : **user ID : ${userID}**

Important : la capture de ces variables requiert qu'un registerContext soit configuré au niveau de la chatbox pour récupérer l'information.

L'option **Rejouer les conversations** vous permet de relancer les conversations et consulter leur comportement (par exemple, après vos modifications pour améliorer le matching).

#### **Conversations V2**

Une ligne par interaction, en colonne :

* Context UUID
* Date
* Heure de début
* Heure de fin
* Durée de la conversation
* Langue
* Espace de consultation
* ID du bot
* Variables de la conversation
* ID de l’utilisateur
* IP de l’utilisateur
* Canal
* Navigateur
* URL de l’utilisateur
* Nombre d’interactions au total
* Nombre d’interactions business
* Nombre d’interactions social
* Qualification de la conversation
* Nombre de fois où un feedback a été demandé
* Feedback positif
* Feedback négatif
* Type de conversation : production ou test

#### **Interactions V2**

Une ligne par interaction, en colonne :

* Context UUID
* Date
* Heure
* Langue
* Espace de consultation
* Question
* Position de la question dans la conversation
* Type de matching
* Bot UUID
* Connaissance qui a matché
* ID de la connaissance
* Chemin de la connaissance (hiérarchie de la connaissance dans la base)
* Est-ce que la satisfaction a été demandée ?
* Satisfaction
* Raisons d’insatisfaction
* Commentaire suite à insatisfaction
* ID de l’utilisateur

### Autres

Le menu **Phrases incomprises** (depuis le menu Apprentissage) vous permet d'afficher les phrases non comprises par le chatbot en les regroupant par occurrence, par connaissance ou par ordre d'apparition.

Le menu **Suggestions** (depuis le menu Apprentissage) vous propose des associations de phrases incomprises à des connaissance (Voir partie Suggestions).

## Lecture et Correction

### Informations

La cartouche supérieure fournit différentes informations concernant la conversation :

* Le nom de l'utilisateur s'il est identifié ;
* La date et l'heure de la conversation ;
* L'espace de consultation depuis lequel a eu lieu la conversation ;
* Informations complémentaires : l’URL de la page sur laquelle est présent l'internaute, le navigateur, le système d'exploitation utilisé et la géolocalisation de l'IP.

Les données sur l'utilisateur peuvent être : son nom, son identifiant, la date de sa dernière commande, etc. Ces données peuvent être récupérées par un cookie ou un service web connecté au système d'information de données client.

### Voir dialogue original/corrigé

Ce lien permet d'afficher la conversation originale à la place de la conversation sur laquelle des modifications ont pu être appliquées. C'est utile lorsque plusieurs personnes travaillent sur un même chatbot.

Le bouton  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAIAAABL1vtsAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAaVJREFUOI1j/P//PwNlgIlC/SPIiIyi2vrOieQbsWPfoS/fvt29/+j8let4lLHgkduwZXdMmD8DA8OSVRsMdTRJdgXECR5Odh5Odi9fvdmx7xAulYzISev8leuXr9548erNy9dv7j541NNQoaIkz8DAcOfew5KGDnFREQkxEWUFOXExEXdHWyxG3Ln3MLu83s/ThYeLS09HU0VRnpebC67u89dvd+4/vHv/4cvXbzZt39NRXw73GsIjKkryirKyr16/DfL1MNTRRNbPwMDAy81lqKPp7mR36epNZzsrlKD5jwo6J81MK6r59OXrfwzw6cvXtKKazkkz0cTRg7MsN01cVHjd5h2YwbZu8w5xUeGy3DQ0cSwxEujjfvHqDUzxi1dvBPq4Y4pjMeLu/Yc8qAEBARJiIpewpTEsSevl6zfKCnIMDAw79h3afeAoAwODm6ONu6OtkoLcvQePiDLi7v1HKory6cW1X79+iwnz5+HmXrdl55JVGy1NDV+8ekOUEcqKcsdOnYsJ8/dwsoOI2Jgbn79yfea8ZUqKspjqUVIneWBwFDkAVJLTujvzXaMAAAAASUVORK5CYII=)  permet de marquer une conversation comme « Importante ». Vous pourrez ensuite retrouver ces conversations grâce au filtre « Importantes ou non ».

Le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAIAAACeQxh6AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAVFJREFUOI1j/P//PwM1ABNVTBmUBrFgFb1w5ToDA6OEqLCEuCguWWVFOV5uLpwGTZu3ZM+BY9++f4NwxURE0hIibcyNIfpnzl92/9FjuGJzE8PG8nwImxEt1jxCEzCd4OfpysPNtWzNRkypHasX4PMaGti0fTcyV1tD7eqNW2hqSA7sgsyk3uYqc2MDigwqyEzycLK7c+/h5WsUuAhuSllDJzw2CBskKixMvCk4DTI3Nlg8o9fJzopIUxhwxdrla7fu3HtYlpvGwMCgp61B0BQGPOmIi5Orq6FcRUmegYEBjynwdIQzjL59/1bW0Hnn3kOCboEAfAkSYhaEgd8UnAZpa6gxMDC8ev329du3aFKcnJxK8rIMDAz3Hj5GFkcPozv3HkLCBQJevHy9aNX6fYeOQUyPDQ800NHEaje6QVjBi5evv3z9hmwBmQYRAwZfUQsAwCapJSx/1NQAAAAASUVORK5CYII=)  permet d'afficher la conversation comme étant traitée.

Le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAIAAABvSEP3AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAXNJREFUOI3NlL9PwkAUxw9pvXIgZ6AgkIYEQRYGf20OLsa/2cXF1cSBgUEjEDUpldDqFXr0oAWHIpQ2vRBh8Lv1ey+ffN+714vN53Owtfa2R+yMInDOHHfWUY2BaS0dMS5kceK4mAlUxjhzeWh2p46LJNFvEouVc7hROdooC6HMpOz6tIIR9Psd1Wi99QOUyLlgBK8a5QACAIBTUrg4mEXThyZly0+dUACAkscIiiBaaxQvbRpBUVhlpPa03TNuL2tCPDL4GkX7Gio5fF4r+k3Hnd09vgy+rUL2IIoSxIeTexHIb5uaPgyH4u1LQO990mz3AAB1Rf47BaekuiLLGGXTiEdpVArJ6LvACIYv3tOqQ0LZeDwJ9+y4Mw/BiSksSzuqYVp2OiUhKLa6n4TaC7rFEvuCfJjkUBb/0f3T63jieNbNRdUc2cS3e9VShrMsKwpl0+ePgWnZZyclfnheRwiK5Twmo8j58cV7GTbXf3oxd0P5Adx9jUpGNvDIAAAAAElFTkSuQmCC)  permet d'enregistrer la conversation comme une conversation de test.

Le bouton  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAbCAYAAACEP1QvAAAACXBIWXMAABYlAAAWJQFJUiTwAAABHklEQVRIiWP8////f4YBAkwDZfGo5SPTchZqG/j95y+G56/eoYgJ8vEwCPLz0N7yZy/fMsxYvh1FzNXakMHNxhBDLdWDXYifl8HV2pCBg52NoFqSfP7+4xeG95++YIgjB6sgPw/D+49fGH78/MXAwc7G8OPnL+pYfvrybYbdR89jiCMH68qthxnOXLnNICUmxOBqY8iwcN1e6lgOA93lSVjFkS3OiPJiYGBgYMiI9GQQ4uelnuXEWMwJjXNlOUmceqia2k10VBnCvW2JVk81y5Et3XXkPIOynAReXzMw0KiE2330PMPdRy8Iqhst20kC9x4TDlKaWT592TaqWM5IShvu/ccvDO8+fiZKrRA/L9aajGzLqQ1GbmoftXxAAABVtlmuxq17agAAAABJRU5ErkJggg==) permet d'ouvrir la conversation dans un nouvel onglet avec une URL dédiée.

Le bouton  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAVCAIAAAA8SdJPAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAASdJREFUOI3N1M1PgzAUAPC3DcTWpF0CIzEZ7qQe9OJ1//929YIH5wlHYrJBMkhGreXDA5uZsx8j2cF3Apr3e+/RQq9pGjhT9M8F/WPLOryZv0SdkqcPE6WV5gxdWPjSNirFp2Bfpa4vAAj84X3gGa3XZbKIE4O1K8sF40K6hBwbO/LG5dZylf0t28bd2FM1Lrc8igHkCR7F0udKyyXYJcqcbtb7KovXG+nSeDS88WkHi3GR5ky65JKrbn0FPlW9F6TYRKWF1RuviWMrXm/SfNte2wPr6fbaGvQBoKzq57cPUe3OuvT0/fq2XYIOR0jy7SyMyqouq3oWRsm+BgAgx3YJOrJ6mn9hVvB5GLXDFlxMHycUO5oZddYPBwBGyGy1HAAYoZOs0+MbRhNu7dkNpu4AAAAASUVORK5CYII=)  permet d'ajouter un commentaire à la conversation (Voir section suivante pour plus de détails).

Le bouton  ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAUCAIAAADp3DFZAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAT1JREFUOI1j/P//PwPFgIlyI6hmCgsy5879h1+/fSdSJzcXp4qiPITNiBwuXuFJJDlh28p5WNzCwMDAycmZFh/h7miLR/PO/YdnLVzx/TvC1ejh0llfNmvhip37D+M3orO+DEX0PxLwDEv8////7XsPguKzduw79B8D7Nh3KCg+6/a9B3DFEIDFFFwGIRtBlCmYBqEZgaYYPXThQEVRvrO+rLyx6/K1mwwMDMdPn++sL4NHLRrAnuo+f/2WVVr/8tXbqZ0NYiLCYiLCC6Z2v3z1Nqu0/vPXb0SZ8vnrt/KGTkV5GWtzIwlx0bjwwLjwQF5uLmtzI0V5mZyy+jv3HxI25dKVG4ryMqU5qZhSpTmpFiYGx06dQ5fAFboEAb7QJTUTQABKPnrx8vWL12+I1CkhKiIhLorFFLLBYCqlAGCMUkstABt1AAAAAElFTkSuQmCC)  permet d'envoyer la conversation par mail.

Le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAIAAABr4HqSAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAATdJREFUOI3NlEFLw0AQhaeaNk0CSSE1p0YvQoUePdmzV3+tv6H16KWBgCAxDQoJkW5gNxk3Nh6tZDeNGCFzfG/324E3s4OqqqC7OumQ1XucIjMY8igmDTdnjqWrw7a4bUye394tQxW6hGIFMHenbXEAYBnqcnEhtNbei1DvdxT/nyxhWJafDDkv92nGhNd4uWfI04wpyqmlf8c1qC/Z/YP/q47ubq6augOA5eLcNvWjoDRjay88VKSDEsYkSnYNrNnZxBi3HuMcOSu460yE7jbe5cjb4ggtGHJ9PJy703oatqmnGWXICS2O47SR4gUxANimBgCPT6/5R3no3l5fAkCUkCgBbfSTUEnKD5PVJpC5q03gh0ldb9pZQlG2m4SibRp1XYpzHavhJds0hAcEY/yX6vcX0DHuCydtwsIt2HhrAAAAAElFTkSuQmCC) permet d'imprimer la conversation.

Note : les interactions automatiques (comme les ciblage comportementaux), la satisfaction et les commentaires ne sont pas affichés lors de l'impression.

Le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAZCAYAAAA14t7uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAqElEQVRIiWP8////fwYaACZaGDpq8CAyeNPekwyb9p4kyWAWYhQ9ffmWJEMZGAY6KEaGwYz4yoqVWw8znLlyG0VMSkyIISPKi4GTnQ2vwXhdHO5ty2Cio0qyoQwMRCS3cG9bBgYGBoZnr94SbSgDA4GgQAbff/4i2lAGBjwu3nXkPAMjI26NrtaG5Bn87NVbhu8/fmGV4+Qg7HKig4JUMPQyyKjBtDcYAGASMJWtOEb8AAAAAElFTkSuQmCC) permet d'exporter la conversation au format XML.

### Commentaires/Notifications

Pour chacune des conversations, vous pouvez y insérer des commentaires et les notifier aux utilisateurs ayant accès à la base de connaissances de votre chatbot. Pour cela, veuillez utiliser le bouton ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAVCAIAAAA8SdJPAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAASdJREFUOI3N1M1PgzAUAPC3DcTWpF0CIzEZ7qQe9OJ1//929YIH5wlHYrJBMkhGreXDA5uZsx8j2cF3Apr3e+/RQq9pGjhT9M8F/WPLOryZv0SdkqcPE6WV5gxdWPjSNirFp2Bfpa4vAAj84X3gGa3XZbKIE4O1K8sF40K6hBwbO/LG5dZylf0t28bd2FM1Lrc8igHkCR7F0udKyyXYJcqcbtb7KovXG+nSeDS88WkHi3GR5ky65JKrbn0FPlW9F6TYRKWF1RuviWMrXm/SfNte2wPr6fbaGvQBoKzq57cPUe3OuvT0/fq2XYIOR0jy7SyMyqouq3oWRsm+BgAgx3YJOrJ6mn9hVvB5GLXDFlxMHycUO5oZddYPBwBGyGy1HAAYoZOs0+MbRhNu7dkNpu4AAAAASUVORK5CYII=) situé dans la partie supérieure lorsque vous êtes sur une conversation.&#x20;

<figure><img src="/files/IRRQ1yt5QE3jJoOARXQe" alt=""><figcaption></figcaption></figure>

Lorsque vous cliquez sur une conversation, un cadre réservé aux commentaires apparaît au bas de la conversation.&#x20;

<figure><img src="/files/SAFHnoD6wGcUHF3kBMyz" alt=""><figcaption></figcaption></figure>

Vous pourrez dès lors ajouter des commentaires à la conversation tout en notifiant un autre utilisateur de la plateforme. Pour cela, il vous suffira d'insérer le caractère **@** qui vous ouvrira la liste des utilisateurs que vous pouvez mentionner. Cliquez sur l'utilisateur que vous souhaitez notifier.

Note 1 : entrez les première lettre de l'identifiant d'un utilisateur pour le retrouver plus facilement.

Note 2 : vous pouvez notifier autant de personnes que vous le souhaitez.

Rédigez votre commentaire puis cliquez sur **Ajouter un commentaire**.

Dès lors que votre commentaire est ajouté, le ou les utilisateurs mentionnés en sont immédiatement notifiés. Ceux-ci recevront un mail pour chaque commentaire sur lesquels ils ont été mentionnés (sauf désactivation de la notification par mail dans les préférences de compte).

Un fil de commentaires est alors créé. Chaque utilisateur peut ajouter/supprimer des commentaires dans le flux de conversation. Pour supprimer un commentaire, cliquez sur l'icône  à droite du commentaire.

Les commentaires s'affichent lorsqu'on survole le picto correspondant dans le menu **Apprentissage>conversations**

Les commentaires apparaissent avec le nom de leurs auteurs.

<figure><img src="/files/3lAuvb7mQ84DDhxZF7mY" alt=""><figcaption></figcaption></figure>

### Actions possibles

Pour chaque interaction, il est possible d'effectuer différentes actions :

* Association à une connaissance existante ;
* Création d'une nouvelle connaissance ;
* Affichage de la connaissance utilisée.

#### **Association à une connaissance existante**

Cliquez le bouton **Chercher** ![](/files/qirksWaoiP9mGghFMgSq) pour initier l'association à une connaissance existante.&#x20;

<figure><img src="/files/TrVc7C1IWsf8GPjOQNM8" alt=""><figcaption></figcaption></figure>

Suite à la recherche de connaissances, cet écran présente les connaissances proches de la phrase de l'internaute. Si la connaissance recherchée n'est pas directement présente dans la liste, vous pouvez saisir une nouvelle recherche.

En cochant la case **Connaissances générales**, vous effectuerez également votre recherche dans les connaissances sociales du chatbot.

Une fois la connaissance identifiée, il suffit de cliquer sur le lien **Compléter cette connaissance**. Une fois la formulation associée à la connaissance, dès qu'un internaute posera une question proche de celle ajoutée, le bot fournira la réponse de la connaissance correspondante.

#### **Création d'une nouvelle connaissance**

Cliquez sur le bouton **Créer** ![](/files/xLzQsQwmS5MFPxe4ehKW) pour initier la création d'une nouvelle connaissance.

Vous pouvez dès lors, sur la partie droite de la fenêtre, créer une connaissance comme si vous l'aviez fait depuis la page des **Connaissances**.

Vous pouvez désormais suivre le processus classique de création d'une connaissance.

#### **Affichage de la connaissance utilisée**

Cliquez sur le bouton **Afficher** ![](/files/nNunSlZTwk0errYoPVM5) pour afficher les  connaissances qui ont été utilisées dans les étapes d'une redirection.

Vous pouvez dès lors, sur la partie droite de la fenêtre, modifier la connaissance comme si vous l'aviez fait depuis la page des **Connaissances**.


# Suggestions

Le moteur dydu effectue des suggestions à partir des phrases utilisateurs incomprises. Ces suggestions sont des propositions de formulations suggérées automatiquement par le moteur en fonction de multiples critères : proximité sur les connaissances existantes, l'intelligence collective, la proximité mutuelle sur les phrases incomprises et la grammaire émergente.

Dirigez-vous sur la page **Apprentissage > Suggestions**.

Pour chaque suggestion, vous pouvez :

* **Associer** la formulation si vous l'estimez cohérente avec le contenu proposé ;
* **Invalider** la formulation si vous estimez qu'elle n'est pas cohérente avec le contenu proposé ;
* **Ignorer** la formulation.

Vous retrouverez dans l'onglet résumé une synthèse du nombre de suggestions qui ont été associées, invalidées et ignorées. Vous pouvez également, depuis ce résumé, activer l'apprentissage automatique.

Pour en savoir plus sur le résumé des suggestions et l'apprentissage automatique cliquez[ ici.](/apprentissage/suggestions)

Il est possible de filtrer les suggestions proposées selon certains critères. Les filtres sont des techniques différentes pour vous proposer des suggestions :

* d’ajout de formulation à une connaissance ou
* d'ajout de groupe de formulations à une formulation

## Filtres de suggestions disponibles :

### Couvre 10 match sur 10

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : parmi les résultats de matching à la question : les 10 premières formulations ayant matchées proviennent de la même connaissance.
* Le moteur vous suggère donc d'ajouter cette question en tant que formulation de la connaissance.

### Couvre 9 match sur 10

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : parmi les résultats de matching à la question : les 9 premières formulations ayant matchées proviennent de la même connaissance.
* Le moteur vous suggère donc d'ajouter cette question en tant que formulation de la connaissance.

### Couvre 8 match sur 10

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : ​parmi les résultats de matching à la question : les 9 premières formulations ayant matchées proviennent de la même connaissance.
  * ​Le moteur vous suggère donc d'ajouter cette question en tant que formulation de la connaissance.

### Reformulations cliquées

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : parmi les reformulations proposées par le bot à la question de l'utilisateur, l'utilisateur a cliqué sur cette connaissance. La question d'origine de l'utilisateur est donc pertinente pour être ajoutée comme formulation de la connaissance cliquée.

### Groupe

* Le logiciel suggère d'ajouter un ou plusieurs groupes de formulations pour compléter les formulations des connaissances.

### Reformulation du groupe

* Le logiciel suggère d'ajouter des groupes formulations à la phrase de reformulation principale de la connaissance.
* Ces suggestions s'effectuent uniquement sur la phrase de reformulation principale de la connaissance.

### Couvre 10 match sur 10 et reformulation cliquée

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : parmi les reformulations proposées par le bot à la question de l'utilisateur, l'utilisateur a cliqué sur cette connaissance ET parmi les résultats de matching à la question de l'utilisateur : les 10 premières formulations ayant matchées proviennent de cette connaissance.
* Le moteur vous suggère donc d'ajouter cette question en tant que formulation de la connaissance.

### Couvre 9 match sur 10 et reformulation cliquée

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : parmi les reformulations proposées par le bot à la question de l'utilisateur, l'utilisateur a cliqué sur cette connaissance ET parmi les résultats de matching à la question de l'utilisateur : les 9 premières formulations ayant matchées proviennent de cette connaissance.
* Le moteur vous suggère donc d'ajouter cette question en tant que formulation de la connaissance.

### Couvre 8 match sur 10 et reformulation cliquée

* Le logiciel suggère d'ajouter des formulations à des connaissances existantes.
* Ces suggestions sont uniquement basées sur les questions qui ont donné lieu à une reformulation de la part du bot.
* Signification du filtre : parmi les reformulations proposées par le bot à la question de l'utilisateur, l'utilisateur a cliqué sur cette connaissance ET parmi les résultats de matching à la question de l'utilisateur : les 8 premières formulations ayant matchées proviennent de cette connaissance.
* ​Le moteur vous suggère donc d'ajouter cette question en tant que formulation de la connaissance.

### Dydu LLM

Dans la page de suggestions, différentes sources peuvent proposer des formulations à ajouter.\
Une nouvelle source est affichée lorsque **dydu-llm** permet de faire correspondre une requête utilisateur avec une connaissance existante.

Cette source apparaît alors dans la liste des suggestions, pour faciliter l’ajout de formulations pertinentes dans la base de connaissances.

<figure><img src="/files/WJfxGKniYzR031nrDRkJ" alt=""><figcaption></figcaption></figure>

## Affichage

Il est possible d'afficher la liste de suggestions :

* Par source :
  * Les suggestions s'affichent selon la source. Cette source correspond au filtre sélectionné. L'affichage des suggestions se fait dans l'ordre suivant : d'abord le filtre sélectionné puis les connaissances.
* Par connaissance :
  * Les suggestions s'affichent par connaissance. L'affichage des suggestions se fait dans l'ordre suivant : d'abord la connaissance puis la source (la source correspond au filtre sélectionné).

## Résumé

Le résumé est un tableau vous indiquant, par filtres :

* le nombre de suggestions à valider,
* le % et nombre de suggestions qui ont été associées,
* le % et nombre de suggestions qui ont été invalidées,
* le nombre de suggestions qui ont été ignorées,
* le nombre total de suggestions.

Le résumé vous permet ainsi de juger de la performance des suggestions effectuées par le moteur dydu. En fonction vous pouvez choisir d'activer l'apprentissage automatique du bot pour les suggestions faites sur la base des filtres suivants :

* Couvre 10 match sur 10 et reformulation cliquée
* Couvre 9 match sur 10 et reformulation cliquée,
* Couvre 8 match sur 10 et reformulation cliquée.

L'activation de l'apprentissage automatique permettra au moteur d'ajouter automatiquement à vos connaissances les formulations répondant aux critères des filtres pour lesquels l'apprentissage automatique est activé.


# Phrases incomprises

Notre solution permet d'analyser les questions des utilisateurs que le bot n'a pas comprises.

En analysant ces phrases incomprises, vous pouvez ainsi améliorer la performance de votre bot.

### Comment utiliser des phrases incomprises pour améliorer la performance de votre bot ?

#### Le concept

En un mot, la fonctionnalité « phrases incomprises » vous permet de revoir en un coup d'oeil les questions des utilisateurs que le bot n'a pas comprises et d'enrichir votre base de connaissances à partir de là.

En analysant l'occurrence de ces sujets incompris, vous pouvez également vous faire une idée de ce qui préoccupe le plus vos utilisateurs finaux.

Les phrases incomprises sont présentées dans la section « Apprendre > phrases incomprises» à travers 3 vues:

* **« Par occurrences »** (la vue par défaut) : cette vue regroupe les phrases incomprises selon leur nombre d'apparition dans la journée.
* **« Par connaissance»** : les phrases incomprises sont pré-associées à des connaissances avec lesquels elles pourraient matcher. Le bot suggère automatiquement l'association mais vous pouvez confirmer ou rejeter la proposition en supprimant la phrase de la liste.
* **« Dernière apparition »**: les phrases incomprises sont listées chronologiquement de la plus récente à la plus ancienne.

Quelle que soit la vue, cliquer sur l'une de ces phrases incomprises permet d'afficher une liste de connaissances suggérées (triées par le score de matching) qui pourraient correspondre à la question de l'utilisateur. Cela vous permet d'associer directement la connaissance la plus pertinente à une phrase incomprise.

#### Un exemple

Allez dans **Apprentissage - phrases incomprises**. Imaginons que vous avez la phrase incomprise suivante :&#x20;

<figure><img src="/files/hQI19W0Z7S0mypmIh54q" alt=""><figcaption></figcaption></figure>

1. Cliquez dessus et une liste de connaissances suggérées apparaîtra. En survolant l'icône "œil", vous pourrez voir la réponse de chaque connaissance :&#x20;

<figure><img src="/files/rtsClDG3koBy5xtwfhnJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/O7hNZpmOa0yOwKxOMaGw" alt=""><figcaption></figcaption></figure>

2. Si une connaissance correspond à la phrase incomprise, vous pouvez ajouter la dernière en tant que nouvelle formulation de cette connaissance en cliquant directement sur la connaissance. Ensuite, confirmez en cliquant sur « Associer ».

<figure><img src="/files/ShZm5i39bFo7wHbuvNbj" alt=""><figcaption></figcaption></figure>

3. Si la phrase incomprise n'est pas pertinente, vous pouvez simplement la supprimer et elle disparaîtra de la liste.

{% hint style="info" %}
Les phrases incomprises sont mises à jour chaque nuit. Cela signifie que toutes les phrases incomprises qui ont été enregistrées par le bot en journée ne seront visibles que le lendemain matin.

Veuillez noter qu'une phrase incomprise ne disparaîtra pas tant qu'elle n'a pas été associée à une connaissance ou n'a pas été volontairement supprimée.
{% endhint %}


# Statistiques

Que pensent les utilisateurs du bot ? Sont-ils satisfaits des réponses qu'il apporte ? Est-ce que le bot remplit ces objectifs ?  Autant de questions auxquelles il est nécessaire de répondre pour justifier la réussite du bot et optimiser sa qualité.&#x20;

Au sein du BMS DYDU, il est possible de visualiser immédiatement et simplement les indicateurs clés de la performance du bot à travers le menu Statistiques. Il est également possible de configurer ces propres rapports selon les besoins grâce au menu Statistiques personnalisées.<br>

<figure><img src="/files/K5x1caMQtjByhqvsfY7i" alt=""><figcaption></figcaption></figure>

## Système de calcul des statistiques : &#x20;

ll existe un système de calcul "absolu" et un "relatif ou pondéré". Si la page des statistiques ne propose pas l'option de **filtrage par somme** alors les statistiques sont calculées **en somme pondérée**. Par exemple l'option est disponible par exemple pour les statistiques "connaissances" :&#x20;

<figure><img src="/files/mDeQ5WrQfgW8h2SBy0Mt" alt=""><figcaption></figcaption></figure>

La distinction entre les deux systèmes est importante :&#x20;

* Absolu : si une conversation fait appel N fois à une connaissance, ça incrémentera de N la statistique absolue.
* Relatif ou pondéré : va prendre l'absolu par conversation et diviser par le nombre d'interactions de la conversation. Si la conversation est longue cela atténue fortement la valeur. En effet, ça ne compte pas 1 par conversation, mais 1 /(nb interaction de la conversation). Par exemple, 8 conversations de 4 interactions chacune peuvent aboutir à 8 \* (1/4) = 2


# Exploitation

Cette partie du BMS  permet de consulter des rapports pré-générés. On retrouve notamment des statistiques sur :&#x20;

* le nombre de visiteurs et le nombre de conversations,&#x20;
* le nombre d'interactions par conversation,
* la qualification de ces interactions et conversations c’est-à-dire le niveau de compréhension des questions du bot et sa capacité à procurer une réponse,
* la satisfaction des utilisateurs par rapport à la réponse apportée,
* les thématiques les plus abordées,
* les connaissances les plus utilisées.&#x20;

Les statistiques sont mises à jour grâce aux conversations de production menées avec le bot. Cela signifie que les conversations de test effectuées avec le bot ne sont pas prises en compte dans les différents calculs de statistiques.

Chaque indicateur peut-être affiché selon la période, la langue ou encore l’espace de consultation. L’objectif étant de pouvoir analyser et piloter en permanence la performance du bot.&#x20;


# Important

Cette page vous permet d’avoir un aperçu des statistiques les plus importantes et pertinentes pour évaluer rapidement les performances de votre bot.

En parcourant les différentes page du menu statistiques vous pourrez retrouver plus de détails concernant :

* les conversations menées avec votre chatbot : le volume et la répartition
* les thématiques les plus abordées avec votre bot
* les connaissances les plus utilisées vous permettant d’identifier les 20% de connaissances constituant les 80% des échanges
* la qualification des conversations menées avec le bot : combien ont réussi, combien ont échoués
* la satisfaction des utilisateurs du bot : quel pourcentage de satisfaction apporte chaque réponse du bot

Chacune de ces statistiques peut être étudiée plus en détails à travers les différentes pages qui composent le menu.

<figure><img src="/files/Fv4fWXYV91pvDhHKMILr" alt=""><figcaption></figcaption></figure>


# Conversations

La page des statistiques de conversations permet de suivre l'évolution des conversations des utilisateurs avec le bot et avoir plus de détails concernant le volume et l’environnement dans lequel se déroule ces dernières. &#x20;

Les statistiques concernant le volume de conversations sont les suivantes :&#x20;

* volume de conversations : indique le nombre de conversations qui se sont produites au cours d'une période choisie.
* volume d’interactions : indique le nombre total d’interactions.
* volume d’interactions métiers : ici les interactions de type sociale ne sont pas prises en compte.

Au clic sur une des statistiques, les détails pour cette dernière sont affichés en bas de la page.

<figure><img src="/files/yHPE8oiuLfkqF2yppFQN" alt=""><figcaption></figcaption></figure>

Par exemple, pour les statistiques de volume de conversations / interactions : les graphiques détaillés indiquent si ce volume est constant ou en augmentation/baisse par rapport à la période précédente. La période précédente est déterminée par le filtrage effectué (ici sur 30 jours).Vous pouvez modifier la période à tout moment via le filtre en haut.

* **La courbe bleue ("conversations")** montre l'évolution du volume de conversation de votre bot à une période donnée.
* **La courbe grise ("périodes précédentes")** montre en parallèle l'évolution du volume de conversation de votre bot au cours de la période précédente.

### Distribution

Les statistiques concernant la distribution des conversations sont les suivantes :&#x20;

* Répartition des espaces : indique la répartition des conversations en fonction des espaces de consultation utilisés.
* Répartition des navigateurs : indique la répartition des conversations en fonction des navigateurs utilisés.
* Répartition des systèmes d'exploitation : indique la répartition des conversations en fonction des systèmes d'exploitation utilisés.

<figure><img src="/files/ITOzDfZnSnzupPWIS2Y6" alt=""><figcaption></figcaption></figure>


# Visiteurs

Cette page permet d’obtenir des statistiques concernant les visiteurs. Le gestionnaire de bot peut ainsi connaître&#x20;

* le nombre de visiteurs
* combien parmi les visiteurs ont eu une conversation avec le bot
* combien parmi ces visiteurs avaient déjà eu une conversation avec le bot.

En effet, lors de chaque visite d'une page intégrant le chatbot, le système vérifie si le visiteur a déjà visité cette même page (en général, cette vérification repose sur un même cookie). Si ce n'est pas le cas, ce visiteur est considéré comme nouveau.

## **Visiteurs :**&#x20;

Un visiteur est comptabilisé lorsqu'il accède à la chatbox. Lors de l'ouverture de la chatbox, une série de requêtes est envoyée au serveur pour récupérer des informations telles que le contexte, le top knowledge, le message de bienvenue, etc., ainsi que pour enregistrer la visite. Cependant, ces requêtes ne sont déclenchées que si la chatbox est entièrement chargée et ouverte par l'utilisateur. Ainsi :

* **Sans disclaimer RGPD et/ou onboarding activé** : un simple chargement de la chatbox (si elle est ouverte) est suffisant pour comptabiliser une visite.
* **Avec disclaimer RGPD et/ou onboarding activé** : l'utilisateur doit valider ces étapes avant que la visite ne soit comptabilisée. Le simple chargement de la chatbox ne suffit pas dans ce cas.

L'information de la visite est conservée pendant une journée dans le local storage de l'utilisateur. Ainsi, si le même utilisateur revient le jour suivant, une nouvelle visite est ajoutée (la comptabilisation s'incrémente à l'ouverture du dialogue).

<figure><img src="/files/dZSeZwRBjFmbWhuz4neS" alt=""><figcaption></figcaption></figure>

## **Visiteurs avec conversation (Transformation) :**

Indique le nombre de fois qu'un visiteur d'une page a dialogué avec le bot.

Cette statistique est incrémentée uniquement si le visiteur interagit avec le bot. Elle s'incrémente à la fermeture du dialogue et est comptabilisée pour chaque conversation, indépendamment du fait qu'elle ait lieu le même jour ou non.

<figure><img src="/files/sRJY1iUftXm41PgTfISg" alt=""><figcaption></figcaption></figure>

## **Utilisateurs déjà venus:**&#x20;

A l'aide d'un cookie, il est possible de reconnaître les visiteurs qui ont déjà eu des conversations avec le bot.

Parmi les "Visiteurs avec conversation", cette statistique distingue deux catégories :

* **Utilisateurs uniques** : Ceux qui engagent une conversation pour la première fois de la journée.
* **Utilisateurs ayant déjà conversé** : Ceux qui entament une nouvelle conversation au cours de la même journée.

<figure><img src="/files/oNrqzh615MQ3lUtV83TD" alt=""><figcaption></figcaption></figure>

## Comportement de l'enregistrement de la statistique visiteur

### Comportement selon l'activation du disclaimer cookies

#### 1. Disclaimer cookies activé

Lorsque le disclaimer cookies est activé :

* **L'enregistrement de la statistique visiteur ne sera déclenché qu'après la validation du disclaimer**.
* Tant que l'utilisateur n'a pas validé les cookies, aucune requête d'enregistrement ne sera effectuée.

#### 2. Disclaimer cookies désactivé

Lorsque le disclaimer cookies est désactivé :

* **L'enregistrement de la statistique visiteur est automatiquement déclenché dès l'ouverture de la page**, même si la chatbox est fermée.

### Effet de l'option additionnelle

Une option supplémentaire, `restrictedOnChatboxAccessInsteadOfSiteAccess`, peut être activée pour modifier davantage le comportement de l'enregistrement de la statistique visiteur. Cette option est configurable dans le menu Canaux, sous la section Déboguer.

* Si `restrictedOnChatboxAccessInsteadOfSiteAccess` est activée (`true`), alors l'enregistrement se fait obligatoirement après l'ouverture de la chatbox. Si l'utilisateur ne clique pas sur le teaser, rien n'est enregistré.
  * Plus précisément, l'enregistrement de la statistique visiteur est déclenché après la validation des RGPD (ou après validation du disclaimer si pas de RGPD)

### Résumé du Comportement

| État du Disclaimer Cookies | `restrictedOnChatboxAccessInsteadOfSiteAccess` Activé | Moment d'Enregistrement de la Stat Visiteur                                |
| -------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------- |
| Désactivé                  | `false`                                               | À l'ouverture de la page                                                   |
| Désactivé                  | `true`                                                | <p>A l'ouverture de la chatbox<br>Après validation du RGPD (si activé)</p> |
| Activé                     | `false`                                               | Après validation du disclaimer                                             |
| Activé                     | `true`                                                | <p>Après validation du disclaimer<br>Après validation RGPD (si activé)</p> |

Cette gestion permet d'assurer un contrôle précis sur le déclenchement de l'enregistrement de la statistique visiteur selon les besoins de conformité et d'expérience utilisateur.


# Thématiques

La base de connaissances peut-être organisée par thématique. Cette hiérarchisation permet également d’établir des statistiques de thématiques les plus abordées/utilisées.

Pour chaque thématique, le volume d’utilisation ainsi que le % de distribution est indiqué.&#x20;

Le calcul des thématiques s'effectue de manière pondérée, selon le même principe que celui appliqué aux statistiques des connaissances. Pour chaque connaissance au sein d'une thématique, le nombre de conversations dans lesquelles elle apparaît est pris en compte, mais de manière proportionnelle au nombre d'interactions dans chaque conversation. Concrètement, chaque occurrence de la connaissance dans une conversation est valorisée en fonction du nombre d'interactions de cette conversation. Par exemple, si une connaissance apparaît dans une conversation de 8 interactions, une autre de 2 interactions, et une dernière de 4 interactions, le calcul sera :

$$
1/8 ​ + 1/2 ​ + 1/4 ​ =0,875
$$

Il est également possible d’obtenir le détail par connaissance qui compose les thématiques. L’ensemble des données peut être exportés sous format excel.

Le graphique suivant permet d'observer la répartition abordée dans les conversations. Au survol de chaque section, le pourcentage correspondant est affiché.

<figure><img src="/files/QrlqBjL7Hh1mlX7HB9yT" alt=""><figcaption></figcaption></figure>

Les thématiques sont organisées en arborescence. Vous pouvez cliquer sur **Export vers Excel** pour obtenir les données analytiques sur le graphique qui sont également affichées juste en dessous.

<figure><img src="/files/nNhgZntOwPPrVaRZmIQJ" alt="" width="563"><figcaption></figcaption></figure>


# Connaissances

L'analyse des statistiques propres aux connaissances aide à identifier les connaissances les plus utilisées ainsi que le degré de satisfaction des utilisateurs à leur sujet. Depuis cette page, le gestionnaire peut notamment identifier les 20% de connaissances couvrant 80% de l’utilisation du bot (loi de Pareto) et ainsi capitaliser dessus.

Remarque : les connaissances push correspondent aux [réponses complémentaires](/contenus/connaissances/types-de-connaissances/reponse-complementaire).

### Filtrage des connaissances

* **Nombre pondéré :** est égal à la somme absolue divisée par le nombre d'interactions par conversation.
* **Nombre absolu :** nombre d'interactions liées à une balise/connaissance.

  Le paramètre **Popularité** ci-dessous correspond au nombre d'utilisations (**use count**) lorsque vous faites des exports liés aux statistiques (Par exemple, depuis la page **Contenus > Import / Export > Export rapide > Modifications**).

  Remarque : sur la même période, vous pouvez constater une différence entre les résultats affichés sur la page d'analyse et les exportations liées à l'analyse. Lorsque les analyses sont mesurées sur plus de 100 jours, elles sont agglomérées mensuellement à partir de la page **Statistiques**. Par conséquent, la sélection d'une période du 01/01/2022 au 17/06/2022 va utiliser la période du 01/01/2022 au 30/06/2022. Toutefois, les exports liés aux statistiques afficheront le résultat précis en concordance exacte avec la période sélectionnée.

<figure><img src="/files/aTDVNZIuofys4NrLkqny" alt=""><figcaption></figcaption></figure>

### Nuage de connaissances

Le nuage de connaissances donne une vue d'ensemble de l'utilisation des connaissances et de la satisfaction correspondante. Plus les bulles sont importantes, plus la connaissance est sollicitée et plus la couleur tend vers le vert, plus la satisfaction est positive.

<figure><img src="/files/RZ0tlFnu8dPvCwHvsvIy" alt=""><figcaption></figcaption></figure>

### Résumé

Vous pouvez voir le nombre de connaissances de votre base de connaissances qui sont utilisées par les internautes.

### Afficher uniquement les connaissances désactivées

Si vous souhaitez n'afficher que les connaissances qui n'ont pas le statut « Publiée » (statut indiquant que la connaissance est utilisée en production), cliquez sur le lien **Afficher uniquement les connaissances désactivées**.

Les connaissances sont listées par ordre de popularité, c'est-à-dire le nombre de fois où elles ont été utilisées. La statistique d’utilisation des connaissances peut être :&#x20;

* en valeur absolue :  il s’agit du nombre de fois où cette connaissance a été utilisée,
* pondérée : il s’agit de la somme absolue divisée par le nombre d'interactions par conversation.

Si la connaissance dispose d’avis positif, cette donnée est affichée sous forme de  pourcentage.Pour chaque connaissance il est possible de consulter l'évolution de sa popularité et de la satisfaction qu’elle apporte.

### Informations complémentaires

<figure><img src="/files/zkQ0HzVQulhHxItJZOVQ" alt=""><figcaption></figcaption></figure>

Le tableau ci-dessus montre des informations supplémentaires sur l'utilisation des connaissances :

* **Popularité** : le nombre de fois que la connaissance a été sollicitée par les utilisateurs finaux dans un délai donné.
* **Avis positif (en %)** : le ratio d'avis positifs par rapport au nombre total d'avis laissés sur la réponse d'une chatbox.
* **Evolution** : information graphique sur l'évolution des données suivantes à un certain laps de temps : popularité, popularité relative et nombre d'avis laissé sur des réponses.

<figure><img src="/files/yujfWvY6hW4WguXpscxy" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Ngzp0TM1ssifIXk2a877" alt=""><figcaption></figcaption></figure>

* Détails sur l'insatisfaction de l'utilisateur : lorsque les utilisateurs sont autorisés à spécifier la raison de leur insatisfaction après avoir donné des avis négatifs, un tableau s'affichera en cliquant sur le nombres d'avis.

<figure><img src="/files/JkLpu7jx9zI9eYQ83ogc" alt=""><figcaption></figcaption></figure>

En cliquant sur l'icône ![](/files/L0Ougjd5ON39LM5VUMni), vous pouvez voir la conversation qui a généré cet insatisfaction.&#x20;

<figure><img src="/files/T1itPLafoSteIc0oF9JS" alt=""><figcaption></figcaption></figure>


# Qualification

Cette section vous permet d'analyser le taux conversations en échecs par [la qualification des conversations ](#qualification-des-conversations)ou bien le taux d'incomprehension par [la qualification des interactions](#qualification-des-interactions). Vous trouverez de nombreux graphiques pour vous aider à observer la qualification de vos conversations et interaction dans cette rubrique.&#x20;

<figure><img src="/files/kz57aYL6TUMc5rrMEsjO" alt=""><figcaption></figcaption></figure>

## Qualification des conversations&#x20;

### **Qualification des conversations**

Les conversations ainsi que les interactions qui les composent sont classées en 3 catégories en fonction de leur qualification. Les 3 catégories de qualification sont les suivantes :

* **Uniquement réponses directes:** la conversation se compose seulement de questions/réponses directes. Cela signifie que le bot a su comprendre toutes les questions et y apporter les réponses ;
* **Terminant par une réponse directe :** au cours de la conversation, il peut y avoir une reformulation de la question ou une incompréhension mais la conversation se termine par une réponse directe ;
* **En échec :** la conversation se termine par une question incomprise ou sur une proposition de formulations et l'internaute n'a cliqué sur aucune d'elles.

Les deux premières catégories sont considérées comme des conversations réussies.  L'évolution de la répartition des conversations au cours du temps reflète l’entraînement du bot.&#x20;

La page des statistiques de qualification présente donc la répartition des conversations et des interactions par type de qualification.  Au clic sur une des statistiques, les détails pour cette dernière sont affichés.

<figure><img src="/files/pV4pLirulkKixYrgsqzS" alt=""><figcaption></figcaption></figure>

### Qualification des conversations avec contacts fournis

Lors de la création d’une connaissance, si la réponse renseigne un contact extérieur au bot il est possible de spécifier le type de contact fourni, cela permet de connaître la solution alternative proposée aux utilisateurs selon la qualification. Ainsi, il est possible de connaître, parmi le pourcentage d'échecs, ce qui a été proposé aux internautes qui n'ont, a priori, pas eu leur réponse par le biais du bot et qui ont donc été redirigé vers un autre type de contact qui pourra les renseigner.

<figure><img src="/files/KaywQvgRcKlSF2BmbSns" alt=""><figcaption></figcaption></figure>

### Qualification des conversations selon le nombre d'interactions

<figure><img src="/files/nBOFAmtVQmyHBZMsWCNh" alt=""><figcaption></figcaption></figure>

### Qualifications des conversation selon le nombre d'interactions ( en %)

<figure><img src="/files/XxLyxZJdmoCUyku3PvMh" alt=""><figcaption></figcaption></figure>

### Qualification des conversations par navigateur

<figure><img src="/files/2TrtUASVTp5piYdwlN5M" alt=""><figcaption></figcaption></figure>

## Qualification des interactions

Pour la qualification des interactions, il est possible d’obtenir dans le BMS plusieurs détails :\
le **type d’interactions** avec la probabilité de l’interaction suivante, la **qualification des interactions en fonction de la longueur des phrases**, ainsi que la **qualification selon le nombre de mots par question**.

La qualification par interactions repose sur l’analyse de l’ensemble des interactions enregistrées, à l’exception de celles issues de **conversations de test ou de qualification**, qui sont systématiquement ignorées.

Certaines interactions sont également exclues du calcul, notamment celles qui correspondent à des **connaissances ignorées dans les statistiques**. Toutes les autres interactions sont ensuite **réparties dans 14 catégories**, chacune correspondant à un type précis d’événement ou de traitement :

* CHART\_BUSINESS\_MATCH (0)
* CHART\_PROTOCOL\_MATCH (1)
* CHART\_DISABLED\_KNOWLEDGE (2)
* CHART\_REWORD (3)
* CHART\_OUT\_OF\_SCOPE (4)
* CHART\_GARBAGE (5)
* CHART\_CLICKED\_REWORD (6)
* CHART\_NO\_INTERACTION (7)
* CHART\_OPERATOR (8)
* CHART\_OTHERS (9)
* CHART\_CLICKED\_REDIRECTION\_LINK (10)
* CHART\_PUSH (11)
* CHART\_CLICKED\_REWORD\_AUTO (12)
* CHART\_CLICKED\_JAVASCRIPT\_LINK (13)

Seules les **interactions de production** (hors tests, qualifications et connaissances ignorées) sont donc prises en compte et ventilées dans ces catégories, qui sont consultables dans les statistiques du BMS.

**Pour le calcul du taux d’échec** dans les statistiques V1, **seule la catégorie `CHART_GARBAGE` (5)** est considérée comme un échec. Les autres catégories ne sont pas comptabilisées dans les échecs.

### Qualification des réponses

<figure><img src="/files/wjtbW4SfISjl14aZN6Iz" alt=""><figcaption></figcaption></figure>

### Qualification des interactions en fonction de la longueur des phrases

<figure><img src="/files/FrZW9rCUzYPADaRsUtKN" alt=""><figcaption></figcaption></figure>

### Qualification des interactions selon le nombre de mots par question (%)

<figure><img src="/files/EDv0mjAhl5nN7vlYZUuI" alt=""><figcaption></figcaption></figure>


# Avis des utilisateurs

La page des statistiques des avis des utilisateurs permet de suivre et analyser la satisfaction renseignée par les utilisateurs finaux.  Depuis cette page, il est possible d’observer la proportion d'avis négatifs et positifs ainsi que l'évolution de cette répartition via des graphiques. Par ailleurs, lorsque l'utilisateur donne un avis négatif, il a la possibilité de mentionner la raison de son insatisfaction parmi les choix proposés. Les statistiques relatives à la satisfaction utilisateurs donnent également des informations quant à la répartition des motifs d’insatisfaction.

<figure><img src="/files/to7DPhy7up5jeFUWEXvk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/SNEPodHe1FpbJrwQ70sS" alt=""><figcaption></figcaption></figure>

* La partie supérieure de la page présente la satisfaction générale des conversations.
* La partie inférieure de la page se concentre sur les raisons de l'insatisfaction par interaction.

## Satisfaction globale d'une conversation

La satisfaction globale d'une conversation est calculée en fonction du poids de chaque type de retour.

Par exemple, disons le nombre de retours positifs = A et le nombre de retours négatifs = B.

* Si A > B, la satisfaction globale est POSITIVE
* Si A < B, la satisfaction globale est NEGATIVE.
* Si A = B, alors la satisfaction globale prend la valeur du dernier commentaire laissé dans la conversation.

{% hint style="info" %}
Les retours “sans avis” sont comptabilisés avec les avis positifs dans le calcul de la satisfaction globale.
{% endhint %}

La satisfaction globale est également représentée par un pouce dans la liste des conversations.

En haut à droite de la page, un bouton **Afficher les commentaires des utilisateurs** est disponible. En cliquant dessus, un autre onglet s'ouvre et énumère les commentaires des utilisateurs de chaque connaissance.

## Raisons d’insatisfaction

Quand l'utilisateur donne un avis négatif, il/elle a la possibilité de spécifier ou non la raison de son insatisfaction en sélectionnant l'une des 3 réponses prédéfinies.

Cette section vous aide à identifier les raisons les plus courantes de l'insatisfaction.


# Liens cliqués

Le menu statistiques permet de déterminer si les redirections ou liens proposés dans les réponses du bot ont été cliqués par l'utilisateur. Pour cette statistique il est indiqué le nombre de fois où une réponse du bot a proposé à l'utilisateur de cliquer sur un lien et le nombre de fois où ce lien a été cliqué. Le ratio cliqué/suggéré, mesure l'appétence d'un utilisateur à cliquer sur un lien proposé.

Ceux-ci sont classés en fonction du type de contact fourni dans la réponse lorsqu'il y en a un. Ceux dont la réponse n'a pas de contact enregistré se retrouvent dans « Aucun ».

* Suggéré : nombre de fois où une réponse du bot a proposé à l'utilisateur de cliquer sur un lien ;
* Cliqué : nombre de fois où l'utilisateur a cliqué sur le lien proposé ;
* Ratio : il s'agit du ratio cliqué/suggéré, mesure l'appétence d'un utilisateur à cliquer sur un lien proposé.

<figure><img src="/files/dYXTQtO1yBTnWMJn6DwL" alt=""><figcaption></figcaption></figure>

Lorsque vous cliquez sur la flèche ![](/files/VmLTyzsFgzfWAU0UWZh8) une première fois, la liste détaillée des liens s'affiche.

<figure><img src="/files/EWnJz8BDcImWsga35mmV" alt=""><figcaption></figcaption></figure>

Lorsque vous cliquez sur la flèche ![](/files/VmLTyzsFgzfWAU0UWZh8) une deuxième fois, la liste des connaissances dans lesquelles le lien est utilisé s'affiche. Si vous cliquez sur la connaissance, celle-ci s'affiche dans un nouvel onglet.

<figure><img src="/files/doZ9UAvGVpsJ24Ijhyci" alt=""><figcaption></figcaption></figure>

Vous pouvez exporter cette liste en cliquant sur **export vers Excel**

<figure><img src="/files/pq5LkbmU3vmS15F8i9rd" alt=""><figcaption></figcaption></figure>


# Reformulations

Lorsque le bot n'est pas certain d'avoir compris la question, il propose 1 à 3 formulations pouvant correspondre à la question de l'utilisateur.

<figure><img src="/files/7mg3WGaGDHTENGCuCS8V" alt=""><figcaption></figcaption></figure>

Ce graphe permet de connaître le nombre de reformulation proposé par le bot pour une connaissance. Ainsi, cela permet de connaître le pourcentage de reformulations proposées par le bot lorsqu'il ne comprend pas ainsi que le pourcentage du nombre d'utilisateurs ayant cliqué sur telle ou telle proposition.

Sous le graphique, vous avez la liste des connaissances :

* Compte : nombre de fois où la connaissance a été proposée ;
* Taux de clic : le rapport entre le nombre de fois où elle a été suggérée et le nombre de fois où les utilisateurs ont cliqué dessus (et qu'elle correspondait à la question de l'utilisateur).
* Contenu des connaissances : lorsque vous cliquez sur l'une des connaissances, elle s'affiche dans un nouvel onglet.


# Performance

### Temps de traitement

Le temps de traitement moyen du moteur de dialogue permet de savoir si les demandes internautes sont longues à traiter par le moteur de dialogue.

* **Durée moyenne :**
  * Service Web : il s'agit ici du temps moyen de réponse (sans tenir compte des délais réseau).
  * Moteur de dialogue : il s'agit du temps moyen de traitement du moteur de dialogue pour une question.
* **Durée maximale :**
  * Service Web : il s'agit du temps maximum de réponse (sans tenir compte des délais réseau).
  * Moteur de dialogue : il s'agit du temps maximum de traitement du moteur de dialogue pour une formulation utilisateur.
* **Requêtes avec un temps de traitement important :**

  Nous estimons qu'une requête dont le traitement est important est une requête dont le temps de réponse est supérieur à 1 seconde (mesure du temps de réponse du service web).

<figure><img src="/files/YQdmzkcVb7jnf5tZ9izG" alt="" width="375"><figcaption></figcaption></figure>

###


# Autres

* **Reformulations cliquées:** lorsque le bot n'est pas certain d'avoir compris une question, il propose 1 à 3 connaissances proches. Nous pouvons ainsi obtenir le pourcentage de propositions qui ont été cliquées.

<figure><img src="/files/tpKl0b6yBeAXzNWE1aZD" alt=""><figcaption></figcaption></figure>

* **Interactions par conversation:** vous pouvez ici visualiser la distribution des conversations en fonction du nombre d'interactions. La longueur moyenne d'une conversation est souvent corrélée à la manière dont répond votre bot.

<figure><img src="/files/edoHa85Qin6m9XJS58gI" alt=""><figcaption></figcaption></figure>

* **Répartition des connaissances:** cette métrique permet de connaître la quantité de connaissances couvrant un pourcentage de tous les dialogues avec le bot.
* **Connaissances différentes:** il est comptabilisé le nombre de connaissances différentes utilisées au cours d'une conversation. Sur le graphique, il est alors possible de retrouver la somme de ces connaissances.

<figure><img src="/files/usujz8GXjjmv2h5Gd01H" alt=""><figcaption></figcaption></figure>


# Livechat

Lorsque le livechat est activé pour un bot, des statistiques spécifiques à ce produit sont mises à disposition au sein du BMS.

<figure><img src="/files/i3a97VpfIzKqwa3wCYVp" alt=""><figcaption></figcaption></figure>


# Conversations

Les statistiques de conversations livechat porte sur le volume et la durée. Le gestionnaire du bot peut obtenir :&#x20;

* **Volume :** il s'agit du nombre total de conversations qui ont été attribuées ;
* **Durée :** durée moyenne d'une conversation ;
* **Conversations prises :** il s'agit du nombre de conversations qui ont été attribuées ET décrochées par l'opérateur ;
* **Opportunités réussies** **:** nombre de fois où il a été déterminé qu'il fallait établir une connexion en Livechat et que les conversations ont été directement attribuées à un opérateur sans passer par la file d'attente.

Toutes ces données sont représentées par des graphiques permettant de visualiser l'évolution.

<figure><img src="/files/BFeYLg3vHRnTjiEcf9vy" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Les statistiques des opportunités fonctionnent avec les livechats externes.
{% endhint %}


# Connaissances

Pour les connaissances qui proposent la connexion au Livechat, cette page vous permet de voir le nombre de fois où elles ont été sollicitées et le nombre de fois où elles ont permis d'établir une connexion en Livechat.

<figure><img src="/files/nk7c2OKKw7OHj3zGf4gC" alt=""><figcaption></figcaption></figure>


# Opérateurs

\
Les statistiques relatives aux opérateurs livechat peuvent être globales à tous les opérateurs ou spécifiques à chacun d’entre eux. &#x20;

<figure><img src="/files/JqGahVgwY5QOIDb0deq5" alt=""><figcaption></figcaption></figure>

## Données globales

<figure><img src="/files/QXIkNoaCD3w7MgtDqASD" alt=""><figcaption></figcaption></figure>

* **Temps de réponse moyen :** temps d'attente moyen pour qu'un internaute obtienne une réponse d'un opérateur ;
* **Taux d'occupation moyen :** permet de savoir, lorsqu'un opérateur est en ligne, combien de temps il passe en discussion. Il est ainsi possible de déterminer le nombre d'opérateurs nécessaires. Un opérateur est à 100% d'utilisation lorsqu'il gère 3 conversations en même temps;
* **Nombre maximum d'opérateurs connectés en même temps :** permet de connaître le nombre maximum d'opérateurs qui étaient connectés en même temps à une même période.

## Données par opérateur

Vous pouvez retrouver diverses statistiques globales pour chacun des opérateurs.

### Taux de simultanéité

Le taux de simultanéité correspond à la part du temps, sur une période donnée (par exemple, une heure de travail), durant laquelle un opérateur gère une ou plusieurs conversations en même temps. Ce taux permet d’analyser le niveau d’activité et la charge de travail sur le livechat.

#### Définition

Pour chaque opérateur, le taux de simultanéité est calculé en fonction du nombre de conversations prises en charge simultanément et de leur durée sur la période considérée.\
Plusieurs cas peuvent se présenter :

* **0 %** : aucune conversation n’a été traitée sur la période.
* **50 %** : une seule conversation traitée, d’une durée correspondant à la moitié de la période.
* **100 %** : une conversation a occupé toute la période sans interruption.
* **200 %** : deux conversations ont été gérées en même temps sur l’intégralité de la période.

Ce taux peut dépasser 100 % lorsqu’un opérateur gère plusieurs conversations simultanément pendant une même période.

#### Points d’attention

* La durée prise en compte ne correspond pas toujours uniquement au temps passé en livechat, car une partie du temps de la conversation peut inclure des moments où l’opérateur n’est pas encore intervenu (par exemple, lorsque le bot est actif ou en attente).
* Il est possible que plusieurs conversations soient affichées sur la même période, mais toutes ne sont pas nécessairement affectées à l’opérateur en continu. Certaines parties de la conversation peuvent être prises en charge par un bot ou par un autre opérateur.

<figure><img src="https://lh7-eu.googleusercontent.com/FieOOXVELUqX8H_TtamZiDWDSl3GVH9EUsHZ4z6jkqreMxqqznRoM5RZySwa4cUsA6fVdWhzWLi6X0ddnIVS9uIlk04DsF9eK2yve5v0C_xnYSYa1bFCBavpy27jGjx8AEnEoEfMs9-8HNYLUQAo3w" alt=""><figcaption></figcaption></figure>


# Satisfaction

À la fin d'une conversation en livechat, il est possible de déclencher un questionnaire de satisfaction pour les utilisateurs finaux ainsi qu’un [questionnaire de satisfaction](/preferences/bot/questionnaires) pour les opérateurs.

Ainsi, depuis les statistiques livechat, le gestionnaire du bot peut obtenir les résultats suite à la complétion de ces questionnaires. La satisfaction des opérateurs peut être affichée par opérateur.

<br>

<figure><img src="/files/EouuBKNPo2xS1cgER6nQ" alt=""><figcaption></figcaption></figure>


# Files d'attente

Si vous avez mis en place une [file d'attente](/livechat/livechat-dydu/configuration-livechat-dydu/files-dattente) pour le Livechat, cette page vous permet de connaître :

* Le temps d'attente moyen dans cette file d'attente ;
* Le taux d'occupation ;
* Le nombre d'utilisateurs qui ont quitté la file d'attente (vous pouvez également obtenir cette donnée par compétence).

Toutes ces données peuvent être obtenues par [compétence](/livechat/livechat-dydu/configuration-livechat-dydu/competences) et sont représentées par des graphiques permettant de visualiser l'évolution.

<figure><img src="/files/DWD2bIYSJqkPfC8eMup0" alt=""><figcaption></figcaption></figure>


# Base de connaissances

Le BMS permet également de suivre les statistiques propres à la base de connaissances du bot .

<figure><img src="/files/4PdnyZ2xbKOu5R0SxdMp" alt=""><figcaption></figcaption></figure>


# Formulations

Vous pouvez ici visualiser le nombre de formulations présentes dans votre base de connaissances en fonction des thématiques dans lesquelles elles sont présentes. Il est possible d'observer l'évolution du nombre de ces formulations dans le graphique de droite.

<figure><img src="/files/70jAOu4j3kkJRxB0Fa8I" alt=""><figcaption></figcaption></figure>


# Utilisateurs

Cette statistique porte sur les utilisateurs du BMS (les gestionnaires du bot et de son contenu). Pour chacun d’entre eux, il est possible d'identifier :&#x20;

* le temps passé sur chaque page du BMS,
* le nombre de création de connaissances,
* le nombre de mise à jour de contenu effectué.

<figure><img src="/files/4dPgQt9D5KtnrqwUgSZH" alt=""><figcaption></figcaption></figure>

<figure><img src="https://docs.dydu.ai/fr/assets/images/u01-9c7dc4e1d20d9a5ecb7b403f90e518f9.png" alt=""><figcaption></figcaption></figure>


# Matches

Dans **Statistiques > Base de connaissances > Matches**, vous trouvez des analyses sur l'utilisation des associations (entre les formulations et connaissances). Vous pouvez affiner votre recherche en filtrant par langues , espaces de consultation et/ou par date.

<figure><img src="/files/gnRTSI6EHhgLoZ6LWgya" alt=""><figcaption></figcaption></figure>

* Classement : indique la classification de la formulation
* Formulation : la formulation utilisée (celle qui a matché)
* Utilisation: le nombre de fois que la formulation a matché.
* Taux : la représentation de l'utilisation de la formulation
* Somme des taux : somme des taux précédents + taux actuel (ST-1 + T1)


# Export

Depuis le menu statistiques du BMS il est possible de procéder à un export des données suivantes :&#x20;

* **Dialogues et interactions (excel)** : cela vous permet d'éditer un export de données Excel sur le volume de dialogues et d'interactions.
* **Utilisation des connaissances (excel) :** : cela vous permet d'éditer un export Excel des données sur l'utilisation des connaissances : les connaissances sont classées en fonction de leur popularité et indiquent le pourcentage de satisfaction pour chacun.
* **Rapport d'activité (PDF)** : il s'agit d'un export pdf des données sur le volume, la qualification, les connaissances les plus utilisées, la satisfaction et les indicateurs techniques.
* **Dialogues et Interactions (PDF)** : cet export pdf vous permet de retrouver le volume de dialogues, ceux en échec, les 10 premières questions, la satisfaction et le nombre d'escalades Livechat (suite à un clic sur un lien).

<figure><img src="/files/iYofSDTzkQWBJ17QPGIY" alt=""><figcaption></figcaption></figure>

La période utilisée pour l'export correspond à la période que vous avez sélectionnée dans le **Filtre**.

Vous pouvez également choisir de recevoir un rapport par mail à la fréquence de votre choix : un par jour, par semaine ou par mois.


# Configuration

### Configuration

Cette section vous explique comment configurer les URLs présentes dans les connaissances et les objectifs. Vous pouvez accéder à cet espace de configuration depuis le menu **Statistiques**.

### Barre d'outils

Vous pouvez configurer les URLs ici :&#x20;

Cliquez sur **Ajouter**. Remplissez les champs et cliquez sur la coche bleue pour valider la création de votre préfixe d'URL.


# Statistiques personnalisées

Les rapports statistiques prédéfinis (détaillés dans la partie précédente) ne sont ni modifiables, ni personnalisables. Or les besoins statistiques lors d’un projet bot peuvent être très spécifiques. Pour cette raison, le BMS DYDU offre aux gestionnaires de bot un outil leur permettant de configurer en toute autonomie des rapports personnalisés de statistiques.

Les statistiques personnalisées permettent donc aux utilisateurs du BMS de constituer leurs propres rapports statistiques en sélectionnant les données qu’ils souhaitent y faire apparaître.&#x20;

Les rapports peuvent être exportés automatiquement et leur données monitorées à travers des alertes.

&#x20;&#x20;

<figure><img src="/files/LXIkubowynVCj0k7xrqB" alt=""><figcaption></figcaption></figure>


# Rapports

Pour configurer votre premier rapport, allez dans [**Statistiques personnalisées > Configuration > Rapports**](/statistiques-personnalisees/configuration/rapports)**. .**&#x20;

Une fois créés, les rapports de statistiques personnalisées sont accessibles directement depuis le menu de gauche dans le BMS.&#x20;

<figure><img src="/files/luHRbyWRfhElpiOIQbyT" alt=""><figcaption></figcaption></figure>

Cela permet d'accéder rapidement aux rapports existants et ainsi les configurer si besoin.

<figure><img src="/files/PRIY2RaGVjCjtb3jSdaM" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Les données statistiques par heure (exemple modéle : rapport conversations par heure) sont disponibles pendant une durée de 30 jours.&#x20;

Un message informatif est affiché au-dessus des graphiques associés.

## <img src="/files/ZwA4oF8GVDEaMO1ee3Qx" alt="" data-size="original">

{% endhint %}


# Alertes

Les statistiques personnalisées offrent une fonctionnalité d’alerte permettant d’identifier d’éventuelles anomalies. Ainsi, le gestionnaire de bot peut configurer les alertes de son choix en précisant :&#x20;

* la source de données à observer
* les conditions de l’alerte : le seuil de déclenchement, la période, etc.

Pour configurer les alertes, allez dans[ **Statistiques personnalisées > Configuration > Alertes.**](/statistiques-personnalisees/configuration/alertes)

Une fois votre alerte configurée, les valeurs sont visibles dans cette section **Statistiques personnalisées > Alertes** :&#x20;

<figure><img src="/files/W0cxlxPHfdFBxRqwpMNH" alt=""><figcaption></figcaption></figure>


# Configuration


# Rapports

## Configuration de rapport personnalisé

Les rapports personnalisés font appel à des composants de différents types. Ces composants permettent d’afficher les données de son choix dans un format spécifique.&#x20;

Il est ainsi possible d’afficher les données sous forme de tableaux ou encore de graphiques. Le type de graphique peut également être personnalisé. Par exemple, il peut s’agir d’un graphique en colonnes, en secteur ou sous forme d’une matrice.

Pour chaque composant d’un rapport, il est possible de faire appel à une ou plusieurs sources de données ou encore de restreindre cette donnée à un critère spécifique. Ce critère peut être une variable de conversation.&#x20;

Par exemple, pour bot qui récupère (à travers les conversations) le service dans lequel travaille l’utilisateur final, il est possible de restreindre les valeurs du graphique à ce service.

### Créez un rapport

1. Pour créer vos rapports statistiques personnalisés, allez dans **Statistiques personnalisées > Configuration > Rapport** et cliquez sur **Ajouter un rapport**. Donnez-le un nom et cliquez sur **Créer**.

<figure><img src="/files/Gc2peNfD1EaEE65uZY13" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1aEOuuv5Z999mVpOL8OD" alt=""><figcaption></figcaption></figure>

Comme vous le voyez dans la capture d'écran ci-dessus, vous pouvez également créer un rapport via l'import d'un rapport existant. Cliquez sur **Choisir un fichier** puis **Importer**.

> Vous pouvez y appliquer des filtres tels que l'espace de consultation, la langue et la période. Les données seront automatiquement adaptées dans le rapport.

2. Une fois le rapport créé, vous pouvez commencer à y ajouter des éléments (que nous appelons "composants"). Pour ce faire, cliquez sur **Ajouter un nouveau composant**.

   Choisissez celui qui vous convient en cliquant dessus, ce qui vous mènera au panneau de configuration du composant.

<figure><img src="/files/9iRFgFN1zQrgYrR424lj" alt=""><figcaption></figcaption></figure>

Regardons plus en détail les composants **Table** et **Graphique** qui sont un peu plus complexes.

Ils contiennent tous les deux les trois sections suivantes : sources de données, boucles et restrictions.

<figure><img src="/files/bYXIgbkcXNLzMOifrKFH" alt=""><figcaption></figcaption></figure>

**Sources**: cette section vous permet de sélectionner et de configurer les données à afficher.

* **Indicateurs**: un indicateur correspond à un type de donnée à suivre. Notre solution offre une grande variété d'indicateurs que vous pouvez suivre. Vous pouvez vous référer à la section Annexe pour la liste d'indicateurs complète.
* **Boucle intérieure**: une boucle intérieure permet de ventiler les données affichées selon un critère sélectionné (par exemple, par langue, espace de consultation, solution utilisée, etc.). Si une boucle interne est appliquée, l'indicateur sera ventilé selon le critère sélectionné.
* **Restrictions**: une restriction est un filtre qui peut être appliqué à l'indicateur. Seules les données répondant au critère de restriction seront affichées.
  * **Dimension**: une dimension est un critère de restriction. Vous ne pouvez utiliser qu'une seule dimension par restriction.

> Remarque : un indicateur ne peut avoir qu'**une boucle interne** mais **plusieurs restrictions**.

**Boucles**: une boucle a la même fonction qu'une boucle interne susmentionnée. La principale différence est qu'une boucle interne sera appliquée à **un indicateur** dans une source de données, tandis qu'une boucle sera appliquée à **tous les indicateurs** du composant.

**Restrictions**: cette section a la même fonction que celle dans la section *Source de données*. La principale différence est qu'ici, les restrictions seront appliquées à **tous les indicateurs** du composant.

3. Une fois que vous avez configuré votre rapport, si les données pertinentes sont disponibles sur votre bot, vous verrez immédiatement les résultats dans la section **Prévisualisation** ci-dessous.<br>

<figure><img src="/files/90AYAfNg6Gq3G2jntmv9" alt=""><figcaption></figcaption></figure>


# Exports

Chaque rapport de statistiques personnalisées peut être exporté. Le gestionnaire peut également configurer des envois par mail des rapports de son choix à la fréquence qu’il souhaite.

### Exportez un rapport

Une fois que vous avez créé un rapport, vous pouvez l'exporter en quelques étapes simples.

Tout d'abord, allez à **Statistiques personnalisées > Rapports** et sélectionnez le rapport que vous souhaitez exporter en haut de la page.

Vous verrez ensuite deux options d'export - l'une pour exporter le rapport entier et l'autre pour exporter les **composants individuels** du rapport.

<figure><img src="/files/cBRXWD8lxuq0RpXV8CM8" alt=""><figcaption></figcaption></figure>

> Il est important de noter que vous pouvez exporter le rapport entier au format Excel ou XML, alors que les composants peuvent être exportés au format Excel, XML, ou JSON.

### Recevez une copie de votre rapport par e-mail

Après avoir créé un rapport, vous pouvez en recevoir des copies régulières dans votre boîte d'e-mail.

Pour faire ceci :

1. Créez un export email dans **Statistiques personnalisées > Configuration > Exports :**

* Cliquez sur **Ajouter un export**.
* Donnez à l'export un **nom**.
* Définissez la \*\*fréquence d'envoi \*\* (quotidienne, hebdomadaire, à un jour spécifique de la semaine, etc.).
* Le format de copie envoyée sera toujours **Excel**.
* Enfin, choisissez le **rapport** dont vous voulez recevoir la copie, puis cliquez sur **Ajouter**.

<figure><img src="/files/S2oxqzRUE0nHBjZT1eKz" alt=""><figcaption></figcaption></figure>

2. Abonnez-vous à l'export que vous venez de créer en vous rendant dans vos paramètres de **Compte**,

<figure><img src="/files/cb3E828eTZveZ6NUwrbI" alt=""><figcaption></figcaption></figure>

3. puis sélectionnez l'export e-mail :&#x20;

<figure><img src="/files/zc3gOowDP7dYqKqTuvRw" alt=""><figcaption></figcaption></figure>

Les exports d'e-mail sélectionnés apparaîtront également dans **Statistiques personnalisées > Configuration > Exports**. L'option **Se désabonner** vous permet d'annuler l'envoi du rapport à votre boîte de réception

<figure><img src="/files/Ztdqe1dVEi2Sh3CnUiw0" alt=""><figcaption></figcaption></figure>


# Sources prédéfinies

Une source prédéfinie correspond au type de données que votre alerte doit suivre.

## C**réer une source prédéfinie**

1. Cliquez sur le bouton <mark style="color:purple;">**+**</mark> pour ajouter une nouvelle source.

<figure><img src="/files/CcE7jtoHvBbSk9CwHr9I" alt=""><figcaption></figcaption></figure>

2. Remplissez les champs suivants :

* **Nom (facultatif)** : si le champ est vide, il sera automatiquement rempli avec le nom de l'indicateur que vous choisissez.
* **Unité (facultatif)**
* **Item max (facultatif)** : il définit le nombre maximum d'éléments (de 3 à l'infini) qui seront affichés dans votre rapport.
* **Indicateur (obligatoire)** : sélectionnez dans la liste déroulante le type de données que vous souhaitez suivre.
* **Boucle interne (optionnelle)** : il vous permet de représenter la source de données (indicateur) dans différentes catégories telles que la langue, l'espace de consultation ou les compétences d'opérateurs Livechat.
* **Restriction (optionnelle)**: il vous permet de restreindre la source de données selon une dimension prédéfinie.

> Remarque : un indicateur ne peut utiliser qu'**une boucle** mais peut avoir **plusieurs restrictions**.

<figure><img src="/files/Wnkvffhtc3oQOmRifeKH" alt=""><figcaption></figcaption></figure>

3. Une fois terminé, votre source prédéfinie est enregistrée automatiquement et peut maintenant être utilisée pour [créer votre alerte](/statistiques-personnalisees/configuration/alertes).

## Supprimer une source prédéfinie

{% hint style="warning" %}
Vous ne pouvez pas supprimer une source utilisée dans une alerte.&#x20;
{% endhint %}


# Alertes

## Créez une alerte personnalisée

Utilisez des alertes pour suivre l'évolution des données clés de votre bot.

Remarque : les alertes ne peuvent être appliquées qu'aux indicateurs disponibles dans les statistiques personnalisées. Référez-vous à la section [Annexe](/statistiques-personnalisees/configuration/annexe-liste-des-indicateurs) pour voir tous les indicateurs disponibles.

### **Première étape: créer une source prédéfinie**

Avant de créer une alerte, vous devez d'abord créer une **source prédéfinie**, qui correspond au type de données que votre alerte doit suivre.

Pour y parvenir, allez dans [**Statistiques personnalisées > Configuration > Sources prédéfinies**](/statistiques-personnalisees/configuration/sources-predefinies)&#x20;

### **Deuxième étape: configurer votre alerte**

1. Allez dans **Statistiques personnalisées > Configuration > Alertes** et cliquez sur le bouton "Ajouter une alerte".

<figure><img src="/files/I03eQEy4tHYzTe6dlCbi" alt=""><figcaption></figcaption></figure>

2. Remplissez les champs suivants :&#x20;

<figure><img src="/files/bpMbZ1FIeaiAl3p3X6cz" alt=""><figcaption></figcaption></figure>

* **Label (obligatoire)**: cela correspond au nom de votre alerte.
* **Source prédéfinie** : choisissez la source prédéfinie que vous venez de créer dans la liste déroulante.&#x20;
* **Type de déclenchement** : ceci correspond au format dans lequel les données seront affichées. Vous pouvez choisir entre **Absolu** (les données seront affichées en nombre) et **Relatif** (les données seront affichées en %).
* **Seuil** :

  * **Est inférieur à** : l'alerte sera déclenchée lorsque l'indicateur est **inférieur** au seuil.
  * **Est supérieur à** : l'alerte sera déclenchée lorsque l'indicateur est **supérieur** au seuil.

  *Par exemple, si vous définissez un seuil minimum absolu de 10 sur le nombre de conversations pendant une période donnée, vous recevrez une alerte lorsque le bot n'aura que 9 conversations pendant cette période.*
* **Période de comparaison** : elle correspond à un laps de temps au cours duquel le seuil sera calculé. *Par exemple, si vous définissez la période à "semaine", l'alerte sera déclenchée si le nombre total de conversations durant la semaine est inférieur/supérieur au seuil défini.*
* **Par rapport à** (*disponible que lorsqu'un seuil relatif est utilisé*) : cela vous permet de déterminer le laps de temps avec lequel la période de comparaison sera comparée.

  *Par exemple, si vous définissez la période de comparaison comme "jour" avec un seuil minimal relatif de 10%, le fait de choisir « jour précédent » signifie que l'alerte sera déclenchée s'il y a moins de 10 % de nouvelles conversations par rapport au jour précédent. Cette fonctionnalité est utile pour suivre le taux d'évolution d'une source de données.*

3. Enregistrez votre alerte en cliquant sur **Ajouter**.
4. Votre alerte apparait en haut à gauche de vitre écran.&#x20;
5. Vous pouvez supprimer votre alerte en cliquant sur ![](/files/6Vmmnx3UBrKnSfF6o4N6)

<figure><img src="/files/rf0AHPmGWGd7vsBqJvX2" alt=""><figcaption></figcaption></figure>

Pour visualiser le résultat de vos alertes, allez dans [**Statistiques personnalisées > Alertes.**](/statistiques-personnalisees/alertes)


# Préférences

## Dimensions

Une dimension est utilisée dans des rapports statistiques personnalisés pour filtrer les données selon un critère spécifique.

Par exemple, vous pouvez utiliser la dimension "espace de consultation" pour filtrer les données de conversation à partir d'un espace de consultation spécifique de votre bot. Un autre exemple est "Compétence Livechat", qui vous permet de filtrer des données appartenant à un domaine d'expertise de vos opérateurs Livechat.

Le BMS fournit plusieurs **dimensions par défaut** qui peuvent être utilisées directement lors de la création de vos rapports statistiques personnalisés, mais vous pouvez également créer des **dimensions personnalisées**.

{% hint style="info" %}
Veuillez noter que les dimensions personnalisées doivent être des variables provenant de vos conversations. Elles peuvent être trouvées dans Apprentissage > Conversations
{% endhint %}

<figure><img src="/files/EE0IotcsUNFScXpv6U75" alt=""><figcaption></figcaption></figure>

**Comment créer une dimension personnalisée ?**

1. Pour créer une dimension personnalisée, allez dans **Statistiques personnalisées > Configuration > Préférences**, et cliquez sur **Ajouter une dimension**. Sélectionnez **Variable externe**.
2. Dans le champ "Configuration optionnelle", entrez la variable que vous voulez utiliser comme dimension. Par exemple, utilisez la variable **name** que nous avons vue ci-dessus.

<figure><img src="/files/nUcigI0Jp8TuunrTT7kQ" alt=""><figcaption></figcaption></figure>

3. Enregistrez-la en cliquant sur l'icône "coche".

Votre nouvelle dimension peut maintenant être utilisée immédiatement dans vos rapports personnalisés (Statistiques personnalisées > Configuration > Rapports) soit comme une boucle interne soit comme une restriction. Veuillez noter que les dimensions personnalisées ne s'appliquent qu'aux statistiques collectées par la suite et non avant la création de la dimension.

*Exemple (1) Dimension utilisée comme boucle interne :*&#x20;

<figure><img src="/files/5oM7XOL8MyLlqYP7AMtX" alt=""><figcaption></figcaption></figure>

*Exemple (2) Dimension utilisée comme restriction :*&#x20;

<figure><img src="/files/4Jn8Ko5ty5DXMDDOguFL" alt=""><figcaption></figcaption></figure>

## Période de calcul

Cette section vous permet de déterminer la période de temps pendant laquelle vos statistiques seront calculées.

<figure><img src="/files/yTNwiTCxINlSMhIsS7Ff" alt=""><figcaption></figcaption></figure>

## Réinitialisation

En cliquant sur **Recalcul des statistiques**, toutes les statistiques de votre chatbot seront effacées et recalculées.

<figure><img src="/files/fxhovxDwS1dx6EmBRcOU" alt=""><figcaption></figcaption></figure>

## Transférer les statistiques vers l'URL endpoint

Cette fonctionnalité vous permet de générer des statistiques automatiques sur toutes les données de dialogues associées à votre chatbot. C'est alors au sein de cette section que vous allez pouvoir configurer vos exports automatiques de données de dialogues au format XML.

Ainsi, pour un chatbot configuré, le système récupère l'ensemble des données des dialogues terminés toutes les minutes puis envoie toutes les données en requête POST sur l'URL d'écoute (voir schéma ci-dessous).

<figure><img src="/files/D84CAl3wnOvJTWJiQf5k" alt=""><figcaption></figcaption></figure>

Plus concrètement, veuillez indiquer l'URL endpoint du chatbot, pour lequel vous souhaitez exporter les données de conversation, dans le champ **Les statistiques calculées seront périodiquement envoyées à cette URL** puis cliquez sur **Enregistrer**. Une requête POST est ainsi envoyée à chaque dialogue enregistré, ce qui permet alors d'obtenir les données automatiquement sans avoir besoin d'effectuer de nouveaux exports.

Note : vous pouvez appuyer sur le bouton **Test** qui apparaît en dessous du champ pour effectuer un test et vérifier que l'export est fonctionnel.

###


# Annexe : liste des indicateurs

Les indicateurs représentent l'ensemble des données que vous allez pouvoir utiliser dans vos rapports statistiques. Cette section présente l'intégralité des indicateurs disponibles dans le BMS.

## **Indicateurs**

### **Conversation**

* **Nombre de conversations** : il s'agit du nombre de conversations. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Durée moyenne des conversations en chat auto sans la qualification** : il s'agit de la durée moyenne d'une conversation avec le chatbot (sans prendre en compte la qualification). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Durée moyenne des conversations en chat auto avec la qualification** : il s'agit de la durée moyenne d'une conversation avec le chatbot (en prenant en compte la qualification). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Nombre moyen d'interactions par conversations** : il s'agit du nombre moyen d'interactions par conversations. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Répartition des conversations en fonction de la qualification** : il s'agit d'une répartition des conversations en fonction de leur qualification (réponse directe, livechat, en échec, etc.). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Nombre de questionnaires complétés** : il s'agit du nombre de questionnaires complétés à la fin d'une conversation. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Durée de remplissage du questionnaire opérateur** : il s'agit de la durée moyenne de remplissage du questionnaire envoyé par l'opérateur à la fin d'une conversation Livechat. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Nombre de conversations abandonnées :** nombre de conversations où l’utilisateur quitte le site (fermeture de l’onglet ou du navigateur) alors qu’il attend encore une réponse d’un opérateur, c’est-à-dire avant que celui-ci ait envoyé le moindre message. Cet indicateur n’inclut pas les sorties de file d’attente, qui sont comptabilisées à part. Le calcul démarre au début de l’escalade livechat — lorsque la conversation apparaît sur le pupitre de l’opérateur — et les abandons sont répartis par tranches de 10 secondes, de 0 à 90 secondes, ainsi qu’au-delà de 90 secondes. Si un message a été envoyé par l’opérateur, le départ de l’utilisateur n’est pas considéré comme un abandon dans cette statistique. Peut être affiché dans une table et dans tout les graphiques.
* **Satisfaction sur la conversation automatique** : il s'agit des données de satisfaction sur les conversations avec le chatbot automatique.
* **DialogsCallbackRequestsCount** : il s'agit du nombre de demandes de rappels téléphoniques.
* **DialogsCallbackDurationBeforeOperatorAnswersThePhone** : il s'agit de la durée moyenne avant que l'opérateur prenne en charge le rappel.
* **DialogsCallbackDurationEndCallAndRemoveDialog** : il s'agit de la durée moyenne entre la fin d'un appel et la suppression de la conversation .
* **DialogsCallbackDurationBetweenConnectedAndCompeted** : il s'agit de la durée moyenne d'un appel.
* **DialogsCallbackRatioRequestsAnswer** : il s'agit du ratio du demandes de rappels pris en charge par rapport au total des demandes de rappel.

### **Intéraction**

* **Nombre d'interactions** : il s'agit du nombre total d'interactions. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **EndUserInteractionsCount** : il s'agit du nombre d'interactions de l'utilisateur. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Nombre d'interactions métiers** : il s'agit du nombre d'interactions métiers. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)
* **Répartition des interactions par type de réponse** : il s'agit de la répartition des interactions par type de réponse. Peut être affiché dans une table et dans des graphiques (sauf matrices)
* **Nombre d'interactions par catégorie LLM** : ici seront remontés le nombre d'intéraction classées par la [catégorisation automatique par le LLM.](/preferences/bot/categorisation-automatique-des-interactions) Peut être affiché dans une table et dans des graphiques (sauf matrices).

### **Questionnaire**

* **Nombre de questionnaires complétés** : il s'agit du nombre de questionnaires complétés. Peut être affiché dans une table et dans tout les graphiques.
* **Nombre de champs questionnaires complétés** : il s'agit du nombre de champs questionnaires complétés. Peut être affiché dans une table et seulement dans des matrices.

### **Satisfaction**

* **Satisfaction sur la conversation** : il s'agit des types de satisfaction remontée dans les conversations. Peut être affiché dans une table et dans des graphiques (sauf matrices).
* **Nombre de feedback au total** : il s'agit du nombre total des avis fournis par les utilisateurs. Peut être affiché dans une table et dans des graphiques (sauf matrices).
* **Nombre de feedback sur connaissances par conversations** : il s'agit du nombre d'avis sur les connaissances par conversation. Peut être seulement affiché dans une table.
* **Nombre de feedback négatifs sur les connaissances par conversations** : il s'agit du nombre d'avis négatifs sur les connaissances par conversation. Peut être affiché dans une table et seulement dans des matrices.
* **TagsFeedback** : il s'agit des types de satisfaction remontée dans les conversations de chaque configuration Canaux. Peut être seulement affiché dans une table.

### **Connaissances**&#x20;

* **Nombre de conversations utilisant une connaissance (associée au point d'entrée)** : il s'agit du nombre de conversations qu'il y a eu pour chaque connaissance. Peut être seulement affiché dans une table.

### **Thématiques**&#x20;

* **Nombre de conversations utilisant un tag** : Peut être affiché dans une table et dans des graphiques (sauf matrices).

### **Actions**&#x20;

* **Nombre d'actions** : il s'agit du nombre de fois où les conniassances sont utilisées. Peut être affiché dans une table et dans des graphiques (sauf matrices).

### **Liens**

* **Nombre de liens cliqués** : il s'agit du nombre de liens cliqués. Peut être affiché dans une table et seulement dans des matrices.
* **Nombre de liens suggérés** : Il s'agit du nombre de liens suggérés dans les connaissances. Peut être affiché dans une table et seulement dans des matrices.

### **Visiteurs**&#x20;

* **Nombre de visiteurs** : il s'agit du nombre de visiteurs (un visiteur est identifié comme tel pendant 24h via un cookie). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices)

### **Livechat**

{% hint style="info" %}

#### **Fonctionnement des indicateurs Livechat :**

Le comportement des indicateurs varie en fonction de l'option : "Permet si cochée de ne pas clore la conversation en fin de livechat, et si il y a une réescalade redirige vers l'opérateur précédent si disponible" située dans vos [paramètres Livechat](/livechat/livechat-dydu/configuration-livechat-dydu/parametres-generaux#divers).

**Déclenchement des indicateurs :**

* **Si l'option est cochée** : Les indicateurs ne se déclenchent qu'une seule fois par conversation, quel que soit le nombre d'échanges avec le Livechat.&#x20;
  * Par exemple, dans le cas du "N**ombre de conversation Livechat décrochées**" si trois opérateurs différents décrochent successivement au sein d'une même conversation, la statistiques ne sera incrémentée qu'une seule fois pour cet indicateur.
* **Si l'option est décochée** : Les indicateurs se déclenchent à chaque nouvelle escalade Livechat au sein de la même conversation.
  * Par exemple, dans le cas du "N**ombre de conversation Livechat décrochées**" si trois opérateurs différents sont solicités successivement par un même utilisateur, la statistiques sera incrémentée les trois fois fois pour cet indicateur car il s'agira de trois conversations différentes.
    {% endhint %}

{% hint style="info" %}
**Gestion de la durée des conversations :**

Il est important de noter qu'il n'y a pas de cumul des durées. Dans le cas d'une conversation comportant plusieurs sessions Livechat, seule la durée de la dernière escalade est prise en compte dans les statistiques.&#x20;

Cette information est valable pour tous les indicateurs de durée concernant le Livechat.
{% endhint %}

* **Nombre de conversations avec Livechat** : il s'agit du nombre total d'escalades et de conversations transférées dans le pupitre opérateur. Cette donnée peut être affichée dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Durée moyenne des conversations Livechat (sans avoir complété le questionnaire)** : il s'agit de la durée moyenne d'une conversation avec le livechat (sans prendre en compte le remplissage du questionnaire par l'utilisateur). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Durée de conversations Livechat (avec le questionnaire complété)** : il s'agit de la durée moyenne d'une conversation avec le chatbot (en prenant en compte le remplissage du questionnaire). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Nombre de conversations Livechat décrochées** : il s'agit du nombre d'escalades Livechat réussies. On comptabilise ici les conversations auxquelles un opérateur a été associé et qu'il a acceptées. Elle peut être affichée dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Nombre de conversation décrochées dont au moins une réponse de l'opérateur est manuelle** : Il s'agit du nombre d'escalades Livechat réussies dont l'opérateur a au moins apporté une réponse manuelle (et n'a donc pas utilisé uniquement des réponses prédéfinies). Il ne sera déclenchée qu'une seule fois par conversation. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Durée entre l'escalade et la première réponse** : il s'agit de la durée moyenne entre l'escalade et la première réponse de l'opérateur. Cela inclut la longueur de la file d'attente ainsi que le nombre de fois où l'opérateur précédent a attendu un dialogue transféré. La réponse automatique d'accueil sur le Livechat est considérée comme une réponse. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Répartition de la durée entre l'escalade et la première réponse** : il s'agit d'un indicateur permettant d'analyser le temps écoulé entre la demande d'escalade vers le Livechat et la première réponse de l'opérateur. Les résultats sont classés selon des intervalles de temps prédéfinis qui augmentent de façon exponentielle (allant de "moins de 5s" à "plus de 600s"). Peut être affiché dans une table et dans tout les graphiques.
* **Durée entre l'escalade et l'ouverture du dialogue (l'opérateur a décroché)** : il s'agit de la durée moyenne entre l'escalade et l'ouverture de la conversation Livechat. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Répartition des opportunités LiveChat** : il s'agit du nombre d'opportunités Livechat déclenchées par le biais des connaissances. Peut être affiché dans une table et dans des graphiques (sauf matrices).

{% hint style="warning" %}
Seul la dernière opportunité est prise en compte dans les statistiques dans le cas où le paramètre de réescalade est activé.
{% endhint %}

* **Durée en secondes avec au moins un opérateur disponible** : il s'agit de la durée pendant laquelle un opérateur est connecté et disponible pour prendre une conversation (en secondes). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs).

### **Opérateur Livechat**

* **Durée entre la réception de la conversation et la première réponse** : il s'agit de la durée moyenne entre la réception de la conversation par l'opérateur et sa première réponse (une réponse d'accueil automatique Livechat est considérée comme une réponse). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Durée entre la réception de la conversation et la première réponse manuelle** : il s'agit de la durée moyenne entre la réception de la conversation par l'opérateur et sa première réponse manuelle (la réponse d'accueil automatique Livechat est ignorée). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Nombre de réponses opérateur apportées directement après la question de l'internaute** : il s'agit du nombre de réponses apportées par l'opérateur après une phrase de l'utilisateur. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Temps moyen de réponse** : il s'agit de la durée moyenne entre chaque question de l'internaute et la réponse fournie par l'opérateur (en secondes). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Nombre de demande d'aide au superviseur** : il s'agit du nombre total de demande d'aide au superviseur. Il ne peut être déclenché qu'une seule fois par conversation. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Nombre de transferts manuels** : il s'agit du nombre de transferts manuels effectués lors de conversations Livechat. Peut être affiché dans une table et seulement dans des matrices.
* **Nombre de conversations automatiquement transférées aprés que l'opérateur ne les a pas prises** : durée moyenne entre le moment où un internaute pose une question et le moment où l’opérateur répond (en secondes). Peut être affiché dans une table et dans tout les graphiques.
* **Durée par statuts opérateur** : il s'agit de la durée pendant laquelle un opérateur est dans un statut particulier (Au téléphone, Occupé, etc.). Peut être affiché dans une table et dans tout les graphiques.
* **Nombre d'opérateurs connectés max** : il s'agit du nombre maximum d'opérateurs connectés. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs).
* **Temps de connexion (disponible)** : il s'agit du temps de connexion d'un opérateur.  Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs).
* **Taux d'occupation d'un opérateur** : il s'agit du taux d'occupation d'un opérateur (durée d'occupation avec au moins une conversation / durée connectée avec le statut disponible). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Taux de simultanéité** : il s’agit du pourcentage de conversations gérées simultanément par l’opérateur. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Répartition du taux de simultanéité** : il s'agit de la répartition du taux de simultanéité du nombre de conversations. La répartition s'effectue en fonction du nombre de conversations prises en charge au même moment. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Taux de productivité de l'opérateur** : il s'agit de la moyenne de conversation par heure pour un opérateur. Il est calculé ainsi : il récupère le nombre de conversations ouvertes par l'opérateur, le divise ensuite par son temps de connexion (en secondes) puis est multiplié par 3600 pour obtenir une valeur par heure. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).

### **Files d'attente**

* **Nombre de conversations passées par la file d'attente** : il s'agit du nombre de conversations qui ont été précédées d'une file d'attente avant de pouvoir être attribuées. Ne peut se déclencher qu'une seule fois par conversation. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Durée dans la file d'attente** : il s'agit de la durée moyenne qu'un utilisateur passe dans la file d'attente (en secondes). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Nombre de personnes ayant quitté la file d'attente** : il s'agit du nombre de personnes ayant quitté la file d'attente. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Capacité de la file d'attente** : il s'agit de la capacité totale de la file d'attente. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs).
* **Taux d'occupation de la file d'attente** : il s'agit du taux d'occupation de la file d'attente. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).

### **InternautEvent**

* **TeaserClickCount** : nombre de clics sur le teaser. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs).

### ExternalMatcher

* **ExternalMatcherCallCount** : comptabilise le nombre de fois où le matcher est appelé (sur interaction). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **ExternalMatcherUsageCount** : comptabilise les résultats des appels au matcher qui sont effectivement utilisés pour donner la réponse. Peut être affiché dans une table et seulement dans des matrices.

{% hint style="info" %}
**Clarification de la valeur None dans ExternalMatcherUsageCount**

La valeur **None** dans les résultats de cet indicateur correspond à un résultat d'appel du matcher qui n'a pas été sélectionné ni utilisé pour générer la réponse finale.

Afin d'aligner plus strictement les résultats avec la définition et d'exclure le statut **None**, il est possible d'appliquer deux restrictions sur la variable **ExternalMatcherResultUsage** : une sur **DirectMatch** et une autre sur **Reword**.
{% endhint %}

* **ExternalMatcherPotentialUsageCount** : comptabilise les résultats des appels au matcher. Peut être affiché dans une table et seulement dans des matrices.
* **ExternalMatcherTopScoreDistribution** : distribution des résultats d'appels au matcher en fonction du score obtenu. Peut être affiché dans une table et seulement dans des matrices.
* **ExternalMatcherTopKnowledgeCount** : nombre de fois où le matcher a retourné une top connaissance. Peut être affiché dans une table et seulement dans des matrices.
* **ExternalMatcherProcessDuration** : moyenne en millisecondes du temps passé par le matcher pour donner une réponse. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **ExternalMatcherResponseCodeDistribution** : distribution des résultats d'appels au matcher en fonction du code de retour HTTP. Peut être affiché dans une table et seulement dans des matrices.

{% hint style="info" %}
**Volume mesuré par les indicateurs**

Les indicateurs **ExternalMatcher** mesurent le volume des **interactions**. Ils ne représentent pas le volume des conversations. Une seule conversation peut englober de multiples interactions.
{% endhint %}

### **Indicateurs techniques**&#x20;

* **Temps de calcul moyen moteur de dialogue** : il s'agit du temps de calcul moyen du moteur de dialogue (en millisecondes). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Temps de calcul moyen servlet** : il s'agit du temps de calcul moyen du servlet (en millisecondes). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).

{% hint style="info" %}
**Servlet** : temps écoulé entre l’arrivée d’une requête sur l’API Dydu et sa sortie, sans prise en compte des délais réseau en amont ou en aval.
{% endhint %}

* **Temps de calcul maximal moteur de dialogue** : il s'agit du temps maximal d'exécution du moteur de dialogue (en millisecondes). Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).
* **Temps de calcul maximal servlet** : il s'agit du temps de réponse maximal du servlet. Peut être affiché dans une table et dans des graphiques (sauf graphiques en secteurs et matrices).

### **Durée**

* **Durée moyenne entre l'escalade et l'ouverture du dialogue (l'opérateur a décroché)** : il s'agit de la durée moyenne entre l'escalade et l'ouverture de la conversation (lorsque l'opérateur prend la conversation en charge)

### **Cobrowsing**

* **Nombre de conversations avec cobrowsing** : il s'agit du nombre de conversations avec cobrowsing initialisées.
* **Nombre d'erreurs cobrowsing** : il s'agit du nombre d'erreurs rencontrées durant l'initialisation d'une conversation cobrowsing.
* **Nombre de demandes de cobrowsing envoyées** : il s'agit du nombre de demandes de cobrowsing envoyées.
* **Nombre de demandes de cobrowsing acceptées** : il s'agit du nombre de demandes de cobrowsing acceptées.
* **Nombre de demandes de cobrowsing refusées** : il s'agit du nombre de demandes de cobrowsing refusées.

## **Codes correspondant aux converters**

```
 // dialogs
    DialogsCount (Dialogs, Chart1D, Number of dialogs, Dialog, Count),
    DialogsChatDuration (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsCount), "Average chat duration of dialog in seconds (with automatic chat) (without survey completion)", DurationS, Dialog, Duration),
    DialogsDuration (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsCount), "Average duration of dialog in seconds (with automatic chat) (with survey completion)", DurationS, Dialog, Duration),
    DialogsWithLivechatCount (Dialogs, Chart1D, Number of dialogs with livechat, Dialog, Count),
    DialogsLivechatDurationWithoutChatAutoWithoutSurvey (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsWithLivechatCount), "Average duration of dialog in seconds (without automatic chat)", DurationS, Dialog, Duration),
    DialogsLivechatDurationWithoutChatAutoWithSurvey (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsWithLivechatCount), "Average duration of dialogue in seconds (without automatic chat) (with survey completion)", DurationS, Dialog, Duration),
    DialogsEscalationToDialogOpeningCount (Dialogs, Chart1D, Number of dialogs picked, Dialog, Count),
    DialogsEscalationToDialogOpeningWithOperatorAnswerCount (Dialogs, Chart1D, Dialog, Count, Dialog, Count),
    DialogsEscalationToFirstOperatorDuration (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", DialogsEscalationToDialogOpeningCount), "Average duration between escalation and first operator answer." It considers AutoHello as an answer. ", DurationS, Dialog, Duration),
    DialogsEscalationToFirstOperatorDurationDistribution (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EMDLabelPickupDurationDistribution.values()), "TO BE REIMPLEMENTED", Dialog, Distribution, Duration),
    DialogsEscalationToDialogOpeningDuration (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsEscalationToDialogOpeningCount), "Average Duration between escalation and dialog opening", DurationS, Dialog, Duration),
    DialogsWaitingQueueCount (Dialogs, Chart1D, Dialog, WaitingQueue, Count)
    DialogsWaitingQueueDuration (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsWaitingQueueCount), "Average duration in the waiting queue in seconds", DurationS, Dialog, WaitingQueue, Duration),
    DialogsWaitingQueueDropOutCount (Dialogs, Chart1D, Dialog, WaitingQueue, Count)
    DialogsFeedback (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EMDLabelFeedbackDistribution.values ()), "Last interaction feedback provided", Dialog, Feedback),
    DialogsLengthDistribution (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EMDLabelDialogsLengthDistribution.values ()), "Distribution depending on the number of interactions in the dialog", Dialog, Distribution),
    DialogsQualificationDistribution (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EDialogType.values ()), "Distribution depending on the dialog qualification", Dialog, Distribution),
    DialogsSurveyFillingCount (Dialogs, Chart1D, "(INTERNAL) Dialog, Count, Dialog, Count),
    DialogsSurveyFillingDuration (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", DialogsSurveyFillingCount), "Average duration to fill survey for operators. ,
    DialogsOperatorResponseTime (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", DialogsEscalationToDialogOpeningCount), "Average duration between the time and the operator. present. ", Dialog, Duration),
    DialogsOperatorManualResponseTime (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", DialogsEscalationToDialogOpeningCount), "Auto Hello is ignored.", Dialog , Duration),
    InteractionsOperatorAnswerDirectlyAfterInternautQuestionCount (Dialogs, Chart1D, "(INTERNAL) Number of interactions from the operator that are directly after an internaut question", Interaction, Count),
    DialogsOperatorResponseTimeBetweenInteractions (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("(C0 / C1 [LiveChatOperator]) / 1000", InteractionsOperatorAnswerDirectlyAfterInternautQuestionCount), "Average duration between the time and the time the operator answers in seconds", Dialog, Duration) ,
    DialogsFastAbandonDistribution (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EMDLabelFastAbandonDistribution.values ()), "Distribution of dialogs abandoned by the internaut before 90 seconds", Dialog, Distribution, Duration),

    DialogsCallbackRequestsCount (Dialogs, Chart1D, Number of callback request, Dialog, Count),
    DialogsCallbackDurationBeforeOperatorAnswersThePhone (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsCallbackRequestsCount), "Average duration before the operator answers the phone", DurationS, Dialog, Duration),
    DialogsCallbackDurationEndCallAndRemoveDialog (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsCallbackRequestsCount), "Average duration before dialog is removed after the end of the call", DurationS, Dialog, Duration),
    DialogsCallbackDurationBetweenConnectedAndCompleted (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsCallbackRequestsCount), "Average duration of a call", DurationS, Dialog, Duration),
    DialogsCallbackRatioRequestsAnswer (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", DialogsCallbackRequestsCount), "Ratio between callback answered and total callback requests", Percent, Dialog),

    // Livechat
    LiveChatOpportunitiesDistribution (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EDialogOpportunityType.values ()), "Livechat opportunities distribution of the dialogs", Dialog, Distribution, LiveChat),
    OperatorHelpRequestCount (Dialogs, Chart1D, "Amount of help requested to the supervisor", Operator, Count, LiveChat),
    ManualTransfersCount (Dialogs, Chart3D, new MDLabelSupplierForOperators (), new MDLabelSupplierForDistribution (EDialogTransferType.values ()), "Number of manual transfers made towards an operator or a competency.", Operator, Count, LiveChat),
    LiveChatAvailability (TimelineOperators, Chart1D, "Duration in seconds with at least one available operator", LiveChat, Duration),
    OperatorNotPickedDialogsCount (Dialogs, Chart2D, new MDLabelSupplierForOperators (), "Number of dialogs automatically transferred from the operator did not pick them.", Operator, Count),

    // interactions
    InteractionsCount (Dialogs, Chart1D, Number of Interactions, Interaction, Count),
    EndUserInteractionsCount (Dialogs, Chart1D, Number of End User Interactions, Interaction, Count),
    BusinessInteractionsCount (Dialogs, Chart1D, Number of Business Interactions, Interaction, Count),
    InteractionsFeedback (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EMDLabelFeedbackDistribution.values ()), "All interaction feedbacks count", Interaction, Feedback),
    InteractionsDurationRuntime (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", InteractionsCount), "Average runtime duration in milliseconds", DurationMS, Interaction, Duration),
    InteractionsDurationExtern (Dialogs, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1", InteractionsCount), "Average servlet duration in milliseconds", DurationMS, Interaction, Duration),
    InteractionsMaxDurationRuntime (Dialogs, Chart1D, Max, "Max runtime duration in milliseconds", DurationMS, Interaction, Duration),
    InteractionsMaxDurationExtern (Dialogs, Chart1D, Max, "Max servlet duration in milliseconds", DurationMS, Interaction, Duration),
    InteractionsResponseDistribution (Dialogs, Chart2D, new MDLabelSupplierForDistribution (EResponse.values ()), new EResponseMDDataTreeSupplier (), "Interaction distribution depending on the EResponse", Interaction, Response),

    // cobrowsing
    CobrowsingSessionCount (Dialogs, Chart1D, Number of Cobrowsing Session Successfully Initialized, Cobrowsing),
    CobrowsingErrorCount (Dialogs, Chart1D, "Number of failed cobrowing session due to initialization error", Cobrowsing),
    CobrowsingSentRequestCount (Dialogs, Chart1D, Number of Cobrowsing Request Sent, Cobrowsing),
    CobrowsingAcceptedRequestCount (Dialogs, Chart1D, Number of cobrowsing request accepted, Cobrowsing),
    CobrowsingDeclinedRequestCount (Dialogs, Chart1D, Number of cobrowsing request declined, Cobrowsing),

    // surveys
    / **
     * instanceid=the survey ID completed
     * /
    SurveyAnswersCount (SurveyAnswers, Chart2D, MDLabelSupplierForSurveyAnswers (), Number of Survey Completed, Survey, Count),

    // Knowledge articles
    KnowledgeCount (Dialogs, Chart3D, new MDLabelSupplierForDistribution (EConditionType.values ()),
            new MDLabelSupplierForKnowledges (), "Number of dialogs using a knowledge article (associated with the entry point)", Knowledge, Count),
    KnowledgeFeedback (Dialogs, Chart3D, new MDLabelSupplierForKnowledges (),
            new MDLabelSupplierForDistribution (EMDLabelFeedbackDistribution.values ()),
            "Knowledge articles feedback by dialog (associated with the entry point)", Feedback, Count),
    KnowledgeNegativeFeedbackChoice (Dialogs, Chart3D, new MDLabelSupplierForKnowledges (),
            new MDLabelSupplierForDistribution (EMDLabelNegativeFeedbackChoiceDistribution.values ()),
            "Knowledge articles negative feedback choice by dialog (associated with the entry point)", Feedback, Count),

    // Tags
    TagsCount (Dialogs, Chart2D, new MDLabelSupplierForTags (), new TagsMDDataTreeSupplier (), "Number of dialogs using a tag", Tag, Count),

    // Actions
    ActionsCount (Dialogs, Chart2D, new MDLabelSupplierForActions (), "Action uses", Action, Count),

    // Links
    / **
     * instanceid1 = predefinedurlid
     * instanceid2 = actionid
     * /
    ClickedLinksCount (Dialogs, Chart3D, new MDLabelSupplierForPredefinedLinks (), new MDLabelSupplierForClickActions (), Number of links clicked, Link, Count)
    SuggestedLinksCount (Dialogs, Chart3D, new MDLabelSupplierForPredefinedLinks (), new MDLabelSupplierForClickActions (), "Number of links suggested", Link, Count),

    / **
     * instanceid1 = root field id
     * instanceid2 = child field id
     * /
    SurveyAnswersFieldsCount (SurveyAnswers, Chart3D, new MDLabelSupplierForSurveyFieldAnswers (), new MDLabelSupplierForSurveyFieldAnswers (), "Number of survey answers completed", Survey, Count),

    // status
    / **
     * instanceid=the status.ordinal ()
     * /
    OperatorStatusDuration (TimelineOperators, Chart2D, new MDLabelSupplierForDistribution (ELiveChatOperatorStatus.values ()), "Duration distribution on statuses in seconds", DurationS, Operator, Duration),
    OperatorConnectedMax (TimelineOperators, Chart1D, Max, "Maximum number of operators connected", Operator),
    OperatorConnectedDuration (TimelineOperators, Chart1D, new MDLabelSupplierForOperators (), "Operator connected duration with an available status", DurationS, Operator, Duration),
    OperatorOccupancyRate (TimelineOperators, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", OperatorConnectedDuration), "Operator occupancy rate: [duration with at least one dialog] / [duration connected with an available status]", Operator),
    OperatorSimultaneityRate (TimelineOperators, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", OperatorConnectedDuration), "OperatorConnectedDuration,"
    OperatorSimultaneityRateDistribution (TimelineOperators, Chart2D, new MDLabelSupplierForDialogsByOperatorCount (), new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatOperator]", OperatorConnectedDuration), "OperatorConnectedDuration,"
    OperatorProductivityRate (TimelineOperators, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C1 / C2 * 3600", DialogsEscalationToDialogOpeningCount, OperatorConnectedDuration), "Operator productivity rate", Operator),

    // Waiting queue
    WaitingQueueCapacity (TimelineWaitingQueues, Chart1D, "Capacity of waiting queue", WaitingQueue, Count),
    WaitingQueueOccupancyRate (TimelineWaitingQueues, Chart1D, new ChartableMultiDimensionsConverterAutoCompute ("C0 / C1 [LiveChatCompetency]", WaitingQueueCapacity), "Waiting queue occupancy rate", WaitingQueue, Count),

    // welcomecall
    WelcomeCallCount (WelcomeCalls, Chart1D, "Number of visitors, 24 hour via a cookie.", WelcomeCall, Count),

    // Internaut events
    TeaserClickCount (InternautEvents, Chart1D, Number of clicks on teaser, InternautEvent, Count);
```


# Livechat

Lors d'un chat avec le chatbot, l'utilisateur final peut être amené à escalader vers le livechat sous certaines conditions. Celles-ci doivent être définies par le gestionnaire de bot dans la base de connaissances. Cela pourrait être, par exemple, quand:

* [l'utilisateur final le demande explicitement,](/livechat/configuration-de-la-base-de-connaissances#configuration-quand-lutilisateur-final-le-demande-explicitement)
* l'utilisateur final a donné un avis négatif, ou une raison spécifique d'insatisfaction,
* trop de phrases ont été mal comprises par le chatbot,
* une réponse nécessite une clarification,
* une question thématique est abordée;

L'escalade livechat et ses conditions peuvent être gérées par le biais de conditions contextuelles et d'actions GUI. En cas d'escalade, l'utilisateur final reste dans la même fenêtre de chat (la chatbox) et l'historique des conversations avec le chatbot est maintenu. Cette dernière est également transmise à l'opérateur.


# Activer le livechat

DYDU offre une solution de chat en direct où le chatbot peut basculer vers un opérateur humain. Lors de la création de votre bot, le mode Livechat n'est pas activé. Vous pouvez l'activer en suivant les étapes ci-dessous.

{% hint style="info" %}
Attention: L'activation du mode livechat est soumise à une facturation supplémentaire. Si vous souhaitez activer cette option, veuillez contacter votre contact dydu
{% endhint %}

<figure><img src="/files/s9vwaxTlD715YlfFk2WA" alt=""><figcaption></figcaption></figure>

Ajouter Livechat à la barre latérale :&#x20;

a. Allez dans Préférences > bot > général

b. Sélectionnez le type d'escalade de chat en direct

C. Faites défiler vers le bas et sélectionnez "Mettre à jour"

Maintenant vous pouvez voir "Livechat" dans votre barre latérale.

<figure><img src="/files/GlrCFWkORwXysvIWFMjR" alt=""><figcaption></figcaption></figure>

<figure><img src="https://dev.docs.dydu.ai/fr/assets/images/C02-68878eb9c187fd5b91ba9f1074e4f432.gif" alt=""><figcaption></figcaption></figure>

<figure><img src="https://docs.dydu.ai/fr/assets/images/C02-68878eb9c187fd5b91ba9f1074e4f432.gif" alt=""><figcaption></figcaption></figure>


# Configuration de la base de connaissances

## Configuration quand l'utilisateur final le demande explicitement:&#x20;

1. Créez votre [condition de contexte](/contenus/conditions-de-contexte) permettant de vérifier la disponibilité des opérateurs. Pour cela, dirigez-vous sur la page **Contenus > Conditions de contexte**.
2. Remplissez les champs comme dans l'exemple ci-dessous :

<figure><img src="/files/yAZmbPv2dGYhaqC7j02p" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Il est également possible de vérifier si le Livechat est ouvert en suivant les horaires d'ouverture configurés dans **Préférences** > **Paramètres Livechat** > **Général**.&#x20;

Pour cela, vous pouvez utiliser la condition **LiveChatOpen()**, qui vérifie uniquement si le Livechat est ouvert.&#x20;

En revanche, la condition **LiveChatAvailable()** vérifie à la fois si le Livechat est ouvert et si un opérateur est disponible.
{% endhint %}

3. Allez dans **Contenus > Connaissances** et créez une connaissance du type "réponse à une question".

Exemple :  "je veux parler à un conseiller"

<figure><img src="/files/sgadXIPtJ3EMAqwDHkh0" alt="" width="271"><figcaption></figcaption></figure>

4. Insérez une condition de contexte entre la question de l'utilisateur et la réponse et sélectionnez la condition que vous avez créée à l'étape 1.

<figure><img src="/files/Bm6coEdlHJ1QUkLynIGO" alt="" width="181"><figcaption></figcaption></figure>

5. Cliquez sur **Mettre à jour**.
6. Complétez les réponses de succès et d'échec :&#x20;

Exemple de succès : Je vous mets en relation avec un conseiller. / Exemple d'échec : Malheureusement aucun conseiller n'est disponible.

<figure><img src="/files/xZ4xPHYSY14hQVV4E7Mz" alt="" width="375"><figcaption></figcaption></figure>

7. &#x20;Editez la réponse à afficher quand un opérateur est disponible (la branche à gauche) et cliquez sur **Plus d'options - Autres options - Définir une action GUI** et sélectionnez **Connexion Livechat**.

<figure><img src="/files/RQAiurkhCZHscfaoyuQq" alt="" width="307"><figcaption></figcaption></figure>

<figure><img src="/files/M9mkuGb9Nu6zoGJZl6ga" alt="" width="315"><figcaption></figcaption></figure>

<figure><img src="/files/TNYCpb8pEpsXIiGSmNLm" alt="" width="305"><figcaption></figcaption></figure>

7. Cliquez sur **Mettre à jour** pour enregistrer la réponse. Votre escalade Livechat est dès lors effective.

Si un opérateur est disponible, l'internaute est dirigé dans la branche de gauche et est mis en relation avec un opérateur. Dans le cas contraire, l'utilisateur aura la réponse fournie dans la branche à droite.

Il est également possible de rediriger l'utilisateur vers un opérateur possédant une expertise particulière. Lorsque vous avez défini les compétences pour chaque opérateur, vous pouvez choisir d'affecter chaque compétence à une connaissance. Les compétences apparaîtront dans la liste des conditions de contexte lorsque vous créerez vos réponses.

Note : vous avez la possibilité de créer des réponses prédéfinies pour vos sessions en Livechat. Pour en savoir plus, consultez [cet article.](/contenus/connaissances/types-de-connaissances/reponse-predefinie)


# Livechat DYDU


# Aperçu des interfaces

## **Marquer la montée vers Livechat sur la chatbox depuis le menu Canaux**&#x20;

Il est possible de discerner, au sein de la chatbox, si l’utilisateur dialogue avec un opérateur humain ou votre bot.&#x20;

Pour instaurer cette fonctionnalité, il suffit de se rendre dans la section "**Canaux**", puis d'accéder à l'interface "**Options d'affichage des bulles du dialogue**" de votre bot, et d'activer l'option "**Livechat**".

Depuis cette option, **il est possible de modifier l'avatar affiché.**

<figure><img src="/files/CwDEfPUC4WA0XCKWpRKm" alt=""><figcaption></figcaption></figure>

Une fois cette fonctionnalité implémentée, lors de la transition de l'utilisateur vers Livechat, celui-ci distinguera un avatar distinct de celui du bot apparaître à chaque réponse de l'opérateur.

<figure><img src="/files/t1tGrJ1Zjb8YWDeP5f4L" alt=""><figcaption></figcaption></figure>

## Quitter le Livechat depuis la chatbox&#x20;

* Lorsqu'un utilisateur est engagé dans une conversation livechat et souhaite la terminer, il lui suffit de cliquer sur le bouton "Quitter le Livechat" présent en haut de la chatbox.

<figure><img src="/files/aerAFfpHYwzqqPCGEbka" alt="" width="384"><figcaption></figcaption></figure>

* Un message sera alors affiché, informant l'utilisateur d'avoir quitté la conversation Livechat.

<figure><img src="/files/RMQxwI4wTCoekZYw9CXI" alt="" width="384"><figcaption></figcaption></figure>

* Si, au cours d'une conversation livechat, l'utilisateur décide de fermer la chatbox en cliquant sur la croix, une fenêtre pop-up s'affichera pour l'informer que la conversation livechat prendra fin.

<figure><img src="/files/ZofwTGoerO5QJkscJfND" alt="" width="385"><figcaption></figcaption></figure>


# Interface opérateur

Chaque opérateur de chat en direct dispose d'une interface lui permettant de gérer sa disponibilité (via son statut) et les conversations qu'il reçoit.

<figure><img src="/files/imVz4AIoWS1EntmTwtHv" alt=""><figcaption></figcaption></figure>

### **1- Gestion d'interface :** &#x20;

#### **1.1.Statuts opérateur :**&#x20;

<figure><img src="/files/7hgvoFqvEb6zzO3fhlZj" alt=""><figcaption></figcaption></figure>

Les opérateurs ont la possibilité de configurer leur statut. Selon ces dernières, de nouvelles conversations peuvent leur être transmises ou non. Voici la liste des articles disponibles :&#x20;

* **Connecté :** permet de recevoir de nouvelles conversations ;
* **En pause :** pas d'attribution de nouvelles conversations ;
* **En formation :** pas d'attribution de nouvelles conversations ;
* **Au téléphone :** pas d'attribution de nouvelles conversations ;
* **Échange avec le superviseur :** pas d'attribution de nouvelles conversations ;
* **Pas de nouvelle conversation :** lorsque l'opérateur gère une conversation compliquée, il peut passer sur ce statut pour ne pas qu'on lui attribue de nouvelles conversations ;
* **Recherche l'information :** lorsque l'opérateur passe sur ce statut, il est indiqué à l'internaute que celui-ci est en train de chercher l'information. S'il met du temps à revenir dans la conversation, il lui est envoyé une notification pour lui indiquer que l'opérateur est encore en train de chercher l'information.

#### 1.2. **Gestionnaire d'interface en temps réel :**&#x20;

* Cette icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAmCAIAAADfv4UOAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAABMxJREFUWIXtmF9MWlccx38X5I9w8Q8dUsXOfwPUbawpVbdq3JI1UYzrEqNocI9mf3zQZGZLnD5g5oNJX7eXpiZkOqksYWvMsmi1dYptMcO2Tqd0ijZ1KlNRAfHKH9nDdQa53gtXTebDvk/n/M73nPPhcH/3nHOR/Px8OAdi/NcABzovHDEn61ZYWKhUKuVyOYqi2dnZeHB2dtbtdlutVovFMjY2RmtAhNbzgaKoWq3WaDQCgYDa6XK5enp6DAaD2+0+Yw6VStXU1BSRIIxGq9WaTKaITqZEIolmxIaGhoaGBg6HEz0EAHA4nJKSEh6PZzabz4CjpaWlqqqKFkGoFAqFWCweHR09FUdjY2NlZeWJIXDJ5XI+n0+xKhHyRaVSaTQaCoN9B7veMzz199bxzQH/1Cdlr4uFAKDRaCwWC9mzQvX+QFG0qamJwmBZcaR0DpBCBPfBsYxD4Gpra0NRlDaHWq2myA791OLV74b2XR6S9iCsLwOLFRrC0542B9k/EggGm4eeau4+Bn+AtPPmKvi9YsKvr62tpcdRVFR07GJsYb4Pe0c6Hs+SEgDA9gZguwAgE8aHtaAoWlRURINDqVQSg7Prziu6ez/Pr1BB7DjBs40XZaKEKEcmzZfDXeNQv8wtl/30CPZ8VBB7u+BcP6xdThUTLQqFggZHampqaPXmw5kvHzyjIgCAgA8cR5bqWnoy0SUUColBUo6kpKTQ6hfXcp5an/c8s1JxsHlHqgzkskSEF/cC++NLG7YtF+YPCNgsYlca+37ZW9k91mW8nJfyysf5uVwW0zhl+3HmxYGDxYSQLP7+o3IGggDAo5frt57MlUtTckUJF3hsh8d7Oo6cDODEQjB4KRH99bOKJadnE/Maldk1d+73/vECAK7wkYnNA3Pre0pN/psAsOTydE0t3P6ggIkgeFPmMc8ueb44HJthkcRYdsGrYohhXc+UxLKYqh9GC3T37DtYqTwNYlgQw9r27OLOPM7+p++8gZdvPpz5+l3FIQQArK2tEacjXQ+7fVUoTAwLqrIk5pXNB385AsHgrRLl4rY7ic/9bXUDGAwAmHc4AeBGbpY8Iy1OlAQAf2644jmsC7wjpwWXy0WcjnQ9JicnicHS1ySAIIubrlL9MAAokhK/Gnry7cQ8IAgwAPyBgksX9XUV78vSbk/MP99wto3+/vnbOWGDTE9PE0cmXY/x8fHq6uqw4FWJEGI5sOsdXLAPLtj/DSMAcDE2hi+Mv1uv5rFZJVnJe/7A/QX7N6V5Cdzw7BgeHqbBYTKZMAzjcrmhQSaC1KSL78y8JPozuCxdfY1YcLCh3JCnEj0A4PV6j936qfKlu7u7rq4uLKivKNRT9Imk3t7eY+NU+61er8cw7BSThsvr9ep0Otocbre7o6PjDDm0Wi3ZNSLC+XRubk4kEhH3vBPIaDR2dXWRtUY+J5tMJqlUmp6efhoIs9nc2tpKYYjq3jA4OJicnCyTyU4G0dfX19zcTO2J9h41MjKyuLhYXFzMZDKjJ/D7/e3t7Z2dnRGd0XIAgM1mMxgMgrg4qVTKYET4UBAIBPr7++vr6499exJF7559qPLycpVKlZmZhaJ8NpuNB30+n8fjsdlsAwMDRqOR1oAn5DhznZfvMP9zHNU/lqKrzcOYNjgAAAAASUVORK5CYII=) vous permet d'accéder à l'interface manager Livechat. Note : cette interface est accessible uniquement aux utilisateurs ayant les droits de manager Livechat.
* &#x20;Cette icône ![](/files/OcizmQUie9zSJHc0LiEM) vous indique quand une nouvelle conversation est ouverte.&#x20;

Une heure est affichée dans cet onglet. Cela indique combien de temps l'utilisateur attend que sa conversation soit prise en charge. Pour démarrer la conversation, l'opérateur clique sur l'onglet : la conversation est considérée comme déchargée. Une phrase de bienvenue peut être envoyée automatiquement, si elle est configurée en [**phrases générales**](/contenus/phrases-generales). La croix blanche permet de clôturer la conversation. Une fois que la conversation est débloquée, l'opérateur accède à toute la conversation de l'utilisateur final avec le chatbot

<figure><img src="/files/dR9JvBI7BIsZw1dl1sYJ" alt=""><figcaption></figcaption></figure>

* L'opérateur a la possibilité de savoir sur combien d'onglets en même temps est ouvert son pupitre livechat grâce à l'icone qui s'affiche en haut à droite à coté de son nom (image ci-dessous).

<figure><img src="/files/z306DZAN970pSUx7xHBD" alt=""><figcaption></figcaption></figure>

* L'opérateur est informé lorsque l'utilisateur a lu ses messages grâce à une coche qui apparaît sur le message envoyé depuis le pupitre de l'opérateur.

<figure><img src="/files/9jQDsaybrLB0G8kFu7wx" alt=""><figcaption></figcaption></figure>

* Si l'opérateur gère plusieurs conversations sur son pupitre, une couleur spécifique est attribuée au contour de celui-ci pour différencier chaque conversation.

<figure><img src="/files/gNj4AojufxeKWMIL82z4" alt=""><figcaption></figcaption></figure>

* Dans le pupitre opérateur, la bulle de réponse prend la couleur du contour du pupitre lorsque l'utilisateur est en train d'écrire.

<figure><img src="/files/PldR6pRmwnBqVPRqLFPH" alt=""><figcaption></figcaption></figure>

## **Recherche des connaissances :**

À partir de sa console, l’opérateur peut rechercher automatiquement une réponse dans la base de connaissances du bot via l’onglet « Rechercher la connaissance ». Il peut consulter la réponse pour chaque connaissance avant de décider de l'envoi. En cliquant simplement sur les connaissances souhaitées, la réponse est automatiquement remplie dans le champ de réponse de l’opérateur.

<figure><img src="/files/ctBxkF0NI4jJtj62MW6l" alt=""><figcaption></figcaption></figure>

Il est également possible de rechercher automatiquement une connaissance à partir de la question d’un utilisateur en cliquant sur la loupe à côté de la question de l’utilisateur.

Depuis la console, les réponses prédéfinies de la base de connaissances sont disponibles directement (sans avoir à les rechercher). L'opérateur peut les utiliser en cliquant dessus ou en utilisant le raccourci clavier qui peut être programmé.

L'opérateur peut transmettre une connaissance accompagnée d'un panneau latéral et dispose de la possibilité de configurer les paramètres d'affichage de ce panneau latéral via la fenêtre de dialogue.

<figure><img src="/files/8P0yMEdYvohmv1m5UVyk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/N5ItJmvkPyPDSQ3TTmXD" alt=""><figcaption></figcaption></figure>

## **Opérateurs connectés :**

Depuis sa console, l'opérateur peut voir les autres opérateurs connectés. Pour chaque opérateur connecté, il est possible de : connaître leur statut, connaître votre taux d'occupation : c'est-à-dire, combien de conversations vous avez par rapport à votre capacité totale de conversation pour connaître ses compétences, pour lui transférer une conversation : lorsque par exemple la demande de l'utilisateur final nécessite une compétence que possède un autre opérateur.

## **Informations de l'utilisateur**

<figure><img src="/files/T0l5URignE2zxYclSNiZ" alt=""><figcaption></figcaption></figure>

Pour chaque conversation en direct, une feuille contenant des informations sur l'utilisateur final est disponible à partir de la console. Les informations de l'utilisateur à afficher sont configurables. Par défaut, la feuille affiche le navigateur, le système d'exploitation et l'emplacement de l'utilisateur final. Si l'utilisateur est identifié, il est possible de définir l'enregistrement pour afficher le prénom et le nom de famille de l'utilisateur. En fin de compte, toutes les informations récupérées à propos de l'utilisateur peuvent être affichées dans cette feuille.

## Fenêtre de dialogue[​](https://dev.docs.dydu.ai/fr/docs/Livechat/dydu_integrated_livechat/dydu_livechat_interface/operator_interface#fen%C3%AAtre-de-dialogue) <a href="#fenetre-de-dialogue" id="fenetre-de-dialogue"></a>

<figure><img src="/files/BXncgHHWeAlLXs0p62HE" alt=""><figcaption></figcaption></figure>

L'opérateur peut demander de l'aide via un message interne. qui lui permet d'entrer en contact avec un manager s'ils ont besoin d'aide pour résoudre un problème complexe :

L'opérateur peut imprimer la boîte de dialogue, envoyer la boîte de dialogue par email, avec la boîte de dialogue comme "Important" . L'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAdCAIAAACrPpLuAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAxdJREFUSIm1lk1ME0EUx9/OzrC7hVI+NAoxJgZ60AShpIGEGBPAM17EgwkmeGn0KgcTMUFPJhpPeAHDVTlgggc5a/RAqzQxKYjEEFJLAklbcGE329nZ8bD9oF/bD/WdZt/s+//2zbw3OwLnHP6z4X+ism/w17up4AFLpHgrEQZaxJudpFNG9qxQTR6UUkqpZVmWZdkehBBCiBBCCPl6yJ78MDSWp6OIwrRXGmgRKzA454ZhpFIpB/xeCu5vY51xABhuxx8SppXRkxDMXVY6ZYTKBZumqaqqMwAAluNIz2RAEDzySlJG0rDgzS4FgNIMwzA0TXNWty18LGTH336zK2342SXFQ9LO4AErzaCUGoZRDQAAEjQ3jlMOABeb0IMuKT2b4lBcV4wxXdeLtYLB0NLSUiQS0TTN7XaPjAwHAgFZltsI7GeWs5UIAPD9yHr6M/2JpxqEEnmUy2BhYSEUCtkLqKrq8vK72dmXANDfmCuZvmbxc4JNreuHNO30F9cV51xV1ZKMcDi8trY2OnqNc2tm5nE0GpUkaWXl/V4KpraxXbhX2/GnUnWVt1aU0mJ123w+n8/ns8eDgwPRaNTO+EwDTJ1jz3+JGuMf42b2fbs/7DaslnEy10hkHQA6Os7ant5G/uKC+TYuhI9RkkIrgf4muHVezvZ5HoMxVpGxuLi4sbEBAGNj17PO0w0Q6OAAufBmObfTZXuwpIXD4fn5VwAwNDQ0Pn6jyqjaGHNz85xzr9c7Pf0QlT8j6mckk8nNzU0AuHfvrizL1Qfm7YcgOB2RjLHu7i4A6OnpcRYtSDFPVNM00zSLQmo2jLHL5cohC+YcImOx2OTknYmJ21tbWxUZJx9rYIRCX3Z2dmKx2OrqqjODEJInmwdECGNcbrn6+no9Ho9lWX6/3wGAMRYE4aSncJMtyzo6OnL+TGdzu90FjMLaRQgpilI3QFGUAkAJBgAQQiRJqgMgSVLBTthWtiFM06zyd2uby+UqVzIV7iW6rlfsGIxxySWqimEbY8w0TcZY8f1KFEWMsSiKzgpV3eH+0mo7d+uzP9KiZo/VMGMnAAAAAElFTkSuQmCC)  vous permet d'envoyer un questionnaire à l'utilisateur au cours de la conversation. Ce questionnaire s'ouvrira du côté utilisateur dans un panneau latéral. L'opérateur peut choisir parmi une liste déroulante le questionnaire à envoyer. L'opérateur a aussi accès à une barre d'outils notamment pour mettre en forme ses réponses. Il lui est également possible d'ajouter des hyperliens via l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAVCAIAAAAigOL8AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAnJJREFUOI1jfPLxKwPFgIlyI0gy5fPNNVVZ7nb+7mENy65+IcuUzzdn55dNO/LbIjzciv38nMzKGRe/IUkzEhEuny9Pza9Ze0cmbPriMlPOP+/PTc3KWnxbNXNBR6gSC3Fu+flkGcIIjl8/X39jl06c0OLCc3vu/BcMTIxEmfLrzvLld1htuxaX6X19+OzZj7//GBgYGH59/c7AwMDGwsbKTpxbGNgY2LQdpW92x/sE52x6wgjxYPvRL8opaTrsUDWEw+X9nevP9vVWrbglEzZ9cZnaxY7EgjWPlGLmzi3Q5/j549XPf7hM+XxzTfvEhUeeMhjE9der7SytWXtHNqyrVPnR0SNrVh5+oRQ2fW6ZKcevH29+/PvHwMDAwMCCaQQkRsRtw7OsrZX2lZWsvSMTNn22/9Xi9ClXGeRtCuY2x+gjG8HAwMDw5ONXJPRie1u4sbGxf+epT/8/neyKMDY2Dujce+nG618/f7z48uvnv/////398eP7MxRdX5FDFyVSOW+vbF15WyZseofmyvTciSe+/Pvz9/frz9+efv7x5ieSK9B99Ova8oV3uG275pSZcv76+Vo8uHWFj6IK9/HCy79+2fNzsbL/+vUTRwygxPRvBgZGDia2Pz/f/Pj7j4FdUIzxWEd8xeFfynFp6uw4DEA3hU0rIl7ly+6SjP5zn6HBnFm55pFS2PQ5SYpMv/7gcggDRkx/vj4jq2LVQwnbMLN/hzYdfQFNF78griPWFAYGhs/3Vzd3zj3xnE3eJqW+OUYPPVKJM4WBgYGBnZ1dgI2ZheHfz1+/3mHECCbATHUMDAwMP3/+fIknGDAAdUpMACTqVl+Agd0vAAAAAElFTkSuQmCC)  , d'accéder à la galerie (![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAWCAIAAACkFJBSAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAYRJREFUOI3VlL9LAmEYx59HLHBwanBpa2wMh8YaamlpaHHpP5AObKiGFm9wSNoikDYRI5LjsB/+KIVqO4QKdDEu5eiH9mbYXRKcT8PRLd2pnRD08A4vD9/3w/d53y8v3r++w9DlGh4xEGUnEl6an11eXLg4EhxSTvbj2WxW1/V2ux2NbrdqVScUWZa/ZS4AUBTFCcXv95t7j8cz6Z+2lLl7IDrPytTMHKdp+Xze6/UGAgFwj1gq0faluzq/troRifY2a5TtROlkvFQqdT8GSpMtRRRFXdcLp8fOKTeXhUajgYi5XM5sqg+126uipd76dgVBICJErFQqny9Po2M+7bHOcZyqqrHYhMc33t/LW/1OkiREJCIAKJyfMbkaDK40m6zT6YTD4YEmEgQBEU2BKKZDoRBjDACIqFwuH+zt9qdkMhkAFxGaeW21WgCAaHRciURSvpZ6UYrioaZpP9GGEcMjEfE834uSSqUQEaBruYgIoItIjLGtzXXzlH12f1N/9Uv9N8oXo7my9MzARksAAAAASUVORK5CYII=)) ou bien encore d'importer des fichiers via l'icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAIAAABvSEP3AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAASpJREFUOI3N1CFvhTAQAOAWlhAIeGZBTDDPAn5mfwD4IVgChv6AeZIZfsHM9Eg2jZipeQkkDHOIhYml7QTLyybo2+OZd6Lmrl/umvTwDj7QyaGcTpyZcrGW+HzvyrIcx1HX9TRNL6+utyiEkCiKwjCklGZZdv9QS5TViQAgCAIhhOu6juPAjm5RNE3r+55SijE2DIMx9vb6fLSCkNK2bdM0nHOMsRCiqqoNyk8sxHJuVxZIXnBA2d+XNHJA+T2FosgqZTkhxF7Z3gv6O5HkdWSKaZoAwDnvus6yLM750QpjX77vD8OQJInnebZtS5TVfySEmOeZEIIQwhgDgKTr1V7iOM7zfJomhBAAFEURRdFaMZZszJenx7quGWOqqsZxfHN7t0X5f5zTxvwGsxaJA75lCO0AAAAASUVORK5CYII=) . Un opérateur a la possibilité de transférer une conversation si d'autres opérateurs que lui sont connectés. Dès lors que ces conditions sont remplies, une icône ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAAsNJREFUSInlVk9PE0EUfzO70+6ka0PkQlJFJA0eiPELaMA/gbvhoDfFGIKYwAkP8gnk5NUQExM9+gFEjeBB03goRk3ENKAGko2JpJRtt7OzO+Nht9uyXXYL1ZPv9ObNzO/33ps3bwZJKeFfitrlfoPJpe36q7KzacsBgq70qDdyqZOaEixA3UTwfte5vW79dPchnFDQoyF6vkdNJhBCcM4dx5FSCiE8I8YYIaSq6i+hjH+ytlwJANO95MkOrzWQ+jC8Ppfx4sAHQVuWZZomY8x13QDdm3JdlzG29KO21fA9heHZEO1rgBkCHm/bvkPt6Jxz0zQ553HZAXhbbervKs7l4+T5cOYMQZ7lZdmJJrBt27KseGhPNnirLgHgrK48zFPP8tWWEQS2bdfr9U7QAWCQNPVTBAHAZ9OdLfnODadQmEAI0Tk6AIxkmvqFrPpmx7n6pbrOfccvNaqoScAY6xwdAK71yn7Fd9MScP1bzWiUQh+GyVzK0/0yFUKYpnkoAgD4YMLsFuroHjDGEiNYW/tYKBQmJ28S0ky/weTT37BaRd85DBC4eAzf6qcRN7larbquG09QLBbn5+/l8/mFhfu5XC5yjaIomUym1eKfQetVipdSqTQ9fefF8nLkbHtf8COoVCqRG6ampgK9VrMMwwiGo6Mjc3NzIX8BIJvNtg4TuunGxuZBUysrq+Xy7uLig3iEBILBwdOBHhlB/HYIUrS3t5fYt71DBgBK6czdmfGxsfY1GGNd11stajCRWEWexFcRQihk8QlUVU0kQAhPTEyE7kEYTg3nvKub3C66rmO8r4H6A4xxjF8dCiEkhA6tzS6dTndJEInQJMAYU0qPjE4pbXcfQg8OIUTTtCOga5p2UIYjfhWc8w5fTU8opTHnF/1tEUIwxhLffUJIOp2OzEwCQUAT8y+KrJnDEfwVSXbhvyf4AwdQVFHKnTYqAAAAAElFTkSuQmCC) apparaît.

Cliquez sur ce bouton pour transférer la conversation en cours. Sélectionnez ensuite l'opérateur vers qui la conversation sera transférée puis laissez lui éventuellement un message si vous le souhaitez. Cliquez sur **Ok**.

Le second opérateur, qui récupère la conversation se verra apparaître un nouvel onglet avec le symbole d'une flèche pour indiquer qu'il s'agit d'une conversation transférée.

## Accès au BMS depuis le pupitre opérateur&#x20;

L'opérateur livechat peut accéder aux paramètres de son compte sur le BMS en cliquant sur l'icone ![](/files/9eEzKAvRzpRi8HZs0WXN) .

<figure><img src="/files/QXSABjsPFmCcBUQ1MGSs" alt=""><figcaption></figcaption></figure>

La page qui s'affiche comporte uniquement les [paramètres livechat](https://docs.dydu.ai/livechat/livechat-dydu/configuration-livechat-dydu/parametres-de-compte#parametres-livechat) modifiables par un opérateur.

<figure><img src="/files/xxs7REzvSmcqQtLmBta5" alt=""><figcaption></figcaption></figure>


# Interface manager

Livechat dydu offre la possibilité de définir des gestionnaires de chat en direct. Ils ont une interface spécifique leur permettant de :

* voir qui sont les opérateurs connectés.
* voir le nombre d'opérateurs connectés.
* voir le nombre de conversations en cours.
* voir le nombre total de conversations effectuées dans la journée.
* afficher les conversations actuelles pour chaque opérateur.
* envoyer des messages directement à l'opérateur.
* envoyer des messages à l'utilisateur final au lieu de l'opérateur.

<figure><img src="/files/pQOD3WazMqcod0tiXMeo" alt=""><figcaption></figcaption></figure>

* L'envoi d'un message à l'opérateur est interne, ce qui signifie que seul l'opérateur recevra ce message et pourra répondre directement.
* L'envoi d'un message à l'opérateur est possible en cliquant sur l'onglet "Message interne", ce qui signifie que seul l'opérateur le recevra et pourra y répondre directement. De cette manière, l'opérateur pourra également répondre au manager via le même onglet se trouvant sur son pupitre opérateur.

<figure><img src="/files/rtviBYuVbw52wo9gbvMg" alt=""><figcaption></figcaption></figure>

* Lorsque le gestionnaire de chat en direct envoie un message à l'utilisateur final au lieu de l'opérateur, il le fait directement via la fenêtre de discussion. Cette action est transparente pour l'opérateur.

<figure><img src="/files/3dsBhfgSXMlNiGRMNEsq" alt=""><figcaption></figcaption></figure>

* L'opérateur a également la possibilité d'appeler le gestionnaire de chat en ligne, surtout s'il a besoin d'aide pour une conversation complexe. Dans ce cas, le superviseur voit la conversation de l’opérateur clignoter en orange et peut donc entamer une conversation interne avec l’opérateur.

<figure><img src="/files/enPTAABYitiW3rXsoYQ8" alt=""><figcaption></figcaption></figure>

* En cliquant sur l'icône <img src="/files/a1b1J6FN4KJTTuN8zH0W" alt="" data-size="line">, le superviseur peut dérouler la liste des conversations Livechat d'un opérateur et afficher l'une d'elles à droite de son écran en la sélectionnant.

<figure><img src="/files/zjfoCJdNxHr6DHoJEunr" alt=""><figcaption></figcaption></figure>

* Lorsqu'une file d'attente est mise en place, le manager a la possibilité de visualiser le nombre d’usagers en attente.

<figure><img src="/files/OZcTixtS9Lm4hb5nzsQ8" alt=""><figcaption></figcaption></figure>


# Configuration livechat DYDU

Vous pouvez accéder aux paramètres du Livechat depuis le menu : **Préférences > Paramètres du Livechat.**

<figure><img src="/files/MrWeM8ENRVyPQ7Db67yz" alt=""><figcaption></figcaption></figure>

Ici, les paramètres sont divisés en 5 catégories :

* Configuration général
* Compétences
* Files d'attente
* Capacité de l'opérateur
* Paramètres du compte


# Paramètres généraux

Ici, vous pouvez configurer votre livechat à travers les éléments ci-dessous :

## **Capacité**&#x20;

* **Nombre de conversations par opérateur :**&#x20;
  * Cette option définit le nombre maximal de conversations qu'un opérateur peut gérer simultanément.&#x20;
* **Nombre de conversations qui peuvent entrer en file d'attente pour chaque opérateur connecté:**&#x20;
  * Si vous souhaitez utiliser la file d'attente, vous pouvez également définir un nombre de personnes supplémentaires par opérateur pour savoir combien de personnes peuvent entrer en file d'attente.

## **Timeouts**&#x20;

* **Time out du livechat (en minutes)** :&#x20;
  * Le délai d'expiration du livechat est configurable en fonction de la période d'inactivité de l'utilisateur.&#x20;
* **Time out lorsque la conversation n'est pas décrochée :**&#x20;
  * Le délai d'expiration d'une conversation livechat peut être géré si l'opérateur ne prend pas en charge la conversation.
* **Rappel avant que le timeout ne soit atteint (en secondes) :**&#x20;
  * Le délai d'expiration est configurable selon une durée pour prévenir que ce délai sera bientôt atteint.
* **Durée avant envoi de la phrase de relance (en minutes , inactif si 0) :**
  * Cette configuration définit la durée (en minutes) au terme de laquelle une phrase de relance est envoyée à l'utilisateur.
* **Durée avant envoi de la phrase de réengagement. L'envoi dépend du statut de l'opérateur (en minutes , inactif si 0) :**&#x20;
  * Cette durée déclenche l'envoi d'une phrase de réengagement à l'utilisateur, notamment lorsque l'opérateur est en cours de recherche d'information.
* **Transfert automatique de la conversation (en secondes) :**&#x20;
  * S'il s'avère que l'opérateur est inactif, la conversation peut être transférée automatiquement vers un autre opérateur. Une option est disponible pour afficher ou pas une notification de transfert automatique d'opérateur à l'utilisateur final.
* **Information de la déconnexion de l'opérateur à l'utilisateur après (en secondes) :**
  * Cette valeur spécifie le délai après lequel l'utilisateur reçoit la phrase de notification de déconnexion de l'opérateur.
* **Temps d'affichage du questionnaire en attente (en minutes) :**&#x20;
  * Cette configuration détermine la durée d'affichage du questionnaire pour l'utilisateur.
* **Fermeture de la file d'attente avant fin de service (en minutes) :**&#x20;
  * Cette configuration spécifie la fermeture de la file d'attente précédant la désactivation du service de livechat.

## **Options du pupitre** &#x20;

Cette section vous permet d'accorder des autorisations diverses à l'opérateur :&#x20;

* **Imprimer la conversation** :&#x20;
  * Permet à l’opérateur d’obtenir une version imprimable de l’échange avec l’utilisateur.
* **S’envoyer la conversation par mail** :&#x20;
  * Autorise l’opérateur à recevoir par e-mail une copie de la conversation.
* **Noter la conversation comme « importante »** :&#x20;
  * Offre la possibilité à l’opérateur de marquer une conversation pour en faciliter le suivi ou l’archivage.
* **Solliciter l’aide du manager** :&#x20;
  * Permet à l’opérateur de demander l’intervention ou l’avis de son manager pendant une conversation.
* **Afficher la liste des opérateurs en ligne** :&#x20;
  * Rend visible sur le pupitre opérateur la liste des opérateurs actuellement connectés.
* **Afficher l’onglet « Rechercher une connaissance »** :&#x20;
  * Ajoute, sur l’interface livechat, un onglet pour effectuer une recherche rapide d’informations utiles.
* **Afficher les réponses prédéfinies publiées avec leur thématique** :&#x20;
  * Propose à l’opérateur une liste de réponses standards classées par thème pour faciliter et accélérer le traitement des demandes.
* **Demander à l’utilisateur de télécharger un fichier** :&#x20;
  * Autorise l’opérateur à envoyer une demande de téléchargement d’un fichier à l’utilisateur pendant la conversation.
* **Envoyer un fichier** :&#x20;
  * Lorsque cette option est activée, un bouton dédié apparait sur le pupitre opérateur, permettant d’envoyer un fichier à l’utilisateur durant la discussion.
* **Opérateur livechat augmenté :**&#x20;
  * Permet à l'opérateur de faire apparaitre une chatbox sur le pupitre opérateur

## **Statuts optionnels**&#x20;

Cette section vous permet de définir les différents statuts que peut afficher l'opérateur :&#x20;

* **En formation :**
  * Ce statut signifie que l'opérateur n'est pas disponible pour prendre en charge de nouvelles requêtes car il est en session de formation.
* **Téléphone :**
  * Ce statut indique que l'opérateur est en communication téléphonique et n'est donc pas disponible pour de nouvelles prises en charge.
* **Echange avec le superviseur :**&#x20;
  * Ce statut indique que l'opérateur est en discussion avec son superviseur et n'est donc pas disponible pour prendre une nouvelle conversation.
* **Pas de nouvelle conversation :**&#x20;
  * Ce statut signifie que l'opérateur ne prendra pas de nouvelle conversation.
* **En recherche d'information :**&#x20;
  * Ce statut indique que l'opérateur est en recherche d'information, statut qui peut être utilisé pendant les conversations actives.

## **Questionnaire opérateur**&#x20;

* **Questionnaire opérateur en fin de conversation :**&#x20;
  * Cette option permet de sélectionner un questionnaire à adresser à l'opérateur à la fin de la conversation.
* **Afficher le bouton "Completer questionnaire" sous la zone de saisie de l'opérateur :**&#x20;
  * Cette configuration affiche un bouton sous la zone de saisie de l'opérateur lui permettant de compléter son questionnaire.
* **Afficher le bouton "Annuler" sur le questionnaire opérateur :**&#x20;
  * Cette option affiche un bouton "Annuler" qui permet à l'opérateur de fermer l'interface du questionnaire.
* **Possibilité de fermer le questionnaire opérateur sans y répondre :**&#x20;
  * Cette option permet à l'opérateur de fermer une conversation sans avoir préalablement rempli son questionnaire.

## **Questionnaire utilisateur**

* **Questionnaire utilisateurs finaux en fin de conversation :**&#x20;
  * Cette option permet de sélectionner un questionnaire à adresser à l'utilisateur à la fin de la conversation.
* **L'opérateur peut envoyer un questionnaire à l'utilisateur :**&#x20;
  * Cette option permet à l'opérateur d'envoyer un questionnaire à l'utilisateur à tout moment.

## **Divers**&#x20;

* **Les réponses suite à une redirection de connaissance sont indiquées comme provenant de l'opérateur :**&#x20;
  * Cette configuration permet d'indiquer que les réponses issues d'une redirection vers une connaissance sont affichées comme ayant été envoyées par l'opérateur plutôt que par le bot.
* **Permet si cochée de ne pas clore la conversation en fin de livechat, et si il y a une réescalade redirige vers l'opérateur précédent si disponible :**&#x20;
  * Cette option, lorsqu'elle est cochée, maintient la conversation ouverte à la fin du livechat et assure que toute réescalade redirige vers l'opérateur précédent si celui-ci est disponible, même hors de son cycle d'assignation normal.
  * Si l'option est décochée, la conversation avec le bot se clôture automatiquement à la fin de l'échange Livechat. Toute nouvelle interaction de l'utilisateur initiera alors une nouvelle conversation.
* **Transférer la conversation à un autre opérateur si l'opérateur en cours de conversation est déconnecté :**&#x20;
  * Cette option, lorsqu'elle est cochée, transfère la conversation à un autre opérateur disponible en cas de déconnexion de l'opérateur en cours, ce qui évite la fermeture de la conversation.

## **Horaires d'ouverture**

Vous pouvez ici choisir les horaires d'ouverture du Livechat sur les jours de la semaine. Ces horaires peuvent être définis par compétence.

Les conversations sont attribuées automatiquement aux opérateurs selon leur disponibilité. Si un opérateur termine son service à 18h et qu'après 18h, il est encore en conversation, il ne lui sera plus attribué de nouvelles conversations.

Dans les phrases générales, il est possible de configurer une phrase spécifique dans le cas où l'internaute tente de commencer une conversation Livechat mais qu'il n'y a pas d'opérateur disponible. Vous pouvez notamment lui indiquer qu'il est actuellement en dehors des horaires d'ouverture.

Exemple :&#x20;

<figure><img src="/files/inQBWSzkDsPpMm5vLKVU" alt=""><figcaption></figcaption></figure>

## **Fiche de l'utilisateur**

Cette partie présente les informations que l'opérateur peut obtenir et se voir afficher comme informations sur l'internaute pendant une conversation.


# Compétences

Vous pouvez ajouter des niveaux et des sous-niveaux de compétences. Le + ajoute une nouvelle compétence. Lorsque vous passez votre souris sur une compétence, un nouveau + s'affiche à droite. Il permet d'ajouter un sous-niveau à cette compétence.

![](/files/TACMRIJldyAjIDEMV8Iu)

Vous pouvez définir des compétences pour que les opérateurs puissent assigner des dialogues à des opérateurs en fonction de leur compétence. Une fois que vous avez ajouté des compétences dans les paramètres, elles apparaissent dans la liste des **conditions de contexte**.

![](/files/uqSNWgfNiupT0tIifqfa)

La décision de rediriger vers une compétence proviendra d'une règle d'activité interne, ou de la configuration d'une connaissance avec l'utilisation de conditions contextuelles.

Ces compétences sont ensuite attribuées aux opérateurs.

**Configuration du pool d'opérateurs**

Des groupes d'opérateurs peuvent être créés. Ces groupes, appelés *pools* d'opérateurs, regroupent des opérateurs ayant plusieurs compétences. Dans chaque *pool*, il est possible de distinguer les gestionnaires du livechat des opérateurs. Cela permet, entre autres, de filtrer les opérateurs selon des critères spécifiques, comme le service auquel ils appartiennent, leur localisation, etc. Grâce à cette fonctionnalité, un gestionnaire ne verra, depuis son interface, que les opérateurs de son propre *pool*.

Par exemple, pour des clients travaillant avec plusieurs centres d'appels, les *pools* d'opérateurs permettent d’isoler les opérateurs et leur(s) gestionnaire(s) par centre d’appel.

Pour créer un *pool,* entrez le nom de votre *pool* et cliquez sur "**Valider**". Vous pourrez ensuite configurer votre *pool*.

**Enquêtes par compétence**

![](/files/A3zkCwjt7jSJibrtHM6e)

[<br>](https://dev.docs.dydu.ai/fr/docs/Livechat/dydu_integrated_livechat/dydu_livechat_setup/general_configuration)

<figure><img src="https://docs.dydu.ai/fr/assets/images/p011-d435105c22e51e4bfcc2d94bbb51ffb9.png" alt=""><figcaption></figcaption></figure>




---

[Next Page](/llms-full.txt/1)

