Virtual Agent Skripts
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.myvarWoMyvarIst 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, wobeimyvardas 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 SieVaInputs.myvar.getValue().Folgende Methoden stehen zur Verfügung.
Tabelle : 1. VaInputs-Methoden Methode Beschreibung VaInputs.myvar == „Erwarteter Wert“ Bewertet, ob MyvarStimmt 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ückMyvar.getDisplayValue()Würde Apple, Orange oder Birne zurückgeben.Abbildung : 1. Beispielauswahlliste 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.
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
- 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.
| Methode | Beschreibung |
|---|---|
| VaVars.global_utterance | Wird aktualisiert, wenn die Kompetenzauswahl gerendert wird und eine Äußerung eingegeben wird. |
vaSystem-Methoden
- 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.
| 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:
|
| 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
|
| 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 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 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:
|
| Methode | Beschreibung |
|---|---|
| sn_cs.VASystemObject.getTranscriptById (<conversation sysId>) | Ruft das Transkript für das aktuelle ab Virtual Agent Konversation. |