Class Flow

  • All Implemented Interfaces:
    FlowOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class Flow
    extends com.google.protobuf.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
    See Also:
    Serialized Form
    • Field Detail

      • DISPLAY_NAME_FIELD_NUMBER

        public static final int DISPLAY_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DESCRIPTION_FIELD_NUMBER

        public static final int DESCRIPTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRANSITION_ROUTES_FIELD_NUMBER

        public static final int TRANSITION_ROUTES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • EVENT_HANDLERS_FIELD_NUMBER

        public static final int EVENT_HANDLERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRANSITION_ROUTE_GROUPS_FIELD_NUMBER

        public static final int TRANSITION_ROUTE_GROUPS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • NLU_SETTINGS_FIELD_NUMBER

        public static final int NLU_SETTINGS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • KNOWLEDGE_CONNECTOR_SETTINGS_FIELD_NUMBER

        public static final int KNOWLEDGE_CONNECTOR_SETTINGS_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         The unique identifier of the flow.
         Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
         ID>/flows/<Flow ID>`.
         
        string name = 1;
        Specified by:
        getName in interface FlowOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         The unique identifier of the flow.
         Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
         ID>/flows/<Flow ID>`.
         
        string name = 1;
        Specified by:
        getNameBytes in interface FlowOrBuilder
        Returns:
        The bytes for name.
      • getDisplayName

        public String getDisplayName()
         Required. The human-readable name of the flow.
         
        string display_name = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getDisplayName in interface FlowOrBuilder
        Returns:
        The displayName.
      • getDisplayNameBytes

        public com.google.protobuf.ByteString getDisplayNameBytes()
         Required. The human-readable name of the flow.
         
        string display_name = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getDisplayNameBytes in interface FlowOrBuilder
        Returns:
        The bytes for displayName.
      • getDescription

        public String getDescription()
         The description of the flow. The maximum length is 500 characters. If
         exceeded, the request is rejected.
         
        string description = 3;
        Specified by:
        getDescription in interface FlowOrBuilder
        Returns:
        The description.
      • getDescriptionBytes

        public com.google.protobuf.ByteString getDescriptionBytes()
         The description of the flow. The maximum length is 500 characters. If
         exceeded, the request is rejected.
         
        string description = 3;
        Specified by:
        getDescriptionBytes in interface FlowOrBuilder
        Returns:
        The bytes for description.
      • 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][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 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;
        Specified by:
        getTransitionRoutesList in interface FlowOrBuilder
      • 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][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 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;
        Specified by:
        getTransitionRoutesOrBuilderList in interface FlowOrBuilder
      • 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][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 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;
        Specified by:
        getTransitionRoutesCount in interface FlowOrBuilder
      • getTransitionRoutes

        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][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 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;
        Specified by:
        getTransitionRoutes in interface FlowOrBuilder
      • getTransitionRoutesOrBuilder

        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][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 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;
        Specified by:
        getTransitionRoutesOrBuilder in interface FlowOrBuilder
      • 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][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][google.cloud.dialogflow.cx.v3.Flow.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;
        Specified by:
        getEventHandlersList in interface FlowOrBuilder
      • 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][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][google.cloud.dialogflow.cx.v3.Flow.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;
        Specified by:
        getEventHandlersOrBuilderList in interface FlowOrBuilder
      • 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][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][google.cloud.dialogflow.cx.v3.Flow.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;
        Specified by:
        getEventHandlersCount in interface FlowOrBuilder
      • getEventHandlers

        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][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][google.cloud.dialogflow.cx.v3.Flow.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;
        Specified by:
        getEventHandlers in interface FlowOrBuilder
      • getEventHandlersOrBuilder

        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][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][google.cloud.dialogflow.cx.v3.Flow.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;
        Specified by:
        getEventHandlersOrBuilder in interface FlowOrBuilder
      • getTransitionRouteGroupsList

        public com.google.protobuf.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][Page.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>`
         or `projects/<Project ID>/locations/<Location ID>/agents/<Agent
         ID>/transitionRouteGroups/<TransitionRouteGroup ID>` for agent-level
         groups.
         
        repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
        Specified by:
        getTransitionRouteGroupsList in interface FlowOrBuilder
        Returns:
        A list containing the transitionRouteGroups.
      • 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][Page.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>`
         or `projects/<Project ID>/locations/<Location ID>/agents/<Agent
         ID>/transitionRouteGroups/<TransitionRouteGroup ID>` for agent-level
         groups.
         
        repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
        Specified by:
        getTransitionRouteGroupsCount in interface FlowOrBuilder
        Returns:
        The count of transitionRouteGroups.
      • getTransitionRouteGroups

        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][Page.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>`
         or `projects/<Project ID>/locations/<Location ID>/agents/<Agent
         ID>/transitionRouteGroups/<TransitionRouteGroup ID>` for agent-level
         groups.
         
        repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
        Specified by:
        getTransitionRouteGroups in interface FlowOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The transitionRouteGroups at the given index.
      • getTransitionRouteGroupsBytes

        public com.google.protobuf.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][Page.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>`
         or `projects/<Project ID>/locations/<Location ID>/agents/<Agent
         ID>/transitionRouteGroups/<TransitionRouteGroup ID>` for agent-level
         groups.
         
        repeated string transition_route_groups = 15 [(.google.api.resource_reference) = { ... }
        Specified by:
        getTransitionRouteGroupsBytes in interface FlowOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the transitionRouteGroups at the given index.
      • hasNluSettings

        public boolean hasNluSettings()
         NLU related settings of the flow.
         
        .google.cloud.dialogflow.cx.v3.NluSettings nlu_settings = 11;
        Specified by:
        hasNluSettings in interface FlowOrBuilder
        Returns:
        Whether the nluSettings field is set.
      • getNluSettings

        public NluSettings getNluSettings()
         NLU related settings of the flow.
         
        .google.cloud.dialogflow.cx.v3.NluSettings nlu_settings = 11;
        Specified by:
        getNluSettings in interface FlowOrBuilder
        Returns:
        The nluSettings.
      • hasKnowledgeConnectorSettings

        public boolean hasKnowledgeConnectorSettings()
         Optional. Knowledge connector configuration.
         
        .google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings knowledge_connector_settings = 18 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasKnowledgeConnectorSettings in interface FlowOrBuilder
        Returns:
        Whether the knowledgeConnectorSettings field is set.
      • getKnowledgeConnectorSettings

        public KnowledgeConnectorSettings getKnowledgeConnectorSettings()
         Optional. Knowledge connector configuration.
         
        .google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings knowledge_connector_settings = 18 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getKnowledgeConnectorSettings in interface FlowOrBuilder
        Returns:
        The knowledgeConnectorSettings.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Flow parseFrom​(ByteBuffer data)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Flow parseFrom​(ByteBuffer data,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Flow parseFrom​(com.google.protobuf.ByteString data)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Flow parseFrom​(com.google.protobuf.ByteString data,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Flow parseFrom​(byte[] data)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Flow parseFrom​(byte[] data,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Flow parseFrom​(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws IOException
        Throws:
        IOException
      • newBuilderForType

        public Flow.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Flow.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Flow.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Flow getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Flow> parser()
      • getParserForType

        public com.google.protobuf.Parser<Flow> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Flow getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder