Virtual Agent Skripts

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 8 Minuten Lesedauer
  • Verwenden Sie ServiceNow® Virtual Agent -Skriptmethoden und -variablen, um Chatskripts wie Antwort-, Auslöser- und Flow-Skripts zu schreiben. 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 anzuzeigen. Skripts können auch bestimmte Aktionen festlegen, 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. Einzelheiten 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 in einem Skript finden Sie unter Beispiele für Dot-Walking.

    Benutzereingaben und ServiceNow Datensatzvariablen aufrufen

    Verwenden Sie vaInputs- Objekte, um in Skripts auf Datensatzvariablen für ServiceNow 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" Wertet aus, 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 Xanadu 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 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 Anwendereingabe. 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. Beispiel für eine Auswahlliste
    Zur Auswahl stehen in den Feldern Bezeichnungen Apple, Orange und Bear. Die Werte 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 von Eingabevariablen, die vom Vorhersageservice NLU mit extrahierten Entitäten gefüllt wurden (löst die Bindung vom ursprünglichen Eingabewert auf).

    Wenn der Benutzer beispielsweise bei einer Bestätigungsaufforderung beschließt, seine Auswahl zu ändern, können Sie die Bindung des Werts der Entität an die Eingabevariable aufheben. Der Anwender wird dann erneut dazu 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. 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 sind, aber zur Freigabe dieser Informationen an anderer Stelle in einem Thema verwendet werden können. 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 Sidebar 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 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 von Skriptvariablen in Themen finden Sie unter Definieren Sie Skriptvariablen für ein Thema.

    Kontextvariablen

    Kontextvariablen arbeiten 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 erstellt die Verwendung dieses Links eine Variable namens „ city “ mit dem Wert milan. 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 sind für die Verwendung in Themenskripts verfügbar. Diese Variablen umfassen Folgendes:
    • Anwendung
    • language
    • Portal
    • search_text
    • short_description

    Die Variablensyntax lautet „vaContext.LiveAgent_myvar“, wobei „myvar“ eine der verfügbaren Servicemitarbeiter -Kontextvariablenist. Greifen Sie mit 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 Bleistiftsymbol neben Servicemitarbeiter-Variablen, 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 „vaSystem“-Objekt verwenden, um verschiedene Aufgaben auszuführen. Einige dieser Aufgaben umfassen Folgendes:
    • Bilder an Datensätze anhängen.
    • Greifen Sie auf die Suchzeichenfolge zu, die zum Suchen des aktuellen Themas verwendet wurde.
    • Verifiziert, dass ein Servicemitarbeiter für den Empfang einer 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( Zeichenfolge sysId, Zeichenfolge tableName, Zeichenfolge actionName) Erstellt einen externen Link, der für ein Portal spezifisch ist.
    vaSystem.attachRecordToConversation (Zeichenfolge tableName, Zeichenfolge sysId)

    Fügen 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.abrufenAbschlussnachricht() 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.abrufenKonversationsId() Gibt die Konversations-ID der aktuellen Konversation zurück.
    vaSystem.abrufenBegrüßungsnachricht() Gibt eine Begrüßungsnachricht aus der UI-Nachricht mit dem Schlüssel zurück: Hallo, ich bin Ihr Virtual Agent. Lassen Sie mich wissen, wie ich Ihnen heute helfen kann.“
    vaSystem.abrufenInteraktionSysId() Gibt die Interaktions-ID der aktuellen Konversation zurück.
    vaSystem.getSearchText() Gibt die letzte vom Anwender eingegebene Äußerung zurück.
    vaSystem.abrufenThemenauswahlNachricht() 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.abrufenTranskript () Ruft das Transkript der Konversation ab.
    vaSystem.isLiveAgentAvailable() Überprüft, ob ein Servicemitarbeiter für den Empfang einer vom Bot übertragenen Konversation verfügbar ist. Um eine Konversation an einen Servicemitarbeiter zu übertragen, rufen Sie diese Methode auf, bevor Sie vaSystem.connectToAgent()verwenden.
    vaSystem.istLiveAgentKonfiguriert() Gibt zurück, ob der Live-Chat aktiviert ist.
    vaSystem.alleEntitäten zurücksetzen () Setzt alle in der Konversation protokollierten Entitäten zurück.
    vaSystem.sendBatchedMessages() Sendet sofort Nachrichten in der Warteschlange.
    vaSystem.SeparatorNachricht senden () Sendet eine Trennzeichen-Nachrichtenzeile und gibt die Abschlussnachricht von getClosingMessage()zurück.
    vaSystem.sendSystemMessage(Zeichenfolgennachricht, boolescher Wert showAvatar) Sendet eine Systemnachricht und gibt eine Begrüßungsnachricht von getGreetingMessage()zurück.
    vaSystem.sendTopicPickerControl(Zeichenfolge-topicSelectionMessage, Zeichenfolgen-topicPickerButtonLabel) Sendet ein Themenauswahl-Steuerelement mit zugehörigen Werten für die Nachricht und die Schaltflächenbezeichnung „Alles anzeigen“.
    vaSystem.schalterThemaNachName () Ermöglicht dem Anwender, vom aktuellen Konversationsthema zum angegebenen Themennamen zu springen. Die X -Schaltfläche ist verfügbar, damit der Benutzer die Konversation beenden kann. Nachdem das Thema beendet ist, setzt der Benutzer das globale Thema fort. Wenn die Konversation endet, kann der Benutzer unten im Chatfenster Klicken Sie hier, um eine neue Konversation zu starten auswählen, um das Thema neu zu starten.
    Der optionale Parameter resumeBehavior gibt wie folgt an, wie der Konversations-Flow fortgesetzt wird:
    • Wenn resumeBehavior=resume, setzt Virtual Agent das aufrufende Thema fort.
    • Bei resumeBehavior=skipVirtual Agent ] überspringt das aufrufende Thema.

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

    vaSystem.schalterThemaNachId(sysid) Ermöglicht dem Anwender, vom aktuellen Konversationsthema zur angegebenen Themen-ID zu springen. Die X -Schaltfläche ist verfügbar, damit der Benutzer die Konversation beenden kann. Nachdem das Thema beendet ist, setzt der Benutzer das globale Thema fort. Wenn die Konversation endet, kann der Benutzer unten im Chatfenster Klicken Sie hier, um eine neue Konversation zu starten auswählen, um das Thema neu zu starten.
    Der optionale Parameter resumeBehavior gibt wie folgt an, wie der Konversations-Flow fortgesetzt wird:
    • Wenn resumeBehavior=resume, setzt Virtual Agent das aufrufende Thema fort.
    • Bei resumeBehavior=skipVirtual Agent ] überspringt das aufrufende Thema.

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

    vaSystem.topicDiscovery(String searchTextOverride, Boolean KeywordImpl) 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 Themen-Discovery ausgeführt werden soll.
    • keywordImpl: Ein boolescher Wert, der bestimmt, ob Schlüsselwö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.