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.
Attributes
Name
Description
name
str
The unique identifier of the flow. Format:
projects/.
display_name
str
Required. The human-readable name of the
flow.
description
str
The description of the flow. The maximum
length is 500 characters. If exceeded, the
request is rejected.
transition_routes
MutableSequence[google.cloud.dialogflowcx_v3beta1.types.TransitionRoute]
A flow's transition routes serve two purposes:
- 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.
event_handlers
MutableSequence[google.cloud.dialogflowcx_v3beta1.types.EventHandler]
A flow's event handlers serve two purposes:
- 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
transition_routes,
these handlers are evaluated on a first-match basis. The
first one that matches the event get executed, with the rest
being ignored.
transition_route_groups
MutableSequence[str]
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/
or
projects/
for agent-level groups.
[[["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-08-07 UTC."],[],[],null,["# Class Flow (1.42.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.42.0 (latest)](/python/docs/reference/dialogflow-cx/latest/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.41.1](/python/docs/reference/dialogflow-cx/1.41.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.40.0](/python/docs/reference/dialogflow-cx/1.40.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.39.0](/python/docs/reference/dialogflow-cx/1.39.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.38.0](/python/docs/reference/dialogflow-cx/1.38.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.37.0](/python/docs/reference/dialogflow-cx/1.37.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.36.0](/python/docs/reference/dialogflow-cx/1.36.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.35.0](/python/docs/reference/dialogflow-cx/1.35.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.34.1](/python/docs/reference/dialogflow-cx/1.34.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.33.0](/python/docs/reference/dialogflow-cx/1.33.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.32.1](/python/docs/reference/dialogflow-cx/1.32.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.31.1](/python/docs/reference/dialogflow-cx/1.31.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.30.1](/python/docs/reference/dialogflow-cx/1.30.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.29.0](/python/docs/reference/dialogflow-cx/1.29.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.28.0](/python/docs/reference/dialogflow-cx/1.28.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.27.0](/python/docs/reference/dialogflow-cx/1.27.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.26.0](/python/docs/reference/dialogflow-cx/1.26.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.25.0](/python/docs/reference/dialogflow-cx/1.25.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.24.0](/python/docs/reference/dialogflow-cx/1.24.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.23.1](/python/docs/reference/dialogflow-cx/1.23.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.22.0](/python/docs/reference/dialogflow-cx/1.22.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.21.0](/python/docs/reference/dialogflow-cx/1.21.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.20.1](/python/docs/reference/dialogflow-cx/1.20.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.19.0](/python/docs/reference/dialogflow-cx/1.19.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.18.0](/python/docs/reference/dialogflow-cx/1.18.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.17.1](/python/docs/reference/dialogflow-cx/1.17.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.16.0](/python/docs/reference/dialogflow-cx/1.16.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.15.0](/python/docs/reference/dialogflow-cx/1.15.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.14.1](/python/docs/reference/dialogflow-cx/1.14.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.13.5](/python/docs/reference/dialogflow-cx/1.13.5/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.12.1](/python/docs/reference/dialogflow-cx/1.12.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.11.0](/python/docs/reference/dialogflow-cx/1.11.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.10.0](/python/docs/reference/dialogflow-cx/1.10.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.9.1](/python/docs/reference/dialogflow-cx/1.9.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.8.0](/python/docs/reference/dialogflow-cx/1.8.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.7.0](/python/docs/reference/dialogflow-cx/1.7.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.6.0](/python/docs/reference/dialogflow-cx/1.6.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.5.0](/python/docs/reference/dialogflow-cx/1.5.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.4.0](/python/docs/reference/dialogflow-cx/1.4.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.3.2](/python/docs/reference/dialogflow-cx/1.3.2/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.2.0](/python/docs/reference/dialogflow-cx/1.2.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.1.1](/python/docs/reference/dialogflow-cx/1.1.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [1.0.0](/python/docs/reference/dialogflow-cx/1.0.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.8.2](/python/docs/reference/dialogflow-cx/0.8.2/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.7.1](/python/docs/reference/dialogflow-cx/0.7.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.6.0](/python/docs/reference/dialogflow-cx/0.6.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.5.0](/python/docs/reference/dialogflow-cx/0.5.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.4.1](/python/docs/reference/dialogflow-cx/0.4.1/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.3.0](/python/docs/reference/dialogflow-cx/0.3.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.2.0](/python/docs/reference/dialogflow-cx/0.2.0/google.cloud.dialogflowcx_v3beta1.types.Flow)\n- [0.1.1](/python/docs/reference/dialogflow-cx/0.1.1/google.cloud.dialogflowcx_v3beta1.types.Flow) \n\n Flow(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nFlows represents the conversation flows when you build your\nchatbot agent.\nA flow consists of many pages connected by the transition\nroutes. Conversations always start with the built-in Start Flow\n(with an all-0 ID). Transition routes can direct the\nconversation session from the current flow (parent flow) to\nanother flow (sub flow). When the sub flow is finished,\nDialogflow will bring the session back to the parent flow, where\nthe sub flow is started.\n\nUsually, when a transition route is followed by a matched\nintent, the intent will be \"consumed\". This means the intent\nwon't activate more transition routes. However, when the\nfollowed transition route moves the conversation session into a\ndifferent flow, the matched intent can be carried over and to be\nconsumed in the target flow.\n\nClasses\n-------\n\n### MultiLanguageSettings\n\n MultiLanguageSettings(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nSettings for multi-lingual agents."]]