public final class Flow extends GeneratedMessageV3 implements FlowOrBuilder
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.
Protobuf type google.cloud.dialogflow.cx.v3.Flow
Static Fields
DESCRIPTION_FIELD_NUMBER
public static final int DESCRIPTION_FIELD_NUMBER
Field Value
DISPLAY_NAME_FIELD_NUMBER
public static final int DISPLAY_NAME_FIELD_NUMBER
Field Value
EVENT_HANDLERS_FIELD_NUMBER
public static final int EVENT_HANDLERS_FIELD_NUMBER
Field Value
NAME_FIELD_NUMBER
public static final int NAME_FIELD_NUMBER
Field Value
NLU_SETTINGS_FIELD_NUMBER
public static final int NLU_SETTINGS_FIELD_NUMBER
Field Value
TRANSITION_ROUTES_FIELD_NUMBER
public static final int TRANSITION_ROUTES_FIELD_NUMBER
Field Value
TRANSITION_ROUTE_GROUPS_FIELD_NUMBER
public static final int TRANSITION_ROUTE_GROUPS_FIELD_NUMBER
Field Value
Static Methods
getDefaultInstance()
public static Flow getDefaultInstance()
Returns
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
Returns
newBuilder()
public static Flow.Builder newBuilder()
Returns
newBuilder(Flow prototype)
public static Flow.Builder newBuilder(Flow prototype)
Parameter
Name |
Description |
prototype |
Flow
|
Returns
public static Flow parseDelimitedFrom(InputStream input)
Parameter
Returns
Exceptions
public static Flow parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(byte[] data)
public static Flow parseFrom(byte[] data)
Parameter
Name |
Description |
data |
byte[]
|
Returns
Exceptions
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static Flow parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(ByteString data)
public static Flow parseFrom(ByteString data)
Parameter
Returns
Exceptions
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static Flow parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static Flow parseFrom(CodedInputStream input)
Parameter
Returns
Exceptions
public static Flow parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static Flow parseFrom(InputStream input)
Parameter
Returns
Exceptions
public static Flow parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(ByteBuffer data)
public static Flow parseFrom(ByteBuffer data)
Parameter
Returns
Exceptions
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static Flow parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parser()
public static Parser<Flow> parser()
Returns
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter
Returns
Overrides
getDefaultInstanceForType()
public Flow getDefaultInstanceForType()
Returns
getDescription()
public String getDescription()
The description of the flow. The maximum length is 500 characters. If
exceeded, the request is rejected.
string description = 3;
Returns
Type |
Description |
String |
The description.
|
getDescriptionBytes()
public ByteString getDescriptionBytes()
The description of the flow. The maximum length is 500 characters. If
exceeded, the request is rejected.
string description = 3;
Returns
Type |
Description |
ByteString |
The bytes for description.
|
getDisplayName()
public String getDisplayName()
Required. The human-readable name of the flow.
string display_name = 2 [(.google.api.field_behavior) = REQUIRED];
Returns
Type |
Description |
String |
The displayName.
|
getDisplayNameBytes()
public ByteString getDisplayNameBytes()
Required. The human-readable name of the flow.
string display_name = 2 [(.google.api.field_behavior) = REQUIRED];
Returns
Type |
Description |
ByteString |
The bytes for displayName.
|
getEventHandlers(int index)
public EventHandler getEventHandlers(int index)
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.
repeated .google.cloud.dialogflow.cx.v3.EventHandler event_handlers = 10;
Parameter
Name |
Description |
index |
int
|
Returns
getEventHandlersCount()
public int getEventHandlersCount()
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.
repeated .google.cloud.dialogflow.cx.v3.EventHandler event_handlers = 10;
Returns
getEventHandlersList()
public List<EventHandler> getEventHandlersList()
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.
repeated .google.cloud.dialogflow.cx.v3.EventHandler event_handlers = 10;
Returns
getEventHandlersOrBuilder(int index)
public EventHandlerOrBuilder getEventHandlersOrBuilder(int index)
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.
repeated .google.cloud.dialogflow.cx.v3.EventHandler event_handlers = 10;
Parameter
Name |
Description |
index |
int
|
Returns
getEventHandlersOrBuilderList()
public List<? extends EventHandlerOrBuilder> getEventHandlersOrBuilderList()
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.
repeated .google.cloud.dialogflow.cx.v3.EventHandler event_handlers = 10;
Returns
Type |
Description |
List<? extends com.google.cloud.dialogflow.cx.v3.EventHandlerOrBuilder> |
|
getName()
The unique identifier of the flow.
Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent
ID>/flows/<Flow ID>
.
string name = 1;
Returns
Type |
Description |
String |
The name.
|
getNameBytes()
public ByteString getNameBytes()
The unique identifier of the flow.
Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent
ID>/flows/<Flow ID>
.
string name = 1;
Returns
getNluSettings()
public NluSettings getNluSettings()
NLU related settings of the flow.
.google.cloud.dialogflow.cx.v3.NluSettings nlu_settings = 11;
Returns
getNluSettingsOrBuilder()
public NluSettingsOrBuilder getNluSettingsOrBuilder()
NLU related settings of the flow.
.google.cloud.dialogflow.cx.v3.NluSettings nlu_settings = 11;
Returns
getParserForType()
public Parser<Flow> getParserForType()
Returns
Overrides
getSerializedSize()
public int getSerializedSize()
Returns
Overrides
getTransitionRouteGroups(int index)
public String getTransitionRouteGroups(int index)
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/<Project ID>/locations/<Location ID>/agents/<Agent
ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>
.
repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
Parameter
Name |
Description |
index |
int
The index of the element to return.
|
Returns
Type |
Description |
String |
The transitionRouteGroups at the given index.
|
getTransitionRouteGroupsBytes(int index)
public ByteString getTransitionRouteGroupsBytes(int index)
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/<Project ID>/locations/<Location ID>/agents/<Agent
ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>
.
repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
Parameter
Name |
Description |
index |
int
The index of the value to return.
|
Returns
Type |
Description |
ByteString |
The bytes of the transitionRouteGroups at the given index.
|
getTransitionRouteGroupsCount()
public int getTransitionRouteGroupsCount()
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/<Project ID>/locations/<Location ID>/agents/<Agent
ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>
.
repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
Returns
Type |
Description |
int |
The count of transitionRouteGroups.
|
getTransitionRouteGroupsList()
public ProtocolStringList getTransitionRouteGroupsList()
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/<Project ID>/locations/<Location ID>/agents/<Agent
ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>
.
repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
Returns
getTransitionRoutes(int index)
public TransitionRoute getTransitionRoutes(int index)
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.
repeated .google.cloud.dialogflow.cx.v3.TransitionRoute transition_routes = 4;
Parameter
Name |
Description |
index |
int
|
Returns
getTransitionRoutesCount()
public int getTransitionRoutesCount()
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.
repeated .google.cloud.dialogflow.cx.v3.TransitionRoute transition_routes = 4;
Returns
getTransitionRoutesList()
public List<TransitionRoute> getTransitionRoutesList()
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.
repeated .google.cloud.dialogflow.cx.v3.TransitionRoute transition_routes = 4;
Returns
getTransitionRoutesOrBuilder(int index)
public TransitionRouteOrBuilder getTransitionRoutesOrBuilder(int index)
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.
repeated .google.cloud.dialogflow.cx.v3.TransitionRoute transition_routes = 4;
Parameter
Name |
Description |
index |
int
|
Returns
getTransitionRoutesOrBuilderList()
public List<? extends TransitionRouteOrBuilder> getTransitionRoutesOrBuilderList()
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.
repeated .google.cloud.dialogflow.cx.v3.TransitionRoute transition_routes = 4;
Returns
Type |
Description |
List<? extends com.google.cloud.dialogflow.cx.v3.TransitionRouteOrBuilder> |
|
getUnknownFields()
public final UnknownFieldSet getUnknownFields()
Returns
Overrides
hasNluSettings()
public boolean hasNluSettings()
NLU related settings of the flow.
.google.cloud.dialogflow.cx.v3.NluSettings nlu_settings = 11;
Returns
Type |
Description |
boolean |
Whether the nluSettings field is set.
|
hashCode()
Returns
Overrides
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Overrides
isInitialized()
public final boolean isInitialized()
Returns
Overrides
newBuilderForType()
public Flow.Builder newBuilderForType()
Returns
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected Flow.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Parameter
Returns
Overrides
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Parameter
Returns
Overrides
toBuilder()
public Flow.Builder toBuilder()
Returns
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Parameter
Overrides
Exceptions