Fonctions Chatbot
Découvrez la gamme de fonctionnalités de chatbot disponibles et comment elles peuvent être utilisées pour améliorer le service client.
Fonctions Chatbot
Découvrez la gamme de fonctionnalités de chatbot disponibles et comment elles peuvent être utilisées pour améliorer le service client.
Introduction aux fonctions ITSM
Les fonctions Chatbot permettent aux chatbots de créer et de modifier des données ESM, et permettent également une logique plus complexe avec une configuration personnalisée.
Les fonctions sont utilisées par les chatbots d'Efecte Chat pour créer des tickets et des fiches de données de session dans ESM, ainsi que pour les mettre à jour. Les fonctions peuvent avoir des valeurs toujours identiques selon la configuration ESM. Par exemple, vous pouvez définir le modèle utilisé pour la création des fiches de données. Il est également possible de définir des valeurs pour les fiches de données ESM « à la volée », lors de l'appel de la fonction. Cela permet d'utiliser la même fonction de différentes manières, par exemple pour créer des incidents d'une catégorie dans un scénario et d'une catégorie différente dans un autre.
Les fonctionnalités des environnements existants ne sont pas automatiquement mises à jour lors de l'ajout de nouvelles fonctionnalités ou de modifications. L'introduction de toute modification de fonctionnalités dans des environnements existants nécessite l'intervention de services professionnels.
Efecte Chat for Service Management contient actuellement les fonctions suivantes :
1. Créer un ticket
Description
L'objectif principal de cette fonction est de créer un ticket côté ESM. Vous pouvez l'utiliser à tout moment du scénario ; vous pouvez choisir de créer un ticket au début de la conversation de l'utilisateur avec le chatbot [1] ou seulement à la fin. Pour ajouter cette fonction à un scénario, ajoutez un nouveau bloc dans l'éditeur de scénarios, sélectionnez « Bloc Fonction », puis sélectionnez le bloc approprié dans la liste. Un menu supplémentaire s'affiche à droite [2] ; vous devez y saisir l'objet du ticket envoyé à ESM et l'identifiant du prochain bloc auquel la fonction doit accéder une fois la tâche terminée. Pour plus d'informations sur la création de scénarios, consultez le uid .
Paramètres de fonction
Pour que la fonction fonctionne correctement, accédez à l'onglet « Fonctions », sélectionnez celle qui convient dans la liste et cliquez sur le bouton « Modifier ». Les paramètres les plus importants se trouvent dans le champ « Objet de configuration » [1], où vous devez modifier les variables conformément aux paramètres ESM.

" API _URL" - ajustez l'URL avec les détails suivants
- URL de l'environnement, par exemple « https://newenvironment.efectecloud.com » - NE remplacez PAS l'URL complète par l'URL de l'environnement uniquement !
- code de dossier ESM correct, par exemple « incident_management »
- le paramètre complet de API _URL doit toujours ressembler à ceci :
- " API _URL": "https://newenvironment.efectecloud.com/api/itsm/dataCardImport.ws?folderCode=incident_management&createEmptyReferences=true&includeIDs=true",
"resHistoryPath" - c'est le chemin vers l'historique des conversations, n'apportez aucune modification dans ce champ !
"ticketURL" - ici, vous devez également définir l'adresse correcte de votre environnement à partir d'ESM, comme ci-dessus dans API , sans modifier le reste de l'URL
« auth » : code d'autorisation créé à partir des données de connexion. Il sera fourni par notre support. En cas de modification de vos identifiants, veuillez contacter le support pour le mettre à jour.
Note
N'oubliez pas de vous assurer que vous avez correctement saisi l'URL
Vérifiez que le code de dossier dans les paramètres ESM est bien « incident_management ». S'il est différent, vous pouvez modifier le nom du dossier dans l'URL API . Le dossier par défaut devrait être celui illustré dans l'exemple.
Assurez-vous d'avoir correctement saisi l'adresse dans l'URL du ticket
Assurez-vous que le code d’autorisation est structuré comme dans l’exemple ci-dessus « Basic ………. »
2. Mettre à jour le ticket
Description:
La tâche principale de cette fonction est d'appliquer les modifications à un ticket existant. Nous pouvons utiliser cette fonction à la fin du scénario pour modifier le statut d'une demande donnée. Par exemple, si l'utilisateur résout son problème après avoir parcouru le scénario, nous pouvons automatiquement modifier le statut de la demande de « nouveau » à « résolu » ou à un autre statut selon les besoins métier.
Nous pouvons également modifier le statut du ticket créé après une tentative infructueuse de connexion à l'agent.
Veuillez noter que la fonction UpdateTicket fonctionne uniquement en conjonction avec la fonction CreateTicket.
À l'aide de cette fonction, vous pouvez modifier le statut d'un ticket existant ou annuler un ticket précédemment créé.
Le scénario d'utilisation de la fonction UpdateTicket peut ressembler à ce qui suit :

- Fonction CreateTicket - ici, au tout début du scénario, nous créons automatiquement un ticket dans ESM, avec le titre (comme indiqué dans la description de CreateTicket)
- Parcours de résolution de Pro : nous pouvons ajouter plusieurs branches selon la manière dont le problème est résolu et sa complexité. À la fin du scénario, nous souhaitons connaître le résultat ; il est donc nécessaire de préparer une question récapitulative. Le résultat servira à déterminer l'étape suivante.
- Scénario après avoir sélectionné « Non, j'ai toujours des problèmes » - si le problème persiste, nous pouvons afficher d'autres étapes, par exemple annuler le ticket ou contacter l'agent.
- Annuler ce ticket - pour annuler le ticket, vous devez intégrer la fonction « UpdateTicket » ici et ajouter des paramètres d'attribut : type et adresse du prochain bloc vers lequel la fonction ira une fois la tâche terminée.
- Mettre à jour le ticket - nous pouvons également ajouter des informations supplémentaires à un ticket existant, par exemple s'il n'y a aucun agent disponible pour le moment et que nous souhaitons décrire notre problème, nous pouvons également utiliser la fonction UpdateTicket pour envoyer des informations avec une description de notre problème.
{
"type": "Cancel",
"nextChild": "statement-c4678291"
}
6. Si le problème est résolu et que l'utilisateur sélectionne « Oui », la fonction « Mettre à jour le ticket » permet de modifier automatiquement le statut du ticket en « Résolu ». Dans ce cas, il suffit de saisir l'adresse du prochain bloc souhaité dans les paramètres.
Pour que la fonction fonctionne correctement, les paramètres suivants doivent être saisis dans les paramètres de la fonction :
Paramètres de fonction :
De la même manière que pour la fonction « CreateTicket » décrite au premier point, vous devez également fournir l'URL de API de votre environnement ESM et l'autorisation. Ces données doivent être identiques à celles de la fonction « CreateTicket ». La seule modification concerne l'attribut « mainScriptId » : vous devez y saisir l'ID de notre bloc Menu principal (vous le trouverez dans l'URL en modifiant l'article ♻️ Menu principal).
{
"API_URL": "https://example.env.from.esm.com/api/itsm/dataCardImport.ws?folderCode=incident_management&updateDataCards=true&createDataCards=false",
"auth": "Basic XXXXXXXXaaaa1122233bbbcccdddeeefffXXXXXXXX",
"mainScriptId": 45177
}Supported parameters:
{
"type": "Cancel",
"type": "Description"
}3. Créer un ticket à partir d'un formulaire
Description:
La fonction CreateTicketFromForm permet de créer un ticket dans ESM à partir d'un formulaire rempli par l'utilisateur. Pour faciliter l'envoi des tickets, nous avons créé un formulaire dans notre Chatbot contenant deux champs : « Objet » et « Description ». À partir de ces données et de vos informations, nous pouvons créer un ticket dans ESM. Les tickets créés de cette manière ne peuvent pas être modifiés depuis le Chatbot . Cependant, si l'utilisateur se connecte à l'agent via le chat en direct, tous ses tickets créés avec le Chatbot seront visibles dans la fenêtre agent.widget.

- Pour utiliser cette fonction, nous devons d'abord définir notre formulaire. Par défaut, les attributs « Sujet » et « Description » sont définis ; ces variables seront envoyées à ESM (il est possible d'ajouter de nouvelles variables à cette fonction ; pour cela, contactez l'équipe PS InteliWISE).
- Script d'annulation du formulaire. Il affiche le message d'annulation et les étapes suivantes possibles, ici le bouton « Retour au menu ».
- Fonction « CreateTicketFromForm » : un ticket est créé automatiquement à partir des données du formulaire et de l'utilisateur. Une fois le ticket créé, l'utilisateur reçoit automatiquement un message avec le numéro de l'incident. Cette fonction ne nécessite aucun paramètre supplémentaire.
Paramètres de fonction :
De la même manière que pour les paramètres des fonctions précédentes, vous devez également fournir ici l' API _URL, ticket_URL, auth appropriés et saisir l'ID du script « MainMenu »
{
"API_URL": "https://example.env.from.esm.com/api/itsm/dataCardImport.ws?folderCode=incident_management&createEmptyReferences=true&includeIDs=true",
"resHistoryPath": "https://rail-webfront.app.inteliwi.se/channels/history?channelUid=",
"ticketURL": "https://example.url.from.esm.com/itsm/EfecteFrameset.do#/workspace/datacard/view/",
"auth": "Basic XXXXXXXXaaaa1122233bbbcccdddeeefffXXXXXXXX",
"mainScriptId": 45177
}4. Créer une session de discussion
Description:
La tâche principale de cette fonction est de créer une carte de données (data_card) chargée de collecter des informations sur l'historique des conversations de l'utilisateur avec Chatbot et les agents. Grâce aux informations envoyées par cette fonction, l'agent peut consulter l'historique des conversations avec un utilisateur donné. Les données collectées peuvent également être utilisées pour diverses analyses et la préparation de rapports sur l'utilisation d'une fonctionnalité donnée. Le bloc contenant cette fonction doit être inséré dans le scénario de chat en direct, comme indiqué dans le graphique ci-dessous.

- Script de fonction « CreateChatSession »
- Ouverture d'une connexion avec l' Agent
Paramètres de fonction :
De la même manière que pour les autres fonctions, dans le champ « Objet de configuration », vous devez saisir les valeurs appropriées API _URL et auth.
{
"API_URL": "https://example.env.from.esm.com/api/itsm/dataCardImport.ws?folderCode=chat_sessions",
"resHistoryPath": "https://rail-webfront.app.inteliwi.se/channels/history?channelUid=",
"auth": "Basic XXXXXXXXaaa111222333dddfffggXXXXXXXX"
}Fonctions ITAM (QR-code) :
1. DemandeEsmData
Grâce aux fonctionnalités de la plateforme Efecte, livrées en R1_23, nous pouvons envoyer diverses variables dans l'URL. Grâce à cette fonctionnalité, nous pouvons facilement ajouter l'attribut de notre choix à l'adresse de l'environnement client (lien vers ESS). Ensuite, en utilisant toutes les données de custom_data, nous pouvons préparer une requête à la plateforme ESM pour envoyer des informations détaillées sur l'utilisateur ou tout attribut stocké dans la fiche de données ESM.
2. Créer un incident
La fonction est détaillée dans les fonctions ITSM.
Un exemple de variable httpBody de la fonction createIncident contenant les attributs sélectionnés :
const httpBody = `<entityset>
<entity>
<template code="\${efecteChat.integration.deviceIncident.templateCode}"/>
<group code="\${efecteChat.integration.ticket.folderCode}"/>
<attribute code="\${efecteChat.integration.deviceIncident.subject.attributeCode}">
<value>${subject}</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.description.attributeCode}">
<value>${description}</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.customer.attributeCode}">
<value>${customData.clientData.externalId}</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.contactType.attributeCode}">
<value code="\${efecteChat.integration.deviceIncident.contactType.chatbot.valueCode}">ignored</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.affectedDevice.attributeCode}">
<value>${vars.efecteID}</value>
</attribute>
</entity>3. Créer une demande
Grâce à cette fonction, nous pouvons créer diverses requêtes, allant des incidents standards aux demandes de service, en passant par nos propres requêtes personnalisées. La fonction createRequest en est un exemple. En modifiant uniquement la variable httpBody de la fonction, nous pouvons envoyer un type de requête donné.
Un exemple de variable httpBody de la fonction crateRequest contenant les attributs sélectionnés :
const httpBody = `<entityset>
<entity>
<template code="\${efecteChat.integration.ticket.templateCode}"/>
<group code="\${efecteChat.integration.ticket.folderCode}"/>
<attribute code="\${efecteChat.integration.ticket.customer.attributeCode}">
<value>${customData.clientData.externalId}</value>
</attribute>
<attribute code="\${efecteChat.integration.ticket.contactType.attributeCode}">
<value code="\${efecteChat.integration.ticket.contactType.chatbot.valueCode}">ignored</value>
</attribute>
<attribute code="\${efecteChat.integration.ticket.chatSessionId.attributeCode}">
<value>${request.body.sessionId}</value>
</attribute>
<attribute code="\${efecteChat.integration.ticket.subject.attributeCode}">
<value>${params.scriptNode.functionParams.subject}</value>
</attribute>
</entity>4. Envoyer un message de données ESM
Grâce aux données collectées par la fonction requestEsmData, nous pouvons générer dynamiquement un message contenant des données de l'ESM (informations sur l'utilisateur, un appareil donné ou autres données téléchargées depuis data_card). Nous pouvons également générer des boutons dans le Chatbot , redirigeant vers n'importe quel emplacement (articles de la base de connaissances de l'ESM, données téléchargées depuis le uid utilisateur ou liens externes).
N'oubliez pas que toutes les fonctions décrites ici doivent être configurées conformément aux instructions décrites dans la section Fonctions ITSM -> createTicket
Les applications des fonctions ci-dessus sont très larges, pour faciliter l'utilisation, nous avons décrit l'un des projets utilisant les fonctions décrites.
Un exemple d'utilisation de cette fonctionnalité est un projet préparé pour l'un de nos clients, visant à reconnaître un appareil grâce à un code QR placé sur celui-ci. Après avoir scanné le code QR, l'utilisateur se connecte à ESS. Il est automatiquement redirigé vers le Chatbot , où il trouve toutes les informations nécessaires sur l'appareil. À l'étape suivante, il peut signaler un incident ou envoyer une demande de service concernant l'appareil reconnu. Toutes les données nécessaires, telles que l'utilisateur et l'appareil concerné, sont automatiquement ajoutées aux attributs du ticket. L'agent qui gère le ticket dispose immédiatement de toutes les informations nécessaires.
Chat IA Effie
GPT_RequestEsmData :
Description:
L'intégration du chat Effie AI avec ChatGPT implique la transmission de données supplémentaires provenant de la carte de données de l'utilisateur (person_data_card) ESM, ainsi que de l'historique des conversations. Les données à envoyer doivent être incluses dans la fonction sous forme d'attributs. Le modèle analyse ensuite la question posée et, en fonction du contexte de la conversation et des données envoyées, fournit une réponse précise. Cette intégration étend les capacités du modèle. La fonction permet également d'envoyer uniquement la question de l'utilisateur final et de générer une réponse basée sur celle-ci, sans données supplémentaires. Cette approche limite les capacités du modèle, mais dans ce cas, aucune donnée ESM n'est transmise.
Ce qui est inclus :
- déclaration d'une fonction qui crée une classe avec des méthodes analysant xml en json et l'assignant à la variable XMLParser
- déclaration d'une fonction analysant les données reçues de l'ESM vers un objet utilisateur - parseUserData(data)
- déclaration d'une fonction analysant les données reçues de l'ESM dans un tableau des 5 incidents les plus récents de l'utilisateur
- déclaration des types d'énumération : MessageButtonType et PostbackType
- création de variables : preparedAnswer (extrait de request.body.params), parser (une instance de la classe XMLParser avec un attribut {ignoreAttributes : false}), externalID
- Extraction de l'objet dont la clé « type » a pour valeur « CUSTOM_DATA » par l'envoi d'une requête à l'adresse « https://rail-webfront.app.inteliwi.se/channels/history?channelUid=" + uid (params.channelUid). À la réception de l'objet ci-dessus, la valeur de la clé « externalId » (customData.clientData.externalId) est extraite et affectée à la variable externalID. Si cette clé est introuvable, le système renvoie une information indiquant qu'elle n'est pas reconnue et affiche le bouton « Retour ».
- extraction des données utilisateur de l'ESM en envoyant une requête à l'adresse ".../api/itsm/search.ws?query=SELECT DISTINCT $first_name$,$workstations:workstation_model$, $mobile_devices:mobile_device_model$ FROM entity WHERE entity.template.code = 'person' AND $email$ =" + externalID, puis nous analysons les données xml reçues avec la fonction parseUserData
- extraction des données sur les incidents de l'utilisateur en envoyant une requête à l'adresse ".../api/itsm/search.ws?query=SELECT $subject$, $status$, $description$, $created$, $updated$ FROM entity WHERE entity.template.code = 'incident' AND $customer_email$ ="," + externalID + 'ORDER BY $updated$ DESC', puis nous analysons les données xml reçues avec la fonction parseUserIncidents
- dans l'objet de réussite, nous envoyons un objet customData avec la valeur { user } et exécutons le bloc suivant dans le scénario.