Agent virtuel Scripts

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 9 minutes de lecture
  • Utilisez ServiceNow® Agent virtuel des méthodes de script et des variables 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 champ d’application 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 de l’utilisateur (une chaîne, une valeur booléenne, etc.). La syntaxe est vaInputs.myvarmyvar est 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 comporte 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 une utilisation dans la rubrique. La syntaxe de la variable est vaInputs.myvarmyvar est l’objet de l’enregistrement. Pour plus d’informations sur l’interrogation de ServiceNow tables pour renvoyer un objet d’enregistrement, consultez Interrogation de 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éder 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 à partir des entrées utilisateur qui ne sont pas des enregistrements, utilisez vaInputs.myvar.getValue().

    Les méthodes suivantes sont disponibles.

    Tableau 1. Méthodes vaInputs
    Méthode Description
    vaInputs.myvar == « valeur attendue » Évalue si myvar correspond à une valeur attendue.
    Remarque :
    Les valeurs des variables d’entrée utilisateur sont affectées à l’aide des contrôles d’entrée utilisateur. Ces valeurs ne peuvent pas être modifiées dans vos scripts.
    • La Washington DC version prend en charge des types de données supplémentaires. Pour plus d'informations, consultez Types de données d’entrée dans les Agent virtuel rubriques.
    • Par défaut, la variable utilisateur est disponible et sert de 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 pour cette table.

    L’exemple suivant montre les valeurs d’étiquette et de choix pour une entrée utilisateur. Dans ce cas, myVar.getValue() renverrait une valeur de 10, 20 ou 30, tandis que myVar.getDisplayValue() renverrait Apple, Orange ou Pear.

    Figure 1. Exemple de liste de choix
    Les champs d’étiquette incluent Apple, Orange et Pear pour les choix. Les valeurs de chacun sont 10, 20 et 30.
    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 (le dissocie de la valeur d’entrée initiale).

    Par exemple, si l’utilisateur décide de modifier 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 en boucle vers le nœud d’entrée correspondant.

    Remarque :
    NLU doit être activé sur la rubrique. Dans , Concepteur d'agent virtuelsé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 des ServiceNow 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 dans Concepteur d'agent virtuel.

    Figure 2. Barre latérale des variables
    Barre latérale de la page pour l’ajout manuel de variables de script utilisées dans les Concepteur d'agent virtuel scripts de rubrique.
    Remarque :
    Les variables de script sont destinées à être utilisées par les auteurs de rubriques ayant des compétences avancées en scripting.

    La syntaxe de la variable est vaVars.myvar, où mavar est le nom que vous attribuez à la variable. Par exemple, vous pouvez attribuer une valeur à la variable en utilisant vaVars.myvar = value ;. Contrairement aux variables d’entrée utilisateur, les variables de script peuvent se voir affecter des valeurs dans un script.

    Pour en savoir plus sur la définition d’une variable de script dans une rubrique, reportez-vous à la section 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 contextuelles 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 nommé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
    Un certain nombre de variables peuvent être utilisées dans les scripts de Agent actif rubrique. Ces variables sont les suivantes :
    • Application
    • langue
    • portail
    • search_text
    • short_description

    La syntaxe de la variable est vaContext.LiveAgent_myvar, où myvar est l’une des variables de contexte d’agent actif disponibles. Accédez à la variable en utilisant vaContext.LiveAgent_myvar = value ;.

    Pour utiliser Agent actif des variables dans les scripts de rubrique, ouvrez la rubrique dans Concepteur d'agent virtuel. Dans l’onglet Propriétés , sélectionnez l’icône de crayon en regard des variables d’agent actif pour les ajouter à la rubrique.

    Pour plus d’informations sur les variables de contexte de l’agent actif incluses avec Agent virtuel, reportez-vous à la section Variables de contexte de chat d’agent en direct.

    Méthodes vaSystem

    Vous pouvez utiliser des méthodes dans l’objet vaSystem pour effectuer diverses tâches. Voici quelques-unes de ces tâches :
    • Joignez 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 actif.
    Remarque :
    L’utilisation de méthodes système non documentées n’est pas recommandée, car elles ne sont pas prises en charge et peuvent être interrompues ou modifiées à tout moment sans préavis.
    Tableau 2. Méthodes utilisées dans Agent virtuel les scripts de rubriques
    Méthode Description
    vaSystem.applyLinkTemplate(String sysId, String tableName, String actionName) Crée un lien externe propre à un portail.
    vaSystem.attachRecordToConversation(String tableName, String sysId)

    Joindre ServiceNow des enregistrements à la liste des tâches associées dans un enregistrement d’interaction Agent virtuel . Ces enregistrements sont mis à jour ou créés au cours d’une Agent virtuel conversation.

    vaSystem.attachToRecord(String mediaId, String tableName, String sysId)
    Joignez une image chargée à un ServiceNow enregistrement. La méthode utilise les paramètres suivants :
    • mediaId : chemin d’accès de l’image à joindre. Pour utiliser une image saisie par le client, utilisez getValue() sur une variable d’entrée d’image. Par exemple, vaInputs.image_input.getValue().
    • tableName : chaîne contenant le nom de la table.
    • sysId : sys_id de l’enregistrement.
    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) si la conversation actuelle 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 en cours.
    vaSystem.getGreetingMessage() Renvoie un message d’accueil à partir d’un message d’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 en cours.
    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 qui est 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 les 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, showAvatar booléen) 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 de la rubrique de conversation actuelle au nom de rubrique spécifié. Le bouton X est disponible afin que l’utilisateur puisse mettre fin à la conversation. Une fois la rubrique terminée, 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 pour redémarrer la rubrique.
    Le paramètre facultatif resumeBehavior spécifie la façon dont le flux de conversation reprend, comme suit :
    • Si resumeBehavior=resume, Agent virtuel reprend la rubrique d’appel.
    • Si resumeBehavior=skip, Agent virtuel ignore la rubrique d’appel.

    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 de la rubrique de conversation actuelle à l’ID de rubrique spécifié. Le bouton X est disponible afin que l’utilisateur puisse mettre fin à la conversation. Une fois la rubrique terminée, 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 pour redémarrer la rubrique.
    Le paramètre facultatif resumeBehavior spécifie la façon dont le flux de conversation reprend, comme suit :
    • Si resumeBehavior=resume, Agent virtuel reprend la rubrique d’appel.
    • Si resumeBehavior=skip, Agent virtuel ignore la rubrique d’appel.

    Si resumeBehavior elle n’est pas spécifiée, le comportement par défaut de l’instance est utilisé.

    vaSystem.topicDiscovery(String searchTextOverride, mot-clé booléen Impl) Effectue la détection de rubrique en fonction du terme indiqué dans le searchTextOverride paramètre. La méthode utilise les paramètres suivants :
    • searchTextOverride : chaîne sur laquelle exécuter la détection de rubriques.
    • keywordImpl : booléen qui détermine s’il faut utiliser des mots-clés.
    Tableau 3. Méthode qui peut être utilisée en dehors des Agent virtuel rubriques
    Méthode Description
    sn_cs. VASystemObject.getTranscriptById(&lt;sysId de conversation>)

    Obtient la transcription de la conversation actuelle Agent virtuel .