Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Agora que você tem sua entidade de sequência, crie as intents para coletar a
sequência do usuário final. Você precisará de pelo menos três intents com estas responsabilidades:
Uma "sequência" da intent principal
Captura as falas para iniciar a coleta da sequência.
Invocada por eventos de acompanhamento para continuar a capturar sequências até que
o usuário final saiba que está tudo pronto.
Uma intent contextual "Sequência: Editar"
Captura declarações para corrigir a última sequência coletada.
Faz um loop programático na intent "Sequência" para coletar a sequência corrigida.
Uma intent contextual "Sequência: Concluído"
Captura declarações que indicam que a sequência foi concluída.
Na próxima seção, você verá como o webhook conectará todos eles, mas primeiro
vamos configurar as intents.
Criar a intent "Sequência"
Esta é a principal intenção para coletar sequências. Configure-a da seguinte maneira:
Deixe os contextos de entrada vazios para que os usuários finais possam acionar essa intent no início da chamada.
Adicione um contexto de saída "coletando-sequência". Usaremos esse contexto para ativar as intents de correção e finalização durante o fluxo.
Adicione um contexto de saída "editando-sequência" e defina a vida útil como 0. Esse contexto será ativado com uma duração da intent "Sequência - Editar" na próxima seção e é importante limpar esse contexto aqui para que o contexto "editando-sequência" seja apenas quando a intent "Editar" é ativada imediatamente.
Adicione um evento "continuar-sequência" para que seu webhook possa repetir essa intent para coletar todas as sequências parciais.
Adicionar frases de treinamento para que o usuário final acione a intent para iniciar o fluxo.
Nesse exemplo, são usadas frases como "qual é o status do meu pedido", "rastrear minha ordem", "onde está o meu pedido" etc.
Adicione um nome de ação "processar-sequência" para que o webhook saiba quando disparar.
Você codificará o webhook na próxima seção deste tutorial, depois que todos os intents estiverem configurados.
Adicione um parâmetro obrigatório "nova_sequência" usando a entidade regexp que você criou para coletar sequências parciais na seção anterior. Defina o tipo de entidade como
"@alphanumeric" e o valor como "$new_sequence".
Adicione um parâmetro opcional "existing_sequence" com o valor "#continue-sequence.existing_sequence" para extrair a nova sequência existente do evento. Você pode deixar o tipo de entidade vazio.
Adicione um parâmetro opcional "previous_sequence" com o valor "#continue-sequence.previous_sequence" para extrair a sequência anterior do evento. Você pode deixar o tipo de entidade vazio.
Ativa a chamada do webhook para este intent e chamada de webhook para preenchimento de slot.
Criar a intent "Sequência - Editar"
Essa intent detecta declarações que indicam que a sequência anterior foi destruída pelo agente. Configure-a da seguinte maneira:
Adicione um contexto de entrada "collecting-sequence" para que essa intent seja chamado apenas quando estivermos no meio do fluxo de sequência. Esse é o mesmo contexto
ativado pela intent "Sequência".
Adiciona um contexto de saída "edit-sequence" ao nosso webhook de fulfillment para referência. Quando essa intent é ativada, o webhook retorna o Dialogflow de volta à intent "Sequência" principal para coletar a próxima sequência. O webhook para o preenchimento de slot da intent "Sequência" verifica um contexto "edit-sequence" ativo para fornecer uma resposta simbólica "try nova" ao usuário final.
Adicione frases de treinamento como "não", "Não está certo" etc.
Adicione o nome da ação "handle-sequence". Essa é a mesma ação que a intent "Sequência" para reutilizar a mesma lógica do webhook.
Adicione um parâmetro "new_sequence" com o valor "#collecting-sequence.previous_sequence" para extrair a sequência anterior do contexto, efetivamente desfazendo a última expressão. Não adicionamos um parâmetro "existing_sequence" aqui para que o webhook substitua a sequência existente pela anterior.
Ativa a chamada do webhook para essa intent.
Crie uma intent "Sequência - Concluído".
Adicionar um contexto de entrada "collecting-sequence"
Adicione um contexto de saída "collecting-sequence" e defina a vida útil como 0 para limpar o contexto. A limpeza impede que as intents "Editar" e "Concluído" sejam acionados novamente agora que o agente terminou de coletar a sequência.
Adicione frases de treinamento como "pronto", "tudo pronto" etc.
Adicione um parâmetro "sequence" com o valor "#collecting-sequence.existing_sequence" para extrair a sequência final do contexto.
Ativa a chamada do webhook para essa intent.
Vincular intents por webhook
Agora você tem tudo o que precisa para codificar a lógica dessas intents. Na próxima seção, você verá como codificar o webhook para usar todos esses contextos, ações, parâmetros e eventos e concluir o fluxo de validação da sequência.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 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."]]