docs: update generated docs (#981)

diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html
index 0214733..bd5eb3d 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.environments.users.sessions.html
@@ -137,17 +137,67 @@
 "-". It's up to the API caller to choose an appropriate `Session ID` and
 `User Id`. They can be a random number or some type of user and session
 identifiers (preferably hashed). The length of the `Session ID` and
-`User ID` must not exceed 36 characters. (required)
+`User ID` must not exceed 36 characters.
+
+For more information, see the [API interactions
+guide](https://cloud.google.com/dialogflow/docs/api-overview). (required)
   body: object, The request body.
     The object takes the form of:
 
 { # The request to detect user's intent.
+    "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. # Instructs the speech synthesizer how to generate the output
+        # audio. If this field is not set and agent-level speech synthesizer is not
+        # configured, no output audio is generated.
+        # If this audio config is supplied in a request, it overrides all existing
+        # text-to-speech settings applied to the agent.
+      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Configuration of how speech should be synthesized.
+        "speakingRate": 3.14, # Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal
+            # native speed supported by the specific voice. 2.0 is twice as fast, and
+            # 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any
+            # other values < 0.25 or > 4.0 will return an error.
+        "pitch": 3.14, # Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
+            # semitones from the original pitch. -20 means decrease 20 semitones from the
+            # original pitch.
+        "volumeGainDb": 3.14, # Optional. Volume gain (in dB) of the normal native volume supported by the
+            # specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
+            # 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
+            # will play at approximately half the amplitude of the normal native signal
+            # amplitude. A value of +6.0 (dB) will play at approximately twice the
+            # amplitude of the normal native signal amplitude. We strongly recommend not
+            # to exceed +10 (dB) as there's usually no effective increase in loudness for
+            # any value greater than that.
+        "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
+          "ssmlGender": "A String", # Optional. The preferred gender of the voice. If not set, the service will
+              # choose a voice based on the other parameters such as language_code and
+              # name. Note that this is only a preference, not requirement. If a
+              # voice of the appropriate gender is not available, the synthesizer should
+              # substitute a voice with a different gender rather than failing the request.
+          "name": "A String", # Optional. The name of the voice. If not set, the service will choose a
+              # voice based on the other parameters such as language_code and
+              # ssml_gender.
+        },
+        "effectsProfileId": [ # Optional. An identifier which selects 'audio effects' profiles that are
+            # applied on (post synthesized) text to speech. Effects are applied on top of
+            # each other in the order they are given.
+          "A String",
+        ],
+      },
+      "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
+      "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not
+          # provided, then the synthesizer will use the default sample rate based on
+          # the audio encoding. If this is different from the voice's natural sample
+          # rate, then the synthesizer will honor this request by converting to the
+          # desired sample rate (which might result in worse audio quality).
+    },
     "outputAudioConfigMask": "A String", # Mask for output_audio_config indicating which settings in this
         # request-level config should override speech synthesizer settings defined at
         # agent-level.
         # 
         # If unspecified or empty, output_audio_config replaces the agent-level
         # config in its entirety.
+    "inputAudio": "A String", # The natural language speech audio to be processed. This field
+        # should be populated iff `query_input` is set to an input audio config.
+        # A single request can contain up to 1 minute of speech audio data.
     "queryInput": { # Represents the query input. It can contain either: # Required. The input specification. It can be set to:
         # 
         # 1.  an audio config
@@ -163,6 +213,90 @@
         # 2.  A conversational query in the form of text.
         #
         # 3.  An event that specifies which intent to trigger.
+      "audioConfig": { # Instructs the speech recognizer on how to process the audio content. # Instructs the speech recognizer how to process the speech audio.
+        "languageCode": "A String", # Required. The language of the supplied audio. Dialogflow does not do
+            # translations. See [Language
+            # Support](https://cloud.google.com/dialogflow/docs/reference/language)
+            # for a list of the currently supported language codes. Note that queries in
+            # the same session do not necessarily need to specify the same language.
+        "phraseHints": [ # A list of strings containing words and phrases that the speech
+            # recognizer should recognize with higher likelihood.
+            #
+            # See [the Cloud Speech
+            # documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
+            # for more details.
+            #
+            # This field is deprecated. Please use [speech_contexts]() instead. If you
+            # specify both [phrase_hints]() and [speech_contexts](), Dialogflow will
+            # treat the [phrase_hints]() as a single additional [SpeechContext]().
+          "A String",
+        ],
+        "enableWordInfo": True or False, # If `true`, Dialogflow returns SpeechWordInfo in
+            # StreamingRecognitionResult with information about the recognized speech
+            # words, e.g. start and end time offsets. If false or unspecified, Speech
+            # doesn't return any word-level information.
+        "model": "A String", # Which Speech model to select for the given request. Select the
+            # model best suited to your domain to get best results. If a model is not
+            # explicitly specified, then we auto-select a model based on the parameters
+            # in the InputAudioConfig.
+            # If enhanced speech model is enabled for the agent and an enhanced
+            # version of the specified model for the language does not exist, then the
+            # speech is recognized using the standard version of the specified model.
+            # Refer to
+            # [Cloud Speech API
+            # documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model)
+            # for more details.
+        "audioEncoding": "A String", # Required. Audio encoding of the audio content to process.
+        "modelVariant": "A String", # Which variant of the Speech model to use.
+        "speechContexts": [ # Context information to assist speech recognition.
+            #
+            # See [the Cloud Speech
+            # documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
+            # for more details.
+          { # Hints for the speech recognizer to help with recognition in a specific
+              # conversation state.
+            "boost": 3.14, # Optional. Boost for this context compared to other contexts:
+                #
+                # * If the boost is positive, Dialogflow will increase the probability that
+                #   the phrases in this context are recognized over similar sounding phrases.
+                # * If the boost is unspecified or non-positive, Dialogflow will not apply
+                #   any boost.
+                #
+                # Dialogflow recommends that you use boosts in the range (0, 20] and that you
+                # find a value that fits your use case with binary search.
+            "phrases": [ # Optional. A list of strings containing words and phrases that the speech
+                # recognizer should recognize with higher likelihood.
+                #
+                # This list can be used to:
+                #
+                # * improve accuracy for words and phrases you expect the user to say,
+                #   e.g. typical commands for your Dialogflow agent
+                # * add additional words to the speech recognizer vocabulary
+                # * ...
+                #
+                # See the [Cloud Speech
+                # documentation](https://cloud.google.com/speech-to-text/quotas) for usage
+                # limits.
+              "A String",
+            ],
+          },
+        ],
+        "singleUtterance": True or False, # If `false` (default), recognition does not cease until the
+            # client closes the stream.
+            # If `true`, the recognizer will detect a single spoken utterance in input
+            # audio. Recognition ceases when it detects the audio's voice has
+            # stopped or paused. In this case, once a detected intent is received, the
+            # client should close the stream and start a new request with a new stream as
+            # needed.
+            # Note: This setting is relevant only for streaming methods.
+            # Note: When specified, InputAudioConfig.single_utterance takes precedence
+            # over StreamingDetectIntentRequest.single_utterance.
+        "sampleRateHertz": 42, # Required. Sample rate (in Hertz) of the audio content sent in the query.
+            # Refer to
+            # [Cloud Speech API
+            # documentation](https://cloud.google.com/speech-to-text/docs/basics) for
+            # more details.
+      },
       "event": { # Events allow for matching intents by event name instead of the natural # The event to be processed.
           # language input. For instance, input `<event: { name: "welcome_event",
           # parameters: { name: "Sam" } }>` can trigger a personalized welcome response.
@@ -172,7 +306,6 @@
             # Support](https://cloud.google.com/dialogflow/docs/reference/language)
             # for a list of the currently supported language codes. Note that queries in
             # the same session do not necessarily need to specify the same language.
-        "name": "A String", # Required. The unique identifier of the event.
         "parameters": { # The collection of parameters associated with the event.
             #
             # Depending on your protocol or client library language, this is a
@@ -190,6 +323,7 @@
             #     -   Else: parameter value
           "a_key": "", # Properties of the object.
         },
+        "name": "A String", # Required. The unique identifier of the event.
       },
       "text": { # Represents the natural language text to be processed. # The natural language text to be processed.
         "text": "A String", # Required. The UTF-8 encoded natural language text to be processed.
@@ -199,116 +333,101 @@
             # for a list of the currently supported language codes. Note that queries in
             # the same session do not necessarily need to specify the same language.
       },
-      "audioConfig": { # Instructs the speech recognizer on how to process the audio content. # Instructs the speech recognizer how to process the speech audio.
-        "audioEncoding": "A String", # Required. Audio encoding of the audio content to process.
-        "singleUtterance": True or False, # If `false` (default), recognition does not cease until the
-            # client closes the stream.
-            # If `true`, the recognizer will detect a single spoken utterance in input
-            # audio. Recognition ceases when it detects the audio's voice has
-            # stopped or paused. In this case, once a detected intent is received, the
-            # client should close the stream and start a new request with a new stream as
-            # needed.
-            # Note: This setting is relevant only for streaming methods.
-            # Note: When specified, InputAudioConfig.single_utterance takes precedence
-            # over StreamingDetectIntentRequest.single_utterance.
-        "languageCode": "A String", # Required. The language of the supplied audio. Dialogflow does not do
-            # translations. See [Language
-            # Support](https://cloud.google.com/dialogflow/docs/reference/language)
-            # for a list of the currently supported language codes. Note that queries in
-            # the same session do not necessarily need to specify the same language.
-        "speechContexts": [ # Context information to assist speech recognition.
-            #
-            # See [the Cloud Speech
-            # documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
-            # for more details.
-          { # Hints for the speech recognizer to help with recognition in a specific
-              # conversation state.
-            "phrases": [ # Optional. A list of strings containing words and phrases that the speech
-                # recognizer should recognize with higher likelihood.
-                #
-                # This list can be used to:
-                # * improve accuracy for words and phrases you expect the user to say,
-                #   e.g. typical commands for your Dialogflow agent
-                # * add additional words to the speech recognizer vocabulary
-                # * ...
-                #
-                # See the [Cloud Speech
-                # documentation](https://cloud.google.com/speech-to-text/quotas) for usage
-                # limits.
-              "A String",
-            ],
-            "boost": 3.14, # Optional. Boost for this context compared to other contexts:
-                #
-                # * If the boost is positive, Dialogflow will increase the probability that
-                #   the phrases in this context are recognized over similar sounding phrases.
-                # * If the boost is unspecified or non-positive, Dialogflow will not apply
-                #   any boost.
-                #
-                # Dialogflow recommends that you use boosts in the range (0, 20] and that you
-                # find a value that fits your use case with binary search.
-          },
-        ],
-        "phraseHints": [ # A list of strings containing words and phrases that the speech
-            # recognizer should recognize with higher likelihood.
-            #
-            # See [the Cloud Speech
-            # documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
-            # for more details.
-            #
-            # This field is deprecated. Please use [speech_contexts]() instead. If you
-            # specify both [phrase_hints]() and [speech_contexts](), Dialogflow will
-            # treat the [phrase_hints]() as a single additional [SpeechContext]().
-          "A String",
-        ],
-        "enableWordInfo": True or False, # If `true`, Dialogflow returns SpeechWordInfo in
-            # StreamingRecognitionResult with information about the recognized speech
-            # words, e.g. start and end time offsets. If false or unspecified, Speech
-            # doesn't return any word-level information.
-        "sampleRateHertz": 42, # Required. Sample rate (in Hertz) of the audio content sent in the query.
-            # Refer to
-            # [Cloud Speech API
-            # documentation](https://cloud.google.com/speech-to-text/docs/basics) for
-            # more details.
-        "model": "A String", # Which Speech model to select for the given request. Select the
-            # model best suited to your domain to get best results. If a model is not
-            # explicitly specified, then we auto-select a model based on the parameters
-            # in the InputAudioConfig.
-            # If enhanced speech model is enabled for the agent and an enhanced
-            # version of the specified model for the language does not exist, then the
-            # speech is recognized using the standard version of the specified model.
-            # Refer to
-            # [Cloud Speech API
-            # documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model)
-            # for more details.
-        "modelVariant": "A String", # Which variant of the Speech model to use.
-      },
     },
     "queryParams": { # Represents the parameters of the conversational query. # The parameters of this query.
-      "payload": { # This field can be used to pass custom data to your webhook.
-          # Arbitrary JSON objects are supported.
-          # If supplied, the value is used to populate the
-          # `WebhookRequest.original_detect_intent_request.payload`
-          # field sent to your webhook.
-        "a_key": "", # Properties of the object.
-      },
-      "geoLocation": { # An object representing a latitude/longitude pair. This is expressed as a pair # The geo location of this conversational query.
-          # of doubles representing degrees latitude and degrees longitude. Unless
-          # specified otherwise, this must conform to the
-          # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-          # standard</a>. Values must be within normalized ranges.
-        "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-        "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-      },
-      "resetContexts": True or False, # Specifies whether to delete all contexts in the current session
-          # before the new ones are activated.
-      "knowledgeBaseNames": [ # KnowledgeBases to get alternative results from. If not set, the
-          # KnowledgeBases enabled in the agent (through UI) will be used.
-          # Format:  `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
-        "A String",
+      "sessionEntityTypes": [ # Additional session entity types to replace or extend developer
+          # entity types with. The entity synonyms apply to all languages and persist
+          # for the session of this query.
+        { # A session represents a conversation between a Dialogflow agent and an
+            # end-user. You can create special entities, called session entities, during a
+            # session. Session entities can extend or replace custom entity types and only
+            # exist during the session that they were created for. All session data,
+            # including session entities, is stored by Dialogflow for 20 minutes.
+            #
+            # For more information, see the [session entity
+            # guide](https://cloud.google.com/dialogflow/docs/entities-session).
+          "name": "A String", # Required. The unique identifier of this session entity type. Format:
+              # `projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
+              # Display Name>`, or
+              # `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
+              # ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>`.
+              # If `Environment ID` is not specified, we assume default 'draft'
+              # environment. If `User ID` is not specified, we assume default '-' user.
+              #
+              # `<Entity Type Display Name>` must be the display name of an existing entity
+              # type in the same agent that will be overridden or supplemented.
+          "entityOverrideMode": "A String", # Required. Indicates whether the additional data should override or
+              # supplement the custom entity type definition.
+          "entities": [ # Required. The collection of entities associated with this session entity
+              # type.
+            { # An **entity entry** for an associated entity type.
+              "synonyms": [ # Required. A collection of value synonyms. For example, if the entity type
+                  # is *vegetable*, and `value` is *scallions*, a synonym could be *green
+                  # onions*.
+                  #
+                  # For `KIND_LIST` entity types:
+                  #
+                  # *   This collection must contain exactly one synonym equal to `value`.
+                "A String",
+              ],
+              "value": "A String", # Required. The primary value associated with this entity entry.
+                  # For example, if the entity type is *vegetable*, the value could be
+                  # *scallions*.
+                  #
+                  # For `KIND_MAP` entity types:
+                  #
+                  # *   A reference value to be used in place of synonyms.
+                  #
+                  # For `KIND_LIST` entity types:
+                  #
+                  # *   A string that can contain references to other entity types (with or
+                  #     without aliases).
+            },
+          ],
+        },
       ],
+      "sentimentAnalysisRequestConfig": { # Configures the types of sentiment analysis to perform. # Configures the type of sentiment analysis to perform. If not
+          # provided, sentiment analysis is not performed.
+          # Note: Sentiment Analysis is only currently available for Enterprise Edition
+          # agents.
+        "analyzeQueryTextSentiment": True or False, # Instructs the service to perform sentiment analysis on
+            # `query_text`. If not provided, sentiment analysis is not performed on
+            # `query_text`.
+      },
       "contexts": [ # The collection of contexts to be activated before this query is
           # executed.
-        { # Represents a context.
+        { # Dialogflow contexts are similar to natural language context. If a person says
+            # to you "they are orange", you need context in order to understand what "they"
+            # is referring to. Similarly, for Dialogflow to handle an end-user expression
+            # like that, it needs to be provided with context in order to correctly match
+            # an intent.
+            #
+            # Using contexts, you can control the flow of a conversation. You can configure
+            # contexts for an intent by setting input and output contexts, which are
+            # identified by string names. When an intent is matched, any configured output
+            # contexts for that intent become active. While any contexts are active,
+            # Dialogflow is more likely to match intents that are configured with input
+            # contexts that correspond to the currently active contexts.
+            #
+            # For more information about context, see the
+            # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+          "parameters": { # Optional. The collection of parameters associated with this context.
+              #
+              # Depending on your protocol or client library language, this is a
+              # map, associative array, symbol table, dictionary, or JSON object
+              # composed of a collection of (MapKey, MapValue) pairs:
+              #
+              # -   MapKey type: string
+              # -   MapKey value: parameter name
+              # -   MapValue type:
+              #     -   If parameter's entity type is a composite entity: map
+              #     -   Else: string or number, depending on parameter value type
+              # -   MapValue value:
+              #     -   If parameter's entity type is a composite entity:
+              #         map from composite entity property names to property values
+              #     -   Else: parameter value
+            "a_key": "", # Properties of the object.
+          },
           "lifespanCount": 42, # Optional. The number of conversational query requests after which the
               # context expires. The default is `0`. If set to `0`, the context expires
               # immediately. Contexts expire automatically after 20 minutes if there
@@ -330,97 +449,21 @@
               # * `__system_counters__`
               # * `*_id_dialog_context`
               # * `*_dialog_params_size`
-          "parameters": { # Optional. The collection of parameters associated with this context.
-              #
-              # Depending on your protocol or client library language, this is a
-              # map, associative array, symbol table, dictionary, or JSON object
-              # composed of a collection of (MapKey, MapValue) pairs:
-              #
-              # -   MapKey type: string
-              # -   MapKey value: parameter name
-              # -   MapValue type:
-              #     -   If parameter's entity type is a composite entity: map
-              #     -   Else: string or number, depending on parameter value type
-              # -   MapValue value:
-              #     -   If parameter's entity type is a composite entity:
-              #         map from composite entity property names to property values
-              #     -   Else: parameter value
-            "a_key": "", # Properties of the object.
-          },
         },
       ],
-      "sentimentAnalysisRequestConfig": { # Configures the types of sentiment analysis to perform. # Configures the type of sentiment analysis to perform. If not
-          # provided, sentiment analysis is not performed.
-          # Note: Sentiment Analysis is only currently available for Enterprise Edition
-          # agents.
-        "analyzeQueryTextSentiment": True or False, # Instructs the service to perform sentiment analysis on
-            # `query_text`. If not provided, sentiment analysis is not performed on
-            # `query_text`.
+      "geoLocation": { # An object representing a latitude/longitude pair. This is expressed as a pair # The geo location of this conversational query.
+          # of doubles representing degrees latitude and degrees longitude. Unless
+          # specified otherwise, this must conform to the
+          # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+          # standard</a>. Values must be within normalized ranges.
+        "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       },
-      "timeZone": "A String", # The time zone of this conversational query from the
-          # [time zone database](https://www.iana.org/time-zones), e.g.,
-          # America/New_York, Europe/Paris. If not provided, the time zone specified in
-          # agent settings is used.
-      "sessionEntityTypes": [ # Additional session entity types to replace or extend developer
-          # entity types with. The entity synonyms apply to all languages and persist
-          # for the session of this query.
-        { # Represents a session entity type.
-            #
-            # Extends or replaces a custom entity type at the user session level (we
-            # refer to the entity types defined at the agent level as "custom entity
-            # types").
-            #
-            # Note: session entity types apply to all queries, regardless of the language.
-          "name": "A String", # Required. The unique identifier of this session entity type. Format:
-              # `projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
-              # Display Name>`, or
-              # `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
-              # ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>`.
-              # If `Environment ID` is not specified, we assume default 'draft'
-              # environment. If `User ID` is not specified, we assume default '-' user.
-              #
-              # `<Entity Type Display Name>` must be the display name of an existing entity
-              # type in the same agent that will be overridden or supplemented.
-          "entityOverrideMode": "A String", # Required. Indicates whether the additional data should override or
-              # supplement the custom entity type definition.
-          "entities": [ # Required. The collection of entities associated with this session entity
-              # type.
-            { # An **entity entry** for an associated entity type.
-              "value": "A String", # Required. The primary value associated with this entity entry.
-                  # For example, if the entity type is *vegetable*, the value could be
-                  # *scallions*.
-                  #
-                  # For `KIND_MAP` entity types:
-                  #
-                  # *   A reference value to be used in place of synonyms.
-                  #
-                  # For `KIND_LIST` entity types:
-                  #
-                  # *   A string that can contain references to other entity types (with or
-                  #     without aliases).
-              "synonyms": [ # Required. A collection of value synonyms. For example, if the entity type
-                  # is *vegetable*, and `value` is *scallions*, a synonym could be *green
-                  # onions*.
-                  #
-                  # For `KIND_LIST` entity types:
-                  #
-                  # *   This collection must contain exactly one synonym equal to `value`.
-                "A String",
-              ],
-            },
-          ],
-        },
+      "knowledgeBaseNames": [ # KnowledgeBases to get alternative results from. If not set, the
+          # KnowledgeBases enabled in the agent (through UI) will be used.
+          # Format:  `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+        "A String",
       ],
-      "webhookHeaders": { # This field can be used to pass HTTP headers for a webhook
-          # call. These headers will be sent to webhook alone with the headers that
-          # have been configured through Dialogflow web console. The headers defined
-          # within this field will overwrite the headers configured through Dialogflow
-          # console if there is a conflict. Header names are case-insensitive.
-          # Google's specified headers are not allowed. Including: "Host",
-          # "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding",
-          # "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc.
-        "a_key": "A String",
-      },
       "subAgents": [ # For mega agent query, directly specify which sub agents to query.
           # If any specified sub agent is not linked to the mega agent, an error will
           # be returned. If empty, Dialogflow will decide which sub agents to query.
@@ -433,54 +476,30 @@
               # Format: `projects/<Project ID>`.
         },
       ],
-    },
-    "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. # Instructs the speech synthesizer how to generate the output
-        # audio. If this field is not set and agent-level speech synthesizer is not
-        # configured, no output audio is generated.
-        # If this audio config is supplied in a request, it overrides all existing
-        # text-to-speech settings applied to the agent.
-      "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
-      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Configuration of how speech should be synthesized.
-        "volumeGainDb": 3.14, # Optional. Volume gain (in dB) of the normal native volume supported by the
-            # specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
-            # 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
-            # will play at approximately half the amplitude of the normal native signal
-            # amplitude. A value of +6.0 (dB) will play at approximately twice the
-            # amplitude of the normal native signal amplitude. We strongly recommend not
-            # to exceed +10 (dB) as there's usually no effective increase in loudness for
-            # any value greater than that.
-        "pitch": 3.14, # Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
-            # semitones from the original pitch. -20 means decrease 20 semitones from the
-            # original pitch.
-        "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
-          "name": "A String", # Optional. The name of the voice. If not set, the service will choose a
-              # voice based on the other parameters such as language_code and
-              # ssml_gender.
-          "ssmlGender": "A String", # Optional. The preferred gender of the voice. If not set, the service will
-              # choose a voice based on the other parameters such as language_code and
-              # name. Note that this is only a preference, not requirement. If a
-              # voice of the appropriate gender is not available, the synthesizer should
-              # substitute a voice with a different gender rather than failing the request.
-        },
-        "speakingRate": 3.14, # Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal
-            # native speed supported by the specific voice. 2.0 is twice as fast, and
-            # 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any
-            # other values < 0.25 or > 4.0 will return an error.
-        "effectsProfileId": [ # Optional. An identifier which selects 'audio effects' profiles that are
-            # applied on (post synthesized) text to speech. Effects are applied on top of
-            # each other in the order they are given.
-          "A String",
-        ],
+      "resetContexts": True or False, # Specifies whether to delete all contexts in the current session
+          # before the new ones are activated.
+      "payload": { # This field can be used to pass custom data to your webhook.
+          # Arbitrary JSON objects are supported.
+          # If supplied, the value is used to populate the
+          # `WebhookRequest.original_detect_intent_request.payload`
+          # field sent to your webhook.
+        "a_key": "", # Properties of the object.
       },
-      "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not
-          # provided, then the synthesizer will use the default sample rate based on
-          # the audio encoding. If this is different from the voice's natural sample
-          # rate, then the synthesizer will honor this request by converting to the
-          # desired sample rate (which might result in worse audio quality).
+      "timeZone": "A String", # The time zone of this conversational query from the
+          # [time zone database](https://www.iana.org/time-zones), e.g.,
+          # America/New_York, Europe/Paris. If not provided, the time zone specified in
+          # agent settings is used.
+      "webhookHeaders": { # This field can be used to pass HTTP headers for a webhook
+          # call. These headers will be sent to webhook alone with the headers that
+          # have been configured through Dialogflow web console. The headers defined
+          # within this field will overwrite the headers configured through Dialogflow
+          # console if there is a conflict. Header names are case-insensitive.
+          # Google's specified headers are not allowed. Including: "Host",
+          # "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding",
+          # "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc.
+        "a_key": "A String",
+      },
     },
-    "inputAudio": "A String", # The natural language speech audio to be processed. This field
-        # should be populated iff `query_input` is set to an input audio config.
-        # A single request can contain up to 1 minute of speech audio data.
   }
 
   x__xgafv: string, V1 error format.
@@ -492,228 +511,83 @@
   An object of the form:
 
     { # The message returned from the DetectIntent method.
-    "outputAudio": "A String", # The audio data bytes encoded as specified in the request.
-        # Note: The output audio is generated based on the values of default platform
-        # text responses found in the `query_result.fulfillment_messages` field. If
-        # multiple default text responses exist, they will be concatenated when
-        # generating audio. If no default platform text responses exist, the
-        # generated audio content will be empty.
-        #
-        # In some scenarios, multiple output audio fields may be present in the
-        # response structure. In these cases, only the top-most-level audio output
-        # has content.
-    "queryResult": { # Represents the result of conversational query or event processing. # The selected results of the conversational query or event processing.
-        # See `alternative_query_results` for additional potential results.
-      "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing
-          # `KnowledgeAnswers.match_confidence`.
-        "answers": [ # A list of answers from Knowledge Connector.
-          { # An answer from Knowledge Connector.
-            "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
-                # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
-                # ID>/documents/<Document ID>`.
-            "answer": "A String", # The piece of text from the `source` knowledge base document that answers
-                # this conversational query.
-            "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ
-                # Document, empty otherwise.
-            "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match
-                # for this conversational query.
-                # NOTE: The confidence level for a given `<query, answer>` pair may change
-                # without notice, as it depends on models that are constantly being
-                # improved. However, it will change less frequently than the confidence
-                # score below, and should be preferred for referencing the quality of an
-                # answer.
-            "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match
-                # for this conversational query.
-                # The range is from 0.0 (completely uncertain) to 1.0 (completely certain).
-                # Note: The confidence score is likely to vary somewhat (possibly even for
-                # identical requests), as the underlying model is under constant
-                # improvement. It may be deprecated in the future. We recommend using
-                # `match_confidence_level` which should be generally more stable.
-          },
-        ],
-      },
-      "sentimentAnalysisResult": { # The result of sentiment analysis as configured by # The sentiment analysis result, which depends on the
-          # `sentiment_analysis_request_config` specified in the request.
-          # `sentiment_analysis_request_config`.
-        "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit # The sentiment analysis result for `query_text`.
-            # of analysis, such as the query text.
-          "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
-              # sentiment).
-          "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute
-              # magnitude of sentiment, regardless of score (positive or negative).
+    "alternativeQueryResults": [ # If Knowledge Connectors are enabled, there could be more than one result
+        # returned for a given query or event, and this field will contain all
+        # results except for the top one, which is captured in query_result. The
+        # alternative results are ordered by decreasing
+        # `QueryResult.intent_detection_confidence`. If Knowledge Connectors are
+        # disabled, this field will be empty until multiple responses for regular
+        # intents are supported, at which point those additional results will be
+        # surfaced here.
+      { # Represents the result of conversational query or event processing.
+        "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen.
+            # Note: This is a legacy field, `fulfillment_messages` should be preferred.
+        "parameters": { # The collection of extracted parameters.
+            #
+            # Depending on your protocol or client library language, this is a
+            # map, associative array, symbol table, dictionary, or JSON object
+            # composed of a collection of (MapKey, MapValue) pairs:
+            #
+            # -   MapKey type: string
+            # -   MapKey value: parameter name
+            # -   MapValue type:
+            #     -   If parameter's entity type is a composite entity: map
+            #     -   Else: string or number, depending on parameter value type
+            # -   MapValue value:
+            #     -   If parameter's entity type is a composite entity:
+            #         map from composite entity property names to property values
+            #     -   Else: parameter value
+          "a_key": "", # Properties of the object.
         },
-      },
-      "intentDetectionConfidence": 3.14, # The intent detection confidence. Values range from 0.0
-          # (completely uncertain) to 1.0 (completely certain).
-          # This value is for informational purpose only and is only used to
-          # help match the best intent within the classification threshold.
-          # This value may change for the same end-user expression at any time due to a
-          # model retraining or change in implementation.
-          # If there are `multiple knowledge_answers` messages, this value is set to
-          # the greatest `knowledgeAnswers.match_confidence` value in the list.
-      "allRequiredParamsPresent": True or False, # This field is set to:
-          #
-          # - `false` if the matched intent has required parameters and not all of
-          #    the required parameter values have been collected.
-          # - `true` if all required parameter values have been collected, or if the
-          #    matched intent doesn't contain any required parameters.
-      "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number
-          # indicates an estimated greater likelihood that the recognized words are
-          # correct. The default of 0.0 is a sentinel value indicating that confidence
-          # was not set.
-          #
-          # This field is not guaranteed to be accurate or set. In particular this
-          # field isn't set for StreamingDetectIntent since the streaming endpoint has
-          # separate confidence estimates per portion of the audio in
-          # StreamingRecognitionResult.
-      "queryText": "A String", # The original conversational query text:
-          #
-          # - If natural language text was provided as input, `query_text` contains
-          #   a copy of the input.
-          # - If natural language speech audio was provided as input, `query_text`
-          #   contains the speech recognition result. If speech recognizer produced
-          #   multiple alternatives, a particular one is picked.
-          # - If automatic spell correction is enabled, `query_text` will contain the
-          #   corrected user input.
-      "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request.
-          # The fields of this data can change without notice, so you should not write
-          # code that depends on its structure.
-          # The data may contain:
-          #
-          # - webhook call latency
-          # - webhook errors
-        "a_key": "", # Properties of the object.
-      },
-      "intent": { # Represents an intent. # The intent that matched the conversational query. Some, not
-          # all fields are filled in this message, including but not limited to:
-          # `name`, `display_name`, `end_interaction` and `is_fallback`.
-          # Intents convert a number of user expressions or patterns into an action. An
-          # action is an extraction of a user command or sentence semantics.
-        "displayName": "A String", # Required. The name of this intent.
-        "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of
-            # followup intents. It identifies the correct followup intents chain for
-            # this intent.
+        "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request.
+            # The fields of this data can change without notice, so you should not write
+            # code that depends on its structure.
+            # The data may contain:
             #
-            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-        "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent.
-            # Note: If `ml_disabled` setting is set to true, then this intent is not
-            # taken into account during inference in `ML ONLY` match mode. Also,
-            # auto-markup in the UI is turned off.
-        "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
-        "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
-            # Note: If `ml_enabled` setting is set to false, then this intent is not
-            # taken into account during inference in `ML ONLY` match mode. Also,
-            # auto-markup in the UI is turned off.
-            # DEPRECATED! Please use `ml_disabled` field instead.
-            # NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false,
-            # then the default value is determined as follows:
-            # - Before April 15th, 2018 the default is:
-            #   ml_enabled = false / ml_disabled = true.
-            # - After April 15th, 2018 the default is:
-            #   ml_enabled = true / ml_disabled = false.
-        "trainingPhrases": [ # Optional. The collection of examples that the agent is
-            # trained on.
-          { # Represents an example that the agent is trained on.
-            "parts": [ # Required. The ordered list of training phrase parts.
-                # The parts are concatenated in order to form the training phrase.
+            # - webhook call latency
+            # - webhook errors
+          "a_key": "", # Properties of the object.
+        },
+        "languageCode": "A String", # The language that was triggered during intent detection.
+            # See [Language
+            # Support](https://cloud.google.com/dialogflow/docs/reference/language)
+            # for a list of the currently supported language codes.
+        "outputContexts": [ # The collection of output contexts. If applicable,
+            # `output_contexts.parameters` contains entries with name
+            # `<parameter name>.original` containing the original parameter values
+            # before the query.
+          { # Dialogflow contexts are similar to natural language context. If a person says
+              # to you "they are orange", you need context in order to understand what "they"
+              # is referring to. Similarly, for Dialogflow to handle an end-user expression
+              # like that, it needs to be provided with context in order to correctly match
+              # an intent.
+              #
+              # Using contexts, you can control the flow of a conversation. You can configure
+              # contexts for an intent by setting input and output contexts, which are
+              # identified by string names. When an intent is matched, any configured output
+              # contexts for that intent become active. While any contexts are active,
+              # Dialogflow is more likely to match intents that are configured with input
+              # contexts that correspond to the currently active contexts.
+              #
+              # For more information about context, see the
+              # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+            "parameters": { # Optional. The collection of parameters associated with this context.
                 #
-                # Note: The API does not automatically annotate training phrases like the
-                # Dialogflow Console does.
+                # Depending on your protocol or client library language, this is a
+                # map, associative array, symbol table, dictionary, or JSON object
+                # composed of a collection of (MapKey, MapValue) pairs:
                 #
-                # Note: Do not forget to include whitespace at part boundaries,
-                # so the training phrase is well formatted when the parts are concatenated.
-                #
-                # If the training phrase does not need to be annotated with parameters,
-                # you just need a single part with only the Part.text field set.
-                #
-                # If you want to annotate the training phrase, you must create multiple
-                # parts, where the fields of each part are populated in one of two ways:
-                #
-                # -   `Part.text` is set to a part of the phrase that has no parameters.
-                # -   `Part.text` is set to a part of the phrase that you want to annotate,
-                #     and the `entity_type`, `alias`, and `user_defined` fields are all
-                #     set.
-              { # Represents a part of a training phrase.
-                "alias": "A String", # Optional. The parameter name for the value extracted from the
-                    # annotated part of the example.
-                    # This field is required for annotated parts of the training phrase.
-                "userDefined": True or False, # Optional. Indicates whether the text was manually annotated.
-                    # This field is set to true when the Dialogflow Console is used to
-                    # manually annotate the part. When creating an annotated part with the
-                    # API, you must set this to true.
-                "text": "A String", # Required. The text for this part.
-                "entityType": "A String", # Optional. The entity type name prefixed with `@`.
-                    # This field is required for annotated parts of the training phrase.
-              },
-            ],
-            "name": "A String", # Output only. The unique identifier of this training phrase.
-            "timesAddedCount": 42, # Optional. Indicates how many times this example was added to
-                # the intent. Each time a developer adds an existing sample by editing an
-                # intent or training, this counter is increased.
-            "type": "A String", # Required. The type of the training phrase.
-          },
-        ],
-        "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
-            # session when this intent is matched.
-        "parameters": [ # Optional. The collection of parameters associated with the intent.
-          { # Represents intent parameters.
-            "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that
-                # describes values of the parameter. If the parameter is
-                # required, this must be provided.
-            "prompts": [ # Optional. The collection of prompts that the agent can present to the
-                # user in order to collect a value for the parameter.
-              "A String",
-            ],
-            "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
-                # whether the intent cannot be completed without collecting the parameter
-                # value.
-            "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty
-                # result.
-                # Default values can be extracted from contexts by using the following
-                # syntax: `#context_name.parameter_name`.
-            "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
-            "name": "A String", # The unique identifier of this parameter.
-            "value": "A String", # Optional. The definition of the parameter value. It can be:
-                #
-                # - a constant string,
-                # - a parameter value defined as `$parameter_name`,
-                # - an original parameter value defined as `$parameter_name.original`,
-                # - a parameter value from some context defined as
-                #   `#context_name.parameter_name`.
-            "displayName": "A String", # Required. The name of the parameter.
-          },
-        ],
-        "events": [ # Optional. The collection of event names that trigger the intent.
-            # If the collection of input contexts is not empty, all of the contexts must
-            # be present in the active user session for an event to trigger this intent.
-            # Event names are limited to 150 characters.
-          "A String",
-        ],
-        "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the
-            # chain of followup intents. You can set this field when creating an intent,
-            # for example with CreateIntent or
-            # BatchUpdateIntents, in order to make this
-            # intent a followup intent.
-            #
-            # It identifies the parent followup intent.
-            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-        "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher
-            # priorities.
-            #
-            # - If the supplied value is unspecified or 0, the service
-            #   translates the value to 500,000, which corresponds to the
-            #   `Normal` priority in the console.
-            # - If the supplied value is negative, the intent is ignored
-            #   in runtime detect intent requests.
-        "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations
-            # (e.g., Actions on Google or Dialogflow phone gateway) use this information
-            # to close interaction with an end user. Default is false.
-        "outputContexts": [ # Optional. The collection of contexts that are activated when the intent
-            # is matched. Context messages in this collection should not set the
-            # parameters field. Setting the `lifespan_count` to 0 will reset the context
-            # when the intent is matched.
-            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
-          { # Represents a context.
+                # -   MapKey type: string
+                # -   MapKey value: parameter name
+                # -   MapValue type:
+                #     -   If parameter's entity type is a composite entity: map
+                #     -   Else: string or number, depending on parameter value type
+                # -   MapValue value:
+                #     -   If parameter's entity type is a composite entity:
+                #         map from composite entity property names to property values
+                #     -   Else: parameter value
+              "a_key": "", # Properties of the object.
+            },
             "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                 # context expires. The default is `0`. If set to `0`, the context expires
                 # immediately. Contexts expire automatically after 20 minutes if there
@@ -735,46 +609,190 @@
                 # * `__system_counters__`
                 # * `*_id_dialog_context`
                 # * `*_dialog_params_size`
-            "parameters": { # Optional. The collection of parameters associated with this context.
-                #
-                # Depending on your protocol or client library language, this is a
-                # map, associative array, symbol table, dictionary, or JSON object
-                # composed of a collection of (MapKey, MapValue) pairs:
-                #
-                # -   MapKey type: string
-                # -   MapKey value: parameter name
-                # -   MapValue type:
-                #     -   If parameter's entity type is a composite entity: map
-                #     -   Else: string or number, depending on parameter value type
-                # -   MapValue value:
-                #     -   If parameter's entity type is a composite entity:
-                #         map from composite entity property names to property values
-                #     -   Else: parameter value
-              "a_key": "", # Properties of the object.
-            },
           },
         ],
-        "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be
-            # copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
-          "A String",
-        ],
-        "messages": [ # Optional. The collection of rich messages corresponding to the
-            # `Response` field in the Dialogflow console.
+        "queryText": "A String", # The original conversational query text:
+            #
+            # - If natural language text was provided as input, `query_text` contains
+            #   a copy of the input.
+            # - If natural language speech audio was provided as input, `query_text`
+            #   contains the speech recognition result. If speech recognizer produced
+            #   multiple alternatives, a particular one is picked.
+            # - If automatic spell correction is enabled, `query_text` will contain the
+            #   corrected user input.
+        "intentDetectionConfidence": 3.14, # The intent detection confidence. Values range from 0.0
+            # (completely uncertain) to 1.0 (completely certain).
+            # This value is for informational purpose only and is only used to
+            # help match the best intent within the classification threshold.
+            # This value may change for the same end-user expression at any time due to a
+            # model retraining or change in implementation.
+            # If there are `multiple knowledge_answers` messages, this value is set to
+            # the greatest `knowledgeAnswers.match_confidence` value in the list.
+        "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the
+            # value of the `payload` field returned in the webhook response.
+          "a_key": "", # Properties of the object.
+        },
+        "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number
+            # indicates an estimated greater likelihood that the recognized words are
+            # correct. The default of 0.0 is a sentinel value indicating that confidence
+            # was not set.
+            #
+            # This field is not guaranteed to be accurate or set. In particular this
+            # field isn't set for StreamingDetectIntent since the streaming endpoint has
+            # separate confidence estimates per portion of the audio in
+            # StreamingRecognitionResult.
+        "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input # The sentiment analysis result, which depends on the
+            # `sentiment_analysis_request_config` specified in the request.
+            # and identifies the prevailing subjective opinion, especially to determine a
+            # user's attitude as positive, negative, or neutral.
+            # For Participants.AnalyzeContent, it needs to be configured in
+            # DetectIntentRequest.query_params. For
+            # Participants.StreamingAnalyzeContent, it needs to be configured in
+            # StreamingDetectIntentRequest.query_params.
+            # And for Participants.AnalyzeContent and
+            # Participants.StreamingAnalyzeContent, it needs to be configured in
+            # ConversationProfile.human_agent_assistant_config
+          "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit # The sentiment analysis result for `query_text`.
+              # of analysis, such as the query text.
+            "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute
+                # magnitude of sentiment, regardless of score (positive or negative).
+            "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
+                # sentiment).
+          },
+        },
+        "action": "A String", # The action name from the matched intent.
+        "allRequiredParamsPresent": True or False, # This field is set to:
+            #
+            # - `false` if the matched intent has required parameters and not all of
+            #    the required parameter values have been collected.
+            # - `true` if all required parameter values have been collected, or if the
+            #    matched intent doesn't contain any required parameters.
+        "fulfillmentMessages": [ # The collection of rich messages to present to the user.
           { # Corresponds to the `Response` field in the Dialogflow console.
-            "text": { # The text response message. # Returns a text response.
-              "text": [ # Optional. The collection of the agent's responses.
+            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
+              "suggestions": [ # Required. The list of suggested replies.
+                { # The suggestion chip message that the user can tap to quickly post a reply
+                    # to the conversation.
+                  "title": "A String", # Required. The text shown the in the suggestion chip.
+                },
+              ],
+            },
+            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
+              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+              "mediaObjects": [ # Required. List of media objects.
+                { # Response media object for media content card.
+                  "description": "A String", # Optional. Description of media card.
+                  "icon": { # The image response message. # Optional. Icon to display above media content.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                  "contentUrl": "A String", # Required. Url where the media is stored.
+                  "name": "A String", # Required. Name of media card.
+                  "largeImage": { # The image response message. # Optional. Image to display above media content.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                },
+              ],
+            },
+            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
+              "phoneNumber": "A String", # Required. The phone number to transfer the call to
+                  # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
+                  #
+                  # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
+            },
+            "platform": "A String", # Optional. The platform that this message is intended for.
+            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
+                # Telephony Gateway.
+                #
+                # Telephony Gateway takes the synthesizer settings from
+                # `DetectIntentResponse.output_audio_config` which can either be set
+                # at request-level or can come from the agent-level synthesizer config.
+              "text": "A String", # The raw text to be synthesized.
+              "ssml": "A String", # The SSML to be synthesized. For more information, see
+                  # [SSML](https://developers.google.com/actions/reference/ssml).
+            },
+            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
+                # or website associated with this agent.
+              "uri": "A String", # Required. The URI of the app or site to open when the user taps the
+                  # suggestion chip.
+              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
+            },
+            "quickReplies": { # The quick replies response message. # Displays quick replies.
+              "quickReplies": [ # Optional. The collection of quick replies.
                 "A String",
               ],
+              "title": "A String", # Optional. The title of the collection of quick replies.
+            },
+            "card": { # The card response message. # Displays a card.
+              "subtitle": "A String", # Optional. The subtitle of the card.
+              "buttons": [ # Optional. The collection of card buttons.
+                { # Optional. Contains information about a button.
+                  "text": "A String", # Optional. The text to show on the button.
+                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
+                      # open.
+                },
+              ],
+              "imageUri": "A String", # Optional. The public URI to an image file for the card.
+              "title": "A String", # Optional. The title of the card.
+            },
+            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
+              "subtitle": "A String", # Optional. Subtitle of the list.
+              "title": "A String", # Optional. The overall title of the list.
+              "items": [ # Required. List items.
+                { # An item in the list.
+                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
+                      # dialog.
+                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                        # item in dialog.
+                      "A String",
+                    ],
+                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                        # response is given.
+                  },
+                  "description": "A String", # Optional. The main text describing the item.
+                  "title": "A String", # Required. The title of the list item.
+                  "image": { # The image response message. # Optional. The image to display.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                },
+              ],
+            },
+            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
+              "buttons": [ # Optional. The collection of card buttons.
+                { # The button object that appears at the bottom of a card.
+                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
+                  },
+                  "title": "A String", # Required. The title of the button.
+                },
+              ],
+              "title": "A String", # Optional. The title of the card.
+              "image": { # The image response message. # Optional. The image for the card.
+                "imageUri": "A String", # Optional. The public URI to an image file.
+                "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                    # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+              },
+              "subtitle": "A String", # Optional. The subtitle of the card.
+              "formattedText": "A String", # Required, unless image is present. The body text of the card.
+            },
+            "image": { # The image response message. # Displays an image.
+              "imageUri": "A String", # Optional. The public URI to an image file.
+              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
             },
             "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. # Rich Business Messaging (RBM) carousel rich card response.
                 #
                 # Rich cards allow you to respond to users with more vivid content, e.g.
                 # with media and suggestions.
                 #
-                # For more details about RBM rich cards, please see:
-                # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
                 # If you want to show a single card with more control over the layout,
                 # please use RbmStandaloneCard instead.
+              "cardWidth": "A String", # Required. The width of the cards in the carousel.
               "cardContents": [ # Required. The cards in the carousel. A carousel must have at least
                   # 2 cards and at most 10.
                 { # Rich Business Messaging (RBM) Card content
@@ -797,35 +815,44 @@
                       # * video/mpeg
                       # * video/mpeg4
                       # * video/webm
-                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                        # provide a thumbnail URI, the RBM platform displays a blank
-                        # placeholder thumbnail until the user's device downloads the file.
-                        # Depending on the user's setting, the file may not download
-                        # automatically and may require the user to tap a download button.
                     "height": "A String", # Required for cards with vertical orientation. The height of the media
-                        # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
+                        # within a rich card with a vertical layout.
                         # For a standalone card with horizontal layout, height is not
                         # customizable, and this field is ignored.
                     "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
                         # determines the MIME type of the file from the content-type field in
                         # the HTTP headers when the platform fetches the file. The content-type
                         # field must be present and accurate in the HTTP response from the URL.
+                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                        # provide a thumbnail URI, the RBM platform displays a blank
+                        # placeholder thumbnail until the user's device downloads the file.
+                        # Depending on the user's setting, the file may not download
+                        # automatically and may require the user to tap a download button.
                   },
+                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
                   "suggestions": [ # Optional. List of suggestions to include in the card.
                     { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                         # easily select/click a predefined response or perform an action (like
                         # opening a web uri).
-                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                          # instead of typing in their own response.
-                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                            # when the user taps the suggested reply. This data will be also
-                            # forwarded to webhook to allow performing custom business logic.
-                        "text": "A String", # Suggested reply text.
-                      },
                       "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                           # can choose from the card.
+                        "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                            # If the user has an app installed that is
+                            # registered as the default handler for the URL, then this app will be
+                            # opened instead, and its icon will be used in the suggested action UI.
+                          "uri": "A String", # Required. The uri to open on the user device
+                        },
+                        "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                            # to send back to the agent.
+                        },
+                        "text": "A String", # Text to display alongside the action.
                         "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                            # but does not dial automatically (https://goo.gl/ergbB2).
+                            # but does not dial automatically.
                           "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
                               # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
                               # format. An example of a correctly formatted phone number:
@@ -834,180 +861,34 @@
                         "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
                             # when the user taps the suggested action. This data will be also
                             # forwarded to webhook to allow performing custom business logic.
-                        "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                            # to send back to the agent (https://goo.gl/GXotJW).
-                        },
-                        "text": "A String", # Text to display alongside the action.
-                        "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                            # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                            # registered as the default handler for the URL, then this app will be
-                            # opened instead, and its icon will be used in the suggested action UI.
-                          "uri": "A String", # Required. The uri to open on the user device
-                        },
+                      },
+                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                          # instead of typing in their own response.
+                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                            # when the user taps the suggested reply. This data will be also
+                            # forwarded to webhook to allow performing custom business logic.
+                        "text": "A String", # Suggested reply text.
                       },
                     },
                   ],
-                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                      #
-                      # At least one of the title, description or media must be set.
-                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                      #
-                      # At least one of the title, description or media must be set.
-                },
-              ],
-              "cardWidth": "A String", # Required. The width of the cards in the carousel.
-            },
-            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
-              "suggestions": [ # Required. The list of suggested replies.
-                { # The suggestion chip message that the user can tap to quickly post a reply
-                    # to the conversation.
-                  "title": "A String", # Required. The text shown the in the suggestion chip.
                 },
               ],
             },
-            "platform": "A String", # Optional. The platform that this message is intended for.
-            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
-              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
-                  # play, e.g., "gs://bucket/object". The object must contain a single
-                  # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
-                  #
-                  # This object must be readable by the `service-<Project
-                  # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
-                  # where <Project Number> is the number of the Telephony Gateway project
-                  # (usually the same as the Dialogflow agent project). If the Google Cloud
-                  # Storage bucket is in the Telephony Gateway project, this permission is
-                  # added by default when enabling the Dialogflow V2 API.
-                  #
-                  # For audio from other sources, consider using the
-                  # `TelephonySynthesizeSpeech` message with SSML.
-            },
-            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
-              "title": "A String", # Optional. The overall title of the list.
-              "subtitle": "A String", # Optional. Subtitle of the list.
-              "items": [ # Required. List items.
-                { # An item in the list.
-                  "description": "A String", # Optional. The main text describing the item.
-                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
-                      # dialog.
-                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                        # item in dialog.
-                      "A String",
-                    ],
-                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                        # response is given.
-                  },
-                  "title": "A String", # Required. The title of the list item.
-                  "image": { # The image response message. # Optional. The image to display.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                },
-              ],
-            },
-            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
-                #
-                # RBM allows businesses to send enriched and branded versions of SMS. See
-                # https://jibe.google.com/business-messaging.
-              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
-                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
-                    # easily select/click a predefined response or perform an action (like
-                    # opening a web uri).
-                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                      # instead of typing in their own response.
-                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                        # when the user taps the suggested reply. This data will be also
-                        # forwarded to webhook to allow performing custom business logic.
-                    "text": "A String", # Suggested reply text.
-                  },
-                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
-                      # can choose from the card.
-                    "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                        # but does not dial automatically (https://goo.gl/ergbB2).
-                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
-                          # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
-                          # format. An example of a correctly formatted phone number:
-                          # +15556767888.
-                    },
-                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                        # when the user taps the suggested action. This data will be also
-                        # forwarded to webhook to allow performing custom business logic.
-                    "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                        # to send back to the agent (https://goo.gl/GXotJW).
-                    },
-                    "text": "A String", # Text to display alongside the action.
-                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                        # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                        # registered as the default handler for the URL, then this app will be
-                        # opened instead, and its icon will be used in the suggested action UI.
-                      "uri": "A String", # Required. The uri to open on the user device
-                    },
-                  },
-                },
-              ],
-              "text": "A String", # Required. Text sent and displayed to the user.
-            },
-            "quickReplies": { # The quick replies response message. # Displays quick replies.
-              "title": "A String", # Optional. The title of the collection of quick replies.
-              "quickReplies": [ # Optional. The collection of quick replies.
-                "A String",
-              ],
-            },
-            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
-                # Telephony Gateway.
-                #
-                # Telephony Gateway takes the synthesizer settings from
-                # `DetectIntentResponse.output_audio_config` which can either be set
-                # at request-level or can come from the agent-level synthesizer config.
-              "text": "A String", # The raw text to be synthesized.
-              "ssml": "A String", # The SSML to be synthesized. For more information, see
-                  # [SSML](https://developers.google.com/actions/reference/ssml).
-            },
-            "card": { # The card response message. # Displays a card.
-              "title": "A String", # Optional. The title of the card.
-              "buttons": [ # Optional. The collection of card buttons.
-                { # Optional. Contains information about a button.
-                  "text": "A String", # Optional. The text to show on the button.
-                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
-                      # open.
-                },
-              ],
-              "subtitle": "A String", # Optional. The subtitle of the card.
-              "imageUri": "A String", # Optional. The public URI to an image file for the card.
-            },
-            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
-              "title": "A String", # Optional. The title of the card.
-              "image": { # The image response message. # Optional. The image for the card.
-                "imageUri": "A String", # Optional. The public URI to an image file.
-                "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                    # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-              },
-              "formattedText": "A String", # Required, unless image is present. The body text of the card.
-              "buttons": [ # Optional. The collection of card buttons.
+            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+              "buttons": [ # Optional. List of buttons for the card.
                 { # The button object that appears at the bottom of a card.
-                  "title": "A String", # Required. The title of the button.
                   "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                     "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                   },
+                  "title": "A String", # Required. The title of the button.
                 },
               ],
-              "subtitle": "A String", # Optional. The subtitle of the card.
-            },
-            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+              "subtitle": "A String", # Optional. Subtitle to the title.
               "image": { # The image response message. # Optional. Image which should be displayed on the card.
                 "imageUri": "A String", # Optional. The public URI to an image file.
                 "accessibilityText": "A String", # A text description of the image to be used for accessibility,
                     # e.g., screen readers. Required if image_uri is set for CarouselSelect.
               },
-              "buttons": [ # Optional. List of buttons for the card.
-                { # The button object that appears at the bottom of a card.
-                  "title": "A String", # Required. The title of the button.
-                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
-                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
-                  },
-                },
-              ],
-              "title": "A String", # Required. Title of the card.
               "rows": [ # Optional. Rows in this table of data.
                 { # Row of TableCard.
                   "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
@@ -1018,7 +899,7 @@
                   ],
                 },
               ],
-              "subtitle": "A String", # Optional. Subtitle to the title.
+              "title": "A String", # Required. Title of the card.
               "columnProperties": [ # Optional. Display properties for the columns in this table.
                 { # Column properties for TableCard.
                   "header": "A String", # Required. Column heading.
@@ -1026,117 +907,63 @@
                 },
               ],
             },
-            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
-              "items": [ # Required. Carousel items.
-                { # An item in the carousel.
-                  "description": "A String", # Optional. The body text of the card.
-                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
-                      # dialog.
-                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                        # item in dialog.
-                      "A String",
-                    ],
-                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                        # response is given.
+            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
+                #
+                # RBM allows businesses to send enriched and branded versions of SMS. See
+                # https://jibe.google.com/business-messaging.
+              "text": "A String", # Required. Text sent and displayed to the user.
+              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
+                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
+                    # easily select/click a predefined response or perform an action (like
+                    # opening a web uri).
+                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
+                      # can choose from the card.
+                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                        # If the user has an app installed that is
+                        # registered as the default handler for the URL, then this app will be
+                        # opened instead, and its icon will be used in the suggested action UI.
+                      "uri": "A String", # Required. The uri to open on the user device
+                    },
+                    "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                        # to send back to the agent.
+                    },
+                    "text": "A String", # Text to display alongside the action.
+                    "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
+                        # but does not dial automatically.
+                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
+                          # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
+                          # format. An example of a correctly formatted phone number:
+                          # +15556767888.
+                    },
+                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                        # when the user taps the suggested action. This data will be also
+                        # forwarded to webhook to allow performing custom business logic.
                   },
-                  "title": "A String", # Required. Title of the carousel item.
-                  "image": { # The image response message. # Optional. The image to display.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                      # instead of typing in their own response.
+                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                        # when the user taps the suggested reply. This data will be also
+                        # forwarded to webhook to allow performing custom business logic.
+                    "text": "A String", # Suggested reply text.
                   },
                 },
               ],
             },
-            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
-                # or website associated with this agent.
-              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
-              "uri": "A String", # Required. The URI of the app or site to open when the user taps the
-                  # suggestion chip.
+            "payload": { # A custom platform-specific response.
+              "a_key": "", # Properties of the object.
             },
-            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
-                # https://developers.google.com/actions/assistant/responses#browsing_carousel
-              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
-                  # items.
-              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
-                  # items, maximum of ten.
-                { # Browsing carousel tile
-                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
-                      # text.
-                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
-                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
-                        # the URL. Defaults to opening via web browser.
-                    "url": "A String", # Required. URL
-                  },
-                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
-                      # Card. Maximum of one line of text.
-                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
-                  "image": { # The image response message. # Optional. Hero image for the carousel item.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                },
+            "text": { # The text response message. # Returns a text response.
+              "text": [ # Optional. The collection of the agent's responses.
+                "A String",
               ],
             },
-            "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
-                # This message in `QueryResult.fulfillment_messages` and
-                # `WebhookResponse.fulfillment_messages` should contain only one
-                # `SimpleResponse`.
-              "simpleResponses": [ # Required. The list of simple responses.
-                { # The simple response message containing speech or text.
-                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
-                      # response to the user in the SSML format. Mutually exclusive with
-                      # text_to_speech.
-                  "displayText": "A String", # Optional. The text to display.
-                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                      # speech output. Mutually exclusive with ssml.
-                },
-              ],
-            },
-            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
-              "phoneNumber": "A String", # Required. The phone number to transfer the call to
-                  # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
-                  #
-                  # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
-            },
-            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
-              "mediaObjects": [ # Required. List of media objects.
-                { # Response media object for media content card.
-                  "name": "A String", # Required. Name of media card.
-                  "description": "A String", # Optional. Description of media card.
-                  "contentUrl": "A String", # Required. Url where the media is stored.
-                  "icon": { # The image response message. # Optional. Icon to display above media content.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                  "largeImage": { # The image response message. # Optional. Image to display above media content.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                },
-              ],
-              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
-            },
-            "image": { # The image response message. # Displays an image.
-              "imageUri": "A String", # Optional. The public URI to an image file.
-              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-            },
             "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. # Standalone Rich Business Messaging (RBM) rich card response.
                 #
                 # Rich cards allow you to respond to users with more vivid content, e.g.
                 # with media and suggestions.
                 #
-                # For more details about RBM rich cards, please see:
-                # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
                 # You can group multiple rich cards into one using RbmCarouselCard but
                 # carousel cards will give you less control over the card layout.
-              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
-                  # Image preview alignment for standalone cards with horizontal layout.
-              "cardOrientation": "A String", # Required. Orientation of the card.
               "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                 "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
                     # be set. Media (image, GIF or a video) to include in the card.
@@ -1157,35 +984,44 @@
                     # * video/mpeg
                     # * video/mpeg4
                     # * video/webm
-                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                      # provide a thumbnail URI, the RBM platform displays a blank
-                      # placeholder thumbnail until the user's device downloads the file.
-                      # Depending on the user's setting, the file may not download
-                      # automatically and may require the user to tap a download button.
                   "height": "A String", # Required for cards with vertical orientation. The height of the media
-                      # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
+                      # within a rich card with a vertical layout.
                       # For a standalone card with horizontal layout, height is not
                       # customizable, and this field is ignored.
                   "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
                       # determines the MIME type of the file from the content-type field in
                       # the HTTP headers when the platform fetches the file. The content-type
                       # field must be present and accurate in the HTTP response from the URL.
+                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                      # provide a thumbnail URI, the RBM platform displays a blank
+                      # placeholder thumbnail until the user's device downloads the file.
+                      # Depending on the user's setting, the file may not download
+                      # automatically and may require the user to tap a download button.
                 },
+                "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
                 "suggestions": [ # Optional. List of suggestions to include in the card.
                   { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                       # easily select/click a predefined response or perform an action (like
                       # opening a web uri).
-                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                        # instead of typing in their own response.
-                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                          # when the user taps the suggested reply. This data will be also
-                          # forwarded to webhook to allow performing custom business logic.
-                      "text": "A String", # Suggested reply text.
-                    },
                     "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                         # can choose from the card.
+                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                          # If the user has an app installed that is
+                          # registered as the default handler for the URL, then this app will be
+                          # opened instead, and its icon will be used in the suggested action UI.
+                        "uri": "A String", # Required. The uri to open on the user device
+                      },
+                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                          # to send back to the agent.
+                      },
+                      "text": "A String", # Text to display alongside the action.
                       "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                          # but does not dial automatically (https://goo.gl/ergbB2).
+                          # but does not dial automatically.
                         "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
                             # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
                             # format. An example of a correctly formatted phone number:
@@ -1194,163 +1030,7 @@
                       "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
                           # when the user taps the suggested action. This data will be also
                           # forwarded to webhook to allow performing custom business logic.
-                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                          # to send back to the agent (https://goo.gl/GXotJW).
-                      },
-                      "text": "A String", # Text to display alongside the action.
-                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                          # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                          # registered as the default handler for the URL, then this app will be
-                          # opened instead, and its icon will be used in the suggested action UI.
-                        "uri": "A String", # Required. The uri to open on the user device
-                      },
                     },
-                  },
-                ],
-                "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                    #
-                    # At least one of the title, description or media must be set.
-                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                    #
-                    # At least one of the title, description or media must be set.
-              },
-            },
-            "payload": { # A custom platform-specific response.
-              "a_key": "", # Properties of the object.
-            },
-          },
-        ],
-        "action": "A String", # Optional. The name of the action associated with the intent.
-            # Note: The action name must not contain whitespaces.
-        "name": "A String", # Optional. The unique identifier of this intent.
-            # Required for Intents.UpdateIntent and Intents.BatchUpdateIntents
-            # methods.
-            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-        "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
-        "inputContextNames": [ # Optional. The list of context names required for this intent to be
-            # triggered.
-            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
-          "A String",
-        ],
-        "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as
-            # a direct or indirect parent. We populate this field only in the output.
-          { # Represents a single followup intent in the chain.
-            "followupIntentName": "A String", # The unique identifier of the followup intent.
-                # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-            "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent.
-                # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-          },
-        ],
-      },
-      "languageCode": "A String", # The language that was triggered during intent detection.
-          # See [Language
-          # Support](https://cloud.google.com/dialogflow/docs/reference/language)
-          # for a list of the currently supported language codes.
-      "outputContexts": [ # The collection of output contexts. If applicable,
-          # `output_contexts.parameters` contains entries with name
-          # `<parameter name>.original` containing the original parameter values
-          # before the query.
-        { # Represents a context.
-          "lifespanCount": 42, # Optional. The number of conversational query requests after which the
-              # context expires. The default is `0`. If set to `0`, the context expires
-              # immediately. Contexts expire automatically after 20 minutes if there
-              # are no matching queries.
-          "name": "A String", # Required. The unique identifier of the context. Format:
-              # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
-              # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
-              # ID>/sessions/<Session ID>/contexts/<Context ID>`.
-              #
-              # The `Context ID` is always converted to lowercase, may only contain
-              # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
-              #
-              # If `Environment ID` is not specified, we assume default 'draft'
-              # environment. If `User ID` is not specified, we assume default '-' user.
-              #
-              # The following context names are reserved for internal use by Dialogflow.
-              # You should not use these contexts or create contexts with these names:
-              #
-              # * `__system_counters__`
-              # * `*_id_dialog_context`
-              # * `*_dialog_params_size`
-          "parameters": { # Optional. The collection of parameters associated with this context.
-              #
-              # Depending on your protocol or client library language, this is a
-              # map, associative array, symbol table, dictionary, or JSON object
-              # composed of a collection of (MapKey, MapValue) pairs:
-              #
-              # -   MapKey type: string
-              # -   MapKey value: parameter name
-              # -   MapValue type:
-              #     -   If parameter's entity type is a composite entity: map
-              #     -   Else: string or number, depending on parameter value type
-              # -   MapValue value:
-              #     -   If parameter's entity type is a composite entity:
-              #         map from composite entity property names to property values
-              #     -   Else: parameter value
-            "a_key": "", # Properties of the object.
-          },
-        },
-      ],
-      "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the
-          # value of the `payload` field returned in the webhook response.
-        "a_key": "", # Properties of the object.
-      },
-      "fulfillmentMessages": [ # The collection of rich messages to present to the user.
-        { # Corresponds to the `Response` field in the Dialogflow console.
-          "text": { # The text response message. # Returns a text response.
-            "text": [ # Optional. The collection of the agent's responses.
-              "A String",
-            ],
-          },
-          "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. # Rich Business Messaging (RBM) carousel rich card response.
-              #
-              # Rich cards allow you to respond to users with more vivid content, e.g.
-              # with media and suggestions.
-              #
-              # For more details about RBM rich cards, please see:
-              # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
-              # If you want to show a single card with more control over the layout,
-              # please use RbmStandaloneCard instead.
-            "cardContents": [ # Required. The cards in the carousel. A carousel must have at least
-                # 2 cards and at most 10.
-              { # Rich Business Messaging (RBM) Card content
-                "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
-                    # be set. Media (image, GIF or a video) to include in the card.
-                    # The following media-types are currently supported:
-                    #
-                    # Image Types
-                    #
-                    # * image/jpeg
-                    # * image/jpg'
-                    # * image/gif
-                    # * image/png
-                    #
-                    # Video Types
-                    #
-                    # * video/h263
-                    # * video/m4v
-                    # * video/mp4
-                    # * video/mpeg
-                    # * video/mpeg4
-                    # * video/webm
-                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                      # provide a thumbnail URI, the RBM platform displays a blank
-                      # placeholder thumbnail until the user's device downloads the file.
-                      # Depending on the user's setting, the file may not download
-                      # automatically and may require the user to tap a download button.
-                  "height": "A String", # Required for cards with vertical orientation. The height of the media
-                      # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
-                      # For a standalone card with horizontal layout, height is not
-                      # customizable, and this field is ignored.
-                  "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
-                      # determines the MIME type of the file from the content-type field in
-                      # the HTTP headers when the platform fetches the file. The content-type
-                      # field must be present and accurate in the HTTP response from the URL.
-                },
-                "suggestions": [ # Optional. List of suggestions to include in the card.
-                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
-                      # easily select/click a predefined response or perform an action (like
-                      # opening a web uri).
                     "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
                         # instead of typing in their own response.
                       "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
@@ -1358,664 +1038,146 @@
                           # forwarded to webhook to allow performing custom business logic.
                       "text": "A String", # Suggested reply text.
                     },
-                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
-                        # can choose from the card.
-                      "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                          # but does not dial automatically (https://goo.gl/ergbB2).
-                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
-                            # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
-                            # format. An example of a correctly formatted phone number:
-                            # +15556767888.
-                      },
-                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                          # when the user taps the suggested action. This data will be also
-                          # forwarded to webhook to allow performing custom business logic.
-                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                          # to send back to the agent (https://goo.gl/GXotJW).
-                      },
-                      "text": "A String", # Text to display alongside the action.
-                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                          # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                          # registered as the default handler for the URL, then this app will be
-                          # opened instead, and its icon will be used in the suggested action UI.
-                        "uri": "A String", # Required. The uri to open on the user device
-                      },
-                    },
-                  },
-                ],
-                "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                    #
-                    # At least one of the title, description or media must be set.
-                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                    #
-                    # At least one of the title, description or media must be set.
-              },
-            ],
-            "cardWidth": "A String", # Required. The width of the cards in the carousel.
-          },
-          "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
-            "suggestions": [ # Required. The list of suggested replies.
-              { # The suggestion chip message that the user can tap to quickly post a reply
-                  # to the conversation.
-                "title": "A String", # Required. The text shown the in the suggestion chip.
-              },
-            ],
-          },
-          "platform": "A String", # Optional. The platform that this message is intended for.
-          "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
-            "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
-                # play, e.g., "gs://bucket/object". The object must contain a single
-                # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
-                #
-                # This object must be readable by the `service-<Project
-                # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
-                # where <Project Number> is the number of the Telephony Gateway project
-                # (usually the same as the Dialogflow agent project). If the Google Cloud
-                # Storage bucket is in the Telephony Gateway project, this permission is
-                # added by default when enabling the Dialogflow V2 API.
-                #
-                # For audio from other sources, consider using the
-                # `TelephonySynthesizeSpeech` message with SSML.
-          },
-          "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
-            "title": "A String", # Optional. The overall title of the list.
-            "subtitle": "A String", # Optional. Subtitle of the list.
-            "items": [ # Required. List items.
-              { # An item in the list.
-                "description": "A String", # Optional. The main text describing the item.
-                "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
-                    # dialog.
-                  "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                      # item in dialog.
-                    "A String",
-                  ],
-                  "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                      # response is given.
-                },
-                "title": "A String", # Required. The title of the list item.
-                "image": { # The image response message. # Optional. The image to display.
-                  "imageUri": "A String", # Optional. The public URI to an image file.
-                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                },
-              },
-            ],
-          },
-          "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
-              #
-              # RBM allows businesses to send enriched and branded versions of SMS. See
-              # https://jibe.google.com/business-messaging.
-            "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
-              { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
-                  # easily select/click a predefined response or perform an action (like
-                  # opening a web uri).
-                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                    # instead of typing in their own response.
-                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                      # when the user taps the suggested reply. This data will be also
-                      # forwarded to webhook to allow performing custom business logic.
-                  "text": "A String", # Suggested reply text.
-                },
-                "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
-                    # can choose from the card.
-                  "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                      # but does not dial automatically (https://goo.gl/ergbB2).
-                    "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
-                        # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
-                        # format. An example of a correctly formatted phone number:
-                        # +15556767888.
-                  },
-                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                      # when the user taps the suggested action. This data will be also
-                      # forwarded to webhook to allow performing custom business logic.
-                  "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                      # to send back to the agent (https://goo.gl/GXotJW).
-                  },
-                  "text": "A String", # Text to display alongside the action.
-                  "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                      # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                      # registered as the default handler for the URL, then this app will be
-                      # opened instead, and its icon will be used in the suggested action UI.
-                    "uri": "A String", # Required. The uri to open on the user device
-                  },
-                },
-              },
-            ],
-            "text": "A String", # Required. Text sent and displayed to the user.
-          },
-          "quickReplies": { # The quick replies response message. # Displays quick replies.
-            "title": "A String", # Optional. The title of the collection of quick replies.
-            "quickReplies": [ # Optional. The collection of quick replies.
-              "A String",
-            ],
-          },
-          "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
-              # Telephony Gateway.
-              #
-              # Telephony Gateway takes the synthesizer settings from
-              # `DetectIntentResponse.output_audio_config` which can either be set
-              # at request-level or can come from the agent-level synthesizer config.
-            "text": "A String", # The raw text to be synthesized.
-            "ssml": "A String", # The SSML to be synthesized. For more information, see
-                # [SSML](https://developers.google.com/actions/reference/ssml).
-          },
-          "card": { # The card response message. # Displays a card.
-            "title": "A String", # Optional. The title of the card.
-            "buttons": [ # Optional. The collection of card buttons.
-              { # Optional. Contains information about a button.
-                "text": "A String", # Optional. The text to show on the button.
-                "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
-                    # open.
-              },
-            ],
-            "subtitle": "A String", # Optional. The subtitle of the card.
-            "imageUri": "A String", # Optional. The public URI to an image file for the card.
-          },
-          "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
-            "title": "A String", # Optional. The title of the card.
-            "image": { # The image response message. # Optional. The image for the card.
-              "imageUri": "A String", # Optional. The public URI to an image file.
-              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-            },
-            "formattedText": "A String", # Required, unless image is present. The body text of the card.
-            "buttons": [ # Optional. The collection of card buttons.
-              { # The button object that appears at the bottom of a card.
-                "title": "A String", # Required. The title of the button.
-                "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
-                  "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
-                },
-              },
-            ],
-            "subtitle": "A String", # Optional. The subtitle of the card.
-          },
-          "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
-            "image": { # The image response message. # Optional. Image which should be displayed on the card.
-              "imageUri": "A String", # Optional. The public URI to an image file.
-              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-            },
-            "buttons": [ # Optional. List of buttons for the card.
-              { # The button object that appears at the bottom of a card.
-                "title": "A String", # Required. The title of the button.
-                "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
-                  "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
-                },
-              },
-            ],
-            "title": "A String", # Required. Title of the card.
-            "rows": [ # Optional. Rows in this table of data.
-              { # Row of TableCard.
-                "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
-                "cells": [ # Optional. List of cells that make up this row.
-                  { # Cell of TableCardRow.
-                    "text": "A String", # Required. Text in this cell.
                   },
                 ],
               },
-            ],
-            "subtitle": "A String", # Optional. Subtitle to the title.
-            "columnProperties": [ # Optional. Display properties for the columns in this table.
-              { # Column properties for TableCard.
-                "header": "A String", # Required. Column heading.
-                "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
-              },
-            ],
-          },
-          "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
-            "items": [ # Required. Carousel items.
-              { # An item in the carousel.
-                "description": "A String", # Optional. The body text of the card.
-                "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
-                    # dialog.
-                  "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                      # item in dialog.
-                    "A String",
-                  ],
-                  "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                      # response is given.
-                },
-                "title": "A String", # Required. Title of the carousel item.
-                "image": { # The image response message. # Optional. The image to display.
-                  "imageUri": "A String", # Optional. The public URI to an image file.
-                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                },
-              },
-            ],
-          },
-          "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
-              # or website associated with this agent.
-            "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
-            "uri": "A String", # Required. The URI of the app or site to open when the user taps the
-                # suggestion chip.
-          },
-          "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
-              # https://developers.google.com/actions/assistant/responses#browsing_carousel
-            "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
-                # items.
-            "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
-                # items, maximum of ten.
-              { # Browsing carousel tile
-                "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
-                    # text.
-                "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
-                  "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
-                      # the URL. Defaults to opening via web browser.
-                  "url": "A String", # Required. URL
-                },
-                "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
-                    # Card. Maximum of one line of text.
-                "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
-                "image": { # The image response message. # Optional. Hero image for the carousel item.
-                  "imageUri": "A String", # Optional. The public URI to an image file.
-                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                },
-              },
-            ],
-          },
-          "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
-              # This message in `QueryResult.fulfillment_messages` and
-              # `WebhookResponse.fulfillment_messages` should contain only one
-              # `SimpleResponse`.
-            "simpleResponses": [ # Required. The list of simple responses.
-              { # The simple response message containing speech or text.
-                "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
-                    # response to the user in the SSML format. Mutually exclusive with
-                    # text_to_speech.
-                "displayText": "A String", # Optional. The text to display.
-                "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                    # speech output. Mutually exclusive with ssml.
-              },
-            ],
-          },
-          "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
-            "phoneNumber": "A String", # Required. The phone number to transfer the call to
-                # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
-                #
-                # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
-          },
-          "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
-            "mediaObjects": [ # Required. List of media objects.
-              { # Response media object for media content card.
-                "name": "A String", # Required. Name of media card.
-                "description": "A String", # Optional. Description of media card.
-                "contentUrl": "A String", # Required. Url where the media is stored.
-                "icon": { # The image response message. # Optional. Icon to display above media content.
-                  "imageUri": "A String", # Optional. The public URI to an image file.
-                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                },
-                "largeImage": { # The image response message. # Optional. Image to display above media content.
-                  "imageUri": "A String", # Optional. The public URI to an image file.
-                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                },
-              },
-            ],
-            "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
-          },
-          "image": { # The image response message. # Displays an image.
-            "imageUri": "A String", # Optional. The public URI to an image file.
-            "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-          },
-          "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. # Standalone Rich Business Messaging (RBM) rich card response.
-              #
-              # Rich cards allow you to respond to users with more vivid content, e.g.
-              # with media and suggestions.
-              #
-              # For more details about RBM rich cards, please see:
-              # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
-              # You can group multiple rich cards into one using RbmCarouselCard but
-              # carousel cards will give you less control over the card layout.
-            "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
-                # Image preview alignment for standalone cards with horizontal layout.
-            "cardOrientation": "A String", # Required. Orientation of the card.
-            "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
-              "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
-                  # be set. Media (image, GIF or a video) to include in the card.
-                  # The following media-types are currently supported:
+              "cardOrientation": "A String", # Required. Orientation of the card.
+              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
+                  # Image preview alignment for standalone cards with horizontal layout.
+            },
+            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
+              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
+                  # play, e.g., "gs://bucket/object". The object must contain a single
+                  # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
                   #
-                  # Image Types
+                  # This object must be readable by the `service-<Project
+                  # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                  # where <Project Number> is the number of the Telephony Gateway project
+                  # (usually the same as the Dialogflow agent project). If the Google Cloud
+                  # Storage bucket is in the Telephony Gateway project, this permission is
+                  # added by default when enabling the Dialogflow V2 API.
                   #
-                  # * image/jpeg
-                  # * image/jpg'
-                  # * image/gif
-                  # * image/png
-                  #
-                  # Video Types
-                  #
-                  # * video/h263
-                  # * video/m4v
-                  # * video/mp4
-                  # * video/mpeg
-                  # * video/mpeg4
-                  # * video/webm
-                "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                    # provide a thumbnail URI, the RBM platform displays a blank
-                    # placeholder thumbnail until the user's device downloads the file.
-                    # Depending on the user's setting, the file may not download
-                    # automatically and may require the user to tap a download button.
-                "height": "A String", # Required for cards with vertical orientation. The height of the media
-                    # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
-                    # For a standalone card with horizontal layout, height is not
-                    # customizable, and this field is ignored.
-                "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
-                    # determines the MIME type of the file from the content-type field in
-                    # the HTTP headers when the platform fetches the file. The content-type
-                    # field must be present and accurate in the HTTP response from the URL.
-              },
-              "suggestions": [ # Optional. List of suggestions to include in the card.
-                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
-                    # easily select/click a predefined response or perform an action (like
-                    # opening a web uri).
-                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                      # instead of typing in their own response.
-                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                        # when the user taps the suggested reply. This data will be also
-                        # forwarded to webhook to allow performing custom business logic.
-                    "text": "A String", # Suggested reply text.
+                  # For audio from other sources, consider using the
+                  # `TelephonySynthesizeSpeech` message with SSML.
+            },
+            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
+              "items": [ # Required. Carousel items.
+                { # An item in the carousel.
+                  "image": { # The image response message. # Optional. The image to display.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
                   },
-                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
-                      # can choose from the card.
-                    "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                        # but does not dial automatically (https://goo.gl/ergbB2).
-                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
-                          # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
-                          # format. An example of a correctly formatted phone number:
-                          # +15556767888.
-                    },
-                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                        # when the user taps the suggested action. This data will be also
-                        # forwarded to webhook to allow performing custom business logic.
-                    "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                        # to send back to the agent (https://goo.gl/GXotJW).
-                    },
-                    "text": "A String", # Text to display alongside the action.
-                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                        # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                        # registered as the default handler for the URL, then this app will be
-                        # opened instead, and its icon will be used in the suggested action UI.
-                      "uri": "A String", # Required. The uri to open on the user device
-                    },
+                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
+                      # dialog.
+                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                        # item in dialog.
+                      "A String",
+                    ],
+                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                        # response is given.
+                  },
+                  "title": "A String", # Required. Title of the carousel item.
+                  "description": "A String", # Optional. The body text of the card.
+                },
+              ],
+            },
+            "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
+                # This message in `QueryResult.fulfillment_messages` and
+                # `WebhookResponse.fulfillment_messages` should contain only one
+                # `SimpleResponse`.
+              "simpleResponses": [ # Required. The list of simple responses.
+                { # The simple response message containing speech or text.
+                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
+                      # response to the user in the SSML format. Mutually exclusive with
+                      # text_to_speech.
+                  "displayText": "A String", # Optional. The text to display.
+                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                      # speech output. Mutually exclusive with ssml.
+                },
+              ],
+            },
+            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+                # https://developers.google.com/actions/assistant/responses#browsing_carousel
+              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                  # items.
+              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                  # items, maximum of ten.
+                { # Browsing carousel tile
+                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                      # Card. Maximum of one line of text.
+                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
+                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
+                      # text.
+                  "image": { # The image response message. # Optional. Hero image for the carousel item.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                        # the URL. Defaults to opening via web browser.
+                    "url": "A String", # Required. URL
                   },
                 },
               ],
-              "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                  #
-                  # At least one of the title, description or media must be set.
-              "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                  #
-                  # At least one of the title, description or media must be set.
             },
           },
-          "payload": { # A custom platform-specific response.
-            "a_key": "", # Properties of the object.
-          },
-        },
-      ],
-      "action": "A String", # The action name from the matched intent.
-      "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the
-          # value of the `source` field returned in the webhook response.
-      "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen.
-          # Note: This is a legacy field, `fulfillment_messages` should be preferred.
-      "parameters": { # The collection of extracted parameters.
-          #
-          # Depending on your protocol or client library language, this is a
-          # map, associative array, symbol table, dictionary, or JSON object
-          # composed of a collection of (MapKey, MapValue) pairs:
-          #
-          # -   MapKey type: string
-          # -   MapKey value: parameter name
-          # -   MapValue type:
-          #     -   If parameter's entity type is a composite entity: map
-          #     -   Else: string or number, depending on parameter value type
-          # -   MapValue value:
-          #     -   If parameter's entity type is a composite entity:
-          #         map from composite entity property names to property values
-          #     -   Else: parameter value
-        "a_key": "", # Properties of the object.
-      },
-    },
-    "webhookStatus": { # The `Status` type defines a logical error model that is suitable for # Specifies the status of the webhook request.
-        # different programming environments, including REST APIs and RPC APIs. It is
-        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-        # three pieces of data: error code, error message, and error details.
-        #
-        # You can find out more about this error model and how to work with it in the
-        # [API Design Guide](https://cloud.google.com/apis/design/errors).
-      "message": "A String", # A developer-facing error message, which should be in English. Any
-          # user-facing error message should be localized and sent in the
-          # google.rpc.Status.details field, or localized by the client.
-      "details": [ # A list of messages that carry the error details.  There is a common set of
-          # message types for APIs to use.
-        {
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-      ],
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    },
-    "alternativeQueryResults": [ # If Knowledge Connectors are enabled, there could be more than one result
-        # returned for a given query or event, and this field will contain all
-        # results except for the top one, which is captured in query_result. The
-        # alternative results are ordered by decreasing
-        # `QueryResult.intent_detection_confidence`. If Knowledge Connectors are
-        # disabled, this field will be empty until multiple responses for regular
-        # intents are supported, at which point those additional results will be
-        # surfaced here.
-      { # Represents the result of conversational query or event processing.
-        "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing
-            # `KnowledgeAnswers.match_confidence`.
-          "answers": [ # A list of answers from Knowledge Connector.
-            { # An answer from Knowledge Connector.
-              "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
-                  # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
-                  # ID>/documents/<Document ID>`.
-              "answer": "A String", # The piece of text from the `source` knowledge base document that answers
-                  # this conversational query.
-              "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ
-                  # Document, empty otherwise.
-              "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match
-                  # for this conversational query.
-                  # NOTE: The confidence level for a given `<query, answer>` pair may change
-                  # without notice, as it depends on models that are constantly being
-                  # improved. However, it will change less frequently than the confidence
-                  # score below, and should be preferred for referencing the quality of an
-                  # answer.
-              "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match
-                  # for this conversational query.
-                  # The range is from 0.0 (completely uncertain) to 1.0 (completely certain).
-                  # Note: The confidence score is likely to vary somewhat (possibly even for
-                  # identical requests), as the underlying model is under constant
-                  # improvement. It may be deprecated in the future. We recommend using
-                  # `match_confidence_level` which should be generally more stable.
-            },
-          ],
-        },
-        "sentimentAnalysisResult": { # The result of sentiment analysis as configured by # The sentiment analysis result, which depends on the
-            # `sentiment_analysis_request_config` specified in the request.
-            # `sentiment_analysis_request_config`.
-          "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit # The sentiment analysis result for `query_text`.
-              # of analysis, such as the query text.
-            "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
-                # sentiment).
-            "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute
-                # magnitude of sentiment, regardless of score (positive or negative).
-          },
-        },
-        "intentDetectionConfidence": 3.14, # The intent detection confidence. Values range from 0.0
-            # (completely uncertain) to 1.0 (completely certain).
-            # This value is for informational purpose only and is only used to
-            # help match the best intent within the classification threshold.
-            # This value may change for the same end-user expression at any time due to a
-            # model retraining or change in implementation.
-            # If there are `multiple knowledge_answers` messages, this value is set to
-            # the greatest `knowledgeAnswers.match_confidence` value in the list.
-        "allRequiredParamsPresent": True or False, # This field is set to:
-            #
-            # - `false` if the matched intent has required parameters and not all of
-            #    the required parameter values have been collected.
-            # - `true` if all required parameter values have been collected, or if the
-            #    matched intent doesn't contain any required parameters.
-        "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number
-            # indicates an estimated greater likelihood that the recognized words are
-            # correct. The default of 0.0 is a sentinel value indicating that confidence
-            # was not set.
-            #
-            # This field is not guaranteed to be accurate or set. In particular this
-            # field isn't set for StreamingDetectIntent since the streaming endpoint has
-            # separate confidence estimates per portion of the audio in
-            # StreamingRecognitionResult.
-        "queryText": "A String", # The original conversational query text:
-            #
-            # - If natural language text was provided as input, `query_text` contains
-            #   a copy of the input.
-            # - If natural language speech audio was provided as input, `query_text`
-            #   contains the speech recognition result. If speech recognizer produced
-            #   multiple alternatives, a particular one is picked.
-            # - If automatic spell correction is enabled, `query_text` will contain the
-            #   corrected user input.
-        "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request.
-            # The fields of this data can change without notice, so you should not write
-            # code that depends on its structure.
-            # The data may contain:
-            #
-            # - webhook call latency
-            # - webhook errors
-          "a_key": "", # Properties of the object.
-        },
-        "intent": { # Represents an intent. # The intent that matched the conversational query. Some, not
+        ],
+        "intent": { # An intent categorizes an end-user's intention for one conversation turn. For # The intent that matched the conversational query. Some, not
             # all fields are filled in this message, including but not limited to:
             # `name`, `display_name`, `end_interaction` and `is_fallback`.
-            # Intents convert a number of user expressions or patterns into an action. An
-            # action is an extraction of a user command or sentence semantics.
-          "displayName": "A String", # Required. The name of this intent.
-          "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of
-              # followup intents. It identifies the correct followup intents chain for
-              # this intent.
-              #
-              # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-          "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent.
-              # Note: If `ml_disabled` setting is set to true, then this intent is not
-              # taken into account during inference in `ML ONLY` match mode. Also,
-              # auto-markup in the UI is turned off.
-          "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
-          "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
-              # Note: If `ml_enabled` setting is set to false, then this intent is not
-              # taken into account during inference in `ML ONLY` match mode. Also,
-              # auto-markup in the UI is turned off.
-              # DEPRECATED! Please use `ml_disabled` field instead.
-              # NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false,
-              # then the default value is determined as follows:
-              # - Before April 15th, 2018 the default is:
-              #   ml_enabled = false / ml_disabled = true.
-              # - After April 15th, 2018 the default is:
-              #   ml_enabled = true / ml_disabled = false.
-          "trainingPhrases": [ # Optional. The collection of examples that the agent is
-              # trained on.
-            { # Represents an example that the agent is trained on.
-              "parts": [ # Required. The ordered list of training phrase parts.
-                  # The parts are concatenated in order to form the training phrase.
-                  #
-                  # Note: The API does not automatically annotate training phrases like the
-                  # Dialogflow Console does.
-                  #
-                  # Note: Do not forget to include whitespace at part boundaries,
-                  # so the training phrase is well formatted when the parts are concatenated.
-                  #
-                  # If the training phrase does not need to be annotated with parameters,
-                  # you just need a single part with only the Part.text field set.
-                  #
-                  # If you want to annotate the training phrase, you must create multiple
-                  # parts, where the fields of each part are populated in one of two ways:
-                  #
-                  # -   `Part.text` is set to a part of the phrase that has no parameters.
-                  # -   `Part.text` is set to a part of the phrase that you want to annotate,
-                  #     and the `entity_type`, `alias`, and `user_defined` fields are all
-                  #     set.
-                { # Represents a part of a training phrase.
-                  "alias": "A String", # Optional. The parameter name for the value extracted from the
-                      # annotated part of the example.
-                      # This field is required for annotated parts of the training phrase.
-                  "userDefined": True or False, # Optional. Indicates whether the text was manually annotated.
-                      # This field is set to true when the Dialogflow Console is used to
-                      # manually annotate the part. When creating an annotated part with the
-                      # API, you must set this to true.
-                  "text": "A String", # Required. The text for this part.
-                  "entityType": "A String", # Optional. The entity type name prefixed with `@`.
-                      # This field is required for annotated parts of the training phrase.
-                },
-              ],
-              "name": "A String", # Output only. The unique identifier of this training phrase.
-              "timesAddedCount": 42, # Optional. Indicates how many times this example was added to
-                  # the intent. Each time a developer adds an existing sample by editing an
-                  # intent or training, this counter is increased.
-              "type": "A String", # Required. The type of the training phrase.
-            },
-          ],
-          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
-              # session when this intent is matched.
-          "parameters": [ # Optional. The collection of parameters associated with the intent.
-            { # Represents intent parameters.
-              "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that
-                  # describes values of the parameter. If the parameter is
-                  # required, this must be provided.
-              "prompts": [ # Optional. The collection of prompts that the agent can present to the
-                  # user in order to collect a value for the parameter.
-                "A String",
-              ],
-              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
-                  # whether the intent cannot be completed without collecting the parameter
-                  # value.
-              "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty
-                  # result.
-                  # Default values can be extracted from contexts by using the following
-                  # syntax: `#context_name.parameter_name`.
-              "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
-              "name": "A String", # The unique identifier of this parameter.
-              "value": "A String", # Optional. The definition of the parameter value. It can be:
-                  #
-                  # - a constant string,
-                  # - a parameter value defined as `$parameter_name`,
-                  # - an original parameter value defined as `$parameter_name.original`,
-                  # - a parameter value from some context defined as
-                  #   `#context_name.parameter_name`.
-              "displayName": "A String", # Required. The name of the parameter.
-            },
-          ],
-          "events": [ # Optional. The collection of event names that trigger the intent.
-              # If the collection of input contexts is not empty, all of the contexts must
-              # be present in the active user session for an event to trigger this intent.
-              # Event names are limited to 150 characters.
-            "A String",
-          ],
-          "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the
-              # chain of followup intents. You can set this field when creating an intent,
-              # for example with CreateIntent or
-              # BatchUpdateIntents, in order to make this
-              # intent a followup intent.
-              #
-              # It identifies the parent followup intent.
-              # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-          "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher
-              # priorities.
-              #
-              # - If the supplied value is unspecified or 0, the service
-              #   translates the value to 500,000, which corresponds to the
-              #   `Normal` priority in the console.
-              # - If the supplied value is negative, the intent is ignored
-              #   in runtime detect intent requests.
+            # each agent, you define many intents, where your combined intents can handle a
+            # complete conversation. When an end-user writes or says something, referred to
+            # as an end-user expression or end-user input, Dialogflow matches the end-user
+            # input to the best intent in your agent. Matching an intent is also known as
+            # intent classification.
+            #
+            # For more information, see the [intent
+            # guide](https://cloud.google.com/dialogflow/docs/intents-overview).
           "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations
               # (e.g., Actions on Google or Dialogflow phone gateway) use this information
               # to close interaction with an end user. Default is false.
+          "action": "A String", # Optional. The name of the action associated with the intent.
+              # Note: The action name must not contain whitespaces.
+          "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
           "outputContexts": [ # Optional. The collection of contexts that are activated when the intent
               # is matched. Context messages in this collection should not set the
               # parameters field. Setting the `lifespan_count` to 0 will reset the context
               # when the intent is matched.
               # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
-            { # Represents a context.
+            { # Dialogflow contexts are similar to natural language context. If a person says
+                # to you "they are orange", you need context in order to understand what "they"
+                # is referring to. Similarly, for Dialogflow to handle an end-user expression
+                # like that, it needs to be provided with context in order to correctly match
+                # an intent.
+                #
+                # Using contexts, you can control the flow of a conversation. You can configure
+                # contexts for an intent by setting input and output contexts, which are
+                # identified by string names. When an intent is matched, any configured output
+                # contexts for that intent become active. While any contexts are active,
+                # Dialogflow is more likely to match intents that are configured with input
+                # contexts that correspond to the currently active contexts.
+                #
+                # For more information about context, see the
+                # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+              "parameters": { # Optional. The collection of parameters associated with this context.
+                  #
+                  # Depending on your protocol or client library language, this is a
+                  # map, associative array, symbol table, dictionary, or JSON object
+                  # composed of a collection of (MapKey, MapValue) pairs:
+                  #
+                  # -   MapKey type: string
+                  # -   MapKey value: parameter name
+                  # -   MapValue type:
+                  #     -   If parameter's entity type is a composite entity: map
+                  #     -   Else: string or number, depending on parameter value type
+                  # -   MapValue value:
+                  #     -   If parameter's entity type is a composite entity:
+                  #         map from composite entity property names to property values
+                  #     -   Else: parameter value
+                "a_key": "", # Properties of the object.
+              },
               "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                   # context expires. The default is `0`. If set to `0`, the context expires
                   # immediately. Contexts expire automatically after 20 minutes if there
@@ -2037,46 +1199,189 @@
                   # * `__system_counters__`
                   # * `*_id_dialog_context`
                   # * `*_dialog_params_size`
-              "parameters": { # Optional. The collection of parameters associated with this context.
-                  #
-                  # Depending on your protocol or client library language, this is a
-                  # map, associative array, symbol table, dictionary, or JSON object
-                  # composed of a collection of (MapKey, MapValue) pairs:
-                  #
-                  # -   MapKey type: string
-                  # -   MapKey value: parameter name
-                  # -   MapValue type:
-                  #     -   If parameter's entity type is a composite entity: map
-                  #     -   Else: string or number, depending on parameter value type
-                  # -   MapValue value:
-                  #     -   If parameter's entity type is a composite entity:
-                  #         map from composite entity property names to property values
-                  #     -   Else: parameter value
-                "a_key": "", # Properties of the object.
-              },
             },
           ],
-          "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be
-              # copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
-            "A String",
+          "displayName": "A String", # Required. The name of this intent.
+          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
+              # session when this intent is matched.
+          "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent.
+              # Note: If `ml_disabled` setting is set to true, then this intent is not
+              # taken into account during inference in `ML ONLY` match mode. Also,
+              # auto-markup in the UI is turned off.
+          "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of
+              # followup intents. It identifies the correct followup intents chain for
+              # this intent.
+              #
+              # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+          "trainingPhrases": [ # Optional. The collection of examples that the agent is
+              # trained on.
+            { # Represents an example that the agent is trained on.
+              "type": "A String", # Required. The type of the training phrase.
+              "name": "A String", # Output only. The unique identifier of this training phrase.
+              "parts": [ # Required. The ordered list of training phrase parts.
+                  # The parts are concatenated in order to form the training phrase.
+                  #
+                  # Note: The API does not automatically annotate training phrases like the
+                  # Dialogflow Console does.
+                  #
+                  # Note: Do not forget to include whitespace at part boundaries,
+                  # so the training phrase is well formatted when the parts are concatenated.
+                  #
+                  # If the training phrase does not need to be annotated with parameters,
+                  # you just need a single part with only the Part.text field set.
+                  #
+                  # If you want to annotate the training phrase, you must create multiple
+                  # parts, where the fields of each part are populated in one of two ways:
+                  #
+                  # -   `Part.text` is set to a part of the phrase that has no parameters.
+                  # -   `Part.text` is set to a part of the phrase that you want to annotate,
+                  #     and the `entity_type`, `alias`, and `user_defined` fields are all
+                  #     set.
+                { # Represents a part of a training phrase.
+                  "userDefined": True or False, # Optional. Indicates whether the text was manually annotated.
+                      # This field is set to true when the Dialogflow Console is used to
+                      # manually annotate the part. When creating an annotated part with the
+                      # API, you must set this to true.
+                  "alias": "A String", # Optional. The parameter name for the value extracted from the
+                      # annotated part of the example.
+                      # This field is required for annotated parts of the training phrase.
+                  "entityType": "A String", # Optional. The entity type name prefixed with `@`.
+                      # This field is required for annotated parts of the training phrase.
+                  "text": "A String", # Required. The text for this part.
+                },
+              ],
+              "timesAddedCount": 42, # Optional. Indicates how many times this example was added to
+                  # the intent. Each time a developer adds an existing sample by editing an
+                  # intent or training, this counter is increased.
+            },
           ],
           "messages": [ # Optional. The collection of rich messages corresponding to the
               # `Response` field in the Dialogflow console.
             { # Corresponds to the `Response` field in the Dialogflow console.
-              "text": { # The text response message. # Returns a text response.
-                "text": [ # Optional. The collection of the agent's responses.
+              "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
+                "suggestions": [ # Required. The list of suggested replies.
+                  { # The suggestion chip message that the user can tap to quickly post a reply
+                      # to the conversation.
+                    "title": "A String", # Required. The text shown the in the suggestion chip.
+                  },
+                ],
+              },
+              "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
+                "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+                "mediaObjects": [ # Required. List of media objects.
+                  { # Response media object for media content card.
+                    "description": "A String", # Optional. Description of media card.
+                    "icon": { # The image response message. # Optional. Icon to display above media content.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                    },
+                    "contentUrl": "A String", # Required. Url where the media is stored.
+                    "name": "A String", # Required. Name of media card.
+                    "largeImage": { # The image response message. # Optional. Image to display above media content.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                    },
+                  },
+                ],
+              },
+              "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
+                "phoneNumber": "A String", # Required. The phone number to transfer the call to
+                    # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
+                    #
+                    # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
+              },
+              "platform": "A String", # Optional. The platform that this message is intended for.
+              "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
+                  # Telephony Gateway.
+                  #
+                  # Telephony Gateway takes the synthesizer settings from
+                  # `DetectIntentResponse.output_audio_config` which can either be set
+                  # at request-level or can come from the agent-level synthesizer config.
+                "text": "A String", # The raw text to be synthesized.
+                "ssml": "A String", # The SSML to be synthesized. For more information, see
+                    # [SSML](https://developers.google.com/actions/reference/ssml).
+              },
+              "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
+                  # or website associated with this agent.
+                "uri": "A String", # Required. The URI of the app or site to open when the user taps the
+                    # suggestion chip.
+                "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
+              },
+              "quickReplies": { # The quick replies response message. # Displays quick replies.
+                "quickReplies": [ # Optional. The collection of quick replies.
                   "A String",
                 ],
+                "title": "A String", # Optional. The title of the collection of quick replies.
+              },
+              "card": { # The card response message. # Displays a card.
+                "subtitle": "A String", # Optional. The subtitle of the card.
+                "buttons": [ # Optional. The collection of card buttons.
+                  { # Optional. Contains information about a button.
+                    "text": "A String", # Optional. The text to show on the button.
+                    "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
+                        # open.
+                  },
+                ],
+                "imageUri": "A String", # Optional. The public URI to an image file for the card.
+                "title": "A String", # Optional. The title of the card.
+              },
+              "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
+                "subtitle": "A String", # Optional. Subtitle of the list.
+                "title": "A String", # Optional. The overall title of the list.
+                "items": [ # Required. List items.
+                  { # An item in the list.
+                    "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
+                        # dialog.
+                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                          # item in dialog.
+                        "A String",
+                      ],
+                      "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                          # response is given.
+                    },
+                    "description": "A String", # Optional. The main text describing the item.
+                    "title": "A String", # Required. The title of the list item.
+                    "image": { # The image response message. # Optional. The image to display.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                    },
+                  },
+                ],
+              },
+              "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
+                "buttons": [ # Optional. The collection of card buttons.
+                  { # The button object that appears at the bottom of a card.
+                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
+                    },
+                    "title": "A String", # Required. The title of the button.
+                  },
+                ],
+                "title": "A String", # Optional. The title of the card.
+                "image": { # The image response message. # Optional. The image for the card.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                },
+                "subtitle": "A String", # Optional. The subtitle of the card.
+                "formattedText": "A String", # Required, unless image is present. The body text of the card.
+              },
+              "image": { # The image response message. # Displays an image.
+                "imageUri": "A String", # Optional. The public URI to an image file.
+                "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                    # e.g., screen readers. Required if image_uri is set for CarouselSelect.
               },
               "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. # Rich Business Messaging (RBM) carousel rich card response.
                   #
                   # Rich cards allow you to respond to users with more vivid content, e.g.
                   # with media and suggestions.
                   #
-                  # For more details about RBM rich cards, please see:
-                  # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
                   # If you want to show a single card with more control over the layout,
                   # please use RbmStandaloneCard instead.
+                "cardWidth": "A String", # Required. The width of the cards in the carousel.
                 "cardContents": [ # Required. The cards in the carousel. A carousel must have at least
                     # 2 cards and at most 10.
                   { # Rich Business Messaging (RBM) Card content
@@ -2099,35 +1404,44 @@
                         # * video/mpeg
                         # * video/mpeg4
                         # * video/webm
-                      "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                          # provide a thumbnail URI, the RBM platform displays a blank
-                          # placeholder thumbnail until the user's device downloads the file.
-                          # Depending on the user's setting, the file may not download
-                          # automatically and may require the user to tap a download button.
                       "height": "A String", # Required for cards with vertical orientation. The height of the media
-                          # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
+                          # within a rich card with a vertical layout.
                           # For a standalone card with horizontal layout, height is not
                           # customizable, and this field is ignored.
                       "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
                           # determines the MIME type of the file from the content-type field in
                           # the HTTP headers when the platform fetches the file. The content-type
                           # field must be present and accurate in the HTTP response from the URL.
+                      "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                          # provide a thumbnail URI, the RBM platform displays a blank
+                          # placeholder thumbnail until the user's device downloads the file.
+                          # Depending on the user's setting, the file may not download
+                          # automatically and may require the user to tap a download button.
                     },
+                    "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                        #
+                        # At least one of the title, description or media must be set.
+                    "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                        #
+                        # At least one of the title, description or media must be set.
                     "suggestions": [ # Optional. List of suggestions to include in the card.
                       { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                           # easily select/click a predefined response or perform an action (like
                           # opening a web uri).
-                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                            # instead of typing in their own response.
-                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                              # when the user taps the suggested reply. This data will be also
-                              # forwarded to webhook to allow performing custom business logic.
-                          "text": "A String", # Suggested reply text.
-                        },
                         "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                             # can choose from the card.
+                          "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                              # If the user has an app installed that is
+                              # registered as the default handler for the URL, then this app will be
+                              # opened instead, and its icon will be used in the suggested action UI.
+                            "uri": "A String", # Required. The uri to open on the user device
+                          },
+                          "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                              # to send back to the agent.
+                          },
+                          "text": "A String", # Text to display alongside the action.
                           "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                              # but does not dial automatically (https://goo.gl/ergbB2).
+                              # but does not dial automatically.
                             "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
                                 # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
                                 # format. An example of a correctly formatted phone number:
@@ -2136,180 +1450,34 @@
                           "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
                               # when the user taps the suggested action. This data will be also
                               # forwarded to webhook to allow performing custom business logic.
-                          "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                              # to send back to the agent (https://goo.gl/GXotJW).
-                          },
-                          "text": "A String", # Text to display alongside the action.
-                          "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                              # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                              # registered as the default handler for the URL, then this app will be
-                              # opened instead, and its icon will be used in the suggested action UI.
-                            "uri": "A String", # Required. The uri to open on the user device
-                          },
+                        },
+                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                            # instead of typing in their own response.
+                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                              # when the user taps the suggested reply. This data will be also
+                              # forwarded to webhook to allow performing custom business logic.
+                          "text": "A String", # Suggested reply text.
                         },
                       },
                     ],
-                    "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                        #
-                        # At least one of the title, description or media must be set.
-                    "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                        #
-                        # At least one of the title, description or media must be set.
-                  },
-                ],
-                "cardWidth": "A String", # Required. The width of the cards in the carousel.
-              },
-              "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
-                "suggestions": [ # Required. The list of suggested replies.
-                  { # The suggestion chip message that the user can tap to quickly post a reply
-                      # to the conversation.
-                    "title": "A String", # Required. The text shown the in the suggestion chip.
                   },
                 ],
               },
-              "platform": "A String", # Optional. The platform that this message is intended for.
-              "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
-                "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
-                    # play, e.g., "gs://bucket/object". The object must contain a single
-                    # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
-                    #
-                    # This object must be readable by the `service-<Project
-                    # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
-                    # where <Project Number> is the number of the Telephony Gateway project
-                    # (usually the same as the Dialogflow agent project). If the Google Cloud
-                    # Storage bucket is in the Telephony Gateway project, this permission is
-                    # added by default when enabling the Dialogflow V2 API.
-                    #
-                    # For audio from other sources, consider using the
-                    # `TelephonySynthesizeSpeech` message with SSML.
-              },
-              "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
-                "title": "A String", # Optional. The overall title of the list.
-                "subtitle": "A String", # Optional. Subtitle of the list.
-                "items": [ # Required. List items.
-                  { # An item in the list.
-                    "description": "A String", # Optional. The main text describing the item.
-                    "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
-                        # dialog.
-                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                          # item in dialog.
-                        "A String",
-                      ],
-                      "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                          # response is given.
-                    },
-                    "title": "A String", # Required. The title of the list item.
-                    "image": { # The image response message. # Optional. The image to display.
-                      "imageUri": "A String", # Optional. The public URI to an image file.
-                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                    },
-                  },
-                ],
-              },
-              "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
-                  #
-                  # RBM allows businesses to send enriched and branded versions of SMS. See
-                  # https://jibe.google.com/business-messaging.
-                "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
-                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
-                      # easily select/click a predefined response or perform an action (like
-                      # opening a web uri).
-                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                        # instead of typing in their own response.
-                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                          # when the user taps the suggested reply. This data will be also
-                          # forwarded to webhook to allow performing custom business logic.
-                      "text": "A String", # Suggested reply text.
-                    },
-                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
-                        # can choose from the card.
-                      "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                          # but does not dial automatically (https://goo.gl/ergbB2).
-                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
-                            # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
-                            # format. An example of a correctly formatted phone number:
-                            # +15556767888.
-                      },
-                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                          # when the user taps the suggested action. This data will be also
-                          # forwarded to webhook to allow performing custom business logic.
-                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                          # to send back to the agent (https://goo.gl/GXotJW).
-                      },
-                      "text": "A String", # Text to display alongside the action.
-                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                          # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                          # registered as the default handler for the URL, then this app will be
-                          # opened instead, and its icon will be used in the suggested action UI.
-                        "uri": "A String", # Required. The uri to open on the user device
-                      },
-                    },
-                  },
-                ],
-                "text": "A String", # Required. Text sent and displayed to the user.
-              },
-              "quickReplies": { # The quick replies response message. # Displays quick replies.
-                "title": "A String", # Optional. The title of the collection of quick replies.
-                "quickReplies": [ # Optional. The collection of quick replies.
-                  "A String",
-                ],
-              },
-              "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
-                  # Telephony Gateway.
-                  #
-                  # Telephony Gateway takes the synthesizer settings from
-                  # `DetectIntentResponse.output_audio_config` which can either be set
-                  # at request-level or can come from the agent-level synthesizer config.
-                "text": "A String", # The raw text to be synthesized.
-                "ssml": "A String", # The SSML to be synthesized. For more information, see
-                    # [SSML](https://developers.google.com/actions/reference/ssml).
-              },
-              "card": { # The card response message. # Displays a card.
-                "title": "A String", # Optional. The title of the card.
-                "buttons": [ # Optional. The collection of card buttons.
-                  { # Optional. Contains information about a button.
-                    "text": "A String", # Optional. The text to show on the button.
-                    "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
-                        # open.
-                  },
-                ],
-                "subtitle": "A String", # Optional. The subtitle of the card.
-                "imageUri": "A String", # Optional. The public URI to an image file for the card.
-              },
-              "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
-                "title": "A String", # Optional. The title of the card.
-                "image": { # The image response message. # Optional. The image for the card.
-                  "imageUri": "A String", # Optional. The public URI to an image file.
-                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                },
-                "formattedText": "A String", # Required, unless image is present. The body text of the card.
-                "buttons": [ # Optional. The collection of card buttons.
+              "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+                "buttons": [ # Optional. List of buttons for the card.
                   { # The button object that appears at the bottom of a card.
-                    "title": "A String", # Required. The title of the button.
                     "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                       "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                     },
+                    "title": "A String", # Required. The title of the button.
                   },
                 ],
-                "subtitle": "A String", # Optional. The subtitle of the card.
-              },
-              "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+                "subtitle": "A String", # Optional. Subtitle to the title.
                 "image": { # The image response message. # Optional. Image which should be displayed on the card.
                   "imageUri": "A String", # Optional. The public URI to an image file.
                   "accessibilityText": "A String", # A text description of the image to be used for accessibility,
                       # e.g., screen readers. Required if image_uri is set for CarouselSelect.
                 },
-                "buttons": [ # Optional. List of buttons for the card.
-                  { # The button object that appears at the bottom of a card.
-                    "title": "A String", # Required. The title of the button.
-                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
-                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
-                    },
-                  },
-                ],
-                "title": "A String", # Required. Title of the card.
                 "rows": [ # Optional. Rows in this table of data.
                   { # Row of TableCard.
                     "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
@@ -2320,7 +1488,7 @@
                     ],
                   },
                 ],
-                "subtitle": "A String", # Optional. Subtitle to the title.
+                "title": "A String", # Required. Title of the card.
                 "columnProperties": [ # Optional. Display properties for the columns in this table.
                   { # Column properties for TableCard.
                     "header": "A String", # Required. Column heading.
@@ -2328,117 +1496,63 @@
                   },
                 ],
               },
-              "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
-                "items": [ # Required. Carousel items.
-                  { # An item in the carousel.
-                    "description": "A String", # Optional. The body text of the card.
-                    "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
-                        # dialog.
-                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                          # item in dialog.
-                        "A String",
-                      ],
-                      "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                          # response is given.
+              "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
+                  #
+                  # RBM allows businesses to send enriched and branded versions of SMS. See
+                  # https://jibe.google.com/business-messaging.
+                "text": "A String", # Required. Text sent and displayed to the user.
+                "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
+                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
+                      # easily select/click a predefined response or perform an action (like
+                      # opening a web uri).
+                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
+                        # can choose from the card.
+                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                          # If the user has an app installed that is
+                          # registered as the default handler for the URL, then this app will be
+                          # opened instead, and its icon will be used in the suggested action UI.
+                        "uri": "A String", # Required. The uri to open on the user device
+                      },
+                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                          # to send back to the agent.
+                      },
+                      "text": "A String", # Text to display alongside the action.
+                      "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
+                          # but does not dial automatically.
+                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
+                            # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
+                            # format. An example of a correctly formatted phone number:
+                            # +15556767888.
+                      },
+                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                          # when the user taps the suggested action. This data will be also
+                          # forwarded to webhook to allow performing custom business logic.
                     },
-                    "title": "A String", # Required. Title of the carousel item.
-                    "image": { # The image response message. # Optional. The image to display.
-                      "imageUri": "A String", # Optional. The public URI to an image file.
-                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                        # instead of typing in their own response.
+                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                          # when the user taps the suggested reply. This data will be also
+                          # forwarded to webhook to allow performing custom business logic.
+                      "text": "A String", # Suggested reply text.
                     },
                   },
                 ],
               },
-              "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
-                  # or website associated with this agent.
-                "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
-                "uri": "A String", # Required. The URI of the app or site to open when the user taps the
-                    # suggestion chip.
+              "payload": { # A custom platform-specific response.
+                "a_key": "", # Properties of the object.
               },
-              "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
-                  # https://developers.google.com/actions/assistant/responses#browsing_carousel
-                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
-                    # items.
-                "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
-                    # items, maximum of ten.
-                  { # Browsing carousel tile
-                    "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
-                        # text.
-                    "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
-                      "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
-                          # the URL. Defaults to opening via web browser.
-                      "url": "A String", # Required. URL
-                    },
-                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
-                        # Card. Maximum of one line of text.
-                    "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
-                    "image": { # The image response message. # Optional. Hero image for the carousel item.
-                      "imageUri": "A String", # Optional. The public URI to an image file.
-                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                    },
-                  },
+              "text": { # The text response message. # Returns a text response.
+                "text": [ # Optional. The collection of the agent's responses.
+                  "A String",
                 ],
               },
-              "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
-                  # This message in `QueryResult.fulfillment_messages` and
-                  # `WebhookResponse.fulfillment_messages` should contain only one
-                  # `SimpleResponse`.
-                "simpleResponses": [ # Required. The list of simple responses.
-                  { # The simple response message containing speech or text.
-                    "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
-                        # response to the user in the SSML format. Mutually exclusive with
-                        # text_to_speech.
-                    "displayText": "A String", # Optional. The text to display.
-                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                        # speech output. Mutually exclusive with ssml.
-                  },
-                ],
-              },
-              "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
-                "phoneNumber": "A String", # Required. The phone number to transfer the call to
-                    # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
-                    #
-                    # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
-              },
-              "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
-                "mediaObjects": [ # Required. List of media objects.
-                  { # Response media object for media content card.
-                    "name": "A String", # Required. Name of media card.
-                    "description": "A String", # Optional. Description of media card.
-                    "contentUrl": "A String", # Required. Url where the media is stored.
-                    "icon": { # The image response message. # Optional. Icon to display above media content.
-                      "imageUri": "A String", # Optional. The public URI to an image file.
-                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                    },
-                    "largeImage": { # The image response message. # Optional. Image to display above media content.
-                      "imageUri": "A String", # Optional. The public URI to an image file.
-                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                    },
-                  },
-                ],
-                "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
-              },
-              "image": { # The image response message. # Displays an image.
-                "imageUri": "A String", # Optional. The public URI to an image file.
-                "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                    # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-              },
               "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. # Standalone Rich Business Messaging (RBM) rich card response.
                   #
                   # Rich cards allow you to respond to users with more vivid content, e.g.
                   # with media and suggestions.
                   #
-                  # For more details about RBM rich cards, please see:
-                  # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
                   # You can group multiple rich cards into one using RbmCarouselCard but
                   # carousel cards will give you less control over the card layout.
-                "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
-                    # Image preview alignment for standalone cards with horizontal layout.
-                "cardOrientation": "A String", # Required. Orientation of the card.
                 "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                   "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
                       # be set. Media (image, GIF or a video) to include in the card.
@@ -2459,35 +1573,44 @@
                       # * video/mpeg
                       # * video/mpeg4
                       # * video/webm
-                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                        # provide a thumbnail URI, the RBM platform displays a blank
-                        # placeholder thumbnail until the user's device downloads the file.
-                        # Depending on the user's setting, the file may not download
-                        # automatically and may require the user to tap a download button.
                     "height": "A String", # Required for cards with vertical orientation. The height of the media
-                        # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
+                        # within a rich card with a vertical layout.
                         # For a standalone card with horizontal layout, height is not
                         # customizable, and this field is ignored.
                     "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
                         # determines the MIME type of the file from the content-type field in
                         # the HTTP headers when the platform fetches the file. The content-type
                         # field must be present and accurate in the HTTP response from the URL.
+                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                        # provide a thumbnail URI, the RBM platform displays a blank
+                        # placeholder thumbnail until the user's device downloads the file.
+                        # Depending on the user's setting, the file may not download
+                        # automatically and may require the user to tap a download button.
                   },
+                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
                   "suggestions": [ # Optional. List of suggestions to include in the card.
                     { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                         # easily select/click a predefined response or perform an action (like
                         # opening a web uri).
-                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                          # instead of typing in their own response.
-                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                            # when the user taps the suggested reply. This data will be also
-                            # forwarded to webhook to allow performing custom business logic.
-                        "text": "A String", # Suggested reply text.
-                      },
                       "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                           # can choose from the card.
+                        "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                            # If the user has an app installed that is
+                            # registered as the default handler for the URL, then this app will be
+                            # opened instead, and its icon will be used in the suggested action UI.
+                          "uri": "A String", # Required. The uri to open on the user device
+                        },
+                        "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                            # to send back to the agent.
+                        },
+                        "text": "A String", # Text to display alongside the action.
                         "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                            # but does not dial automatically (https://goo.gl/ergbB2).
+                            # but does not dial automatically.
                           "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
                               # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
                               # format. An example of a correctly formatted phone number:
@@ -2496,63 +1619,947 @@
                         "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
                             # when the user taps the suggested action. This data will be also
                             # forwarded to webhook to allow performing custom business logic.
-                        "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                            # to send back to the agent (https://goo.gl/GXotJW).
-                        },
-                        "text": "A String", # Text to display alongside the action.
-                        "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                            # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                            # registered as the default handler for the URL, then this app will be
-                            # opened instead, and its icon will be used in the suggested action UI.
-                          "uri": "A String", # Required. The uri to open on the user device
-                        },
+                      },
+                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                          # instead of typing in their own response.
+                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                            # when the user taps the suggested reply. This data will be also
+                            # forwarded to webhook to allow performing custom business logic.
+                        "text": "A String", # Suggested reply text.
                       },
                     },
                   ],
-                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                      #
-                      # At least one of the title, description or media must be set.
-                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                      #
-                      # At least one of the title, description or media must be set.
                 },
+                "cardOrientation": "A String", # Required. Orientation of the card.
+                "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
+                    # Image preview alignment for standalone cards with horizontal layout.
               },
-              "payload": { # A custom platform-specific response.
-                "a_key": "", # Properties of the object.
+              "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
+                "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
+                    # play, e.g., "gs://bucket/object". The object must contain a single
+                    # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
+                    #
+                    # This object must be readable by the `service-<Project
+                    # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                    # where <Project Number> is the number of the Telephony Gateway project
+                    # (usually the same as the Dialogflow agent project). If the Google Cloud
+                    # Storage bucket is in the Telephony Gateway project, this permission is
+                    # added by default when enabling the Dialogflow V2 API.
+                    #
+                    # For audio from other sources, consider using the
+                    # `TelephonySynthesizeSpeech` message with SSML.
+              },
+              "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
+                "items": [ # Required. Carousel items.
+                  { # An item in the carousel.
+                    "image": { # The image response message. # Optional. The image to display.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                    },
+                    "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
+                        # dialog.
+                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                          # item in dialog.
+                        "A String",
+                      ],
+                      "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                          # response is given.
+                    },
+                    "title": "A String", # Required. Title of the carousel item.
+                    "description": "A String", # Optional. The body text of the card.
+                  },
+                ],
+              },
+              "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
+                  # This message in `QueryResult.fulfillment_messages` and
+                  # `WebhookResponse.fulfillment_messages` should contain only one
+                  # `SimpleResponse`.
+                "simpleResponses": [ # Required. The list of simple responses.
+                  { # The simple response message containing speech or text.
+                    "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
+                        # response to the user in the SSML format. Mutually exclusive with
+                        # text_to_speech.
+                    "displayText": "A String", # Optional. The text to display.
+                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                        # speech output. Mutually exclusive with ssml.
+                  },
+                ],
+              },
+              "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+                  # https://developers.google.com/actions/assistant/responses#browsing_carousel
+                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                    # items.
+                "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                    # items, maximum of ten.
+                  { # Browsing carousel tile
+                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                        # Card. Maximum of one line of text.
+                    "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
+                    "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
+                        # text.
+                    "image": { # The image response message. # Optional. Hero image for the carousel item.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                      "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                          # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                    },
+                    "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                      "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                          # the URL. Defaults to opening via web browser.
+                      "url": "A String", # Required. URL
+                    },
+                  },
+                ],
               },
             },
           ],
-          "action": "A String", # Optional. The name of the action associated with the intent.
-              # Note: The action name must not contain whitespaces.
+          "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the
+              # chain of followup intents. You can set this field when creating an intent,
+              # for example with CreateIntent or
+              # BatchUpdateIntents, in order to make this
+              # intent a followup intent.
+              #
+              # It identifies the parent followup intent.
+              # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+          "parameters": [ # Optional. The collection of parameters associated with the intent.
+            { # Represents intent parameters.
+              "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
+              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
+                  # whether the intent cannot be completed without collecting the parameter
+                  # value.
+              "prompts": [ # Optional. The collection of prompts that the agent can present to the
+                  # user in order to collect a value for the parameter.
+                "A String",
+              ],
+              "name": "A String", # The unique identifier of this parameter.
+              "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that
+                  # describes values of the parameter. If the parameter is
+                  # required, this must be provided.
+              "displayName": "A String", # Required. The name of the parameter.
+              "value": "A String", # Optional. The definition of the parameter value. It can be:
+                  #
+                  # - a constant string,
+                  # - a parameter value defined as `$parameter_name`,
+                  # - an original parameter value defined as `$parameter_name.original`,
+                  # - a parameter value from some context defined as
+                  #   `#context_name.parameter_name`.
+              "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty
+                  # result.
+                  # Default values can be extracted from contexts by using the following
+                  # syntax: `#context_name.parameter_name`.
+            },
+          ],
+          "events": [ # Optional. The collection of event names that trigger the intent.
+              # If the collection of input contexts is not empty, all of the contexts must
+              # be present in the active user session for an event to trigger this intent.
+              # Event names are limited to 150 characters.
+            "A String",
+          ],
+          "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
           "name": "A String", # Optional. The unique identifier of this intent.
               # Required for Intents.UpdateIntent and Intents.BatchUpdateIntents
               # methods.
               # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-          "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
+          "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
+              # Note: If `ml_enabled` setting is set to false, then this intent is not
+              # taken into account during inference in `ML ONLY` match mode. Also,
+              # auto-markup in the UI is turned off.
+              # DEPRECATED! Please use `ml_disabled` field instead.
+              # NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false,
+              # then the default value is determined as follows:
+              # - Before April 15th, 2018 the default is:
+              #   ml_enabled = false / ml_disabled = true.
+              # - After April 15th, 2018 the default is:
+              #   ml_enabled = true / ml_disabled = false.
+          "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as
+              # a direct or indirect parent. We populate this field only in the output.
+            { # Represents a single followup intent in the chain.
+              "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent.
+                  # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+              "followupIntentName": "A String", # The unique identifier of the followup intent.
+                  # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+            },
+          ],
+          "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be
+              # copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
+            "A String",
+          ],
           "inputContextNames": [ # Optional. The list of context names required for this intent to be
               # triggered.
               # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
             "A String",
           ],
-          "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as
-              # a direct or indirect parent. We populate this field only in the output.
-            { # Represents a single followup intent in the chain.
-              "followupIntentName": "A String", # The unique identifier of the followup intent.
-                  # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-              "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent.
-                  # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+          "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher
+              # priorities.
+              #
+              # - If the supplied value is unspecified or 0, the service
+              #   translates the value to 500,000, which corresponds to the
+              #   `Normal` priority in the console.
+              # - If the supplied value is negative, the intent is ignored
+              #   in runtime detect intent requests.
+        },
+        "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the
+            # value of the `source` field returned in the webhook response.
+        "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing
+            # `KnowledgeAnswers.match_confidence`.
+          "answers": [ # A list of answers from Knowledge Connector.
+            { # An answer from Knowledge Connector.
+              "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
+                  # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
+                  # ID>/documents/<Document ID>`.
+              "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match
+                  # for this conversational query.
+                  # The range is from 0.0 (completely uncertain) to 1.0 (completely certain).
+                  # Note: The confidence score is likely to vary somewhat (possibly even for
+                  # identical requests), as the underlying model is under constant
+                  # improvement. It may be deprecated in the future. We recommend using
+                  # `match_confidence_level` which should be generally more stable.
+              "answer": "A String", # The piece of text from the `source` knowledge base document that answers
+                  # this conversational query.
+              "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ
+                  # Document, empty otherwise.
+              "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match
+                  # for this conversational query.
+                  # NOTE: The confidence level for a given `<query, answer>` pair may change
+                  # without notice, as it depends on models that are constantly being
+                  # improved. However, it will change less frequently than the confidence
+                  # score below, and should be preferred for referencing the quality of an
+                  # answer.
             },
           ],
         },
-        "languageCode": "A String", # The language that was triggered during intent detection.
-            # See [Language
-            # Support](https://cloud.google.com/dialogflow/docs/reference/language)
-            # for a list of the currently supported language codes.
-        "outputContexts": [ # The collection of output contexts. If applicable,
-            # `output_contexts.parameters` contains entries with name
-            # `<parameter name>.original` containing the original parameter values
-            # before the query.
-          { # Represents a context.
+      },
+    ],
+    "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. # The config used by the speech synthesizer to generate the output audio.
+        # If this audio config is supplied in a request, it overrides all existing
+        # text-to-speech settings applied to the agent.
+      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Configuration of how speech should be synthesized.
+        "speakingRate": 3.14, # Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal
+            # native speed supported by the specific voice. 2.0 is twice as fast, and
+            # 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any
+            # other values < 0.25 or > 4.0 will return an error.
+        "pitch": 3.14, # Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
+            # semitones from the original pitch. -20 means decrease 20 semitones from the
+            # original pitch.
+        "volumeGainDb": 3.14, # Optional. Volume gain (in dB) of the normal native volume supported by the
+            # specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
+            # 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
+            # will play at approximately half the amplitude of the normal native signal
+            # amplitude. A value of +6.0 (dB) will play at approximately twice the
+            # amplitude of the normal native signal amplitude. We strongly recommend not
+            # to exceed +10 (dB) as there's usually no effective increase in loudness for
+            # any value greater than that.
+        "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
+          "ssmlGender": "A String", # Optional. The preferred gender of the voice. If not set, the service will
+              # choose a voice based on the other parameters such as language_code and
+              # name. Note that this is only a preference, not requirement. If a
+              # voice of the appropriate gender is not available, the synthesizer should
+              # substitute a voice with a different gender rather than failing the request.
+          "name": "A String", # Optional. The name of the voice. If not set, the service will choose a
+              # voice based on the other parameters such as language_code and
+              # ssml_gender.
+        },
+        "effectsProfileId": [ # Optional. An identifier which selects 'audio effects' profiles that are
+            # applied on (post synthesized) text to speech. Effects are applied on top of
+            # each other in the order they are given.
+          "A String",
+        ],
+      },
+      "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
+      "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not
+          # provided, then the synthesizer will use the default sample rate based on
+          # the audio encoding. If this is different from the voice's natural sample
+          # rate, then the synthesizer will honor this request by converting to the
+          # desired sample rate (which might result in worse audio quality).
+    },
+    "outputAudio": "A String", # The audio data bytes encoded as specified in the request.
+        # Note: The output audio is generated based on the values of default platform
+        # text responses found in the `query_result.fulfillment_messages` field. If
+        # multiple default text responses exist, they will be concatenated when
+        # generating audio. If no default platform text responses exist, the
+        # generated audio content will be empty.
+        #
+        # In some scenarios, multiple output audio fields may be present in the
+        # response structure. In these cases, only the top-most-level audio output
+        # has content.
+    "webhookStatus": { # The `Status` type defines a logical error model that is suitable for # Specifies the status of the webhook request.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+    },
+    "queryResult": { # Represents the result of conversational query or event processing. # The selected results of the conversational query or event processing.
+        # See `alternative_query_results` for additional potential results.
+      "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen.
+          # Note: This is a legacy field, `fulfillment_messages` should be preferred.
+      "parameters": { # The collection of extracted parameters.
+          #
+          # Depending on your protocol or client library language, this is a
+          # map, associative array, symbol table, dictionary, or JSON object
+          # composed of a collection of (MapKey, MapValue) pairs:
+          #
+          # -   MapKey type: string
+          # -   MapKey value: parameter name
+          # -   MapValue type:
+          #     -   If parameter's entity type is a composite entity: map
+          #     -   Else: string or number, depending on parameter value type
+          # -   MapValue value:
+          #     -   If parameter's entity type is a composite entity:
+          #         map from composite entity property names to property values
+          #     -   Else: parameter value
+        "a_key": "", # Properties of the object.
+      },
+      "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request.
+          # The fields of this data can change without notice, so you should not write
+          # code that depends on its structure.
+          # The data may contain:
+          #
+          # - webhook call latency
+          # - webhook errors
+        "a_key": "", # Properties of the object.
+      },
+      "languageCode": "A String", # The language that was triggered during intent detection.
+          # See [Language
+          # Support](https://cloud.google.com/dialogflow/docs/reference/language)
+          # for a list of the currently supported language codes.
+      "outputContexts": [ # The collection of output contexts. If applicable,
+          # `output_contexts.parameters` contains entries with name
+          # `<parameter name>.original` containing the original parameter values
+          # before the query.
+        { # Dialogflow contexts are similar to natural language context. If a person says
+            # to you "they are orange", you need context in order to understand what "they"
+            # is referring to. Similarly, for Dialogflow to handle an end-user expression
+            # like that, it needs to be provided with context in order to correctly match
+            # an intent.
+            #
+            # Using contexts, you can control the flow of a conversation. You can configure
+            # contexts for an intent by setting input and output contexts, which are
+            # identified by string names. When an intent is matched, any configured output
+            # contexts for that intent become active. While any contexts are active,
+            # Dialogflow is more likely to match intents that are configured with input
+            # contexts that correspond to the currently active contexts.
+            #
+            # For more information about context, see the
+            # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+          "parameters": { # Optional. The collection of parameters associated with this context.
+              #
+              # Depending on your protocol or client library language, this is a
+              # map, associative array, symbol table, dictionary, or JSON object
+              # composed of a collection of (MapKey, MapValue) pairs:
+              #
+              # -   MapKey type: string
+              # -   MapKey value: parameter name
+              # -   MapValue type:
+              #     -   If parameter's entity type is a composite entity: map
+              #     -   Else: string or number, depending on parameter value type
+              # -   MapValue value:
+              #     -   If parameter's entity type is a composite entity:
+              #         map from composite entity property names to property values
+              #     -   Else: parameter value
+            "a_key": "", # Properties of the object.
+          },
+          "lifespanCount": 42, # Optional. The number of conversational query requests after which the
+              # context expires. The default is `0`. If set to `0`, the context expires
+              # immediately. Contexts expire automatically after 20 minutes if there
+              # are no matching queries.
+          "name": "A String", # Required. The unique identifier of the context. Format:
+              # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
+              # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
+              # ID>/sessions/<Session ID>/contexts/<Context ID>`.
+              #
+              # The `Context ID` is always converted to lowercase, may only contain
+              # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
+              #
+              # If `Environment ID` is not specified, we assume default 'draft'
+              # environment. If `User ID` is not specified, we assume default '-' user.
+              #
+              # The following context names are reserved for internal use by Dialogflow.
+              # You should not use these contexts or create contexts with these names:
+              #
+              # * `__system_counters__`
+              # * `*_id_dialog_context`
+              # * `*_dialog_params_size`
+        },
+      ],
+      "queryText": "A String", # The original conversational query text:
+          #
+          # - If natural language text was provided as input, `query_text` contains
+          #   a copy of the input.
+          # - If natural language speech audio was provided as input, `query_text`
+          #   contains the speech recognition result. If speech recognizer produced
+          #   multiple alternatives, a particular one is picked.
+          # - If automatic spell correction is enabled, `query_text` will contain the
+          #   corrected user input.
+      "intentDetectionConfidence": 3.14, # The intent detection confidence. Values range from 0.0
+          # (completely uncertain) to 1.0 (completely certain).
+          # This value is for informational purpose only and is only used to
+          # help match the best intent within the classification threshold.
+          # This value may change for the same end-user expression at any time due to a
+          # model retraining or change in implementation.
+          # If there are `multiple knowledge_answers` messages, this value is set to
+          # the greatest `knowledgeAnswers.match_confidence` value in the list.
+      "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the
+          # value of the `payload` field returned in the webhook response.
+        "a_key": "", # Properties of the object.
+      },
+      "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number
+          # indicates an estimated greater likelihood that the recognized words are
+          # correct. The default of 0.0 is a sentinel value indicating that confidence
+          # was not set.
+          #
+          # This field is not guaranteed to be accurate or set. In particular this
+          # field isn't set for StreamingDetectIntent since the streaming endpoint has
+          # separate confidence estimates per portion of the audio in
+          # StreamingRecognitionResult.
+      "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input # The sentiment analysis result, which depends on the
+          # `sentiment_analysis_request_config` specified in the request.
+          # and identifies the prevailing subjective opinion, especially to determine a
+          # user's attitude as positive, negative, or neutral.
+          # For Participants.AnalyzeContent, it needs to be configured in
+          # DetectIntentRequest.query_params. For
+          # Participants.StreamingAnalyzeContent, it needs to be configured in
+          # StreamingDetectIntentRequest.query_params.
+          # And for Participants.AnalyzeContent and
+          # Participants.StreamingAnalyzeContent, it needs to be configured in
+          # ConversationProfile.human_agent_assistant_config
+        "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit # The sentiment analysis result for `query_text`.
+            # of analysis, such as the query text.
+          "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute
+              # magnitude of sentiment, regardless of score (positive or negative).
+          "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
+              # sentiment).
+        },
+      },
+      "action": "A String", # The action name from the matched intent.
+      "allRequiredParamsPresent": True or False, # This field is set to:
+          #
+          # - `false` if the matched intent has required parameters and not all of
+          #    the required parameter values have been collected.
+          # - `true` if all required parameter values have been collected, or if the
+          #    matched intent doesn't contain any required parameters.
+      "fulfillmentMessages": [ # The collection of rich messages to present to the user.
+        { # Corresponds to the `Response` field in the Dialogflow console.
+          "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
+            "suggestions": [ # Required. The list of suggested replies.
+              { # The suggestion chip message that the user can tap to quickly post a reply
+                  # to the conversation.
+                "title": "A String", # Required. The text shown the in the suggestion chip.
+              },
+            ],
+          },
+          "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
+            "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+            "mediaObjects": [ # Required. List of media objects.
+              { # Response media object for media content card.
+                "description": "A String", # Optional. Description of media card.
+                "icon": { # The image response message. # Optional. Icon to display above media content.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                },
+                "contentUrl": "A String", # Required. Url where the media is stored.
+                "name": "A String", # Required. Name of media card.
+                "largeImage": { # The image response message. # Optional. Image to display above media content.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                },
+              },
+            ],
+          },
+          "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
+            "phoneNumber": "A String", # Required. The phone number to transfer the call to
+                # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
+                #
+                # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
+          },
+          "platform": "A String", # Optional. The platform that this message is intended for.
+          "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
+              # Telephony Gateway.
+              #
+              # Telephony Gateway takes the synthesizer settings from
+              # `DetectIntentResponse.output_audio_config` which can either be set
+              # at request-level or can come from the agent-level synthesizer config.
+            "text": "A String", # The raw text to be synthesized.
+            "ssml": "A String", # The SSML to be synthesized. For more information, see
+                # [SSML](https://developers.google.com/actions/reference/ssml).
+          },
+          "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
+              # or website associated with this agent.
+            "uri": "A String", # Required. The URI of the app or site to open when the user taps the
+                # suggestion chip.
+            "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
+          },
+          "quickReplies": { # The quick replies response message. # Displays quick replies.
+            "quickReplies": [ # Optional. The collection of quick replies.
+              "A String",
+            ],
+            "title": "A String", # Optional. The title of the collection of quick replies.
+          },
+          "card": { # The card response message. # Displays a card.
+            "subtitle": "A String", # Optional. The subtitle of the card.
+            "buttons": [ # Optional. The collection of card buttons.
+              { # Optional. Contains information about a button.
+                "text": "A String", # Optional. The text to show on the button.
+                "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
+                    # open.
+              },
+            ],
+            "imageUri": "A String", # Optional. The public URI to an image file for the card.
+            "title": "A String", # Optional. The title of the card.
+          },
+          "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
+            "subtitle": "A String", # Optional. Subtitle of the list.
+            "title": "A String", # Optional. The overall title of the list.
+            "items": [ # Required. List items.
+              { # An item in the list.
+                "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
+                    # dialog.
+                  "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                      # item in dialog.
+                    "A String",
+                  ],
+                  "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                      # response is given.
+                },
+                "description": "A String", # Optional. The main text describing the item.
+                "title": "A String", # Required. The title of the list item.
+                "image": { # The image response message. # Optional. The image to display.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                },
+              },
+            ],
+          },
+          "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
+            "buttons": [ # Optional. The collection of card buttons.
+              { # The button object that appears at the bottom of a card.
+                "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                  "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
+                },
+                "title": "A String", # Required. The title of the button.
+              },
+            ],
+            "title": "A String", # Optional. The title of the card.
+            "image": { # The image response message. # Optional. The image for the card.
+              "imageUri": "A String", # Optional. The public URI to an image file.
+              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+            },
+            "subtitle": "A String", # Optional. The subtitle of the card.
+            "formattedText": "A String", # Required, unless image is present. The body text of the card.
+          },
+          "image": { # The image response message. # Displays an image.
+            "imageUri": "A String", # Optional. The public URI to an image file.
+            "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+          },
+          "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. # Rich Business Messaging (RBM) carousel rich card response.
+              #
+              # Rich cards allow you to respond to users with more vivid content, e.g.
+              # with media and suggestions.
+              #
+              # If you want to show a single card with more control over the layout,
+              # please use RbmStandaloneCard instead.
+            "cardWidth": "A String", # Required. The width of the cards in the carousel.
+            "cardContents": [ # Required. The cards in the carousel. A carousel must have at least
+                # 2 cards and at most 10.
+              { # Rich Business Messaging (RBM) Card content
+                "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
+                    # be set. Media (image, GIF or a video) to include in the card.
+                    # The following media-types are currently supported:
+                    #
+                    # Image Types
+                    #
+                    # * image/jpeg
+                    # * image/jpg'
+                    # * image/gif
+                    # * image/png
+                    #
+                    # Video Types
+                    #
+                    # * video/h263
+                    # * video/m4v
+                    # * video/mp4
+                    # * video/mpeg
+                    # * video/mpeg4
+                    # * video/webm
+                  "height": "A String", # Required for cards with vertical orientation. The height of the media
+                      # within a rich card with a vertical layout.
+                      # For a standalone card with horizontal layout, height is not
+                      # customizable, and this field is ignored.
+                  "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
+                      # determines the MIME type of the file from the content-type field in
+                      # the HTTP headers when the platform fetches the file. The content-type
+                      # field must be present and accurate in the HTTP response from the URL.
+                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                      # provide a thumbnail URI, the RBM platform displays a blank
+                      # placeholder thumbnail until the user's device downloads the file.
+                      # Depending on the user's setting, the file may not download
+                      # automatically and may require the user to tap a download button.
+                },
+                "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "suggestions": [ # Optional. List of suggestions to include in the card.
+                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
+                      # easily select/click a predefined response or perform an action (like
+                      # opening a web uri).
+                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
+                        # can choose from the card.
+                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                          # If the user has an app installed that is
+                          # registered as the default handler for the URL, then this app will be
+                          # opened instead, and its icon will be used in the suggested action UI.
+                        "uri": "A String", # Required. The uri to open on the user device
+                      },
+                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                          # to send back to the agent.
+                      },
+                      "text": "A String", # Text to display alongside the action.
+                      "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
+                          # but does not dial automatically.
+                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
+                            # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
+                            # format. An example of a correctly formatted phone number:
+                            # +15556767888.
+                      },
+                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                          # when the user taps the suggested action. This data will be also
+                          # forwarded to webhook to allow performing custom business logic.
+                    },
+                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                        # instead of typing in their own response.
+                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                          # when the user taps the suggested reply. This data will be also
+                          # forwarded to webhook to allow performing custom business logic.
+                      "text": "A String", # Suggested reply text.
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+          "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+            "buttons": [ # Optional. List of buttons for the card.
+              { # The button object that appears at the bottom of a card.
+                "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                  "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
+                },
+                "title": "A String", # Required. The title of the button.
+              },
+            ],
+            "subtitle": "A String", # Optional. Subtitle to the title.
+            "image": { # The image response message. # Optional. Image which should be displayed on the card.
+              "imageUri": "A String", # Optional. The public URI to an image file.
+              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+            },
+            "rows": [ # Optional. Rows in this table of data.
+              { # Row of TableCard.
+                "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
+                "cells": [ # Optional. List of cells that make up this row.
+                  { # Cell of TableCardRow.
+                    "text": "A String", # Required. Text in this cell.
+                  },
+                ],
+              },
+            ],
+            "title": "A String", # Required. Title of the card.
+            "columnProperties": [ # Optional. Display properties for the columns in this table.
+              { # Column properties for TableCard.
+                "header": "A String", # Required. Column heading.
+                "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
+              },
+            ],
+          },
+          "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
+              #
+              # RBM allows businesses to send enriched and branded versions of SMS. See
+              # https://jibe.google.com/business-messaging.
+            "text": "A String", # Required. Text sent and displayed to the user.
+            "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
+              { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
+                  # easily select/click a predefined response or perform an action (like
+                  # opening a web uri).
+                "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
+                    # can choose from the card.
+                  "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                      # If the user has an app installed that is
+                      # registered as the default handler for the URL, then this app will be
+                      # opened instead, and its icon will be used in the suggested action UI.
+                    "uri": "A String", # Required. The uri to open on the user device
+                  },
+                  "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                      # to send back to the agent.
+                  },
+                  "text": "A String", # Text to display alongside the action.
+                  "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
+                      # but does not dial automatically.
+                    "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
+                        # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
+                        # format. An example of a correctly formatted phone number:
+                        # +15556767888.
+                  },
+                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                      # when the user taps the suggested action. This data will be also
+                      # forwarded to webhook to allow performing custom business logic.
+                },
+                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                    # instead of typing in their own response.
+                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                      # when the user taps the suggested reply. This data will be also
+                      # forwarded to webhook to allow performing custom business logic.
+                  "text": "A String", # Suggested reply text.
+                },
+              },
+            ],
+          },
+          "payload": { # A custom platform-specific response.
+            "a_key": "", # Properties of the object.
+          },
+          "text": { # The text response message. # Returns a text response.
+            "text": [ # Optional. The collection of the agent's responses.
+              "A String",
+            ],
+          },
+          "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. # Standalone Rich Business Messaging (RBM) rich card response.
+              #
+              # Rich cards allow you to respond to users with more vivid content, e.g.
+              # with media and suggestions.
+              #
+              # You can group multiple rich cards into one using RbmCarouselCard but
+              # carousel cards will give you less control over the card layout.
+            "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
+              "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
+                  # be set. Media (image, GIF or a video) to include in the card.
+                  # The following media-types are currently supported:
+                  #
+                  # Image Types
+                  #
+                  # * image/jpeg
+                  # * image/jpg'
+                  # * image/gif
+                  # * image/png
+                  #
+                  # Video Types
+                  #
+                  # * video/h263
+                  # * video/m4v
+                  # * video/mp4
+                  # * video/mpeg
+                  # * video/mpeg4
+                  # * video/webm
+                "height": "A String", # Required for cards with vertical orientation. The height of the media
+                    # within a rich card with a vertical layout.
+                    # For a standalone card with horizontal layout, height is not
+                    # customizable, and this field is ignored.
+                "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
+                    # determines the MIME type of the file from the content-type field in
+                    # the HTTP headers when the platform fetches the file. The content-type
+                    # field must be present and accurate in the HTTP response from the URL.
+                "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                    # provide a thumbnail URI, the RBM platform displays a blank
+                    # placeholder thumbnail until the user's device downloads the file.
+                    # Depending on the user's setting, the file may not download
+                    # automatically and may require the user to tap a download button.
+              },
+              "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                  #
+                  # At least one of the title, description or media must be set.
+              "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                  #
+                  # At least one of the title, description or media must be set.
+              "suggestions": [ # Optional. List of suggestions to include in the card.
+                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
+                    # easily select/click a predefined response or perform an action (like
+                    # opening a web uri).
+                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
+                      # can choose from the card.
+                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                        # If the user has an app installed that is
+                        # registered as the default handler for the URL, then this app will be
+                        # opened instead, and its icon will be used in the suggested action UI.
+                      "uri": "A String", # Required. The uri to open on the user device
+                    },
+                    "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                        # to send back to the agent.
+                    },
+                    "text": "A String", # Text to display alongside the action.
+                    "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
+                        # but does not dial automatically.
+                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
+                          # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
+                          # format. An example of a correctly formatted phone number:
+                          # +15556767888.
+                    },
+                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                        # when the user taps the suggested action. This data will be also
+                        # forwarded to webhook to allow performing custom business logic.
+                  },
+                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                      # instead of typing in their own response.
+                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                        # when the user taps the suggested reply. This data will be also
+                        # forwarded to webhook to allow performing custom business logic.
+                    "text": "A String", # Suggested reply text.
+                  },
+                },
+              ],
+            },
+            "cardOrientation": "A String", # Required. Orientation of the card.
+            "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
+                # Image preview alignment for standalone cards with horizontal layout.
+          },
+          "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
+            "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
+                # play, e.g., "gs://bucket/object". The object must contain a single
+                # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
+                #
+                # This object must be readable by the `service-<Project
+                # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                # where <Project Number> is the number of the Telephony Gateway project
+                # (usually the same as the Dialogflow agent project). If the Google Cloud
+                # Storage bucket is in the Telephony Gateway project, this permission is
+                # added by default when enabling the Dialogflow V2 API.
+                #
+                # For audio from other sources, consider using the
+                # `TelephonySynthesizeSpeech` message with SSML.
+          },
+          "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
+            "items": [ # Required. Carousel items.
+              { # An item in the carousel.
+                "image": { # The image response message. # Optional. The image to display.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                },
+                "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
+                    # dialog.
+                  "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                      # item in dialog.
+                    "A String",
+                  ],
+                  "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                      # response is given.
+                },
+                "title": "A String", # Required. Title of the carousel item.
+                "description": "A String", # Optional. The body text of the card.
+              },
+            ],
+          },
+          "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
+              # This message in `QueryResult.fulfillment_messages` and
+              # `WebhookResponse.fulfillment_messages` should contain only one
+              # `SimpleResponse`.
+            "simpleResponses": [ # Required. The list of simple responses.
+              { # The simple response message containing speech or text.
+                "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
+                    # response to the user in the SSML format. Mutually exclusive with
+                    # text_to_speech.
+                "displayText": "A String", # Optional. The text to display.
+                "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                    # speech output. Mutually exclusive with ssml.
+              },
+            ],
+          },
+          "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+              # https://developers.google.com/actions/assistant/responses#browsing_carousel
+            "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                # items.
+            "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                # items, maximum of ten.
+              { # Browsing carousel tile
+                "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                    # Card. Maximum of one line of text.
+                "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
+                "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
+                    # text.
+                "image": { # The image response message. # Optional. Hero image for the carousel item.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                  "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                      # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                },
+                "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                  "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                      # the URL. Defaults to opening via web browser.
+                  "url": "A String", # Required. URL
+                },
+              },
+            ],
+          },
+        },
+      ],
+      "intent": { # An intent categorizes an end-user's intention for one conversation turn. For # The intent that matched the conversational query. Some, not
+          # all fields are filled in this message, including but not limited to:
+          # `name`, `display_name`, `end_interaction` and `is_fallback`.
+          # each agent, you define many intents, where your combined intents can handle a
+          # complete conversation. When an end-user writes or says something, referred to
+          # as an end-user expression or end-user input, Dialogflow matches the end-user
+          # input to the best intent in your agent. Matching an intent is also known as
+          # intent classification.
+          #
+          # For more information, see the [intent
+          # guide](https://cloud.google.com/dialogflow/docs/intents-overview).
+        "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations
+            # (e.g., Actions on Google or Dialogflow phone gateway) use this information
+            # to close interaction with an end user. Default is false.
+        "action": "A String", # Optional. The name of the action associated with the intent.
+            # Note: The action name must not contain whitespaces.
+        "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
+        "outputContexts": [ # Optional. The collection of contexts that are activated when the intent
+            # is matched. Context messages in this collection should not set the
+            # parameters field. Setting the `lifespan_count` to 0 will reset the context
+            # when the intent is matched.
+            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
+          { # Dialogflow contexts are similar to natural language context. If a person says
+              # to you "they are orange", you need context in order to understand what "they"
+              # is referring to. Similarly, for Dialogflow to handle an end-user expression
+              # like that, it needs to be provided with context in order to correctly match
+              # an intent.
+              #
+              # Using contexts, you can control the flow of a conversation. You can configure
+              # contexts for an intent by setting input and output contexts, which are
+              # identified by string names. When an intent is matched, any configured output
+              # contexts for that intent become active. While any contexts are active,
+              # Dialogflow is more likely to match intents that are configured with input
+              # contexts that correspond to the currently active contexts.
+              #
+              # For more information about context, see the
+              # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+            "parameters": { # Optional. The collection of parameters associated with this context.
+                #
+                # Depending on your protocol or client library language, this is a
+                # map, associative array, symbol table, dictionary, or JSON object
+                # composed of a collection of (MapKey, MapValue) pairs:
+                #
+                # -   MapKey type: string
+                # -   MapKey value: parameter name
+                # -   MapValue type:
+                #     -   If parameter's entity type is a composite entity: map
+                #     -   Else: string or number, depending on parameter value type
+                # -   MapValue value:
+                #     -   If parameter's entity type is a composite entity:
+                #         map from composite entity property names to property values
+                #     -   Else: parameter value
+              "a_key": "", # Properties of the object.
+            },
             "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                 # context expires. The default is `0`. If set to `0`, the context expires
                 # immediately. Contexts expire automatically after 20 minutes if there
@@ -2574,45 +2581,189 @@
                 # * `__system_counters__`
                 # * `*_id_dialog_context`
                 # * `*_dialog_params_size`
-            "parameters": { # Optional. The collection of parameters associated with this context.
-                #
-                # Depending on your protocol or client library language, this is a
-                # map, associative array, symbol table, dictionary, or JSON object
-                # composed of a collection of (MapKey, MapValue) pairs:
-                #
-                # -   MapKey type: string
-                # -   MapKey value: parameter name
-                # -   MapValue type:
-                #     -   If parameter's entity type is a composite entity: map
-                #     -   Else: string or number, depending on parameter value type
-                # -   MapValue value:
-                #     -   If parameter's entity type is a composite entity:
-                #         map from composite entity property names to property values
-                #     -   Else: parameter value
-              "a_key": "", # Properties of the object.
-            },
           },
         ],
-        "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the
-            # value of the `payload` field returned in the webhook response.
-          "a_key": "", # Properties of the object.
-        },
-        "fulfillmentMessages": [ # The collection of rich messages to present to the user.
+        "displayName": "A String", # Required. The name of this intent.
+        "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
+            # session when this intent is matched.
+        "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent.
+            # Note: If `ml_disabled` setting is set to true, then this intent is not
+            # taken into account during inference in `ML ONLY` match mode. Also,
+            # auto-markup in the UI is turned off.
+        "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of
+            # followup intents. It identifies the correct followup intents chain for
+            # this intent.
+            #
+            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+        "trainingPhrases": [ # Optional. The collection of examples that the agent is
+            # trained on.
+          { # Represents an example that the agent is trained on.
+            "type": "A String", # Required. The type of the training phrase.
+            "name": "A String", # Output only. The unique identifier of this training phrase.
+            "parts": [ # Required. The ordered list of training phrase parts.
+                # The parts are concatenated in order to form the training phrase.
+                #
+                # Note: The API does not automatically annotate training phrases like the
+                # Dialogflow Console does.
+                #
+                # Note: Do not forget to include whitespace at part boundaries,
+                # so the training phrase is well formatted when the parts are concatenated.
+                #
+                # If the training phrase does not need to be annotated with parameters,
+                # you just need a single part with only the Part.text field set.
+                #
+                # If you want to annotate the training phrase, you must create multiple
+                # parts, where the fields of each part are populated in one of two ways:
+                #
+                # -   `Part.text` is set to a part of the phrase that has no parameters.
+                # -   `Part.text` is set to a part of the phrase that you want to annotate,
+                #     and the `entity_type`, `alias`, and `user_defined` fields are all
+                #     set.
+              { # Represents a part of a training phrase.
+                "userDefined": True or False, # Optional. Indicates whether the text was manually annotated.
+                    # This field is set to true when the Dialogflow Console is used to
+                    # manually annotate the part. When creating an annotated part with the
+                    # API, you must set this to true.
+                "alias": "A String", # Optional. The parameter name for the value extracted from the
+                    # annotated part of the example.
+                    # This field is required for annotated parts of the training phrase.
+                "entityType": "A String", # Optional. The entity type name prefixed with `@`.
+                    # This field is required for annotated parts of the training phrase.
+                "text": "A String", # Required. The text for this part.
+              },
+            ],
+            "timesAddedCount": 42, # Optional. Indicates how many times this example was added to
+                # the intent. Each time a developer adds an existing sample by editing an
+                # intent or training, this counter is increased.
+          },
+        ],
+        "messages": [ # Optional. The collection of rich messages corresponding to the
+            # `Response` field in the Dialogflow console.
           { # Corresponds to the `Response` field in the Dialogflow console.
-            "text": { # The text response message. # Returns a text response.
-              "text": [ # Optional. The collection of the agent's responses.
+            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
+              "suggestions": [ # Required. The list of suggested replies.
+                { # The suggestion chip message that the user can tap to quickly post a reply
+                    # to the conversation.
+                  "title": "A String", # Required. The text shown the in the suggestion chip.
+                },
+              ],
+            },
+            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
+              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+              "mediaObjects": [ # Required. List of media objects.
+                { # Response media object for media content card.
+                  "description": "A String", # Optional. Description of media card.
+                  "icon": { # The image response message. # Optional. Icon to display above media content.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                  "contentUrl": "A String", # Required. Url where the media is stored.
+                  "name": "A String", # Required. Name of media card.
+                  "largeImage": { # The image response message. # Optional. Image to display above media content.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                },
+              ],
+            },
+            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
+              "phoneNumber": "A String", # Required. The phone number to transfer the call to
+                  # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
+                  #
+                  # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
+            },
+            "platform": "A String", # Optional. The platform that this message is intended for.
+            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
+                # Telephony Gateway.
+                #
+                # Telephony Gateway takes the synthesizer settings from
+                # `DetectIntentResponse.output_audio_config` which can either be set
+                # at request-level or can come from the agent-level synthesizer config.
+              "text": "A String", # The raw text to be synthesized.
+              "ssml": "A String", # The SSML to be synthesized. For more information, see
+                  # [SSML](https://developers.google.com/actions/reference/ssml).
+            },
+            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
+                # or website associated with this agent.
+              "uri": "A String", # Required. The URI of the app or site to open when the user taps the
+                  # suggestion chip.
+              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
+            },
+            "quickReplies": { # The quick replies response message. # Displays quick replies.
+              "quickReplies": [ # Optional. The collection of quick replies.
                 "A String",
               ],
+              "title": "A String", # Optional. The title of the collection of quick replies.
+            },
+            "card": { # The card response message. # Displays a card.
+              "subtitle": "A String", # Optional. The subtitle of the card.
+              "buttons": [ # Optional. The collection of card buttons.
+                { # Optional. Contains information about a button.
+                  "text": "A String", # Optional. The text to show on the button.
+                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
+                      # open.
+                },
+              ],
+              "imageUri": "A String", # Optional. The public URI to an image file for the card.
+              "title": "A String", # Optional. The title of the card.
+            },
+            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
+              "subtitle": "A String", # Optional. Subtitle of the list.
+              "title": "A String", # Optional. The overall title of the list.
+              "items": [ # Required. List items.
+                { # An item in the list.
+                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
+                      # dialog.
+                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                        # item in dialog.
+                      "A String",
+                    ],
+                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                        # response is given.
+                  },
+                  "description": "A String", # Optional. The main text describing the item.
+                  "title": "A String", # Required. The title of the list item.
+                  "image": { # The image response message. # Optional. The image to display.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                },
+              ],
+            },
+            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
+              "buttons": [ # Optional. The collection of card buttons.
+                { # The button object that appears at the bottom of a card.
+                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
+                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
+                  },
+                  "title": "A String", # Required. The title of the button.
+                },
+              ],
+              "title": "A String", # Optional. The title of the card.
+              "image": { # The image response message. # Optional. The image for the card.
+                "imageUri": "A String", # Optional. The public URI to an image file.
+                "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                    # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+              },
+              "subtitle": "A String", # Optional. The subtitle of the card.
+              "formattedText": "A String", # Required, unless image is present. The body text of the card.
+            },
+            "image": { # The image response message. # Displays an image.
+              "imageUri": "A String", # Optional. The public URI to an image file.
+              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
             },
             "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. # Rich Business Messaging (RBM) carousel rich card response.
                 #
                 # Rich cards allow you to respond to users with more vivid content, e.g.
                 # with media and suggestions.
                 #
-                # For more details about RBM rich cards, please see:
-                # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
                 # If you want to show a single card with more control over the layout,
                 # please use RbmStandaloneCard instead.
+              "cardWidth": "A String", # Required. The width of the cards in the carousel.
               "cardContents": [ # Required. The cards in the carousel. A carousel must have at least
                   # 2 cards and at most 10.
                 { # Rich Business Messaging (RBM) Card content
@@ -2635,35 +2786,44 @@
                       # * video/mpeg
                       # * video/mpeg4
                       # * video/webm
-                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                        # provide a thumbnail URI, the RBM platform displays a blank
-                        # placeholder thumbnail until the user's device downloads the file.
-                        # Depending on the user's setting, the file may not download
-                        # automatically and may require the user to tap a download button.
                     "height": "A String", # Required for cards with vertical orientation. The height of the media
-                        # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
+                        # within a rich card with a vertical layout.
                         # For a standalone card with horizontal layout, height is not
                         # customizable, and this field is ignored.
                     "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
                         # determines the MIME type of the file from the content-type field in
                         # the HTTP headers when the platform fetches the file. The content-type
                         # field must be present and accurate in the HTTP response from the URL.
+                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                        # provide a thumbnail URI, the RBM platform displays a blank
+                        # placeholder thumbnail until the user's device downloads the file.
+                        # Depending on the user's setting, the file may not download
+                        # automatically and may require the user to tap a download button.
                   },
+                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
                   "suggestions": [ # Optional. List of suggestions to include in the card.
                     { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                         # easily select/click a predefined response or perform an action (like
                         # opening a web uri).
-                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                          # instead of typing in their own response.
-                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                            # when the user taps the suggested reply. This data will be also
-                            # forwarded to webhook to allow performing custom business logic.
-                        "text": "A String", # Suggested reply text.
-                      },
                       "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                           # can choose from the card.
+                        "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                            # If the user has an app installed that is
+                            # registered as the default handler for the URL, then this app will be
+                            # opened instead, and its icon will be used in the suggested action UI.
+                          "uri": "A String", # Required. The uri to open on the user device
+                        },
+                        "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                            # to send back to the agent.
+                        },
+                        "text": "A String", # Text to display alongside the action.
                         "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                            # but does not dial automatically (https://goo.gl/ergbB2).
+                            # but does not dial automatically.
                           "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
                               # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
                               # format. An example of a correctly formatted phone number:
@@ -2672,180 +2832,34 @@
                         "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
                             # when the user taps the suggested action. This data will be also
                             # forwarded to webhook to allow performing custom business logic.
-                        "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                            # to send back to the agent (https://goo.gl/GXotJW).
-                        },
-                        "text": "A String", # Text to display alongside the action.
-                        "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                            # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                            # registered as the default handler for the URL, then this app will be
-                            # opened instead, and its icon will be used in the suggested action UI.
-                          "uri": "A String", # Required. The uri to open on the user device
-                        },
+                      },
+                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                          # instead of typing in their own response.
+                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                            # when the user taps the suggested reply. This data will be also
+                            # forwarded to webhook to allow performing custom business logic.
+                        "text": "A String", # Suggested reply text.
                       },
                     },
                   ],
-                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                      #
-                      # At least one of the title, description or media must be set.
-                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                      #
-                      # At least one of the title, description or media must be set.
-                },
-              ],
-              "cardWidth": "A String", # Required. The width of the cards in the carousel.
-            },
-            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
-              "suggestions": [ # Required. The list of suggested replies.
-                { # The suggestion chip message that the user can tap to quickly post a reply
-                    # to the conversation.
-                  "title": "A String", # Required. The text shown the in the suggestion chip.
                 },
               ],
             },
-            "platform": "A String", # Optional. The platform that this message is intended for.
-            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
-              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
-                  # play, e.g., "gs://bucket/object". The object must contain a single
-                  # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
-                  #
-                  # This object must be readable by the `service-<Project
-                  # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
-                  # where <Project Number> is the number of the Telephony Gateway project
-                  # (usually the same as the Dialogflow agent project). If the Google Cloud
-                  # Storage bucket is in the Telephony Gateway project, this permission is
-                  # added by default when enabling the Dialogflow V2 API.
-                  #
-                  # For audio from other sources, consider using the
-                  # `TelephonySynthesizeSpeech` message with SSML.
-            },
-            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
-              "title": "A String", # Optional. The overall title of the list.
-              "subtitle": "A String", # Optional. Subtitle of the list.
-              "items": [ # Required. List items.
-                { # An item in the list.
-                  "description": "A String", # Optional. The main text describing the item.
-                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional information about this option.
-                      # dialog.
-                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                        # item in dialog.
-                      "A String",
-                    ],
-                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                        # response is given.
-                  },
-                  "title": "A String", # Required. The title of the list item.
-                  "image": { # The image response message. # Optional. The image to display.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                },
-              ],
-            },
-            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
-                #
-                # RBM allows businesses to send enriched and branded versions of SMS. See
-                # https://jibe.google.com/business-messaging.
-              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
-                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
-                    # easily select/click a predefined response or perform an action (like
-                    # opening a web uri).
-                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                      # instead of typing in their own response.
-                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                        # when the user taps the suggested reply. This data will be also
-                        # forwarded to webhook to allow performing custom business logic.
-                    "text": "A String", # Suggested reply text.
-                  },
-                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
-                      # can choose from the card.
-                    "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                        # but does not dial automatically (https://goo.gl/ergbB2).
-                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
-                          # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
-                          # format. An example of a correctly formatted phone number:
-                          # +15556767888.
-                    },
-                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                        # when the user taps the suggested action. This data will be also
-                        # forwarded to webhook to allow performing custom business logic.
-                    "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                        # to send back to the agent (https://goo.gl/GXotJW).
-                    },
-                    "text": "A String", # Text to display alongside the action.
-                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                        # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                        # registered as the default handler for the URL, then this app will be
-                        # opened instead, and its icon will be used in the suggested action UI.
-                      "uri": "A String", # Required. The uri to open on the user device
-                    },
-                  },
-                },
-              ],
-              "text": "A String", # Required. Text sent and displayed to the user.
-            },
-            "quickReplies": { # The quick replies response message. # Displays quick replies.
-              "title": "A String", # Optional. The title of the collection of quick replies.
-              "quickReplies": [ # Optional. The collection of quick replies.
-                "A String",
-              ],
-            },
-            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
-                # Telephony Gateway.
-                #
-                # Telephony Gateway takes the synthesizer settings from
-                # `DetectIntentResponse.output_audio_config` which can either be set
-                # at request-level or can come from the agent-level synthesizer config.
-              "text": "A String", # The raw text to be synthesized.
-              "ssml": "A String", # The SSML to be synthesized. For more information, see
-                  # [SSML](https://developers.google.com/actions/reference/ssml).
-            },
-            "card": { # The card response message. # Displays a card.
-              "title": "A String", # Optional. The title of the card.
-              "buttons": [ # Optional. The collection of card buttons.
-                { # Optional. Contains information about a button.
-                  "text": "A String", # Optional. The text to show on the button.
-                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to
-                      # open.
-                },
-              ],
-              "subtitle": "A String", # Optional. The subtitle of the card.
-              "imageUri": "A String", # Optional. The public URI to an image file for the card.
-            },
-            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
-              "title": "A String", # Optional. The title of the card.
-              "image": { # The image response message. # Optional. The image for the card.
-                "imageUri": "A String", # Optional. The public URI to an image file.
-                "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                    # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-              },
-              "formattedText": "A String", # Required, unless image is present. The body text of the card.
-              "buttons": [ # Optional. The collection of card buttons.
+            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+              "buttons": [ # Optional. List of buttons for the card.
                 { # The button object that appears at the bottom of a card.
-                  "title": "A String", # Required. The title of the button.
                   "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                     "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                   },
+                  "title": "A String", # Required. The title of the button.
                 },
               ],
-              "subtitle": "A String", # Optional. The subtitle of the card.
-            },
-            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+              "subtitle": "A String", # Optional. Subtitle to the title.
               "image": { # The image response message. # Optional. Image which should be displayed on the card.
                 "imageUri": "A String", # Optional. The public URI to an image file.
                 "accessibilityText": "A String", # A text description of the image to be used for accessibility,
                     # e.g., screen readers. Required if image_uri is set for CarouselSelect.
               },
-              "buttons": [ # Optional. List of buttons for the card.
-                { # The button object that appears at the bottom of a card.
-                  "title": "A String", # Required. The title of the button.
-                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
-                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
-                  },
-                },
-              ],
-              "title": "A String", # Required. Title of the card.
               "rows": [ # Optional. Rows in this table of data.
                 { # Row of TableCard.
                   "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
@@ -2856,7 +2870,7 @@
                   ],
                 },
               ],
-              "subtitle": "A String", # Optional. Subtitle to the title.
+              "title": "A String", # Required. Title of the card.
               "columnProperties": [ # Optional. Display properties for the columns in this table.
                 { # Column properties for TableCard.
                   "header": "A String", # Required. Column heading.
@@ -2864,117 +2878,63 @@
                 },
               ],
             },
-            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
-              "items": [ # Required. Carousel items.
-                { # An item in the carousel.
-                  "description": "A String", # Optional. The body text of the card.
-                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
-                      # dialog.
-                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
-                        # item in dialog.
-                      "A String",
-                    ],
-                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
-                        # response is given.
+            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
+                #
+                # RBM allows businesses to send enriched and branded versions of SMS. See
+                # https://jibe.google.com/business-messaging.
+              "text": "A String", # Required. Text sent and displayed to the user.
+              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
+                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
+                    # easily select/click a predefined response or perform an action (like
+                    # opening a web uri).
+                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
+                      # can choose from the card.
+                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                        # If the user has an app installed that is
+                        # registered as the default handler for the URL, then this app will be
+                        # opened instead, and its icon will be used in the suggested action UI.
+                      "uri": "A String", # Required. The uri to open on the user device
+                    },
+                    "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                        # to send back to the agent.
+                    },
+                    "text": "A String", # Text to display alongside the action.
+                    "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
+                        # but does not dial automatically.
+                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
+                          # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
+                          # format. An example of a correctly formatted phone number:
+                          # +15556767888.
+                    },
+                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                        # when the user taps the suggested action. This data will be also
+                        # forwarded to webhook to allow performing custom business logic.
                   },
-                  "title": "A String", # Required. Title of the carousel item.
-                  "image": { # The image response message. # Optional. The image to display.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                      # instead of typing in their own response.
+                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                        # when the user taps the suggested reply. This data will be also
+                        # forwarded to webhook to allow performing custom business logic.
+                    "text": "A String", # Suggested reply text.
                   },
                 },
               ],
             },
-            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app # Displays a link out suggestion chip for Actions on Google.
-                # or website associated with this agent.
-              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
-              "uri": "A String", # Required. The URI of the app or site to open when the user taps the
-                  # suggestion chip.
+            "payload": { # A custom platform-specific response.
+              "a_key": "", # Properties of the object.
             },
-            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
-                # https://developers.google.com/actions/assistant/responses#browsing_carousel
-              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
-                  # items.
-              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
-                  # items, maximum of ten.
-                { # Browsing carousel tile
-                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
-                      # text.
-                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
-                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
-                        # the URL. Defaults to opening via web browser.
-                    "url": "A String", # Required. URL
-                  },
-                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
-                      # Card. Maximum of one line of text.
-                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
-                  "image": { # The image response message. # Optional. Hero image for the carousel item.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                },
+            "text": { # The text response message. # Returns a text response.
+              "text": [ # Optional. The collection of the agent's responses.
+                "A String",
               ],
             },
-            "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
-                # This message in `QueryResult.fulfillment_messages` and
-                # `WebhookResponse.fulfillment_messages` should contain only one
-                # `SimpleResponse`.
-              "simpleResponses": [ # Required. The list of simple responses.
-                { # The simple response message containing speech or text.
-                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
-                      # response to the user in the SSML format. Mutually exclusive with
-                      # text_to_speech.
-                  "displayText": "A String", # Optional. The text to display.
-                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                      # speech output. Mutually exclusive with ssml.
-                },
-              ],
-            },
-            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
-              "phoneNumber": "A String", # Required. The phone number to transfer the call to
-                  # in [E.164 format](https://en.wikipedia.org/wiki/E.164).
-                  #
-                  # We currently only allow transferring to US numbers (+1xxxyyyzzzz).
-            },
-            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
-              "mediaObjects": [ # Required. List of media objects.
-                { # Response media object for media content card.
-                  "name": "A String", # Required. Name of media card.
-                  "description": "A String", # Optional. Description of media card.
-                  "contentUrl": "A String", # Required. Url where the media is stored.
-                  "icon": { # The image response message. # Optional. Icon to display above media content.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                  "largeImage": { # The image response message. # Optional. Image to display above media content.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-                  },
-                },
-              ],
-              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
-            },
-            "image": { # The image response message. # Displays an image.
-              "imageUri": "A String", # Optional. The public URI to an image file.
-              "accessibilityText": "A String", # A text description of the image to be used for accessibility,
-                  # e.g., screen readers. Required if image_uri is set for CarouselSelect.
-            },
             "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. # Standalone Rich Business Messaging (RBM) rich card response.
                 #
                 # Rich cards allow you to respond to users with more vivid content, e.g.
                 # with media and suggestions.
                 #
-                # For more details about RBM rich cards, please see:
-                # https://developers.google.com/rcs-business-messaging/rbm/guides/build/send-messages#rich-cards.
                 # You can group multiple rich cards into one using RbmCarouselCard but
                 # carousel cards will give you less control over the card layout.
-              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
-                  # Image preview alignment for standalone cards with horizontal layout.
-              "cardOrientation": "A String", # Required. Orientation of the card.
               "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                 "media": { # Rich Business Messaging (RBM) Media displayed in Cards # Optional. However at least one of the title, description or media must
                     # be set. Media (image, GIF or a video) to include in the card.
@@ -2995,35 +2955,44 @@
                     # * video/mpeg
                     # * video/mpeg4
                     # * video/webm
-                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
-                      # provide a thumbnail URI, the RBM platform displays a blank
-                      # placeholder thumbnail until the user's device downloads the file.
-                      # Depending on the user's setting, the file may not download
-                      # automatically and may require the user to tap a download button.
                   "height": "A String", # Required for cards with vertical orientation. The height of the media
-                      # within a rich card with a vertical layout. (https://goo.gl/NeFCjz).
+                      # within a rich card with a vertical layout.
                       # For a standalone card with horizontal layout, height is not
                       # customizable, and this field is ignored.
                   "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform
                       # determines the MIME type of the file from the content-type field in
                       # the HTTP headers when the platform fetches the file. The content-type
                       # field must be present and accurate in the HTTP response from the URL.
+                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't
+                      # provide a thumbnail URI, the RBM platform displays a blank
+                      # placeholder thumbnail until the user's device downloads the file.
+                      # Depending on the user's setting, the file may not download
+                      # automatically and may require the user to tap a download button.
                 },
+                "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
                 "suggestions": [ # Optional. List of suggestions to include in the card.
                   { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                       # easily select/click a predefined response or perform an action (like
                       # opening a web uri).
-                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
-                        # instead of typing in their own response.
-                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
-                          # when the user taps the suggested reply. This data will be also
-                          # forwarded to webhook to allow performing custom business logic.
-                      "text": "A String", # Suggested reply text.
-                    },
                     "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                         # can choose from the card.
+                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
+                          # If the user has an app installed that is
+                          # registered as the default handler for the URL, then this app will be
+                          # opened instead, and its icon will be used in the suggested action UI.
+                        "uri": "A String", # Required. The uri to open on the user device
+                      },
+                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
+                          # to send back to the agent.
+                      },
+                      "text": "A String", # Text to display alongside the action.
                       "dial": { # Opens the user's default dialer app with the specified phone number # Suggested client side action: Dial a phone number
-                          # but does not dial automatically (https://goo.gl/ergbB2).
+                          # but does not dial automatically.
                         "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app.
                             # This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
                             # format. An example of a correctly formatted phone number:
@@ -3032,100 +3001,218 @@
                       "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
                           # when the user taps the suggested action. This data will be also
                           # forwarded to webhook to allow performing custom business logic.
-                      "shareLocation": { # Opens the device's location chooser so the user can pick a location # Suggested client side action: Share user location
-                          # to send back to the agent (https://goo.gl/GXotJW).
-                      },
-                      "text": "A String", # Text to display alongside the action.
-                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
-                          # (https://goo.gl/6GLJD2). If the user has an app installed that is
-                          # registered as the default handler for the URL, then this app will be
-                          # opened instead, and its icon will be used in the suggested action UI.
-                        "uri": "A String", # Required. The uri to open on the user device
-                      },
+                    },
+                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click # Predefined replies for user to select instead of typing
+                        # instead of typing in their own response.
+                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event
+                          # when the user taps the suggested reply. This data will be also
+                          # forwarded to webhook to allow performing custom business logic.
+                      "text": "A String", # Suggested reply text.
                     },
                   },
                 ],
-                "title": "A String", # Optional. Title of the card (at most 200 bytes).
-                    #
-                    # At least one of the title, description or media must be set.
-                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
-                    #
-                    # At least one of the title, description or media must be set.
               },
+              "cardOrientation": "A String", # Required. Orientation of the card.
+              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal.
+                  # Image preview alignment for standalone cards with horizontal layout.
             },
-            "payload": { # A custom platform-specific response.
-              "a_key": "", # Properties of the object.
+            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
+              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to
+                  # play, e.g., "gs://bucket/object". The object must contain a single
+                  # channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
+                  #
+                  # This object must be readable by the `service-<Project
+                  # Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                  # where <Project Number> is the number of the Telephony Gateway project
+                  # (usually the same as the Dialogflow agent project). If the Google Cloud
+                  # Storage bucket is in the Telephony Gateway project, this permission is
+                  # added by default when enabling the Dialogflow V2 API.
+                  #
+                  # For audio from other sources, consider using the
+                  # `TelephonySynthesizeSpeech` message with SSML.
+            },
+            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
+              "items": [ # Required. Carousel items.
+                { # An item in the carousel.
+                  "image": { # The image response message. # Optional. The image to display.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                  "info": { # Additional info about the select item for when it is triggered in a # Required. Additional info about the option item.
+                      # dialog.
+                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this
+                        # item in dialog.
+                      "A String",
+                    ],
+                    "key": "A String", # Required. A unique key that will be sent back to the agent if this
+                        # response is given.
+                  },
+                  "title": "A String", # Required. Title of the carousel item.
+                  "description": "A String", # Optional. The body text of the card.
+                },
+              ],
+            },
+            "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
+                # This message in `QueryResult.fulfillment_messages` and
+                # `WebhookResponse.fulfillment_messages` should contain only one
+                # `SimpleResponse`.
+              "simpleResponses": [ # Required. The list of simple responses.
+                { # The simple response message containing speech or text.
+                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken
+                      # response to the user in the SSML format. Mutually exclusive with
+                      # text_to_speech.
+                  "displayText": "A String", # Optional. The text to display.
+                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                      # speech output. Mutually exclusive with ssml.
+                },
+              ],
+            },
+            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+                # https://developers.google.com/actions/assistant/responses#browsing_carousel
+              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                  # items.
+              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                  # items, maximum of ten.
+                { # Browsing carousel tile
+                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                      # Card. Maximum of one line of text.
+                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
+                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of
+                      # text.
+                  "image": { # The image response message. # Optional. Hero image for the carousel item.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                    "accessibilityText": "A String", # A text description of the image to be used for accessibility,
+                        # e.g., screen readers. Required if image_uri is set for CarouselSelect.
+                  },
+                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                        # the URL. Defaults to opening via web browser.
+                    "url": "A String", # Required. URL
+                  },
+                },
+              ],
             },
           },
         ],
-        "action": "A String", # The action name from the matched intent.
-        "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the
-            # value of the `source` field returned in the webhook response.
-        "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen.
-            # Note: This is a legacy field, `fulfillment_messages` should be preferred.
-        "parameters": { # The collection of extracted parameters.
+        "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the
+            # chain of followup intents. You can set this field when creating an intent,
+            # for example with CreateIntent or
+            # BatchUpdateIntents, in order to make this
+            # intent a followup intent.
             #
-            # Depending on your protocol or client library language, this is a
-            # map, associative array, symbol table, dictionary, or JSON object
-            # composed of a collection of (MapKey, MapValue) pairs:
-            #
-            # -   MapKey type: string
-            # -   MapKey value: parameter name
-            # -   MapValue type:
-            #     -   If parameter's entity type is a composite entity: map
-            #     -   Else: string or number, depending on parameter value type
-            # -   MapValue value:
-            #     -   If parameter's entity type is a composite entity:
-            #         map from composite entity property names to property values
-            #     -   Else: parameter value
-          "a_key": "", # Properties of the object.
-        },
-      },
-    ],
-    "responseId": "A String", # The unique identifier of the response. It can be used to
-        # locate a response in the training example set or for reporting issues.
-    "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. # The config used by the speech synthesizer to generate the output audio.
-        # If this audio config is supplied in a request, it overrides all existing
-        # text-to-speech settings applied to the agent.
-      "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
-      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Configuration of how speech should be synthesized.
-        "volumeGainDb": 3.14, # Optional. Volume gain (in dB) of the normal native volume supported by the
-            # specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
-            # 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
-            # will play at approximately half the amplitude of the normal native signal
-            # amplitude. A value of +6.0 (dB) will play at approximately twice the
-            # amplitude of the normal native signal amplitude. We strongly recommend not
-            # to exceed +10 (dB) as there's usually no effective increase in loudness for
-            # any value greater than that.
-        "pitch": 3.14, # Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
-            # semitones from the original pitch. -20 means decrease 20 semitones from the
-            # original pitch.
-        "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
-          "name": "A String", # Optional. The name of the voice. If not set, the service will choose a
-              # voice based on the other parameters such as language_code and
-              # ssml_gender.
-          "ssmlGender": "A String", # Optional. The preferred gender of the voice. If not set, the service will
-              # choose a voice based on the other parameters such as language_code and
-              # name. Note that this is only a preference, not requirement. If a
-              # voice of the appropriate gender is not available, the synthesizer should
-              # substitute a voice with a different gender rather than failing the request.
-        },
-        "speakingRate": 3.14, # Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal
-            # native speed supported by the specific voice. 2.0 is twice as fast, and
-            # 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any
-            # other values < 0.25 or > 4.0 will return an error.
-        "effectsProfileId": [ # Optional. An identifier which selects 'audio effects' profiles that are
-            # applied on (post synthesized) text to speech. Effects are applied on top of
-            # each other in the order they are given.
+            # It identifies the parent followup intent.
+            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+        "parameters": [ # Optional. The collection of parameters associated with the intent.
+          { # Represents intent parameters.
+            "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
+            "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
+                # whether the intent cannot be completed without collecting the parameter
+                # value.
+            "prompts": [ # Optional. The collection of prompts that the agent can present to the
+                # user in order to collect a value for the parameter.
+              "A String",
+            ],
+            "name": "A String", # The unique identifier of this parameter.
+            "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that
+                # describes values of the parameter. If the parameter is
+                # required, this must be provided.
+            "displayName": "A String", # Required. The name of the parameter.
+            "value": "A String", # Optional. The definition of the parameter value. It can be:
+                #
+                # - a constant string,
+                # - a parameter value defined as `$parameter_name`,
+                # - an original parameter value defined as `$parameter_name.original`,
+                # - a parameter value from some context defined as
+                #   `#context_name.parameter_name`.
+            "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty
+                # result.
+                # Default values can be extracted from contexts by using the following
+                # syntax: `#context_name.parameter_name`.
+          },
+        ],
+        "events": [ # Optional. The collection of event names that trigger the intent.
+            # If the collection of input contexts is not empty, all of the contexts must
+            # be present in the active user session for an event to trigger this intent.
+            # Event names are limited to 150 characters.
           "A String",
         ],
+        "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
+        "name": "A String", # Optional. The unique identifier of this intent.
+            # Required for Intents.UpdateIntent and Intents.BatchUpdateIntents
+            # methods.
+            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+        "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
+            # Note: If `ml_enabled` setting is set to false, then this intent is not
+            # taken into account during inference in `ML ONLY` match mode. Also,
+            # auto-markup in the UI is turned off.
+            # DEPRECATED! Please use `ml_disabled` field instead.
+            # NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false,
+            # then the default value is determined as follows:
+            # - Before April 15th, 2018 the default is:
+            #   ml_enabled = false / ml_disabled = true.
+            # - After April 15th, 2018 the default is:
+            #   ml_enabled = true / ml_disabled = false.
+        "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as
+            # a direct or indirect parent. We populate this field only in the output.
+          { # Represents a single followup intent in the chain.
+            "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent.
+                # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+            "followupIntentName": "A String", # The unique identifier of the followup intent.
+                # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+          },
+        ],
+        "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be
+            # copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
+          "A String",
+        ],
+        "inputContextNames": [ # Optional. The list of context names required for this intent to be
+            # triggered.
+            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
+          "A String",
+        ],
+        "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher
+            # priorities.
+            #
+            # - If the supplied value is unspecified or 0, the service
+            #   translates the value to 500,000, which corresponds to the
+            #   `Normal` priority in the console.
+            # - If the supplied value is negative, the intent is ignored
+            #   in runtime detect intent requests.
       },
-      "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not
-          # provided, then the synthesizer will use the default sample rate based on
-          # the audio encoding. If this is different from the voice's natural sample
-          # rate, then the synthesizer will honor this request by converting to the
-          # desired sample rate (which might result in worse audio quality).
+      "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the
+          # value of the `source` field returned in the webhook response.
+      "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing
+          # `KnowledgeAnswers.match_confidence`.
+        "answers": [ # A list of answers from Knowledge Connector.
+          { # An answer from Knowledge Connector.
+            "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
+                # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
+                # ID>/documents/<Document ID>`.
+            "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match
+                # for this conversational query.
+                # The range is from 0.0 (completely uncertain) to 1.0 (completely certain).
+                # Note: The confidence score is likely to vary somewhat (possibly even for
+                # identical requests), as the underlying model is under constant
+                # improvement. It may be deprecated in the future. We recommend using
+                # `match_confidence_level` which should be generally more stable.
+            "answer": "A String", # The piece of text from the `source` knowledge base document that answers
+                # this conversational query.
+            "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ
+                # Document, empty otherwise.
+            "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match
+                # for this conversational query.
+                # NOTE: The confidence level for a given `<query, answer>` pair may change
+                # without notice, as it depends on models that are constantly being
+                # improved. However, it will change less frequently than the confidence
+                # score below, and should be preferred for referencing the quality of an
+                # answer.
+          },
+        ],
+      },
     },
+    "responseId": "A String", # The unique identifier of the response. It can be used to
+        # locate a response in the training example set or for reporting issues.
   }</pre>
 </div>