Virtual Agent Skripts

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 8 Minuten Lesedauer
  • Verwenden ServiceNow® Virtual Agent Skriptmethoden und Variablen zum Schreiben von Chatskripts, z. B. Antwort-, Auslöser- und Flow-Skripts. Variablen können auch Kontext für Ihre Live-Supportthemen und -Konversationen bereitstellen.

    Virtual Agent-Skripts können Kontext für Themen bieten, sie können z. B. Informationen über einen Benutzer beziehen oder eine Benutzereingabe abrufen. Sie können diese Informationen verwenden, um eine Konversation zu personalisieren, z. B. um eine geskriptete Begrüßung oder Bestätigung zu präsentieren. Skripts können auch bestimmte Aktionen angeben, die für Informationen ausgeführt werden sollen, die während einer Konversation abgerufen wurden. Diese Aktionen können zum Erstellen oder Aktualisieren verwendet werden ServiceNow Datensätze.

    Skripts werden auf dem Server in dem Bereich ausgeführt, in dem ein Thema definiert ist. Es gelten alle Schutzmaßnahmen des Umfangs. Wenn Sie eine Konversation für eine bereichsbezogene Anwendung entwickeln, müssen Sie die bereichsbezogene API verwenden. Sie können die meisten APIs verwenden, die in Serverskripts ausgeführt werden.

    Benutzereingabe und ServiceNow Datensatzvariablen

    Im Virtual Agent sind die folgenden Variablen für die Verwendung in Skripts verfügbar, die Sie für ein Thema entwickeln.

    Benutzereingabevariablen

    Wenn Sie einem Thema ein Eingabesteuerelement hinzufügen, erstellt das System automatisch eine Variable zum Speichern der Anwendereingabe (Zeichenfolge, boolescher Wert usw.). Die Syntax ist VaEingaben.myvar Wo Myvar Ist der Name, den Sie dem Eingabeknoten zugewiesen haben.

    Beispiel: Eine Texteingabeaufforderung mit dem Namen Erste Aufforderung hat eine systemdefinierte Variable namens vaInputs.first_prompt. Leerzeichen im Namen werden durch einen Unterstrich ersetzt, und Großbuchstaben werden in Kleinbuchstaben geändert.

    ServiceNow Datensatzvariablen

    Wenn Sie ein Skript für ein Thema erstellen, das eine abfragt ServiceNow Tabelle, dann ist das zurückgegebene Datensatzobjekt (GlideRecord) automatisch für die Verwendung im Thema verfügbar. Die Variablensyntax lautet vaInputs.myvar, wobei myvar das Datensatzobjekt ist. Für Details zum Abfragen ServiceNow Tabellen zum Rückgeben eines Datensatzobjekts siehe Tabellen im Skript werden abgefragt .

    Verwenden Sie Dot-Walking in Variablen, die einen ServiceNow Datensatz enthalten, um ein bestimmtes Feld in der Tabelle anzugeben. Die Syntax lautet vaInputs.myvar.field. Weitere Informationen zum Dot-Walking in einem Skript finden Sie unter Dot-Walking-Beispiele .

    Benutzereingaben und ServiceNow Datensatzvariablen aufrufen

    Verwenden VaEingaben Objekte, auf die zugegriffen werden soll ServiceNow Datensatzvariablen in Skripts. Zum Beispiel die VaInputs.myvar == „Erwarteter Wert“ . Um auf Werte aus Anwendereingaben zuzugreifen, die keine Datensätze sind, verwenden Sie VaInputs.myvar.getValue() .

    Folgende Methoden stehen zur Verfügung.

    Tabelle : 1. VaInputs-Methoden
    Methode Beschreibung
    VaInputs.myvar == „Erwarteter Wert“ Bewertet, ob Myvar Stimmt mit einem erwarteten Wert überein.
    Hinweis:
    Werte für Benutzereingabevariablen werden mithilfe von Benutzereingabesteuerelementen zugewiesen. Diese Werte können in Ihren Skripts nicht geändert werden.
    • Die Zurich Release unterstützt zusätzliche Datentypen. Weitere Informationen finden Sie unter Eingabedatentypen in Virtual Agent Themen.
    • Standardmäßig ist die Benutzervariable verfügbar, und sie ist eine Referenz auf den Datensatz sys_user für den Benutzer.
    VaInputs.myvar.getValue(); Gibt den Wert zurück.
    VaInputs.myvar.getDisplayValue();

    Gibt den Anzeigewert zurück, wenn der gespeicherte Wert kein ist ServiceNow Datensatz. Für Variablen, die ServiceNow Datensätze enthalten, gibt diese Methode den Anzeigewert zurück, wie durch das Anzeigefeld für diese Tabelle definiert.

    Das folgende Beispiel zeigt die Bezeichnungs- und Auswahlwerte für eine Anwendereingabe. In diesem Fall Myvar.getValue() Gibt während einen Wert von 10, 20 oder 30 zurück Myvar.getDisplayValue() Würde Apple, Orange oder Birne zurückgeben.

    Abbildung : 1. Beispielauswahlliste
    Bezeichnungsfelder umfassen Apple, Orange und Birne für die Auswahlmöglichkeiten. Die Werte für jeden sind 10, 20 und 30.
    VaInputs.myvar.getDefaultValue(); Gibt den Standardwert in einer Bestätigungsnachricht zurück.
    VaInputs.myvar.getDefaultDisplayValue(); Gibt den Anzeigewert für den Standardwert in einer Bestätigungsnachricht zurück.
    VaInputs.myvar.unbindEntity(); Entfernt den Wert der Eingabevariablen, die NLU Vorhersageservice-Slot mit extrahierten Entitäten (hebt die Bindung vom anfänglichen Eingabewert auf).

    Wenn sich der Anwender beispielsweise entscheidet, seine Auswahl in einer Bestätigungsaufforderung zu ändern, können Sie den Wert der Entität von der Eingabevariable lösen. Der Anwender wird dann erneut aufgefordert, wenn er zum entsprechenden Eingabeknoten zurückführt.

    Hinweis:
    NLU Muss für das Thema aktiviert sein. In Virtual Agent-Designer, Wählen Sie aus Eigenschaften Registerkarte zum Einrichten NLU. Für Informationen zum Definieren NLU Entitäten, siehe Entitäten .

    Skriptvariablen

    Sie können Skriptvariablen für Informationen definieren, die nicht in gespeichert sind ServiceNow Tabellen, die jedoch verwendet werden können, um diese Informationen an anderer Stelle in einem Thema freizugeben. Skriptvariablen ähneln Workflow-Scratchpad-Variablen, die Grundelemente wie Ganzzahlen, boolesche Werte und Zeichenfolgen speichern. Ein Zeichenfolgewert kann entweder ein statisch oder ein dynamisch geskripteter Wert sein. Verwenden Sie die Seitenleiste „Variablen“, um Skriptvariablen für ein Thema in zu definieren Virtual Agent-Designer.

    Abbildung : 2. Variablen-Sidebar
    Sidebar in Virtual Agent-Designer Seite zum manuellen Hinzufügen von Skriptvariablen, die in Themenskripts verwendet werden.
    Hinweis:
    Skriptvariablen sind für die Verwendung mit Themenautoren mit fortgeschrittenen Skriptfähigkeiten vorgesehen.

    Die Variablensyntax ist VaVars.myvar , Wo Myvar Ist der Name, den Sie der Variable zuweisen. Beispiel: Sie können der Variablen mit vaVars.myvar = Wert; einen Wert zuweisen. Im Gegensatz zu Benutzereingabevariablen können Skriptvariablen in einem Skript Werte zugewiesen werden.

    Informationen zum Definieren einer Skriptvariablen in einem Thema finden Sie unter Definieren Sie Skriptvariablen für ein Thema.

    Kontextvariablen

    Kontextvariablen funktionieren in einem globalen Bereich, während Systemvariablen innerhalb des Bereichs des Themas funktionieren. Sie können Kontextvariablen in Systemparametern innerhalb der Webclient-URL verwenden. Diese Variablen können überall in der Konversation mit dem vaContext Objekt verwendet werden. Verwenden Sie diese Optionen, um mit vordefinierten Variablen Links zu Virtual Agent zu erstellen.

    Der folgende Beispiellink enthält einen Parameter: Sysparm_City=mailand . Zusätzlich zum Öffnen von Virtual Agent Konversation erstellt mithilfe dieses Links eine Variable namens Stadt Mit einem Wert von Mailand . Auf diese Variable kann in einem Skript mit vaContext.city zugegriffen werden.

    https://<instance>.service-now.com/$sn-va-web-client-app.do?sysparm_city=milan
    Eine Anzahl von Servicemitarbeiter Variablen sind zur Verwendung in Themenskripts verfügbar. Diese Variablen umfassen Folgendes:
    • Anwendung
    • language
    • Portal
    • search_text
    • short_description

    Die Variablensyntax ist VaKontext.LiveAgent_myvar , Wo Myvar Ist einer der verfügbaren Servicemitarbeiter-Kontextvariablen . Greifen Sie mit auf die Variable zu VaContext.LiveAgent_myvar = Wert; .

    Zu verwenden Servicemitarbeiter Variablen in Themenskripts öffnen Sie das Thema in Virtual Agent-Designer. Auf der Eigenschaften Wählen Sie das Bleistiftsymbol neben aus Servicemitarbeiter-Variablen Um sie dem Thema hinzuzufügen.

    Informationen zu Kontextvariablen für Servicemitarbeiter, die in enthalten sind Virtual Agent, Siehe Live agent chat context variables.

    Tabelle : 2. VaVars-Methoden
    Methode Beschreibung
    VaVars.global_utterance Wird aktualisiert, wenn die Kompetenzauswahl gerendert wird und eine Äußerung eingegeben wird.

    vaSystem-Methoden

    Sie können Methoden im vaSystem-Objekt verwenden, um verschiedene Aufgaben auszuführen. Einige dieser Aufgaben umfassen Folgendes:
    • Hängen Sie Bilder an Datensätze an.
    • Greifen Sie auf die Suchzeichenfolge zu, die zum Suchen des aktuellen Themas verwendet wurde.
    • Verifiziert, ob ein Servicemitarbeiter verfügbar ist, um eine Konversation zu erhalten.
    • Verbinden Sie den Anwender mit einem Servicemitarbeiter.
    Hinweis:
    Die Verwendung nicht dokumentierter Systemmethoden wird nicht empfohlen, da sie nicht unterstützt werden und jederzeit ohne vorherige Ankündigung eingestellt oder geändert werden können.
    Tabelle : 3. In Virtual Agent-Themenskripts verwendete Methoden
    Methode Beschreibung
    VaSystem.applyLinkTemplate(String sysId, String tableName, String actionName) Erstellt einen externen Link, der spezifisch für ein Portal ist.
    VaSystem.attachRecordToKonversation(Zeichenfolge tableName, Zeichenfolge sysId)

    Anhängen ServiceNow Datensätze in der Liste „zugehörige Aufgaben“ in einem Virtual Agent Interaktionsdatensatz. Diese Datensätze werden während eines aktualisiert oder erstellt Virtual Agent Konversation.

    vaSystem.attachToRecord(String mediaId, String tableName, String sysId)
    Hängen Sie ein hochgeladenes Bild an ein an ServiceNow Datensatz. Die Methode verwendet die folgenden Parameter:
    • mediaId: Der Pfad für das anzuhängende Bild. Um ein vom Kunden eingegebenes Bild zu verwenden, verwenden Sie GetValue() In einer Bildeingabevariable. Beispiel: vaInputs.image_input.getValue().
    • Tabellenname : Eine Zeichenfolge, die den Namen der Tabelle enthält.
    • sysId: Die sys_id des Datensatzes.
    vaSystem.connectToAgent() Verbindet den Kunden mit einem Servicemitarbeiter. Weitere Informationen zu dieser Methode finden Sie unter Virtual Agent-Konversationen an einen Live Agent übertragen.
    VaSystem.didConnectToLiveAgent() Gibt einen booleschen Wert (wahr oder falsch) zurück, ob die aktuelle Konversation mit einem Servicemitarbeiter verbunden war.
    VaSystem.getClosingMessage() Gibt eine Abschlussnachricht für eine Konversation aus der Systemeigenschaft zurück: com.glide.cs.general.closing_message. (Die Nachricht unterscheidet sich für Messaging-Apps von Drittanbietern wie Microsoft Teams Und Slack).
    VaSystem.getConversationId() Gibt die Konversations-ID der aktuellen Konversation zurück.
    VaSystem.getGreetingMessage() Gibt eine Begrüßungsnachricht aus der UI-Nachricht mit dem Schlüssel „Hallo, ich bin Ihr Virtual Agent. Teilen Sie mir mit, wie ich Ihnen heute helfen kann.“
    VaSystem.getInteractionSysId() Gibt die Interaktions-ID der aktuellen Konversation zurück.
    vaSystem.getSearchText() Gibt die letzte vom Anwender eingegebene Äußerung zurück.
    VaSystem.getTopicSelectionMessage() Gibt eine UI-Nachricht mit dem Schlüssel „Was ist Ihr Problem oder Ihre Anforderung? Oder sehen Sie sich an, was ich helfen kann.“ (Die Nachricht unterscheidet sich für Messaging-Apps von Drittanbietern wie Microsoft Teams Und Slack). Diese Methode wird von der Systemeigenschaft zurückgegeben com.glide.cs.topic_picker_msg.
    VaSystem.getTranscript() Ruft das Konversationstranskript ab.
    vaSystem.isLiveAgentAvailable() Überprüft, ob ein Servicemitarbeiter verfügbar ist, um eine Konversation zu erhalten, die vom Bot übertragen wird. Um eine Konversation an einen Servicemitarbeiter zu übertragen, rufen Sie diese Methode auf, bevor Sie verwenden VaSystem.connectToAgent() .
    VaSystem.isLiveAgentConfigured() Gibt zurück, ob Live-Chat aktiviert ist.
    VaSystem.ZurücksetzungAllEntitäten() Setzt alle in der Konversation protokollierten Entitäten zurück.
    vaSystem.sendBatchedMessages() Sendet sofort Nachrichten in der Warteschlange.
    vaSystem.sendSeparatorMessage() Sendet eine Trennzeichenzeile und gibt die Abschlussnachricht von zurück GetClosingMessage() .
    vaSystem.sendSystemMessage(String Nachricht, boolescher Wert „showAvatar“) Sendet eine Systemnachricht und gibt eine Begrüßungsnachricht von zurück GetGreetingMessage() .
    vaSystem.sendTopicPickerControl(String topicSelectionMessage, Zeichenfolge topicPickerButtonLabel) Sendet ein Themenauswahlsteuerelement mit zugehörigen Werten für die Nachricht und die Schaltflächenbezeichnung „alles anzeigen“.
    vaSystem.sendSkillPickerControl(skillSelectionMessage, Argumente)

    Sendet das Steuerungselement für die Kompetenzauswahl an den Anwender.

    Die SkillSelectionMessage Wird die Meldung angezeigt, bevor die Auswahl angezeigt wird.die args Parameter ermöglicht zusätzliche Konfigurationsoptionen:

    • Ausgeblendetes Kompetenzdetails Blendet die Nachricht zur Kompetenzauswahl aus. Der Standardwert ist Falsch .
    • AusgeblendetPromotedThemen Blendet heraufgestufte Themen in der Kompetenzauswahl aus. Der Standardwert ist Falsch .
    • AusgeblendetShowMeEverything Entfernt die Schaltfläche „alles anzeigen“ aus der Kompetenzauswahl. Der Standardwert ist Falsch .
    • ShowNoSkillsConfigured Zeigt die Meldung „keine Kompetenzen konfiguriert“ an, wenn keine anwendbaren Kompetenzen vorhanden sind. Der Standardwert ist Falsch .
    • AppendPromotedKompetenzen ToMsg Fügt eine Liste der heraufgestuften Kompetenzen an die Nachricht zur Kompetenzauswahl an. Der Standardwert ist Wahr .
    VaSystem.switchTopicByName() Ermöglicht dem Anwender, vom aktuellen Konversationsthema zum angegebenen Themennamen zu wechseln. Die X Die Schaltfläche ist verfügbar, damit der Anwender die Konversation beenden kann. Nachdem das Thema beendet ist, setzt der Anwender das globale Thema fort. Wenn die Konversation endet, kann der Anwender auswählen Klicken Sie hier, um eine neue Konversation zu starten Unten im Chatfenster, um das Thema neu zu starten.
    Optional resumeBehaviorDer Parameter gibt wie folgt an, wie der Konversations-Flow fortgesetzt wird:
    • Wenn resumeBehavior=resume, Virtual Agent Setzt das Aufrufthema fort.
    • Wenn resumeBehavior=skip, Virtual AgentÜberspringt das Aufrufthema.

    Wenn resumeBehaviorIst nicht angegeben, wird das Standardverhalten für die Instanz verwendet.

    VaSystem.switchTopicById(sysid) Diese Methode ist die sysid von sys_cb_topic, Und ermöglicht dem Anwender, vom aktuellen Konversationsthema zur angegebenen Themen-ID zu wechseln. Die X Die Schaltfläche ist verfügbar, damit der Anwender die Konversation beenden kann. Nachdem das Thema beendet ist, setzt der Anwender das globale Thema fort. Wenn die Konversation endet, kann der Anwender auswählen Klicken Sie hier, um eine neue Konversation zu starten Unten im Chatfenster, um das Thema neu zu starten.
    Optional resumeBehaviorDer Parameter gibt wie folgt an, wie der Konversations-Flow fortgesetzt wird:
    • Wenn resumeBehavior=resume, Virtual Agent Setzt das Aufrufthema fort.
    • Wenn resumeBehavior=skip, Virtual AgentÜberspringt das Aufrufthema.

    Wenn resumeBehaviorIst nicht angegeben, wird das Standardverhalten für die Instanz verwendet.

    VaSystem.topicDiscovery(Zeichenfolge searchTextOverride, boolescher SchlüsselwortImpl) Führt die Themen-Discovery basierend auf dem Begriff in aus searchTextOverrideParameter. Die Methode verwendet die folgenden Parameter:
    • SearchTextOverride : Eine Zeichenfolge, für die die Themen-Discovery ausgeführt werden soll.
    • SchlüsselwortImpl : Ein boolescher Wert, der bestimmt, ob Stichwörter verwendet werden sollen.
    Tabelle : 4. Methode, die außerhalb von Virtual Agent-Themen verwendet werden kann
    Methode Beschreibung
    sn_cs.VASystemObject.getTranscriptById (<conversation sysId>)

    Ruft das Transkript für das aktuelle ab Virtual Agent Konversation.