chore: regens API reference docs (#889)

diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html b/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html
index cbd2d40..0c06312 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.sessions.html
@@ -88,7 +88,7 @@
   <code><a href="#deleteContexts">deleteContexts(parent, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes all active contexts in the specified session.</p>
 <p class="toc_element">
-  <code><a href="#detectIntent">detectIntent(session, body, x__xgafv=None)</a></code></p>
+  <code><a href="#detectIntent">detectIntent(session, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Processes a natural language query and returns structured, actionable data</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -97,9 +97,9 @@
 
 Args:
   parent: string, Required. The name of the session to delete all contexts from. Format:
-`projects/<Project ID>/agent/sessions/<Session ID>` or `projects/<Project
-ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
-ID>`. If `Environment ID` is not specified we assume default 'draft'
+`projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;` or `projects/&lt;Project
+ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User ID&gt;/sessions/&lt;Session
+ID&gt;`. If `Environment ID` is not specified we assume default 'draft'
 environment. If `User ID` is not specified, we assume default '-' user. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -122,7 +122,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="detectIntent">detectIntent(session, body, x__xgafv=None)</code>
+    <code class="details" id="detectIntent">detectIntent(session, body=None, x__xgafv=None)</code>
   <pre>Processes a natural language query and returns structured, actionable data
 as a result. This method is not idempotent, because it may cause contexts
 and session entity types to be updated, which in turn might affect
@@ -130,28 +130,30 @@
 
 Args:
   session: string, Required. The name of the session this query is sent to. Format:
-`projects/<Project ID>/agent/sessions/<Session ID>`, or
-`projects/<Project ID>/agent/environments/<Environment ID>/users/<User
-ID>/sessions/<Session ID>`. If `Environment ID` is not specified, we assume
+`projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;`, or
+`projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+ID&gt;/sessions/&lt;Session ID&gt;`. If `Environment ID` is not specified, we assume
 default 'draft' environment. If `User ID` is not specified, we are using
-"-". It’s up to the API caller to choose an appropriate `Session ID` and
-`User Id`. They can be a random numbers or some type of user and session
+"-". 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)
-  body: object, The request body. (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. # Optional. Instructs the speech synthesizer how to generate the output
+    "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.
-      "sampleRateHertz": 42, # Optional. The synthesis sample rate (in hertz) for this audio. If not
+        # If this audio config is supplied in a request, it overrides all existing
+        # text-to-speech settings applied to the agent.
+      "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).
       "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
-      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Optional. Configuration of how speech should be synthesized.
+      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Configuration of how speech should be synthesized.
         "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.
@@ -164,12 +166,13 @@
               # 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 gender.
+              # voice based on the other parameters such as language_code and
+              # ssml_gender.
         },
         "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.
+            # other values &lt; 0.25 or &gt; 4.0 will return an error.
         "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)
@@ -183,148 +186,122 @@
             # original pitch.
       },
     },
-    "inputAudio": "A String", # Optional. The natural language speech audio to be processed. This field
+    "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:
+    "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.
         # 
-        # 1.  an audio config
-        #     which instructs the speech recognizer how to process the speech audio,
-        # 
-        # 2.  a conversational query in the form of text, or
-        # 
-        # 3.  an event that specifies which intent to trigger.
-        #
-        # 1.  An audio config which
-        #     instructs the speech recognizer how to process the speech audio.
-        #
-        # 2.  A conversational query in the form of text.
-        #
-        # 3.  An event that specifies which intent to trigger.
-      "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.
-            # Text length must not exceed 256 characters.
-        "languageCode": "A String", # Required. The language of this conversational query. See [Language
-            # Support](https://cloud.google.com/dialogflow-enterprise/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.
-      },
-      "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.
-          # The parameter `name` may be used by the agent in the response:
-          # `"Hello #welcome_event.name! What can I do for you today?"`.
-        "languageCode": "A String", # Required. The language of this query. See [Language
-            # Support](https://cloud.google.com/dialogflow-enterprise/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": { # Optional. The collection of parameters associated with the event.
-          "a_key": "", # Properties of the object.
-        },
-      },
-      "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-enterprise/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.
-        "audioEncoding": "A String", # Required. Audio encoding of the audio content to process.
-        "phraseHints": [ # Optional. 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.
-          "A String",
-        ],
-        "enableWordInfo": True or False, # Optional. 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.
-        "modelVariant": "A String", # Optional. Which variant of the Speech model to use.
-        "model": "A String", # Optional. 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.
-      },
-    },
-    "queryParams": { # Represents the parameters of the conversational query. # Optional. The parameters of this query.
-      "geoLocation": { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The geo location of this conversational query.
+        # If unspecified or empty, output_audio_config replaces the agent-level
+        # config in its entirety.
+    "queryParams": { # Represents the parameters of the conversational query. # The parameters of this query.
+      "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.
+          # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
+          # standard&lt;/a&gt;. 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].
       },
-      "contexts": [ # Optional. The collection of contexts to be activated before this query is
+      "contexts": [ # The collection of contexts to be activated before this query is
           # executed.
         { # Represents a context.
-          "parameters": { # Optional. The collection of parameters associated with this context.
-              # Refer to [this
-              # doc](https://cloud.google.com/dialogflow-enterprise/docs/intents-actions-parameters)
-              # for syntax.
-            "a_key": "", # Properties of the object.
-          },
           "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>`.
+              # `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`,
+              # or `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+              # ID&gt;/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`.
               #
               # 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.
+          },
           "lifespanCount": 42, # Optional. The number of conversational query requests after which the
-              # context expires. If set to `0` (the default) the context expires
+              # 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.
         },
       ],
-      "knowledgeBaseNames": [ # Optional. KnowledgeBases to get alternative results from. If not set, the
+      "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",
+      },
+      "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>`.
+          # Format:  `projects/&lt;Project ID&gt;/knowledgeBases/&lt;Knowledge Base ID&gt;`.
         "A String",
       ],
-      "sentimentAnalysisRequestConfig": { # Configures the types of sentiment analysis to perform. # Optional. Configures the type of sentiment analysis to perform. If not
+      "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.
+          # If specified for a non-mega-agent query, will be silently ignored.
+        { # Contains basic configuration for a sub-agent.
+          "project": "A String", # Required. The project of this agent.
+              # Format: `projects/&lt;Project ID&gt;`.
+          "environment": "A String", # Optional. The unique identifier (`environment name` in dialogflow console)
+              # of this sub-agent environment. Assumes draft environment if `environment`
+              # is not set.
+        },
+      ],
+      "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, # Optional. Instructs the service to perform sentiment analysis on
+        "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`.
       },
-      "resetContexts": True or False, # Optional. Specifies whether to delete all contexts in the current session
+      "resetContexts": True or False, # Specifies whether to delete all contexts in the current session
           # before the new ones are activated.
-      "timeZone": "A String", # Optional. The time zone of this conversational query from the
+      "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.
-      "payload": { # Optional. This field can be used to pass custom data into the webhook
-          # associated with the agent. Arbitrary JSON objects are supported.
+      "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.
       },
-      "sessionEntityTypes": [ # Optional. Additional session entity types to replace or extend developer
+      "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 developer entity type at the user session level (we
-            # refer to the entity types defined at the agent level as "developer entity
+            # 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.
@@ -346,7 +323,7 @@
                   #
                   # For `KIND_MAP` entity types:
                   #
-                  # *   A canonical value to be used in place of synonyms.
+                  # *   A reference value to be used in place of synonyms.
                   #
                   # For `KIND_LIST` entity types:
                   #
@@ -355,20 +332,154 @@
             },
           ],
           "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>`.
+              # `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;/entityTypes/&lt;Entity Type
+              # Display Name&gt;`, or
+              # `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+              # ID&gt;/sessions/&lt;Session ID&gt;/entityTypes/&lt;Entity Type Display Name&gt;`.
               # 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
+              # `&lt;Entity Type Display Name&gt;` 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 developer entity type definition.
+              # supplement the custom entity type definition.
         },
       ],
     },
+    "queryInput": { # Represents the query input. It can contain either: # Required. The input specification. It can be set to:
+        # 
+        # 1.  an audio config
+        #     which instructs the speech recognizer how to process the speech audio,
+        # 
+        # 2.  a conversational query in the form of text, or
+        # 
+        # 3.  an event that specifies which intent to trigger.
+        #
+        # 1.  An audio config which
+        #     instructs the speech recognizer how to process the speech audio.
+        #
+        # 2.  A conversational query in the form of text.
+        #
+        # 3.  An event that specifies which intent to trigger.
+      "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.
+            # Text length must not exceed 256 characters.
+        "languageCode": "A String", # Required. The language of this conversational query. 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.
+      },
+      "event": { # Events allow for matching intents by event name instead of the natural # The event to be processed.
+          # language input. For instance, input `&lt;event: { name: "welcome_event",
+          # parameters: { name: "Sam" } }&gt;` can trigger a personalized welcome response.
+          # The parameter `name` may be used by the agent in the response:
+          # `"Hello #welcome_event.name! What can I do for you today?"`.
+        "languageCode": "A String", # Required. The language of this query. 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.
+        "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
+            # 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.
+        },
+      },
+      "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.
+        "audioEncoding": "A String", # Required. Audio encoding of the audio content to process.
+        "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.
+        "modelVariant": "A String", # Which variant of the Speech model to use.
+        "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.
+        "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.
+          },
+        ],
+        "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.
+      },
+    },
   }
 
   x__xgafv: string, V1 error format.
@@ -381,13 +492,15 @@
 
     { # The message returned from the DetectIntent method.
     "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. # The config used by the speech synthesizer to generate the output audio.
-      "sampleRateHertz": 42, # Optional. The synthesis sample rate (in hertz) for this audio. If not
+        # If this audio config is supplied in a request, it overrides all existing
+        # text-to-speech settings applied to the agent.
+      "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).
       "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
-      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Optional. Configuration of how speech should be synthesized.
+      "synthesizeSpeechConfig": { # Configuration of how speech should be synthesized. # Configuration of how speech should be synthesized.
         "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.
@@ -400,12 +513,13 @@
               # 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 gender.
+              # voice based on the other parameters such as language_code and
+              # ssml_gender.
         },
         "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.
+            # other values &lt; 0.25 or &gt; 4.0 will return an error.
         "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)
@@ -421,67 +535,33 @@
     },
     "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.
-      "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).
-        },
-      },
-      "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.
-      "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.
-            "answer": "A String", # The piece of text from the `source` knowledge base document that answers
-                # this conversational query.
-            "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
-                # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
-                # ID>/documents/<Document ID>`.
-            "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.
-            "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ
-                # Document, empty otherwise.
-          },
-        ],
-      },
-      "parameters": { # The collection of extracted parameters.
-        "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-enterprise/docs/reference/language)
+          # Support](https://cloud.google.com/dialogflow/docs/reference/language)
           # for a list of the currently supported language codes.
-      "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.
+      "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.
+      "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.
+      },
+      "parameters": { # The collection of extracted parameters.
           #
-          # 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.
-      "intentDetectionConfidence": 3.14, # The intent detection confidence. Values range from 0.0
-          # (completely uncertain) to 1.0 (completely certain).
-          # If there are `multiple knowledge_answers` messages, this value is set to
-          # the greatest `knowledgeAnswers.match_confidence` value in the list.
+          # 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.
+      },
       "fulfillmentMessages": [ # The collection of rich messages to present to the user.
         { # Corresponds to the `Response` field in the Dialogflow console.
           "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
@@ -490,12 +570,12 @@
               # `SimpleResponse`.
             "simpleResponses": [ # Required. The list of simple responses.
               { # The simple response message containing speech or text.
-                "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                    # speech output. Mutually exclusive with ssml.
-                "displayText": "A String", # Optional. The text to display.
                 "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.
+                "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                    # speech output. Mutually exclusive with ssml.
+                "displayText": "A String", # Optional. The text to display.
               },
             ],
           },
@@ -505,6 +585,48 @@
             ],
             "title": "A String", # Optional. The title of the collection of quick replies.
           },
+          "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.
+                  "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).
+                  },
+                  "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", # 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).
+                    "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.
+                  "text": "A String", # Suggested reply text.
+                  "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.
+                },
+              },
+            ],
+          },
           "platform": "A String", # Optional. The platform that this message is intended for.
           "text": { # The text response message. # Returns a text response.
             "text": [ # Optional. The collection of the agent's responses.
@@ -526,22 +648,105 @@
                 # [SSML](https://developers.google.com/actions/reference/ssml).
             "text": "A String", # The raw text to be synthesized.
           },
-          "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.
+          "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
+                  "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.
+                  "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.
+                },
+                "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.
+                      "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).
+                      },
+                      "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", # 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).
+                        "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.
+                      "text": "A String", # Suggested reply text.
+                      "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.
+                    },
+                  },
+                ],
+                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "title": "A String", # Optional. Title of the card (at most 200 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.
           },
           "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
+                # This object must be readable by the `service-&lt;Project
+                # Number&gt;@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                # where &lt;Project Number&gt; 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.
@@ -549,12 +754,127 @@
                 # For audio from other sources, consider using the
                 # `TelephonySynthesizeSpeech` message with SSML.
           },
+          "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.
+            "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
+                "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.
+                "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.
+              },
+              "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.
+                    "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).
+                    },
+                    "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", # 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).
+                      "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.
+                    "text": "A String", # Suggested reply text.
+                    "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.
+                  },
+                },
+              ],
+              "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                  #
+                  # At least one of the title, description or media must be set.
+              "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                  #
+                  # At least one of the title, description or media must be set.
+            },
+            "cardOrientation": "A String", # Required. Orientation of the card.
+          },
           "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.
           },
+          "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+              # https://developers.google.com/actions/assistant/responses#browsing_carousel
+            "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                # items, maximum of ten.
+              { # Browsing carousel tile
+                "image": { # The image response message. # Optional. Hero image for the carousel item.
+                  "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.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                },
+                "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.
+                "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                  "url": "A String", # Required. URL
+                  "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                      # the URL. Defaults to opening via web browser.
+                },
+                "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                    # Card. Maximum of one line of text.
+              },
+            ],
+            "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                # items.
+          },
           "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.
@@ -573,6 +893,59 @@
             "subtitle": "A String", # Optional. The subtitle of the card.
             "title": "A String", # Optional. The title of the card.
           },
+          "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.
+                "contentUrl": "A String", # Required. Url where the media is stored.
+                "description": "A String", # Optional. Description of media card.
+                "name": "A String", # Required. Name of media card.
+                "largeImage": { # The image response message. # Optional. Image to display above media content.
+                  "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.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                },
+                "icon": { # The image response message. # Optional. Icon to display above media content.
+                  "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.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                },
+              },
+            ],
+            "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+          },
+          "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+            "rows": [ # Optional. Rows in this table of data.
+              { # Row of TableCard.
+                "cells": [ # Optional. List of cells that make up this row.
+                  { # Cell of TableCardRow.
+                    "text": "A String", # Required. Text in this cell.
+                  },
+                ],
+                "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
+              },
+            ],
+            "subtitle": "A String", # Optional. Subtitle to the title.
+            "title": "A String", # Required. Title of the card.
+            "image": { # The image response message. # Optional. Image which should be displayed on the card.
+              "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.
+              "imageUri": "A String", # Optional. The public URI to an image file.
+            },
+            "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.
+              },
+            ],
+            "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.
+              },
+            ],
+          },
           "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.
@@ -616,17 +989,24 @@
                 "title": "A String", # Required. The title of the list item.
               },
             ],
+            "subtitle": "A String", # Optional. Subtitle of the list.
             "title": "A String", # Optional. The overall title of the list.
           },
+          "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.
+              },
+            ],
+          },
           "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).
           },
-          "payload": { # Returns a response containing a custom, platform-specific payload.
-              # See the Intent.Message.Platform type for a description of the
-              # structure that may be required for your platform.
+          "payload": { # A custom platform-specific response.
             "a_key": "", # Properties of the object.
           },
           "card": { # The card response message. # Displays a card.
@@ -643,10 +1023,29 @@
           },
         },
       ],
-      "action": "A String", # The action name from the matched intent.
+      "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.
+      "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.
+      "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.
       "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` and `webhook_state`.
+          # `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.
         "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
@@ -658,12 +1057,10 @@
         "name": "A String", # The unique identifier of this intent.
             # Required for Intents.UpdateIntent and Intents.BatchUpdateIntents
             # methods.
-            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+            # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
         "parameters": [ # Optional. The collection of parameters associated with the intent.
           { # Represents intent parameters.
-            "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
-                # whether the intent cannot be completed without collecting the parameter
-                # value.
+            "displayName": "A String", # Required. The name of the parameter.
             "name": "A String", # The unique identifier of this parameter.
             "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty
                 # result.
@@ -679,11 +1076,496 @@
                 # - a parameter value from some context defined as
                 #   `#context_name.parameter_name`.
             "prompts": [ # Optional. The collection of prompts that the agent can present to the
-                # user in order to collect value for the parameter.
+                # user in order to collect a value for the parameter.
               "A String",
             ],
             "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
-            "displayName": "A String", # Required. The name of the parameter.
+            "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
+                # whether the intent cannot be completed without collecting the parameter
+                # value.
+          },
+        ],
+        "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.
+        "followupIntentInfo": [ # Read-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/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
+            "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent.
+                # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
+          },
+        ],
+        "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
+        "parentFollowupIntentName": "A String", # Read-only after creation. 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/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
+        "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.
+            "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.
+                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                      # speech output. Mutually exclusive with ssml.
+                  "displayText": "A String", # Optional. The text to display.
+                },
+              ],
+            },
+            "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.
+            },
+            "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.
+                    "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).
+                    },
+                    "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", # 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).
+                      "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.
+                    "text": "A String", # Suggested reply text.
+                    "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.
+                  },
+                },
+              ],
+            },
+            "platform": "A String", # Optional. The platform that this message is intended for.
+            "text": { # The text response message. # Returns a text response.
+              "text": [ # Optional. The collection of the agent's responses.
+                "A String",
+              ],
+            },
+            "image": { # The image response message. # Displays an image.
+              "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.
+              "imageUri": "A String", # Optional. The public URI to an image file.
+            },
+            "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.
+              "ssml": "A String", # The SSML to be synthesized. For more information, see
+                  # [SSML](https://developers.google.com/actions/reference/ssml).
+              "text": "A String", # The raw text to be synthesized.
+            },
+            "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
+                    "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.
+                    "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.
+                  },
+                  "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.
+                        "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).
+                        },
+                        "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", # 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).
+                          "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.
+                        "text": "A String", # Suggested reply text.
+                        "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.
+                      },
+                    },
+                  ],
+                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                  "title": "A String", # Optional. Title of the card (at most 200 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.
+            },
+            "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-&lt;Project
+                  # Number&gt;@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                  # where &lt;Project Number&gt; 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.
+            },
+            "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.
+              "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
+                  "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.
+                  "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.
+                },
+                "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.
+                      "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).
+                      },
+                      "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", # 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).
+                        "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.
+                      "text": "A String", # Suggested reply text.
+                      "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.
+                    },
+                  },
+                ],
+                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+              },
+              "cardOrientation": "A String", # Required. Orientation of the card.
+            },
+            "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.
+            },
+            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+                # https://developers.google.com/actions/assistant/responses#browsing_carousel
+              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                  # items, maximum of ten.
+                { # Browsing carousel tile
+                  "image": { # The image response message. # Optional. Hero image for the carousel item.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                  "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.
+                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                    "url": "A String", # Required. URL
+                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                        # the URL. Defaults to opening via web browser.
+                  },
+                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                      # Card. Maximum of one line of text.
+                },
+              ],
+              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                  # items.
+            },
+            "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.
+                },
+              ],
+              "formattedText": "A String", # Required, unless image is present. The body text of the card.
+              "image": { # The image response message. # Optional. The image for the card.
+                "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.
+                "imageUri": "A String", # Optional. The public URI to an image file.
+              },
+              "subtitle": "A String", # Optional. The subtitle of the card.
+              "title": "A String", # Optional. The title of the card.
+            },
+            "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.
+                  "contentUrl": "A String", # Required. Url where the media is stored.
+                  "description": "A String", # Optional. Description of media card.
+                  "name": "A String", # Required. Name of media card.
+                  "largeImage": { # The image response message. # Optional. Image to display above media content.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                  "icon": { # The image response message. # Optional. Icon to display above media content.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                },
+              ],
+              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+            },
+            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+              "rows": [ # Optional. Rows in this table of data.
+                { # Row of TableCard.
+                  "cells": [ # Optional. List of cells that make up this row.
+                    { # Cell of TableCardRow.
+                      "text": "A String", # Required. Text in this cell.
+                    },
+                  ],
+                  "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
+                },
+              ],
+              "subtitle": "A String", # Optional. Subtitle to the title.
+              "title": "A String", # Required. Title of the card.
+              "image": { # The image response message. # Optional. Image which should be displayed on the card.
+                "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.
+                "imageUri": "A String", # Optional. The public URI to an image file.
+              },
+              "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.
+                },
+              ],
+              "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.
+                },
+              ],
+            },
+            "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.
+                  "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.
+                  },
+                  "image": { # The image response message. # Optional. The image to display.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                  "description": "A String", # Optional. The body text of the card.
+                  "title": "A String", # Required. Title of the carousel item.
+                },
+              ],
+            },
+            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
+              "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.
+                  },
+                  "image": { # The image response message. # Optional. The image to display.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                  "description": "A String", # Optional. The main text describing the item.
+                  "title": "A String", # Required. The title of the list item.
+                },
+              ],
+              "subtitle": "A String", # Optional. Subtitle of the list.
+              "title": "A String", # Optional. The overall title of the list.
+            },
+            "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.
+                },
+              ],
+            },
+            "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).
+            },
+            "payload": { # A custom platform-specific response.
+              "a_key": "", # Properties of the object.
+            },
+            "card": { # The card response message. # Displays a 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.
+                },
+              ],
+              "title": "A String", # Optional. The title of the card.
+              "subtitle": "A String", # Optional. The subtitle of the card.
+              "imageUri": "A String", # Optional. The public URI to an image file for the card.
+            },
           },
         ],
         "trainingPhrases": [ # Optional. The collection of examples that the agent is
@@ -709,16 +1591,16 @@
                 #     and the `entity_type`, `alias`, and `user_defined` fields are all
                 #     set.
               { # Represents a part of a training phrase.
-                "text": "A String", # Required. The text for this part.
+                "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.
                 "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.
               },
             ],
             "type": "A String", # Required. The type of the training phrase.
@@ -728,207 +1610,28 @@
                 # intent or training, this counter is increased.
           },
         ],
-        "followupIntentInfo": [ # Read-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>`.
-          },
-        ],
-        "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
-        "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
-            # session when this intent is matched.
-        "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.
-            "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.
-                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                      # speech output. Mutually exclusive with ssml.
-                  "displayText": "A String", # Optional. The text to display.
-                  "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.
-                },
-              ],
-            },
-            "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.
-            },
-            "platform": "A String", # Optional. The platform that this message is intended for.
-            "text": { # The text response message. # Returns a text response.
-              "text": [ # Optional. The collection of the agent's responses.
-                "A String",
-              ],
-            },
-            "image": { # The image response message. # Displays an image.
-              "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.
-              "imageUri": "A String", # Optional. The public URI to an image file.
-            },
-            "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.
-              "ssml": "A String", # The SSML to be synthesized. For more information, see
-                  # [SSML](https://developers.google.com/actions/reference/ssml).
-              "text": "A String", # The raw text to be synthesized.
-            },
-            "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.
-                },
-              ],
-            },
-            "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.
-            },
-            "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.
-            },
-            "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.
-                },
-              ],
-              "formattedText": "A String", # Required, unless image is present. The body text of the card.
-              "image": { # The image response message. # Optional. The image for the card.
-                "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.
-                "imageUri": "A String", # Optional. The public URI to an image file.
-              },
-              "subtitle": "A String", # Optional. The subtitle of the card.
-              "title": "A String", # Optional. The title of the card.
-            },
-            "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.
-                  "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.
-                  },
-                  "image": { # The image response message. # Optional. The image to display.
-                    "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.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                  },
-                  "description": "A String", # Optional. The body text of the card.
-                  "title": "A String", # Required. Title of the carousel item.
-                },
-              ],
-            },
-            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
-              "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.
-                  },
-                  "image": { # The image response message. # Optional. The image to display.
-                    "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.
-                    "imageUri": "A String", # Optional. The public URI to an image file.
-                  },
-                  "description": "A String", # Optional. The main text describing the item.
-                  "title": "A String", # Required. The title of the list item.
-                },
-              ],
-              "title": "A String", # Optional. The overall title of the list.
-            },
-            "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).
-            },
-            "payload": { # Returns a response containing a custom, platform-specific payload.
-                # See the Intent.Message.Platform type for a description of the
-                # structure that may be required for your platform.
-              "a_key": "", # Properties of the object.
-            },
-            "card": { # The card response message. # Displays a 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.
-                },
-              ],
-              "title": "A String", # Optional. The title of the card.
-              "subtitle": "A String", # Optional. The subtitle of the card.
-              "imageUri": "A String", # Optional. The public URI to an image file for the card.
-            },
-          },
-        ],
-        "parentFollowupIntentName": "A String", # Read-only after creation. 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>`.
         "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",
         ],
-        "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher
-            # priorities. If this is zero or unspecified, we use the default
-            # priority 500000.
+        "priority": 42, # The priority of this intent. Higher numbers represent higher
+            # priorities.
             #
-            # Negative numbers mean that the intent is disabled.
+            # - 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.
         "rootFollowupIntentName": "A String", # Read-only. The unique identifier of the root intent in the chain of
             # followup intents. It identifies the correct followup intents chain for
             # this intent. We populate this field only in the output.
             #
-            # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-        "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.
+            # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
+        "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
+            # session when this intent is matched.
         "inputContextNames": [ # Optional. The list of context names required for this intent to be
             # triggered.
-            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
+            # Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
           "A String",
         ],
         "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
@@ -948,26 +1651,44 @@
             # 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>`.
+            # Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
           { # Represents a context.
-            "parameters": { # Optional. The collection of parameters associated with this context.
-                # Refer to [this
-                # doc](https://cloud.google.com/dialogflow-enterprise/docs/intents-actions-parameters)
-                # for syntax.
-              "a_key": "", # Properties of the object.
-            },
             "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>`.
+                # `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`,
+                # or `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+                # ID&gt;/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`.
                 #
                 # 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.
+            },
             "lifespanCount": 42, # Optional. The number of conversational query requests after which the
-                # context expires. If set to `0` (the default) the context expires
+                # 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.
           },
@@ -975,62 +1696,118 @@
         "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",
         ],
       },
-      "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.
-      },
-      "diagnosticInfo": { # The free-form diagnostic info. For example, this field could contain
-          # webhook call latency. The string keys of the Struct's fields map can change
-          # without notice.
-        "a_key": "", # Properties of the object.
-      },
-      "queryText": "A String", # The original conversational query text:
+      "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.
+      "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:
           #
-          # - 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.
+          # - webhook call latency
+          # - webhook errors
+        "a_key": "", # Properties of the object.
+      },
+      "action": "A String", # The action name from the matched intent.
       "outputContexts": [ # The collection of output contexts. If applicable,
           # `output_contexts.parameters` contains entries with name
-          # `<parameter name>.original` containing the original parameter values
+          # `&lt;parameter name&gt;.original` containing the original parameter values
           # before the query.
         { # Represents a context.
-          "parameters": { # Optional. The collection of parameters associated with this context.
-              # Refer to [this
-              # doc](https://cloud.google.com/dialogflow-enterprise/docs/intents-actions-parameters)
-              # for syntax.
-            "a_key": "", # Properties of the object.
-          },
           "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>`.
+              # `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`,
+              # or `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+              # ID&gt;/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`.
               #
               # 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.
+          },
           "lifespanCount": 42, # Optional. The number of conversational query requests after which the
-              # context expires. If set to `0` (the default) the context expires
+              # 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.
         },
       ],
-      "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.
       "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.
+      "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).
+        },
+      },
+      "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.
+            "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.
+            "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
+                # Format: `projects/&lt;Project ID&gt;/knowledgeBases/&lt;Knowledge Base
+                # ID&gt;/documents/&lt;Document ID&gt;`.
+            "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 `&lt;query, answer&gt;` 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.
+            "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.
+          },
+        ],
+      },
     },
     "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.
@@ -1049,67 +1826,33 @@
         # intents are supported, at which point those additional results will be
         # surfaced here.
       { # Represents the result of conversational query or event processing.
-        "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).
-          },
-        },
-        "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.
-        "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.
-              "answer": "A String", # The piece of text from the `source` knowledge base document that answers
-                  # this conversational query.
-              "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
-                  # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
-                  # ID>/documents/<Document ID>`.
-              "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.
-              "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ
-                  # Document, empty otherwise.
-            },
-          ],
-        },
-        "parameters": { # The collection of extracted parameters.
-          "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-enterprise/docs/reference/language)
+            # Support](https://cloud.google.com/dialogflow/docs/reference/language)
             # for a list of the currently supported language codes.
-        "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.
+        "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.
+        "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.
+        },
+        "parameters": { # The collection of extracted parameters.
             #
-            # 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.
-        "intentDetectionConfidence": 3.14, # The intent detection confidence. Values range from 0.0
-            # (completely uncertain) to 1.0 (completely certain).
-            # If there are `multiple knowledge_answers` messages, this value is set to
-            # the greatest `knowledgeAnswers.match_confidence` value in the list.
+            # 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.
+        },
         "fulfillmentMessages": [ # The collection of rich messages to present to the user.
           { # Corresponds to the `Response` field in the Dialogflow console.
             "simpleResponses": { # The collection of simple response candidates. # Returns a voice or text-only response for Actions on Google.
@@ -1118,12 +1861,12 @@
                 # `SimpleResponse`.
               "simpleResponses": [ # Required. The list of simple responses.
                 { # The simple response message containing speech or text.
-                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                      # speech output. Mutually exclusive with ssml.
-                  "displayText": "A String", # Optional. The text to display.
                   "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.
+                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                      # speech output. Mutually exclusive with ssml.
+                  "displayText": "A String", # Optional. The text to display.
                 },
               ],
             },
@@ -1133,6 +1876,48 @@
               ],
               "title": "A String", # Optional. The title of the collection of quick replies.
             },
+            "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.
+                    "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).
+                    },
+                    "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", # 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).
+                      "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.
+                    "text": "A String", # Suggested reply text.
+                    "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.
+                  },
+                },
+              ],
+            },
             "platform": "A String", # Optional. The platform that this message is intended for.
             "text": { # The text response message. # Returns a text response.
               "text": [ # Optional. The collection of the agent's responses.
@@ -1154,22 +1939,105 @@
                   # [SSML](https://developers.google.com/actions/reference/ssml).
               "text": "A String", # The raw text to be synthesized.
             },
-            "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.
+            "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
+                    "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.
+                    "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.
+                  },
+                  "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.
+                        "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).
+                        },
+                        "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", # 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).
+                          "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.
+                        "text": "A String", # Suggested reply text.
+                        "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.
+                      },
+                    },
+                  ],
+                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                  "title": "A String", # Optional. Title of the card (at most 200 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.
             },
             "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
+                  # This object must be readable by the `service-&lt;Project
+                  # Number&gt;@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                  # where &lt;Project Number&gt; 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.
@@ -1177,12 +2045,127 @@
                   # For audio from other sources, consider using the
                   # `TelephonySynthesizeSpeech` message with SSML.
             },
+            "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.
+              "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
+                  "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.
+                  "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.
+                },
+                "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.
+                      "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).
+                      },
+                      "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", # 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).
+                        "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.
+                      "text": "A String", # Suggested reply text.
+                      "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.
+                    },
+                  },
+                ],
+                "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+                "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                    #
+                    # At least one of the title, description or media must be set.
+              },
+              "cardOrientation": "A String", # Required. Orientation of the card.
+            },
             "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.
             },
+            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+                # https://developers.google.com/actions/assistant/responses#browsing_carousel
+              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                  # items, maximum of ten.
+                { # Browsing carousel tile
+                  "image": { # The image response message. # Optional. Hero image for the carousel item.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                  "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.
+                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                    "url": "A String", # Required. URL
+                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                        # the URL. Defaults to opening via web browser.
+                  },
+                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                      # Card. Maximum of one line of text.
+                },
+              ],
+              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                  # items.
+            },
             "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.
@@ -1201,6 +2184,59 @@
               "subtitle": "A String", # Optional. The subtitle of the card.
               "title": "A String", # Optional. The title of the card.
             },
+            "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.
+                  "contentUrl": "A String", # Required. Url where the media is stored.
+                  "description": "A String", # Optional. Description of media card.
+                  "name": "A String", # Required. Name of media card.
+                  "largeImage": { # The image response message. # Optional. Image to display above media content.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                  "icon": { # The image response message. # Optional. Icon to display above media content.
+                    "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.
+                    "imageUri": "A String", # Optional. The public URI to an image file.
+                  },
+                },
+              ],
+              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+            },
+            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+              "rows": [ # Optional. Rows in this table of data.
+                { # Row of TableCard.
+                  "cells": [ # Optional. List of cells that make up this row.
+                    { # Cell of TableCardRow.
+                      "text": "A String", # Required. Text in this cell.
+                    },
+                  ],
+                  "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
+                },
+              ],
+              "subtitle": "A String", # Optional. Subtitle to the title.
+              "title": "A String", # Required. Title of the card.
+              "image": { # The image response message. # Optional. Image which should be displayed on the card.
+                "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.
+                "imageUri": "A String", # Optional. The public URI to an image file.
+              },
+              "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.
+                },
+              ],
+              "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.
+                },
+              ],
+            },
             "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.
@@ -1244,17 +2280,24 @@
                   "title": "A String", # Required. The title of the list item.
                 },
               ],
+              "subtitle": "A String", # Optional. Subtitle of the list.
               "title": "A String", # Optional. The overall title of the list.
             },
+            "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.
+                },
+              ],
+            },
             "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).
             },
-            "payload": { # Returns a response containing a custom, platform-specific payload.
-                # See the Intent.Message.Platform type for a description of the
-                # structure that may be required for your platform.
+            "payload": { # A custom platform-specific response.
               "a_key": "", # Properties of the object.
             },
             "card": { # The card response message. # Displays a card.
@@ -1271,10 +2314,29 @@
             },
           },
         ],
-        "action": "A String", # The action name from the matched intent.
+        "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.
+        "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.
+        "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.
         "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` and `webhook_state`.
+            # `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.
           "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
@@ -1286,12 +2348,10 @@
           "name": "A String", # The unique identifier of this intent.
               # Required for Intents.UpdateIntent and Intents.BatchUpdateIntents
               # methods.
-              # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+              # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
           "parameters": [ # Optional. The collection of parameters associated with the intent.
             { # Represents intent parameters.
-              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
-                  # whether the intent cannot be completed without collecting the parameter
-                  # value.
+              "displayName": "A String", # Required. The name of the parameter.
               "name": "A String", # The unique identifier of this parameter.
               "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty
                   # result.
@@ -1307,67 +2367,36 @@
                   # - a parameter value from some context defined as
                   #   `#context_name.parameter_name`.
               "prompts": [ # Optional. The collection of prompts that the agent can present to the
-                  # user in order to collect value for the parameter.
+                  # user in order to collect a value for the parameter.
                 "A String",
               ],
               "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
-              "displayName": "A String", # Required. The name of the parameter.
+              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is,
+                  # whether the intent cannot be completed without collecting the parameter
+                  # value.
             },
           ],
-          "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.
-                  "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.
-                  "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.
-                },
-              ],
-              "type": "A String", # Required. The type 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.
-            },
-          ],
+          "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.
           "followupIntentInfo": [ # Read-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>`.
+                  # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
               "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent.
-                  # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
+                  # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
             },
           ],
           "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
-          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
-              # session when this intent is matched.
+          "parentFollowupIntentName": "A String", # Read-only after creation. 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/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
           "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.
@@ -1377,12 +2406,12 @@
                   # `SimpleResponse`.
                 "simpleResponses": [ # Required. The list of simple responses.
                   { # The simple response message containing speech or text.
-                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
-                        # speech output. Mutually exclusive with ssml.
-                    "displayText": "A String", # Optional. The text to display.
                     "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.
+                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the
+                        # speech output. Mutually exclusive with ssml.
+                    "displayText": "A String", # Optional. The text to display.
                   },
                 ],
               },
@@ -1392,6 +2421,48 @@
                 ],
                 "title": "A String", # Optional. The title of the collection of quick replies.
               },
+              "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.
+                      "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).
+                      },
+                      "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", # 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).
+                        "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.
+                      "text": "A String", # Suggested reply text.
+                      "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.
+                    },
+                  },
+                ],
+              },
               "platform": "A String", # Optional. The platform that this message is intended for.
               "text": { # The text response message. # Returns a text response.
                 "text": [ # Optional. The collection of the agent's responses.
@@ -1413,22 +2484,105 @@
                     # [SSML](https://developers.google.com/actions/reference/ssml).
                 "text": "A String", # The raw text to be synthesized.
               },
-              "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.
+              "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
+                      "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.
+                      "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.
+                    },
+                    "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.
+                          "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).
+                          },
+                          "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", # 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).
+                            "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.
+                          "text": "A String", # Suggested reply text.
+                          "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.
+                        },
+                      },
+                    ],
+                    "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                        #
+                        # At least one of the title, description or media must be set.
+                    "title": "A String", # Optional. Title of the card (at most 200 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.
               },
               "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
+                    # This object must be readable by the `service-&lt;Project
+                    # Number&gt;@gcp-sa-dialogflow.iam.gserviceaccount.com` service account
+                    # where &lt;Project Number&gt; 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.
@@ -1436,12 +2590,127 @@
                     # For audio from other sources, consider using the
                     # `TelephonySynthesizeSpeech` message with SSML.
               },
+              "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.
+                "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
+                    "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.
+                    "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.
+                  },
+                  "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.
+                        "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).
+                        },
+                        "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", # 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).
+                          "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.
+                        "text": "A String", # Suggested reply text.
+                        "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.
+                      },
+                    },
+                  ],
+                  "description": "A String", # Optional. Description of the card (at most 2000 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                  "title": "A String", # Optional. Title of the card (at most 200 bytes).
+                      #
+                      # At least one of the title, description or media must be set.
+                },
+                "cardOrientation": "A String", # Required. Orientation of the card.
+              },
               "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.
               },
+              "browseCarouselCard": { # Browse Carousel Card for Actions on Google. # Browse carousel card for Actions on Google.
+                  # https://developers.google.com/actions/assistant/responses#browsing_carousel
+                "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two
+                    # items, maximum of ten.
+                  { # Browsing carousel tile
+                    "image": { # The image response message. # Optional. Hero image for the carousel item.
+                      "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.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                    },
+                    "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.
+                    "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
+                      "url": "A String", # Required. URL
+                      "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening
+                          # the URL. Defaults to opening via web browser.
+                    },
+                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
+                        # Card. Maximum of one line of text.
+                  },
+                ],
+                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
+                    # items.
+              },
               "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.
@@ -1460,6 +2729,59 @@
                 "subtitle": "A String", # Optional. The subtitle of the card.
                 "title": "A String", # Optional. The title of the card.
               },
+              "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.
+                    "contentUrl": "A String", # Required. Url where the media is stored.
+                    "description": "A String", # Optional. Description of media card.
+                    "name": "A String", # Required. Name of media card.
+                    "largeImage": { # The image response message. # Optional. Image to display above media content.
+                      "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.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                    },
+                    "icon": { # The image response message. # Optional. Icon to display above media content.
+                      "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.
+                      "imageUri": "A String", # Optional. The public URI to an image file.
+                    },
+                  },
+                ],
+                "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
+              },
+              "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
+                "rows": [ # Optional. Rows in this table of data.
+                  { # Row of TableCard.
+                    "cells": [ # Optional. List of cells that make up this row.
+                      { # Cell of TableCardRow.
+                        "text": "A String", # Required. Text in this cell.
+                      },
+                    ],
+                    "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
+                  },
+                ],
+                "subtitle": "A String", # Optional. Subtitle to the title.
+                "title": "A String", # Required. Title of the card.
+                "image": { # The image response message. # Optional. Image which should be displayed on the card.
+                  "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.
+                  "imageUri": "A String", # Optional. The public URI to an image file.
+                },
+                "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.
+                  },
+                ],
+                "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.
+                  },
+                ],
+              },
               "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.
@@ -1503,17 +2825,24 @@
                     "title": "A String", # Required. The title of the list item.
                   },
                 ],
+                "subtitle": "A String", # Optional. Subtitle of the list.
                 "title": "A String", # Optional. The overall title of the list.
               },
+              "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.
+                  },
+                ],
+              },
               "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).
               },
-              "payload": { # Returns a response containing a custom, platform-specific payload.
-                  # See the Intent.Message.Platform type for a description of the
-                  # structure that may be required for your platform.
+              "payload": { # A custom platform-specific response.
                 "a_key": "", # Properties of the object.
               },
               "card": { # The card response message. # Displays a card.
@@ -1530,33 +2859,70 @@
               },
             },
           ],
-          "parentFollowupIntentName": "A String", # Read-only after creation. 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>`.
+          "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.
+                  "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.
+                  "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.
+                },
+              ],
+              "type": "A String", # Required. The type 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.
+            },
+          ],
           "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",
           ],
-          "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher
-              # priorities. If this is zero or unspecified, we use the default
-              # priority 500000.
+          "priority": 42, # The priority of this intent. Higher numbers represent higher
+              # priorities.
               #
-              # Negative numbers mean that the intent is disabled.
+              # - 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.
           "rootFollowupIntentName": "A String", # Read-only. The unique identifier of the root intent in the chain of
               # followup intents. It identifies the correct followup intents chain for
               # this intent. We populate this field only in the output.
               #
-              # Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
-          "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.
+              # Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
+          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
+              # session when this intent is matched.
           "inputContextNames": [ # Optional. The list of context names required for this intent to be
               # triggered.
-              # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
+              # Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
             "A String",
           ],
           "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
@@ -1576,26 +2942,44 @@
               # 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>`.
+              # Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
             { # Represents a context.
-              "parameters": { # Optional. The collection of parameters associated with this context.
-                  # Refer to [this
-                  # doc](https://cloud.google.com/dialogflow-enterprise/docs/intents-actions-parameters)
-                  # for syntax.
-                "a_key": "", # Properties of the object.
-              },
               "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>`.
+                  # `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`,
+                  # or `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+                  # ID&gt;/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`.
                   #
                   # 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.
+              },
               "lifespanCount": 42, # Optional. The number of conversational query requests after which the
-                  # context expires. If set to `0` (the default) the context expires
+                  # 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.
             },
@@ -1603,62 +2987,118 @@
           "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",
           ],
         },
-        "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.
-        },
-        "diagnosticInfo": { # The free-form diagnostic info. For example, this field could contain
-            # webhook call latency. The string keys of the Struct's fields map can change
-            # without notice.
-          "a_key": "", # Properties of the object.
-        },
-        "queryText": "A String", # The original conversational query text:
+        "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.
+        "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:
             #
-            # - 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.
+            # - webhook call latency
+            # - webhook errors
+          "a_key": "", # Properties of the object.
+        },
+        "action": "A String", # The action name from the matched intent.
         "outputContexts": [ # The collection of output contexts. If applicable,
             # `output_contexts.parameters` contains entries with name
-            # `<parameter name>.original` containing the original parameter values
+            # `&lt;parameter name&gt;.original` containing the original parameter values
             # before the query.
           { # Represents a context.
-            "parameters": { # Optional. The collection of parameters associated with this context.
-                # Refer to [this
-                # doc](https://cloud.google.com/dialogflow-enterprise/docs/intents-actions-parameters)
-                # for syntax.
-              "a_key": "", # Properties of the object.
-            },
             "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>`.
+                # `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`,
+                # or `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
+                # ID&gt;/sessions/&lt;Session ID&gt;/contexts/&lt;Context ID&gt;`.
                 #
                 # 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.
+            },
             "lifespanCount": 42, # Optional. The number of conversational query requests after which the
-                # context expires. If set to `0` (the default) the context expires
+                # 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.
           },
         ],
-        "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.
         "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.
+        "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).
+          },
+        },
+        "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.
+              "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.
+              "source": "A String", # Indicates which Knowledge Document this answer was extracted from.
+                  # Format: `projects/&lt;Project ID&gt;/knowledgeBases/&lt;Knowledge Base
+                  # ID&gt;/documents/&lt;Document ID&gt;`.
+              "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 `&lt;query, answer&gt;` 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.
+              "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.
+            },
+          ],
+        },
       },
     ],
     "webhookStatus": { # The `Status` type defines a logical error model that is suitable for # Specifies the status of the webhook request.