Damit der Agent an der Unterhaltung teilnehmen kann, muss der Agent auf den Endnutzer mit einer Antwort auf eine Frage, einer Anfrage nach Informationen oder dem Beenden der Sitzung antworten. Ihr Agent muss sich möglicherweise auch mit Ihrem Dienst in Verbindung setzen, um dynamische Antworten zu generieren oder Aktionen für eine weitere Unterhaltungsrunde auszuführen. Auftragsausführung wird für all dies verwendet.
Eine Auftragsausführung kann folgende Elemente enthalten:
- Statische Antwortnachrichten
- Webhook-Aufrufe nach dynamischen Antworten und/oder Aktionen
- Parametervoreinstellungen zum Festlegen oder Überschreiben von Parameterwerten
Während der Unterhaltungsrunde eines Agents ist es möglich (und manchmal gewünscht), mehrere Auftragsausführungen aufzurufen, von denen jede eine Antwort erzeugen kann. Dialogflow CX speichert diese Antworten in einer Antwortwarteschlange. Sobald der KI-Agent an der Reihe ist, sendet Dialogflow CX die geordneten Antworten an den Endnutzer.
Anwendungsfälle für Auftragsausführungen
Mit dem Fulfillment können Sie Antwortnachrichten an den folgenden Stellen bereitstellen:
- Auftragsausführung für Seiteneingaben
- Routen
- Event-Handler
- Erstaufforderungen für Formulare
- Handler von erneuten Eingabeaufforderungen für Formulare
Für jeden dieser Anwendungsfälle wird in der Konsole ein Bereich zum Bearbeiten des Fulfillment geöffnet.

Antworten des KI-Agenten (Dialogoptionen)
Antwortnachrichten des KI-Agenten beim Erstellen des Fulfillments zur Designzeit definieren. Zur Laufzeit werden diese Antworten der Antwortwarteschlange hinzugefügt.
Es gibt verschiedene Arten von Antwortnachrichten, die in den folgenden Abschnitten beschrieben werden. In der Console enthält ein Auftragsausführungsbereich eine erste Karte Agentendialog. Sie können jedoch auf Dialogantwort hinzufügen klicken, um weitere Karten für andere Antwortnachrichtentypen hinzuzufügen.
Statische Textantwort
Statische Textantwortnachrichten stellen dem Nutzer einen Textdialog zur Verfügung. Wenn Ihre API-Aufrufe oder Integrationsaufrufe zur Intent-Erkennung die Sprachsynthese verwenden, werden aus diesem Text Audioinhalte generiert. Für diese Nachrichten wird der bereitgestellte Text in der Speech Synthesis Markup Language (SSML) verwendet.
Sie können mehrere Textantwortkarten und mehrere Textantworten innerhalb jeder Karte definieren. Wenn Sie mehrere Karten definieren, werden sie zur Laufzeit zu einer einzigen Antwort verkettet. Wenn Sie mehrere Antworten innerhalb einer Karte definieren, wird eine der Nachrichten in der Karte zur Laufzeit zufällig ausgewählt.
Diese Nachrichten können Parameterreferenzen und Inline-Systemfunktionen enthalten.
Benutzerdefinierte Nutzlast
Einige Integrationen unterstützen eine benutzerdefinierte Nutzlastantwort, um Rich Responses zu verarbeiten. Diese benutzerdefinierten Nutzlasten müssen im JSON-Format bereitgestellt werden, das in der Integrationsdokumentation definiert ist. Beispiel: Benutzerdefiniertes Nutzlastformat für Dialogflow CX Messenger.
Sie können Parameterreferenzen in den JSON-Code Ihrer benutzerdefinierten Nutzlast einfügen. Setzen Sie sie in doppelte Anführungszeichen, damit sie als JSON-Stringwerte behandelt werden. Beispiel:
{
"someField": "$session.params.date"
}
Die benutzerdefinierte JSON-Nutzlast darf maximal 24 Ebenen tief sein.
Sie können auch eine benutzerdefinierte Nutzlast an selbst entwickelte Integrationen senden. Sie wird nicht von Dialogflow CX verarbeitet, daher müssen Sie sie in Ihrer eigenen Geschäftslogik verarbeiten.
Weitere Informationen finden Sie unter Benutzerdefinierte Nutzlastvorlagen.
Übergabe an Kundenservicemitarbeiter
Diese Antwort signalisiert dem Aufrufer der Detect Intent API, dass die Unterhaltung an einen menschlichen Kundenservicemitarbeiter übergeben werden soll. Dialogflow CX verwendet dieses Signal nur, um übergebene Unterhaltungen zu Messzwecken zu identifizieren. Der Sitzungsstatus wird nicht geändert.
Ihr System oder Ihre Integration kann dieses Signal verwenden, um alle erforderlichen Maßnahmen zur Übergabe der Unterhaltung zu ergreifen. Da Dialogflow CX diesen Daten keine Struktur vorgibt, können Sie eine beliebige Struktur wählen, die zu Ihrem System passt.
Metadaten für erfolgreiche Unterhaltungen
Diese Antwort signalisiert dem Aufrufer der Intent-Erkennungs-API, dass die Unterhaltung mit dem Dialogflow CX-Agenten erfolgreich war. Dialogflow CX verwendet dieses Signal, um erfolgreiche Unterhaltungen für Messzwecke zu identifizieren. Der Sitzungsstatus wird dadurch in keiner Weise geändert.
Dein System oder deine Integration kann dieses Signal verwenden, um die erforderlichen Maßnahmen zu ergreifen. Dialogflow CX schreibt keine Struktur für diese Daten vor. Sie können also eine beliebige Struktur wählen, die zu Ihrem System passt.
Vorab aufgezeichnete Audioinhalte abspielen
Diese Antwort spielt eine Audiodatei für Integrationen ab, die diese Funktion unterstützen.
Die Anforderungen an das Audiodateiformat können je nach Integration variieren. Beispiel: Anforderungen für Dialogflow CX Phone Gateway.
Bei Partnertelefonie-Integrationen muss die URL für die Audiodatei für den Partner zugänglich sein. Eine öffentlich verfügbare URL, z. B. eine öffentliche Datei in Cloud Storage, ist für den Partner immer zugänglich. Der Partner kann auch eingeschränkten Zugriff auf Audiodateien gewähren. Weitere Informationen finden Sie in der Partnerdokumentation.
Audiotext ausgeben
Diese Antwort ähnelt der Textantwort, gilt aber nur für die Sprachsynthese. Wenn Ihr Agent sowohl Text- als auch Sprach-Sitzungen verarbeiten kann, können Sie eindeutige Text- und Audioausgabe-Text-Antworten verwenden, um eine unterschiedliche Nutzererfahrung für Text und Sprache zu schaffen. Wenn für eine Sprach-Sitzung ein Audio-Ausgabetext bereitgestellt wird, werden die Nur-Text-Antworten ignoriert.
Wenn Ihr Agent sowohl Text- als auch Sprachsitzungen verarbeitet und Sie dieselben Antwortnachrichten verwenden möchten, verwenden Sie Textantworten für beide Sitzungstypen.
Der Audioausgabetext wird ähnlich wie Textantworten verkettet. Wenn die Audio-Textantworten der Ausgabe eine Mischung aus Text und SSML sind, wird das verkettete Ergebnis als SSML behandelt. Idealerweise sollten Sie entweder Text oder SSML einheitlich verwenden.
Bedingte Antwort
Dieser Antworttyp liefert bedingte Antworten:
Das allgemeine Format ist:
if [condition] [response] elif [condition] [response] elif [condition] [response] else [response] endif
Dabei gilt:
[condition]verwendet dasselbe Format wie Routenbedingungen.[response]ist eine Textantwort.elif- undelse-Blöcke sind optional.
Beispiel:
if $session.params.user-age >= 21 Ok, you may enter. else Sorry, you cannot enter. endif
Sowohl [condition] als auch [response] können Inline-Systemfunktionen verwenden, um während Unterhaltungen dynamische Werte zu generieren. Weitere Informationen finden Sie unter Systemfunktionen und Routenbedingungen. Der [condition] wird basierend auf dem Sitzungsstatus zu Beginn der Ausführung aufgelöst. Wenn der [response] vom Sitzungsstatus abhängt, wird er am Ende der Ausführung basierend auf dem aktualisierten Sitzungsstatus aufgelöst.
Bei mehrsprachigen KI-Agenten ist [condition] für alle Sprachen gleich, während [response] sprachspezifisch ist. Wenn Sie [condition] für eine Sprache in der Konsole ändern, wird dieser Teil in allen Sprachen des Agenten aktualisiert. Da es sich um eine neue Bedingung handelt, wird [response] für alle Sprachen außer der Sprache gelöscht, die Sie beim Aktualisieren von [condition] ausgewählt haben.
Anrufweiterleitung per Telefonie
Anrufweiterleitungen sind nur für das Dialogflow CX Phone Gateway verfügbar.
Bei einigen Telefonie-Integrationen können Sie eine Telefonnummer in den USA für die Weiterleitung von Anrufen angeben. Wenn der Dialogflow CX-Agent zur Laufzeit eine Ausführung mit Anrufweiterleitung auslöst, wird der Anruf an die angegebene Nummer weitergeleitet und die Agentenverarbeitung wird ausgesetzt.
Antwort des Datenspeichertools
Mit diesem Antworttyp werden die Antworten des KI-Agenten konfiguriert, die von verknüpften Datenspeichertools zurückgegeben werden. Wenn Sie in diesem Fulfillment ein Datenspeichertool konfiguriert haben, wird automatisch eine Antwortkarte für das Datenspeichertool ausgefüllt.
- Quelllinks: Legen Sie die maximale Anzahl von Zitationen fest, die dem Nutzer nach der Antwort zurückgegeben werden sollen. Ein Zitat ist ein Link zur Informationsquelle im Datenspeicher, der als Schaltfläche dargestellt wird. Der Standardwert ist 1.
- Inline-Zitate: Begrenzen Sie die Anzahl der Inline-Zitate, die pro Satz zurückgegeben werden, anstatt Links nach der Antwort aufzulisten.
- Generativer Fallback: Konfigurieren Sie den Agenten so, dass er eine KI-generierte Antwort versucht, wenn der Datenspeicher ein leeres Ergebnis zurückgibt. Wenn dies fehlschlägt, verwendet der Agent statische Antworten.
- Statische Antworten: Geben Sie im letzten Feld statische Textantworten ein, die wortgetreu an den Nutzer gesendet werden sollen.
Kanalspezifische Antwortnachrichten
Beim Definieren des Fulfillments können Sie kanalspezifische Antwortnachrichten erstellen, um gezielte Antworten für Textchat, Sprache, SMS oder bestimmte Integrationen zu erstellen, die Supportkanäle unterstützen. Alle Antwortnachrichten, die nicht für einen bestimmten Kanal spezifisch sind, werden als Standardantwortnachrichten bezeichnet.
Zur Laufzeit wählt Dialogflow CX entweder die Standardantwortnachricht oder eine kanalspezifische Antwortnachricht aus, wenn in einer Intent-Erkennungsanfrage ein Kanal angegeben ist. Als Best Practice sollten Sie Standardantwortnachrichten definieren, auch wenn Sie kanalspezifische Antwortnachrichten verwenden. Die Standardantwortnachrichten dienen als Fallback, wenn Ihr System keinen gültigen Kanal bereitstellt.
Ein Channelname ist ein benutzerdefiniertes Feld, das Sie auf einen beliebigen Text festlegen können. Wenn Sie die Dialogflow CX API direkt für Laufzeitaufrufe verwenden, können Sie beliebige Kanalnamen verwenden. Wenn Sie eine vorhandene Integration verwenden, müssen Sie die Kanalnamen verwenden, die von der Integration erkannt werden.
Kanalspezifische Antwortnachrichten während der Designphase festlegen
So stellen Sie kanalspezifische Antwortnachrichten für die Auftragsausführung bereit, wenn Sie die Konsole verwenden:
- Klicken Sie auf Kanal hinzufügen, nachdem Sie Standardantwortnachrichten hinzugefügt haben, um kanalspezifische Antwortnachrichten hinzuzufügen. Klicken Sie noch einmal auf Kanal hinzufügen, um weitere Kanäle hinzuzufügen.
So stellen Sie kanalspezifische Antwortnachrichten für die Auftragsausführung bereit, wenn Sie die API verwenden:
- Legen Sie für jede Antwortnachricht das Feld
Fulfillment.messages[i].channelauf den ausgewählten Kanal fest. Wenn dieses Feld nicht festgelegt ist, wird die Antwort als Standardantwortnachricht behandelt.
Kanalspezifische Antwortnachrichten zur Laufzeit verwenden
Wenn Sie eine vorhandene Integration verwenden, die Kanäle unterstützt, werden diese Schritte von der Integrationsimplementierung ausgeführt.
Wenn Sie eine kanalspezifische Antwortnachricht erhalten möchten, müssen Sie den Kanal in der Intent-Erkennungsanfrage angeben. Weitere Informationen finden Sie im Feld queryParams.channel in der Methode detectIntent des Typs Sessions.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
| Protokoll | V3 | V3beta1 |
|---|---|---|
| REST | Sitzungsressource | Sitzungsressource |
| RPC | Sitzungsoberfläche | Sitzungsoberfläche |
| C++ | SessionsClient | Nicht verfügbar |
| C# | SessionsClient | Nicht verfügbar |
| Go | SessionsClient | Nicht verfügbar |
| Java | SessionsClient | SessionsClient |
| Node.js | SessionsClient | SessionsClient |
| PHP | Nicht verfügbar | Nicht verfügbar |
| Python | SessionsClient | SessionsClient |
| Ruby | Nicht verfügbar | Nicht verfügbar |
Dialogflow CX gibt die Standardantwortnachricht zurück, wenn in einer Anfrage kein Kanal definiert ist oder wenn bei der Ausführung kein übereinstimmender Kanal gefunden wird.
Benutzerdefinierte Nutzlastvorlagen
Wenn Sie häufig benutzerdefinierte Nutzlasten verwenden, sollten Sie benutzerdefinierte Nutzlastvorlagen verwenden. Benutzerdefinierte Nutzlasten sind manchmal groß und komplex. Die Verwendung von Vorlagen vereinfacht daher die Erstellung von Agents.
Stellen Sie diese Vorlagen in den Agent-Einstellungen bereit, damit sie beim Erstellen des Fulfillment für Ihren Agent ausgewählt werden können.
Beispielsweise kann die JSON-Nutzlast für die Schaltflächen „Ja“ und „Nein“ als benutzerdefinierte Nutzlastvorlagen definiert werden. Wenn Sie ein Fulfillment erstellen, für das diese Schaltflächen erforderlich sind, wählen Sie die Vorlage beim Erstellen des Fulfillments aus.
Wenn Sie eine Vorlage für eine benutzerdefinierte Nutzlast für die Auftragsausführung auswählen, wird der Inhalt der Vorlage in die Nutzlast eingefügt. Sie können die Nutzlast dann nach Bedarf bearbeiten.
Wenn Sie eine Vorlage ändern, werden die Änderungen nicht automatisch auf alle Fulfillment-Nutzlasten übertragen, in denen darauf verwiesen wurde.
Informationen zum Erstellen einer benutzerdefinierten Nutzlastvorlage finden Sie in den allgemeinen Einstellungen für den Agent.
Wenn Sie beim Erstellen eines benutzerdefinierten Payloads für die Auftragsausführung eine benutzerdefinierte Payload-Vorlage auswählen möchten, klicken Sie auf Vorlage auswählen.
Webhook-Aufrufe
Wenn ein Fulfillment einen Webhook auslöst, sendet der Agent eine Anfrage an Ihren Dienst. Ihr Webhook kann Aktionen ausführen, dynamische Antwortnachrichten bereitstellen, Parameterwerte überschreiben und die aktuelle Seite ändern.
Im Folgenden werden die Webhook-Einstellungen für die Auftragsausführung beschrieben:
| X | Element |
|---|---|
| Webhook aktivieren | Dadurch wird der Webhook für das Fulfillment aktiviert. |
| Webhook | Wählen Sie die Webhook-Ressource aus. |
| Tag | Das hier angegebene Text-Tag wird in das Feld WebhookRequest.fulfillmentInfo.tag der Webhook-Anfrage eingefügt, die an Ihren Webhook-Dienst gesendet wird. Damit lässt sich das Webhook-Verhalten auf eine für die Auftragsausführung spezifische Weise steuern. |
| Teilantwort zurückgeben | Ermöglicht das Abbrechen der Wiedergabe einer Teilantwort. Weitere Informationen finden Sie unter Erweiterte Spracheinstellungen. |
Parametervoreinstellungen
Verwenden Sie das Fulfillment, um Voreinstellungen bereitzustellen, mit denen aktuelle Parameterwerte festgelegt oder überschrieben werden. Diese Voreinstellungen werden angewendet, bevor statische Antwortnachrichten aufgelöst oder ein Webhook aufgerufen wird.
Sie können auch Systemfunktionen verwenden, um einen Parameter auf einen dynamisch generierten Wert voreinzustellen.
Beispiele:
Parameter
nowauf die aktuelle Zeit festlegen:Parameter Wert jetzt $sys.func.NOW() Vorhandenen Parameter
counterum 1 erhöhen:Parameter Wert Zähler $sys.func.ADD($session.params.counter, 1) Einen Parameter
new-costauf den Parameterwertother-costfestlegen und dabei den vollständigen Wert des zusammengesetzten Objekts beibehalten:Parameter Wert new-cost $sys.func.IDENTITY($session.params.other-cost)
Datenspeichertools
Weitere Informationen zu dieser Funktion finden Sie in der Dokumentation zu Datenspeichertools.
Erweiterte Spracheinstellungen
Diese erweiterten Spracheinstellungen können die Spracheinstellungen für Seiten, die Spracheinstellungen für Abläufe und die Spracheinstellungen für Agenten überschreiben.
Antwortwarteschlange
Während der Runde eines Agenten können Sie mehrere Ausführungen aufrufen, von denen jede eine Antwortnachricht generieren kann. Dialogflow CX speichert diese Antworten in einer Antwortwarteschlange.
Unvollständige Beantwortung für Streaming API
Standardmäßig sendet Dialogflow CX nur geordnete Antworten an Endnutzer, nachdem der Zug des Agenten beendet wurde. Sie können auch die Option Teilantwort zurückgeben in der Auftragsausführung aktivieren, um in der Warteschlange befindliche Antworten als Teilantwort zurückzugeben, wenn Sie die Streaming APIs verwenden. Weitere Informationen finden Sie unter Lebenszyklus einer Seite.
Wenn Ihr Webhook beispielsweise wahrscheinlich lange ausgeführt wird, können Sie im Fulfillment eine statische Antwort hinzufügen und die unvollständige Beantwortung aktivieren. Dadurch wird die Antwortwarteschlange von Dialogflow CX geleert und alle Nachrichten werden als Teilantwort gesendet, bevor der Webhook aufgerufen wird.
Die unvollständige Beantwortung wird für Folgendes nicht unterstützt:
- Audioeingaben im Simulator.
- Partnertelefonie-Integrationen unterstützen möglicherweise keine unvollständigen Antworten. Weitere Informationen finden Sie in der Partnerdokumentation.
Wenn Sie diese Funktion im Simulator testen möchten, aktivieren Sie die unvollständige Beantwortung.

Im folgenden Beispiel dauert die Ausführung des Webhooks 5 Sekunden und die unvollständige Beantwortung ist nicht aktiviert. Der Gesprächsabschnitt des Dialogflow CX-Agenten ist erst beendet, wenn der Webhook abgeschlossen ist. Während dieser 5-sekündigen Runde werden Antworten in die Warteschlange gestellt, während auf den Webhook gewartet wird. Sie werden erst an den Endnutzer zurückgegeben, wenn die Runde abgeschlossen ist. Das führt zu einer schlechten User Experience.
Wenn Sie die unvollständige Beantwortung in der ersten Ausführung aktivieren, gibt Dialogflow CX die erste Ausführungsnachricht schnell zurück und ruft den Webhook auf. Nach Abschluss des Webhooks gibt Dialogflow CX die endgültige Antwort zurück. In diesem Szenario wird die Nutzererfahrung verbessert, da der Endnutzer darüber informiert wird, dass er kurz warten muss. Außerdem wird der Webhook-Aufruf gleichzeitig mit einer Antwort an den Endnutzer ausgeführt.
Speech Synthesis Markup Language (SSML)
Sie können die Speech Synthesis Markup Language (SSML) in Text- oder Audioausgabe-Textfeldern verwenden. So können Sie die Audioantwort anpassen, indem Sie Details zu Pausen und Audioformatierungen für Akronyme, Daten, Uhrzeiten, Abkürzungen oder zu zensierenden Text angeben.
Details zur Syntax finden Sie in der SSML-Dokumentation für Text-to-Speech.