Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Nachdem Sie Ihre Sequenzentität erstellt haben, können Sie die Intents anlegen, um die Sequenz vom Endnutzer zu erfassen. Für diese Verantwortlichkeit benötigen Sie mindestens drei Intents:
Einen Hauptintent „Sequenz“:
Erfasst Äußerungen, um die Sequenzsammlung zu starten.
Wird durch Folgeereignisse aufgerufen, um weitere Sequenzen zu erfassen, bis der Endnutzer die Erfassung beendet.
Kontextuelles Intent „Sequenzierung – Bearbeiten“
Erfasst Äußerungen, um die letzte erfasste Sequenz zu korrigieren.
Programmatische Schleifen zurück zum „Sequenz“-Intent, um die korrigierte Sequenz zu sammeln.
Kontextuelles Intent „Sequenz – Fertig“
Erfasst Äußerungen, die angeben, dass die Sequenz abgeschlossen ist.
Im nächsten Abschnitt erfahren Sie, wie der Webhook alle miteinander verbindet. Zuerst müssen wir jedoch die Intents einrichten.
„Sequenz“-Intent erstellen
Dies ist der Hauptintent iür das Erfassen von Sequenzen. Konfigurieren Sie ihn in folgender Weise:
Lassen Sie die Eingabekontexte leer, damit Endnutzer diesen Intent zu Beginn des Aufrufs auslösen können.
Fügen Sie den Ausgabekontext „collecting-sequence“ hinzu. Wir verwenden diesen Kontext, um im Ablauf die Korrektur und den Abschluss von Intents zu ermöglichen.
Fügen Sie den Ausgabekontext „editing-sequence“ hinzu und setzen Sie die Lebensdauer auf 0. Wir aktivieren diesen Kontext mit einer Lebensdauer aus dem Intent „Sequenz – Bearbeiten“ im nächsten Abschnitt. Es ist wichtig, diesen Kontext zu löschen, damit der Kontext „editing-sequence“ nur unmittelbar nach dem Auslösen des Intents „Bearbeiten“ aktiv wird.
Fügen Sie das Ereignis „continue-sequence“ hinzu, damit der Webhook diesen Intent in einer Schleife auslösen kann, um alle Teilsequenzen zu erfassen.
Fügen Sie Trainingsformulierungen hinzu, damit der Endnutzer diesen Intent zum Start des Ablaufs auslösen kann.
In diesem Beispiel werden Formulierungen wie „What's my order status“ (Wie lautet mein Bestellstatus), „Track my order“ (Verfolge meine Bestellung), „Where is my order“ (Wo ist meine Bestellung?) usw. verwendet.
Fügen Sie den Aktionsnamen "handle-sequence" hinzu, um für den Webhook festzulegen, wann er ausgelöst werden soll.
Sie werden den Webhook im nächsten Abschnitt dieser Anleitung programmieren, nachdem alle Intents eingerichtet wurden.
Fügen Sie den erforderlichen Parameter „new_sequence“ mit der RegExp-Entität hinzu, die Sie erstellt haben, um Teilsequenzen im vorherigen Abschnitt zu erfassen. Setzen Sie den Entitätstyp auf „@alphanumeric“ und den Wert auf „$new_sequence“.
Fügen Sie den optionalen Parameter „existing_sequence“ mit dem Wert „#continue-sequence.existing_sequence“ hinzu, um die neue vorhandene Sequenz aus dem Ereignis zu extrahieren. Den Entitätstyp können Sie leer lassen.
Fügen Sie den optionalen Parameter „previous_sequence“ mit dem Wert „#continue-sequence.previous_sequence“ hinzu, um die vorherige Sequenz aus dem Ereignis zu extrahieren. Den Entitätstyp können Sie leer lassen.
Aktivieren Sie den Webhook-Aufruf für diesen Intent und den Webhook-Aufruf für die Slot-Füllung.
Intent „Sequenzierung – Bearbeiten“ erstellen
Dieser Intent erkennt Äußerungen, die angeben, dass die vorherige Sequenz vom Agent falsch verstanden wurde. Richten Sie ihn so ein:
Fügen Sie den Eingabekontext „collecting-sequence" hinzu, sodass dieser Intent nur aufgerufen wird, wenn wir mitten im Sequenzablauf sind. Dies ist der gleiche Kontext, der durch den Intent „Sequence“ aktiviert wird.
Fügen Sie den Ausgabekontext „editing-sequence“ für unseren Fulfillment-Webhook als Referenz hinzu. Wenn dieser Intent aktiviert wird, gibt der Webhook den Dialogflow-Intent wieder zum primären Intent „Sequence“ aus, um die nächste Sequenz zu erfassen. Der Webhook für die Slot-Füllung des Intents „Sequence“ sucht nach einem aktiven „editing-sequence“-Kontext, um dem Endnutzer eine sympathische Antwort „Bitte wiederholen“ auszugeben.
Fügen Sie Trainingsformulierungen wie „Nein“, „Das ist falsch“ usw. hinzu.
Fügen Sie den Aktionsnamen „handle-sequence“ hinzu. Dies ist dieselbe Aktion wie der Intent „Sequence“, sodass wir dieselbe Webhook-Logik wiederverwenden können.
Fügen Sie den Parameter „new_sequence" mit dem Wert „#collecting-sequence.previous_sequence“ hinzu, um die vorherige Sequenz aus dem Kontext zu extrahieren, sodass die letzte Äußerung effektiv rückgängig gemacht wird. Hier fügen Sie Parameter „existing_sequence“ nicht hinzu, sodass der Webhook die vorhandene Sequenz mit der vorherigen überschreibt.
Aktivieren Sie den Webhook-Aufruf für diesen Intent.
Erstellen Sie den Intent „Sequence – Done“.
Eingabekontext „collecting-sequence“ hinzufügen
Fügen Sie den Ausgabekontext „collecting-sequence“ hinzu und stellen Sie die Lebensdauer auf 0 ein, um den Kontext zu löschen. Beim Löschen werden die Intents „Bearbeiten“ und „Fertig„ nicht mehr ausgelöst, nachdem der Agent die Erfassung der Sequenz abgeschlossen hat.
Fügen Sie Trainingsformulierungen wie „Das wars“, „alles erledigt“ usw. hinzu.
Fügen Sie den Parameter „sequence“ mit dem Wert „#collecting-sequence.existing_sequence“ hinzu, um die endgültige Sequenz aus dem Kontext zu extrahieren.
Aktivieren Sie den Webhook-Aufruf für diesen Intent.
Intents über Webhook verknüpfen
Jetzt haben Sie alles, was Sie zum Codieren der Logik für diese Intents benötigen. Im nächsten Abschnitt erfahren Sie, wie Sie den Webhook so programmieren, dass alle diese Kontexte, Aktionen, Parameter und Ereignisse verwendet werden, um die Sequenzvalidierung abzuschließen.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-04 (UTC)."],[[["\u003cp\u003eThere are three key intents for collecting sequences: "Sequence" to start and continue, "Sequence - Edit" to correct the last entry, and "Sequence - Done" to finalize the sequence.\u003c/p\u003e\n"],["\u003cp\u003eThe "Sequence" intent uses output contexts "collecting-sequence" and "editing-sequence" to manage the flow, along with the "continue-sequence" event and training phrases to start and continue sequence collection.\u003c/p\u003e\n"],["\u003cp\u003eThe "Sequence - Edit" intent utilizes the "collecting-sequence" input context to activate only during sequence collection, along with an "editing-sequence" output context to inform the webhook to correct the sequence.\u003c/p\u003e\n"],["\u003cp\u003eThe "Sequence - Done" intent, triggered by phrases indicating sequence completion, clears the "collecting-sequence" context to prevent further edits and extracts the complete sequence.\u003c/p\u003e\n"],["\u003cp\u003eAll three intents use the same action name "handle-sequence" and webhook calls, which allows a single webhook to manage the sequence validation flow.\u003c/p\u003e\n"]]],[],null,["# Creating the sequence flow intents\n\nNow that you have your sequence entity, you can create the intents to collect the\nsequence from the end-user. You'll want at least three intents with these responsibilities:\n\n1. A head intent \"Sequence\"\n - Catches utterances to start the sequence collection.\n - Invoked by follow-up events to continue capturing sequences until the end-user says they're done.\n2. A contextual intent \"Sequence - Edit\"\n - Catches utterances to correct the last sequence collected.\n - Programmatically loops back to the \"Sequence\" intent to collect the corrected sequence.\n3. A contextual intent \"Sequence - Done\"\n - Catches utterances that indicate the sequence is complete.\n\nIn the next section, you'll see how webhook will connect all of these, but first\nlet's set up the intents.\n\nCreate the \"Sequence\" intent\n----------------------------\n\nThis is the main intent for collecting sequences. Configure it like so:\n\n1. Leave the input contexts empty so end-users can trigger this intent at the start of the call.\n2. Add an output context \"collecting-sequence\". We'll use this context to enable the correcting and finishing intents during the flow.\n3. Add an output context \"editing-sequence\" and set the lifespan to 0. We'll activate this context with a lifespan from the \"Sequence - Edit\" intent in the next section, and it's important to clear that context here so that the \"editing-sequence\" context is only active immediately after triggering the \"Edit\" intent.\n4. Add an event \"continue-sequence\" so your webhook can loop this intent to\n collect all of the partial sequences.\n\n5. Add training phrases so the end-user can trigger this intent to start the flow.\n This example uses phrases like \"what's my order status\", \"track my order\",\n \"where is my order\", etc.\n\n6. Add an action name \"handle-sequence\" so the webhook knows when to fire.\n You'll code the webhook in the next section of this tutorial, after all the\n intents are set up.\n\n7. Add a required parameter \"new_sequence\" using the regexp entity you created\n to collect partial sequences in the previous section. Set the entity type to\n \"@alphanumeric\" and the value to \"$new_sequence\".\n\n8. Add an optional parameter \"existing_sequence\" with value\n \"#continue-sequence.existing_sequence\" to extract the new existing sequence\n from the event. You can leave the entity type empty.\n\n9. Add an optional parameter \"previous_sequence\" with value\n \"#continue-sequence.previous_sequence\" to extract the previous sequence\n from the event. You can leave the entity type empty.\n\n10. Enable webhook call for this intent *and* webhook call for slot filling.\n\nCreate the \"Sequence - Edit\" intent\n-----------------------------------\n\nThis intent listens for utterances that indicate the previous sequence was\nmisheard by the agent. Set it up like this:\n\n1. Add an input context \"collecting-sequence\" so that this intent is only called when we're in the middle of the sequence flow. This is the same context activated by the \"Sequence\" intent.\n2. Add an output context \"editing-sequence\" for our fulfillment webhook to reference. When this intent is activated, the webhook will loop Dialogflow back to the main \"Sequence\" intent to collect the next sequence. The webhook for the \"Sequence\" intent's slot-filling will check for an active \"editing-sequence\" context to provide a sympathetic \"try again\" response to the end-user.\n3. Add training phrases like \"no\", \"that's not right\", etc.\n\n4. Add the action name \"handle-sequence\". This is the same action as the\n \"Sequence\" intent so we can reuse the same webhook logic.\n\n5. Add a parameter \"new_sequence\" with value\n \"#collecting-sequence.previous_sequence\" to extract the previous sequence\n from the context, effcetively undoing the last utterance. We do *not* add an\n \"existing_sequence\" parameter here so that the webhook will overwrite the\n existing sequence with the previous one.\n\n6. Enable webhook call for this intent.\n\nCreate a \"Sequence - Done\" intent.\n----------------------------------\n\n1. Add an input context \"collecting-sequence\"\n2. Add an output context \"collecting-sequence\" and set the lifespan to 0 to clear the context. Clearing it prevents the \"Edit\" and \"Done\" intents from triggering again now that the agent is done collecting the sequence.\n3. Add training phrases like \"that's it\", \"all done\", etc.\n\n4. Add a parameter \"sequence\" with value\n \"#collecting-sequence.existing_sequence\" to extract the final\n sequence from the context.\n\n5. Enable webhook call for this intent.\n\nLink the intents through webhook\n================================\n\nYou now have everything you need to code the logic for these intents. In the next\nsection, you'll see how to code the webhook to use all these contexts, actions,\nparameters, and events to complete the sequence validation flow."]]