Virtual Agent Skripts

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 8 Minuten Lesedauer
  • Verwenden Sie ServiceNow® Virtual Agent Skriptmethoden und -variablen, um Chat-Skripts zu schreiben, z. B. Antwort-, Auslöser- und Flow-Skripts. Variablen können auch Kontext für Ihre Live-Support-Themen 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 von ServiceNow -Datensätzen verwendet werden.

    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 Benutzereingabe (eine Zeichenfolge, ein boolescher Wert usw.). Die Syntax lautet vaInputs.myvar, wobei myvar der Name ist, 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 Tabelle ServiceNow abfragt, 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. Weitere Informationen zum Abfragen von ServiceNow -Tabellen, um ein Datensatzobjekt zurückzugeben, finden Sie unter Tabellen im Skriptabfragen.

    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 innerhalb eines Skripts finden Sie unter Dot-Walking-Beispiele.

    Benutzereingaben und ServiceNow Datensatzvariablen aufrufen

    Verwenden Sie vaInputs- Objekte, um in Skripts auf ServiceNow Datensatzvariablen zuzugreifen. Beispiel: vaInputs.myvar == "expected value". Um auf Werte aus Benutzereingaben 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 mit einem erwarteten Wert übereinstimmt.
    Hinweis:
    Werte für Benutzereingabevariablen werden mithilfe von Benutzereingabesteuerelementen zugewiesen. Diese Werte können in Ihren Skripts nicht geändert werden.
    • Das Release Washington DC unterstützt zusätzliche Datentypen. Weitere Informationen finden Sie unter Geben Sie Datentypen in Virtual Agent Themen ein.
    • 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 ServiceNow -Datensatz ist. 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 Benutzereingabe. In diesem Fall würde myVar.getValue() einen Wert von 10, 20 oder 30 zurückgeben, während myVar.getDisplayValue() Apple, Orange oder Pear zurückgeben würde.

    Abbildung : 1. Beispielauswahlliste
    Bezeichnungsfelder umfassen Apple, Orange und Pear für die Auswahlmöglichkeiten. Die Werte für jeden sind 10, 20 und 30.
    vaInputs.myvar.getDefaultValue(); Gibt den Standardwert in einer Bestätigungsmeldung zurück.
    vaInputs.myvar.getDefaultDisplayValue(); Gibt den Anzeigewert für den Standardwert in einer Bestätigungsmeldung zurück.
    vaInputs.myvar.unbindEntity(); Entfernt den Wert von Eingabevariablen, die der Vorhersageservice NLU mit extrahierten Entitäten gefüllt hat (löst die Bindung vom anfänglichen Eingabewert auf).

    Wenn der Benutzer beispielsweise beschließt, seine Auswahl in einer Bestätigungsaufforderung zu ändern, können Sie die Bindung des Werts der Entität an die Eingabevariable aufheben. Der Benutzer wird dann erneut aufgefordert, wenn er zum entsprechenden Eingabeknoten zurückkehrt.

    Hinweis:
    NLU muss für das Thema aktiviert sein. Wählen Sie in [ Virtual Agent-Designerdie Registerkarte Eigenschaften aus, um NLUeinzurichten. Weitere Informationen zum Definieren von NLU -Entitäten finden Sie unter Entitäten.

    Skriptvariablen

    Sie können Skriptvariablen für Informationen definieren, die nicht in Tabellen ServiceNow gespeichert werden, aber 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 Virtual Agent-Designerzu definieren.

    Abbildung : 2. Seitenleiste für Variablen
    Sidebar auf der Seite Virtual Agent-Designer 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 lautet vaVars.myvar, wobei myvar der Name ist, den Sie der Variablen 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 arbeiten. 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 den Parameter sysparm_city=milan. Zusätzlich zum Öffnen einer Virtual Agent -Konversation wird bei Verwendung dieses Links eine Variable mit dem Namen „ city “ mit dem Wert milanerstellt. 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 Reihe von Service Desk-Mitarbeiter Variablen ist für die Verwendung in Themenskripts verfügbar. Zu diesen Variablen gehören:
    • -Anwendung
    • language
    • Portal
    • search_text
    • short_description

    Die Variablensyntax lautet vaContext.LiveAgent_myvar, wobei myvar eine der verfügbaren Servicemitarbeiter -Kontextvariablenist. Greifen Sie über vaContext.LiveAgent_myvar = value;auf die Variable zu. .

    Um Service Desk-Mitarbeiter -Variablen in Themenskripts zu verwenden, öffnen Sie das Thema in Virtual Agent-Designer. Wählen Sie auf der Registerkarte Eigenschaften das Stiftsymbol neben Servicemitarbeiter-Variablen aus, um sie dem Thema hinzuzufügen.

    Informationen zu Servicemitarbeiter-Kontextvariablen, die in Virtual Agententhalten sind, finden Sie unter Kontextvariablen des Servicemitarbeiter-Chats.

    vaSystem-Methoden

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

    Hängen Sie ServiceNow -Datensätze an die Liste „Zugehörige Aufgaben“ in einem Virtual Agent -Interaktionsdatensatz an. Diese Datensätze werden während einer Virtual Agent -Konversation aktualisiert oder erstellt.

    vaSystem.attachToRecord(String mediaId, String tableName, String sysId)
    Hängen Sie ein hochgeladenes Bild an einen ServiceNow -Datensatz an. 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() für eine Bildeingabevariable. Beispiel: vaInputs.image_input.getValue().
    • tableName: 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, unabhängig davon, 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“ zurück. Lassen Sie mich wissen, wie ich Ihnen heute helfen kann.“
    vaSystem.getInteractionSysId() Gibt die Interaktions-ID der aktuellen Konversation zurück.
    vaSystem.getSearchText() Gibt die letzte vom Benutzer eingegebene Äußerung zurück.
    vaSystem.getTopicSelectionMessage() Gibt eine UI-Nachricht mit dem Schlüssel „Was ist Ihr Problem oder Ihre Anforderung?“ zurück. Oder schauen Sie sich an, womit ich helfen kann.“ (Die Nachricht unterscheidet sich für Messaging-Apps von Drittanbietern wie Microsoft Teams und Slack). Diese Methode wird von der Systemeigenschaft com.glide.cs.topic_picker_msgzurückgegeben.
    vaSystem.getTranscript() Ruft das Konversationstranskript ab.
    vaSystem.isLiveAgentAvailable() Überprüft, ob ein Servicemitarbeiter für eine vom Bot übertragene Konversation verfügbar ist. Um eine Konversation an einen Servicemitarbeiter zu übertragen, rufen Sie diese Methode auf, bevor Sie vaSystem.connectToAgent()verwenden.
    vaSystem.isLiveAgentConfigured() Gibt zurück, ob Live-Chat aktiviert ist.
    vaSystem.resetAllEntities() Setzt alle in der Konversation angemeldeten Entitäten zurück.
    vaSystem.sendBatchedMessages() Sendet Nachrichten in der Warteschlange sofort.
    vaSystem.sendSeparatorMessage() Sendet eine Trennnachrichtenzeile und gibt die Abschlussnachricht von getClosingMessage()zurück.
    vaSystem.sendSystemMessage (String message, Boolean showAvatar) Sendet eine Systemnachricht und gibt die Begrüßungsnachricht von getGreetingMessage()zurück.
    vaSystem.sendTopicPickerControl (String topicSelectionMessage, String topicPickerButtonLabel) Sendet ein Themenauswahl-Steuerelement mit zugehörigen Werten für die Nachricht und die Schaltflächenbezeichnung „Alles anzeigen“.
    vaSystem.switchTopicByName() Ermöglicht dem Benutzer, vom aktuellen Konversationsthema zum angegebenen Themennamen zu springen. Die X -Schaltfläche ist verfügbar, sodass der Benutzer die Konversation beenden kann. Nach Beendigung des Themas setzt der Benutzer das globale Thema fort. Wenn die Konversation endet, kann der Benutzer Klicken Sie hier, um eine neue Konversation zu beginnen am unteren Rand des Chatfensters auswählen, um das Thema neu zu starten.
    Der optionale Parameter resumeBehavior gibt an, wie der Konversations-Flow wie folgt fortgesetzt wird:
    • Wenn resumeBehavior=resume, nimmt Virtual Agent das aufrufende Thema wieder auf.
    • Wenn resumeBehavior=skip, überspringt Virtual Agent das aufrufende Thema.

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

    vaSystem.switchTopicById (sysid) Ermöglicht dem Benutzer, vom aktuellen Konversationsthema zur angegebenen Themen-ID zu springen. Die X -Schaltfläche ist verfügbar, sodass der Benutzer die Konversation beenden kann. Nach Beendigung des Themas setzt der Benutzer das globale Thema fort. Wenn die Konversation endet, kann der Benutzer Klicken Sie hier, um eine neue Konversation zu beginnen am unteren Rand des Chatfensters auswählen, um das Thema neu zu starten.
    Der optionale Parameter resumeBehavior gibt an, wie der Konversations-Flow wie folgt fortgesetzt wird:
    • Wenn resumeBehavior=resume, nimmt Virtual Agent das aufrufende Thema wieder auf.
    • Wenn resumeBehavior=skip, überspringt Virtual Agent das aufrufende Thema.

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

    vaSystem.topicDiscovery(String searchTextOverride, Boolean passwordImpl) Führt eine Themen-Discovery basierend auf dem Begriff im Parameter searchTextOverride durch. Die Methode verwendet die folgenden Parameter:
    • searchTextOverride: Eine Zeichenfolge, für die die Themenerkennung ausgeführt werden soll.
    • keywordImpl: Ein boolescher Wert, der bestimmt, ob Stichwörter verwendet werden sollen.
    Tabelle : 3. Methode, die außerhalb von Virtual Agent-Themen verwendet werden kann
    Methode Beschreibung
    sn_cs.VASystemObject.getTranscriptById(<conversation sysId>)

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