Reference documentation and code samples for the Google Cloud Dialogflow Cx V3 Client class Flow.
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.
Generated from protobuf message google.cloud.dialogflow.cx.v3.Flow
Namespace
Google \ Cloud \ Dialogflow \ Cx \ V3Methods
__construct
Constructor.
data
array
Optional. Data for populating the Message object.
↳ name
string
The unique identifier of the flow. Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>
.
↳ display_name
string
Required. The human-readable name of the flow.
↳ description
string
The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
↳ transition_routes
array< 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 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 evalauted 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
array< 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 , 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
array
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
. 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.
↳ nlu_settings
↳ advanced_settings
AdvancedSettings
Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level.
↳ knowledge_connector_settings
↳ multi_language_settings
↳ locked
bool
Indicates whether the flow is locked for changes. If the flow is locked, modifications to the flow will be rejected.
getName
The unique identifier of the flow.
Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>
.
string
setName
The unique identifier of the flow.
Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>
.
var
string
$this
getDisplayName
Required. The human-readable name of the flow.
string
setDisplayName
Required. The human-readable name of the flow.
var
string
$this
getDescription
The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
string
setDescription
The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
var
string
$this
getTransitionRoutes
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 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 evalauted in the following order:
- TransitionRoutes with intent specified.
- TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow.
setTransitionRoutes
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 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 evalauted in the following order:
- TransitionRoutes with intent specified.
- TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow.
$this
getEventHandlers
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 , 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.
setEventHandlers
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 , 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.
$this
getTransitionRouteGroups
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 . 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>
orprojects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/transitionRouteGroups/<TransitionRouteGroupID>
for agent-level groups.
setTransitionRouteGroups
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 . 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>
orprojects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/transitionRouteGroups/<TransitionRouteGroupID>
for agent-level groups.
var
string[]
$this
getNluSettings
NLU related settings of the flow.
hasNluSettings
clearNluSettings
setNluSettings
NLU related settings of the flow.
$this
getAdvancedSettings
Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level.
hasAdvancedSettings
clearAdvancedSettings
setAdvancedSettings
Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level.
$this
getKnowledgeConnectorSettings
Optional. Knowledge connector configuration.
hasKnowledgeConnectorSettings
clearKnowledgeConnectorSettings
setKnowledgeConnectorSettings
Optional. Knowledge connector configuration.
$this
getMultiLanguageSettings
Optional. Multi-lingual agent settings for this flow.
hasMultiLanguageSettings
clearMultiLanguageSettings
setMultiLanguageSettings
Optional. Multi-lingual agent settings for this flow.
$this
getLocked
Indicates whether the flow is locked for changes. If the flow is locked, modifications to the flow will be rejected.
bool
setLocked
Indicates whether the flow is locked for changes. If the flow is locked, modifications to the flow will be rejected.
var
bool
$this