Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Ahora que tienes tu entidad de secuencia, puedes crear los intents para recopilar la secuencia del usuario final. Te recomendamos que tengas al menos tres intents con estas responsabilidades:
Un intent principal “Secuencia”
Detecta las expresiones para iniciar la recopilación de secuencias.
Los eventos de seguimiento lo invocan para seguir capturando secuencias hasta que el usuario final indique que terminó.
Un intent contextual “Secuencia: Editar”
Detecta las expresiones para corregir la última secuencia recopilada.
De manera programática, repite el bucle al intent “Secuencia” para recopilar la secuencia corregida.
Un intent contextual “Secuencia: Listo”
Detecta las expresiones que indican que la secuencia está completa.
En la siguiente sección, verás cómo el webhook conectará todo esto, pero primero configuremos los intents.
Crea el intent “Secuencia”
Este es el intent principal para recopilar secuencias. Configúralo de la siguiente manera:
Deja vacíos los contextos de entrada para que los usuarios finales puedan activar este intent al inicio de la llamada.
Agrega un contexto de salida “collecting-sequence”. Usaremos este contexto para habilitar los intents de corrección y finalización durante el flujo.
Agrega un contexto de salida “editing-sequence” y establece la duración en 0. Activaremos este contexto con una duración del intent “Secuencia: Editar” en la sección siguiente, y es importante borrar ese contexto aquí, de manera que el contexto “editing-sequence” solo se active inmediatamente después de activar el intent “Editar”.
Agrega un evento “continue-sequence” para que tu webhook pueda repetir el intent con el fin de recopilar todas las secuencias parciales.
Agrega frases de entrenamiento para que el usuario final pueda activar este intent y comenzar el flujo.
En este ejemplo, se usan frases como "cuál es el estado de mi pedido", "hacer un seguimiento de mi pedido", "dónde está mi pedido", etcétera.
Agrega el nombre de acción "handle-sequence" para que el webhook sepa cuándo activarse.
Programarás el webhook en la siguiente sección de este instructivo, después de configurar todos los intents.
Agrega un parámetro “new_sequence” requerido con la entidad de expresión regular que creaste para recopilar secuencias parciales en la sección anterior. Configura el tipo de entidad como “@alphanumeric” y el valor en “$new_sequence”.
Agrega un parámetro “existing_sequence” opcional con el valor “##continue-sequence.existing_sequence” para extraer la nueva secuencia existente del evento. Puedes dejar vacío el tipo de entidad.
Agrega un parámetro “previous_sequence” opcional con el valor “#continue-sequence.previous_sequence” para extraer la secuencia anterior del evento. Puedes dejar vacío el tipo de entidad.
Habilita las llamadas del webhook para este intent y la llamada del webhook para el llenado de ranuras.
Crea el intent “Secuencia: Editar”
Este intent detecta expresiones que indican que el agente no entendió la secuencia anterior. Configúralo como se muestra a continuación:
Agrega un contexto de entrada “colling-sequence” para que solo se llame a este intent cuando esté en el medio del flujo de la secuencia. Este es el mismo contexto que activa el intent “Secuencia”.
Agrega un contexto de salida “editing-sequence” para que nuestro webhook de entregas haga referencia. Cuando se activa este intent, el webhook repetirá Dialogflow al intent principal “Secuencia” para recopilar la siguiente secuencia. El webhook de la función de relleno de ranuras del intent “Secuencia” verificará si hay un contexto “editing-sequence” activo para proporcionar una respuesta “vuelve a intentarlo” provisional al usuario final.
Agrega frases de entrenamiento, como “no”, “no es correcto”, etcétera.
Agrega el nombre de acción “handle-sequence”. Esta es la misma acción que el intent “Secuencia” para que podamos volver a usar la misma lógica del webhook.
Agrega un parámetro “new_sequence” con el valor “#colling-sequence.previous_sequence” para extraer la secuencia anterior del contexto, y, así, deshacer la última expresión. No agregaremos un parámetro “existing_sequence” aquí para que el webhook reemplace la secuencia existente con la anterior.
Habilita las llamadas del webhook para este intent.
Crea un intent “Secuencia: Finalizado”.
Agrega un contexto de entrada “collecting-sequence”
Agrega un contexto de salida “colling-sequence” y establece la duración en 0 para borrar el contexto. Si se borra, se evita volver a activar los intents “Editar” y “Listo” luego de que el agente termine de recopilar la secuencia.
Agrega frases de entrenamiento, como “listo”, “todo listo”, etcétera.
Agrega un parámetro "secuencia" con el valor "#collecting-sequence.existing_sequence" para extraer la secuencia final del contexto.
Habilita las llamadas del webhook para este intent.
Vincula los intents con el webhook
Ahora tienes todo lo que necesitas para codificar la lógica de estos intents. En la siguiente sección, verás cómo codificar el webhook para usar todos estos contextos, acciones, parámetros y eventos para completar el flujo de validación de secuencias.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]