Agent virtuel Scripts
Utilisez ServiceNow® Agent virtuel des méthodes et des variables de script pour écrire des scripts de messagerie instantanée, tels que des scripts de réponse, de déclencheur et de flux. Les variables peuvent également fournir un contexte pour vos rubriques et conversations d’assistance en direct.
Agent virtuel Les scripts peuvent fournir un contexte pour des rubriques, telles que la conservation d’informations sur un utilisateur ou l’entrée d’un utilisateur. Vous pouvez utiliser ces informations pour personnaliser une conversation, par exemple pour présenter un message d’accueil ou une confirmation scripté. Les scripts peuvent également spécifier certaines actions à effectuer sur les informations obtenues au cours d’une conversation. Ces actions peuvent être utilisées pour créer ou mettre à jour ServiceNow des enregistrements.
Les scripts s’exécutent sur le serveur dans le périmètre dans lequel une rubrique est définie. Toutes les protections du champ d’application s’appliquent. Si vous développez une conversation pour une application incluse dans le périmètre, vous devez utiliser l’API incluse dans le périmètre. Vous pouvez utiliser la plupart des API qui s’exécutent dans les scripts serveur.
Variables d’entrée et ServiceNow d’enregistrement de l’utilisateur
Dans Agent virtuel, les variables suivantes peuvent être utilisées dans les scripts que vous créez pour une rubrique.
- Variables d’entrée de l’utilisateur
Lorsque vous ajoutez un contrôle d’entrée à une rubrique, le système crée automatiquement une variable pour stocker l’entrée utilisateur (une chaîne, une valeur booléenne, etc.). La syntaxe est
vaInputs.myvaroùmyvarest le nom que vous avez attribué au nœud d’entrée.Par exemple, une invite d’entrée de texte portant le nom Première invite a une variable définie par le système appelée
vaInputs.first_prompt. Les espaces dans le nom sont remplacés par un trait de soulignement et les caractères majuscules sont remplacés par des minuscules.- ServiceNow Variables d’enregistrement
Si vous créez un script pour une rubrique qui interroge une ServiceNow table, l’objet d’enregistrement (GlideRecord) renvoyé est automatiquement disponible pour être utilisé dans la rubrique. La syntaxe de la variable
est vaInputs.myvaroùmyvarest l’objet de l’enregistrement. Pour plus d’informations sur l’interrogation des ServiceNow tables en vue du retour d’un objet d’enregistrement, consultez Interrogation des tables dans un script.Utilisez la remontée pas à pas dans les variables qui contiennent un ServiceNow enregistrement pour spécifier un champ particulier dans la table. La syntaxe est
vaInputs.myvar.field. Pour plus d’informations sur la remontée pas à pas dans un script, voir Exemples de remontée pas à pas.- Accès aux variables d’entrée et ServiceNow d’enregistrement de l’utilisateur
Utilisez des objets vaInputs pour accéder ServiceNow aux variables d’enregistrement dans les scripts. Par exemple,
vaInputs.myvar == « valeur attendue ». Pour accéder aux valeurs des entrées de l’utilisateur qui ne sont pas desenregistrements, utilisez vaInputs.myvar.getValue().Les méthodes suivantes sont disponibles.
Tableau 1. Méthodes vaInputs Méthode Description vaInputs.myvar == « valeur attendue » Évalue si myvarcorrespond à une valeur attendue.Remarque :Les valeurs des variables d’entrée utilisateur sont affectées à l’aide des contrôles d’entrée de l’utilisateur. Ces valeurs ne peuvent pas être modifiées dans vos scripts.- La Xanadu version prend en charge des types de données supplémentaires. Pour plus d'informations, consultez Entrer des types de données dans des Agent virtuel rubriques.
- Par défaut, la variable utilisateur est disponible et constitue une référence à l’enregistrement sys_user pour l’utilisateur.
vaInputs.myvar.getValue() ; Renvoie la valeur. vaInputs.myvar.getDisplayValue() ; Renvoie la valeur d’affichage si la valeur stockée n’est pas un ServiceNow enregistrement. Pour les variables qui contiennent ServiceNow des enregistrements, cette méthode renvoie la valeur d’affichage, telle que définie par le champ d’affichage de cette table.
L’exemple suivant montre les valeurs d’étiquette et de choix d’une entrée utilisateur. Dans ce cas,
myVar.getValue()renverrait une valeur de 10, 20 ou 30, tandis quemyVar.getDisplayValue()renverrait Apple, Orange ou Pear.Figure 1. Exemple de liste de choix vaInputs.myvar.getDefaultValue() ; Renvoie la valeur par défaut dans un message de confirmation. vaInputs.myvar.getDefaultDisplayValue() ; Renvoie la valeur d’affichage de la valeur par défaut dans un message de confirmation. vaInputs.myvar.unbindEntity() ; Supprime la valeur des variables d’entrée que le NLU service de prédiction a remplies avec des entités extraites (la dissocie de la valeur d’entrée initiale). Par exemple, si l’utilisateur décide de changer son choix sur une invite de confirmation, vous pouvez dissocier la valeur de l’entité de la variable d’entrée. L’utilisateur sera alors invité à nouveau lorsqu’il reviendra au nœud d’entrée correspondant.
Remarque :NLU doit être activé sur la rubrique. Dans le Concepteur d'agent virtuel, sélectionnez l’onglet Propriétés pour configurer NLU. Pour plus d’informations sur la définition des NLUentités, consultez Entités.
Variables de script
Vous pouvez définir des variables de script pour les informations qui ne sont pas stockées dans ServiceNow des tables, mais qui peuvent être utilisées pour partager ces informations ailleurs dans une rubrique. Les variables de script sont similaires aux variables de bloc-notes de workflow qui stockent des primitives telles que des entiers, des valeurs booléennes ou des chaînes. Une valeur de chaîne peut être une valeur scriptée statique ou dynamique. Utilisez la barre latérale Variables pour définir des variables de script pour une rubrique au format Concepteur d'agent virtuel.
La syntaxe de la variable est vaVars.myvar, où myvar est le nom que vous attribuez à la variable. Par exemple, vous pouvez attribuer une valeur à la variable à l’aide de vaVars.myvar = value ;. Contrairement aux variables d’entrée utilisateur, les variables de script peuvent être affectées à des valeurs dans un script.
Pour en savoir plus sur la définition d’une variable de script dans une rubrique, reportez-vous à la rubrique Définir des variables de script pour une rubrique.
Variables de contexte
Les variables de contexte fonctionnent dans un champ d’application global tandis que les variables système fonctionnent dans le champ d’application de la rubrique. Vous pouvez utiliser des variables de contexte dans les paramètres système de l’URL du client Web. Ces variables peuvent être utilisées n’importe où dans la conversation à l’aide de l’objet vaContext . Utilisez ces options pour créer des liens Agent virtuel avec des variables prédéfinies.
L’exemple de lien suivant contient un paramètre, sysparm_city=milan. En plus d’ouvrir une Agent virtuel conversation, l’utilisation de ce lien crée une variable appelée ville avec une valeur de milan. Cette variable est accessible dans un script à l’aide de vaContext.city.
https://<instance>.service-now.com/$sn-va-web-client-app.do?sysparm_city=milan
- l'application
- langue
- portail
- search_text
- short_description
La syntaxe de variable est vaContext.LiveAgent_myvar, où myvar est l’une des variables de contexte de l’agent actif disponibles. Accédez à la variable à l’aide de vaContext.LiveAgent_myvar = value ;.
Pour utiliser Agent actif des variables dans les scripts de rubriques, ouvrez la rubrique au format Concepteur d'agent virtuel. Dans l’onglet Propriétés , sélectionnez l’icône en forme de crayon en regard de Variables de l’agent actif pour les ajouter à la rubrique.
Pour en savoir plus sur les variables de contexte de l’agent actif incluses dans Agent virtuel, reportez-vous à la section Variables de contexte de chat d’agent actif.
Méthodes vaSystem
- Joindre des images aux enregistrements.
- Accédez à la chaîne de recherche qui a été utilisée pour trouver la rubrique actuelle.
- Vérifiez qu’un agent actif est disponible pour recevoir une conversation.
- Connectez l’utilisateur à un agent opérationnel.
| Méthode | Description |
|---|---|
| vaSystem.applyLinkTemplate(String sysId, String tableName, String actionName) | Crée un lien externe spécifique à un portail. |
| vaSystem.attachRecordToConversation(String tableName, String sysId) | Joindre ServiceNow des enregistrements à la liste Tâches connexes dans un Agent virtuel enregistrement d’interaction. Ces enregistrements sont mis à jour ou créés au cours d’une Agent virtuel conversation. |
| vaSystem.attachToRecord(String mediaId, String tableName, String sysId) | Joindre une image chargée à un ServiceNow enregistrement. La méthode utilise les paramètres suivants :
|
| vaSystem.connectToAgent() | Connecte le client à un agent actif. Pour plus d’informations sur cette méthode, reportez-vous à la section Transfert Agent virtuel de conversations à un agent actif. |
| vaSystem.didConnectToLiveAgent() | Renvoie une valeur booléenne (vrai ou faux) indiquant si la conversation en cours a été connectée à un agent actif. |
| vaSystem.getClosingMessage() | Renvoie un message de fermeture pour une conversation à partir de la propriété système : com.glide.cs.general.closing_message. (Le message est différent pour les applications de messagerie tierces telles que Microsoft Teams et Slack). |
| vaSystem.getConversationId() | Renvoie l’ID de conversation de la conversation actuelle. |
| vaSystem.getGreetingMessage() | Renvoie un message d’accueil depuis le message de l’interface utilisateur avec la clé « Bonjour, je suis votre agent virtuel. Dites-moi comment je peux vous aider aujourd’hui. |
| vaSystem.getInteractionSysId() | Renvoie l’ID d’interaction de la conversation actuelle. |
| vaSystem.getSearchText() | Renvoie le dernier énoncé saisi par l’utilisateur. |
| vaSystem.getTopicSelectionMessage() | Renvoie un message d’interface utilisateur avec la clé « Quel est votre problème ou votre demande ? Ou jetez un coup d’œil à ce que je peux faire pour vous aider. (Le message est différent pour les applications de messagerie tierces telles que Microsoft Teams et ).Slack Cette méthode est renvoyée à partir de la propriété com.glide.cs.topic_picker_msgsystème . |
| vaSystem.getTranscript() | Obtient la transcription de la conversation. |
| vaSystem.isLiveAgentAvailable() | Vérifie si un agent actif est disponible pour recevoir une conversation transférée à partir du bot. Pour transférer une conversation à un agent actif, appelez cette méthode avant d’utiliser vaSystem.connectToAgent(). |
| vaSystem.isLiveAgentConfigured() | Indique si la messagerie instantanée en direct est activée. |
| vaSystem.resetAllEntities() | Réinitialise toutes les entités enregistrées dans la conversation. |
| vaSystem.sendBatchedMessages() | Envoie immédiatement des messages en file d’attente. |
| vaSystem.sendSeparatorMessage() | Envoie une ligne de message de séparation et renvoie le message de fermeture à partir de getClosingMessage(). |
| vaSystem.sendSystemMessage(Message de chaîne, show booléen Avatar) | Envoie un message système et renvoie un message d’accueil à partir de getGreetingMessage(). |
| vaSystem.sendTopicPickerControl(String topicSelectionMessage, String topicPickerButtonLabel) | Envoie un contrôle de sélecteur de rubrique avec des valeurs associées pour le message et l’étiquette du bouton « Tout me montrer ». |
| vaSystem.switchTopicByName() | Permet à l’utilisateur de passer du sujet de conversation actuel au nom de la rubrique spécifiée. Le bouton X est disponible afin que l’utilisateur puisse mettre fin à la conversation. À la fin de la rubrique, l’utilisateur reprend la rubrique globale. Lorsque la conversation se termine, l’utilisateur peut sélectionner Cliquez ici pour commencer une nouvelle conversation en bas de la fenêtre de messagerie instantanée afin de redémarrer la rubrique. Le paramètre facultatif resumeBehavior spécifie la façon dont le flux de conversation reprend, comme suit :
Si resumeBehavior elle n’est pas spécifiée, le comportement par défaut de l’instance est utilisé. |
| vaSystem.switchTopicById(sysid) | Permet à l’utilisateur de passer du sujet de conversation actuel à l’ID de rubrique spécifié. Le bouton X est disponible afin que l’utilisateur puisse mettre fin à la conversation. À la fin de la rubrique, l’utilisateur reprend la rubrique globale. Lorsque la conversation se termine, l’utilisateur peut sélectionner Cliquez ici pour commencer une nouvelle conversation en bas de la fenêtre de messagerie instantanée afin de redémarrer la rubrique. Le paramètre facultatif resumeBehavior spécifie la façon dont le flux de conversation reprend, comme suit :
Si resumeBehavior elle n’est pas spécifiée, le comportement par défaut de l’instance est utilisé. |
| vaSystem.topicDiscovery(String searchTextOverride, Boolean keywordImpl) | Effectue la découverte de rubriques en fonction du terme du searchTextOverride paramètre. La méthode utilise les paramètres suivants :
|
| Méthode | Description |
|---|---|
| sn_cs. VASystemObject.getTranscriptById(<sysId de conversation>) | Obtient la transcription de la conversation actuelle Agent virtuel . |