Some products and features are in the process of being renamed. Generative playbook and flow features are also being migrated to a single consolidated console. See the details.
Flows represents the conversation flows when you build your chatbot agent.
A flow consists of many pages connected by the transition routes. Conversations always start with the built-in Start Flow (with an all-0 ID). Transition routes can direct the conversation session from the current flow (parent flow) to another flow (sub flow). When the sub flow is finished, Dialogflow will bring the session back to the parent flow, where the sub flow is started.
Usually, when a transition route is followed by a matched intent, the intent will be "consumed". This means the intent won't activate more transition routes. However, when the followed transition route moves the conversation session into a different flow, the matched intent can be carried over and to be consumed in the target flow.
They are responsible for matching the user's first utterances in the flow.
They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow.
TransitionRoutes are evaluated in the following order:
TransitionRoutes with intent specified.
TransitionRoutes with only condition specified.
TransitionRoutes with intent specified are inherited by pages in the flow.
They are responsible for handling events (e.g. no match, webhook errors) in the flow.
They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow.
Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored.
transitionRouteGroups[]
string
A flow's transition route group serve two purposes:
They are responsible for matching the user's first utterances in the flow.
They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow.
Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/transitionRouteGroups/<TransitionRouteGroupID> or projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/transitionRouteGroups/<TransitionRouteGroupID> for agent-level groups.
Optional. Enable multi-language detection for this flow. This can be set only if [agent level multi language setting][Agent.enable_multi_language_training] is enabled.
supportedResponseLanguageCodes[]
string
Optional. Agent will respond in the detected language if the detected language code is in the supported resolved languages for this flow. This will be used only if multi-language training is enabled in the agent and multi-language detection is enabled in the flow. The supported languages must be a subset of the languages supported by the agent.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-30 UTC."],[[["\u003cp\u003eFlows in chatbot agents represent conversation paths, starting with a built-in Start Flow and navigating through pages and transition routes.\u003c/p\u003e\n"],["\u003cp\u003eTransition routes direct the conversation between flows, and can carry over matched intents to sub-flows, allowing them to be consumed there.\u003c/p\u003e\n"],["\u003cp\u003eFlows inherit transition routes and event handlers to handle user input and events across all pages, with page-level configurations having priority.\u003c/p\u003e\n"],["\u003cp\u003eMultiLanguageSettings allow enabling multi-language detection and setting supported response languages, contingent on agent-level settings.\u003c/p\u003e\n"],["\u003cp\u003eA variety of methods exist for managing flows, including creating, deleting, exporting, importing, listing, updating, training, and validating.\u003c/p\u003e\n"]]],[],null,["# REST Resource: projects.locations.agents.flows\n\n- [Resource: Flow](#Flow)\n - [JSON representation](#Flow.SCHEMA_REPRESENTATION)\n- [MultiLanguageSettings](#MultiLanguageSettings)\n - [JSON representation](#MultiLanguageSettings.SCHEMA_REPRESENTATION)\n- [Methods](#METHODS_SUMMARY)\n\nResource: Flow\n--------------\n\nFlows represents the conversation flows when you build your chatbot agent.\n\nA flow consists of many pages connected by the transition routes. Conversations always start with the built-in Start Flow (with an all-0 ID). Transition routes can direct the conversation session from the current flow (parent flow) to another flow (sub flow). When the sub flow is finished, Dialogflow will bring the session back to the parent flow, where the sub flow is started.\n\nUsually, when a transition route is followed by a matched intent, the intent will be \"consumed\". This means the intent won't activate more transition routes. However, when the followed transition route moves the conversation session into a different flow, the matched intent can be carried over and to be consumed in the target flow.\n\nMultiLanguageSettings\n---------------------\n\nSettings for multi-lingual agents."]]