Class: Google::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1Flow

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dialogflow_v3beta1/classes.rb,
lib/google/apis/dialogflow_v3beta1/representations.rb,
lib/google/apis/dialogflow_v3beta1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudDialogflowCxV3beta1Flow

Returns a new instance of GoogleCloudDialogflowCxV3beta1Flow.



8197
8198
8199
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8197

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#advanced_settingsGoogle::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1AdvancedSettings

Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Corresponds to the JSON property advancedSettings



8110
8111
8112
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8110

def advanced_settings
  @advanced_settings
end

#descriptionString

The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected. Corresponds to the JSON property description

Returns:

  • (String)


8116
8117
8118
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8116

def description
  @description
end

#display_nameString

Required. The human-readable name of the flow. Corresponds to the JSON property displayName

Returns:

  • (String)


8121
8122
8123
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8121

def display_name
  @display_name
end

#event_handlersArray<Google::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1EventHandler>

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. Corresponds to the JSON property eventHandlers



8132
8133
8134
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8132

def event_handlers
  @event_handlers
end

#input_parameter_definitionsArray<Google::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1ParameterDefinition>

Optional. Defined structured input parameters for this flow. Corresponds to the JSON property inputParameterDefinitions



8137
8138
8139
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8137

def input_parameter_definitions
  @input_parameter_definitions
end

#knowledge_connector_settingsGoogle::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings

The Knowledge Connector settings for this page or flow. This includes information such as the attached Knowledge Bases, and the way to execute fulfillment. Corresponds to the JSON property knowledgeConnectorSettings



8144
8145
8146
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8144

def knowledge_connector_settings
  @knowledge_connector_settings
end

#lockedBoolean Also known as: locked?

Indicates whether the flow is locked for changes. If the flow is locked, modifications to the flow will be rejected. Corresponds to the JSON property locked

Returns:

  • (Boolean)


8150
8151
8152
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8150

def locked
  @locked
end

#multi_language_settingsGoogle::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1FlowMultiLanguageSettings

Settings for multi-lingual agents. Corresponds to the JSON property multiLanguageSettings



8156
8157
8158
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8156

def multi_language_settings
  @multi_language_settings
end

#nameString

The unique identifier of the flow. Format: projects//locations//agents//flows/ . Corresponds to the JSON property name

Returns:

  • (String)


8162
8163
8164
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8162

def name
  @name
end

#nlu_settingsGoogle::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1NluSettings

Settings related to NLU. Corresponds to the JSON property nluSettings



8167
8168
8169
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8167

def nlu_settings
  @nlu_settings
end

#output_parameter_definitionsArray<Google::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1ParameterDefinition>

Optional. Defined structured output parameters for this flow. Corresponds to the JSON property outputParameterDefinitions



8172
8173
8174
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8172

def output_parameter_definitions
  @output_parameter_definitions
end

#transition_route_groupsArray<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. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects// locations//agents//flows//transitionRouteGroups/ or projects//locations// agents//transitionRouteGroups/ for agent-level groups. Corresponds to the JSON property transitionRouteGroups

Returns:

  • (Array<String>)


8182
8183
8184
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8182

def transition_route_groups
  @transition_route_groups
end

#transition_routesArray<Google::Apis::DialogflowV3beta1::GoogleCloudDialogflowCxV3beta1TransitionRoute>

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 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. Corresponds to the JSON property transitionRoutes



8195
8196
8197
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8195

def transition_routes
  @transition_routes
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
# File 'lib/google/apis/dialogflow_v3beta1/classes.rb', line 8202

def update!(**args)
  @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
  @description = args[:description] if args.key?(:description)
  @display_name = args[:display_name] if args.key?(:display_name)
  @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
  @input_parameter_definitions = args[:input_parameter_definitions] if args.key?(:input_parameter_definitions)
  @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
  @locked = args[:locked] if args.key?(:locked)
  @multi_language_settings = args[:multi_language_settings] if args.key?(:multi_language_settings)
  @name = args[:name] if args.key?(:name)
  @nlu_settings = args[:nlu_settings] if args.key?(:nlu_settings)
  @output_parameter_definitions = args[:output_parameter_definitions] if args.key?(:output_parameter_definitions)
  @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
  @transition_routes = args[:transition_routes] if args.key?(:transition_routes)
end