Agent virtuel Scripts

  • Rversion finale: Yokohama
  • Mis à jour 29 janv. 2025
  • 10 minutes de lecture
  • 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 une salutation ou une confirmation scriptée. 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 des 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.myvarmyvar est le nom que vous avez affecté au nœud d’entrée.

    Par exemple, une invite de saisie de texte intitulée 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 utilisation dans la rubrique. La syntaxe de la variable est vaInputs.myvarmyvar est l’objet d’enregistrement. Pour plus de détails sur l’interrogation des ServiceNow tables pour renvoyer 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 de détails sur la remontée pas à pas dans un script, voir Exemples de remontée pas à pas.

    Accéder aux variables d’entrée et d’enregistrement ServiceNow 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 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.
    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 pour une entrée utilisateur. Dans ce cas, myVar.getValue() renvoyait une valeur de 10, 20 ou 30, tandis que myVar.getDisplayValue() retournait 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 service de prédiction remplit d’entités NLU 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 ensuite invité à nouveau lorsqu’il reviendra au nœud d’entrée correspondant.

    Remarque :
    NLU doit être activé dans la rubrique. Dans le Concepteur d'agent virtuel, sélectionnez l’onglet Propriétés à configurer NLU. Pour plus d’informations sur la définition d’entités NLU , voir Entités.

    Variables de script

    Vous pouvez définir des variables de script pour des 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 dans Concepteur d'agent virtuel.

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

    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 plus d’informations 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 cadre 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
    Un certain nombre de Agent actif variables peuvent être utilisées dans les scripts de rubriques. Ces variables sont notamment 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 à l’aide de vaContext.LiveAgent_myvar = valeur ;.

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

    Pour en savoir plus sur les variables de contexte d’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 de l’objet vaSystem pour effectuer diverses tâches. Voici quelques-unes de ces tâches :
    • Joindre des images aux enregistrements.
    • Accédez à la chaîne de recherche qui a été utilisée pour rechercher 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 les Agent virtuel scripts de rubriques
    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)

    Joignez ServiceNow des enregistrements à la liste des tâches connexes 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)
    Joindre une image téléchargée à un ServiceNow enregistrement. La méthode utilise les paramètres suivants :
    • mediaId : le 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 qui contient 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 de Agent virtuel conversations à un agent actif.
    vaSystem.didConnectToLiveAgent() Renvoie une valeur booléenne (vrai ou faux) indiquant si la conversation actuelle était connectée à un agent actif.
    vaSystem.getClosingMessage() Renvoie un message de clôture 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 à partir du 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 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. (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éparateur et renvoie le message de fermeture à partir de getClosingMessage().
    vaSystem.sendSystemMessage(Message de chaîne, booléen showAvatar) Envoie un message système et renvoie un message de salutations à 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.sendSkillPickerControl(skillSelectionMessage, args)

    Envoie le contrôle du sélecteur de compétences à l’utilisateur.

    skillSelectionMessage est le message affiché avant d’afficher le sélecteur. Le paramètre args permet des options de configuration supplémentaires :

    • hideSkillDetails masque le message de sélection de compétence. La valeur par défaut est false.
    • hidePromotedTopics masque les rubriques promues dans le sélecteur de compétences. La valeur par défaut est false.
    • hideShowMeEverything supprime le bouton « Tout me montrer » du sélecteur de compétences. La valeur par défaut est false.
    • showNoSkillsConfigured affiche un message « Aucune compétence configurée » s’il n’y a aucune compétence applicable. La valeur par défaut est false.
    • appendPromotedSkillsToMsg ajoute une liste à puces des compétences promues au message de sélection des compétences. La valeur par défaut est true.
    vaSystem.switchTopicByName() Permet à l’utilisateur de passer de la rubrique de conversation actuelle au nom de la rubrique spécifiée. 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 démarrer 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 cette option n’est pas spécifiée, le comportement par défaut de l’instance est utilisé.

    vaSystem.switchTopicById(sysid) Cette méthode est le sysid de sys_cb_topicet 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 démarrer 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 cette option n’est pas spécifiée, le comportement par défaut de l’instance est utilisé.

    vaSystem.topicDiscovery(Chaîne, searchTextOverride, booléen, keywordImpl) Effectue la découverte de rubriques en fonction du searchTextOverride terme du paramètre. La méthode utilise les paramètres suivants :
    • searchTextOverride : chaîne sur laquelle exécuter la découverte 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(<conversation sysId>)

    Obtient la transcription de la conversation en cours Agent virtuel .