Dialogflow API . projects . agent . environments . users . sessions

Instance Methods

contexts()

Returns the contexts Resource.

entityTypes()

Returns the entityTypes Resource.

deleteContexts(parent=None, x__xgafv=None)

Deletes all active contexts in the specified session.

detectIntent(session=None, body=None, x__xgafv=None)

Processes a natural language query and returns structured, actionable data

Method Details

deleteContexts(parent=None, x__xgafv=None)
Deletes all active contexts in the specified session.

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'
environment. If `User ID` is not specified, we assume default '-' user. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
detectIntent(session=None, body=None, x__xgafv=None)
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
results of future queries.

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
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 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.
    The object takes the form of:

{ # ============================================================================
      # Requests and responses for custom methods.
      # The request to detect user's intent.
    "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. # Instructs the speech synthesizer how to generate the output
        # audio. If this field is not set and agent-level speech synthesizer is not
        # configured, no output audio is generated.
        # If this audio config is supplied in a request, it overrides all existing
        # text-to-speech settings applied to the agent.
      "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. # 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.
          "A String",
        ],
        "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
          "ssmlGender": "A String", # Optional. The preferred gender of the voice. If not set, the service will
              # choose a voice based on the other parameters such as language_code and
              # name. Note that this is only a preference, not requirement. If a
              # voice of the appropriate gender is not available, the synthesizer should
              # substitute a voice with a different gender rather than failing the request.
          "name": "A String", # Optional. The name of the voice. If not set, the service will choose a
              # voice based on the other parameters such as language_code and
              # ssml_gender.
        },
        "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.
        "volumeGainDb": 3.14, # Optional. Volume gain (in dB) of the normal native volume supported by the
            # specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
            # 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
            # will play at approximately half the amplitude of the normal native signal
            # amplitude. A value of +6.0 (dB) will play at approximately twice the
            # amplitude of the normal native signal amplitude. We strongly recommend not
            # to exceed +10 (dB) as there's usually no effective increase in loudness for
            # any value greater than that.
        "pitch": 3.14, # Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
            # semitones from the original pitch. -20 means decrease 20 semitones from the
            # original pitch.
      },
    },
    "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.
    "outputAudioConfigMask": "A String", # Mask for output_audio_config indicating which settings in this
        # request-level config should override speech synthesizer settings defined at
        # agent-level.
        # 
        # If unspecified or empty, output_audio_config replaces the agent-level
        # config in its entirety.
    "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.
        "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.
        "text": "A String", # Required. The UTF-8 encoded natural language text to be processed.
            # Text length must not exceed 256 characters.
      },
      "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/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.
          "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.
      },
    },
    "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.
        "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].
      },
      "sentimentAnalysisRequestConfig": { # Configures the types of sentiment analysis to perform. # Configures the type of sentiment analysis to perform. If not
          # provided, sentiment analysis is not performed.
          # Note: Sentiment Analysis is only currently available for Enterprise Edition
          # agents.
        "analyzeQueryTextSentiment": True or False, # Instructs the service to perform sentiment analysis on
            # `query_text`. If not provided, sentiment analysis is not performed on
            # `query_text`.
      },
      "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>`.
        "A String",
      ],
      "subAgents": [ # For mega agent query, directly specify which sub agents to query.
          # If any specified sub agent is not linked to the mega agent, an error will
          # be returned. If empty, Dialogflow will decide which sub agents to query.
          # 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/<Project ID>`.
          "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.
        },
      ],
      "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/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>`.
              #
              # 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`
          "lifespanCount": 42, # Optional. The number of conversational query requests after which the
              # context expires. If set to `0` (the default) the context expires
              # immediately. Contexts expire automatically after 20 minutes if there
              # are no matching queries.
        },
      ],
      "resetContexts": True or False, # Specifies whether to delete all contexts in the current session
          # before the new ones are activated.
      "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": { # This field can be used to pass custom data into the webhook
          # associated with the agent. Arbitrary JSON objects are supported.
        "a_key": "", # Properties of the object.
      },
      "sessionEntityTypes": [ # Additional session entity types to replace or extend developer
          # entity types with. The entity synonyms apply to all languages and persist
          # for the session of this query.
        { # Represents a session entity type.
            #
            # Extends or replaces a custom entity type at the user session level (we
            # refer to the entity types defined at the agent level as "custom entity
            # types").
            #
            # Note: session entity types apply to all queries, regardless of the language.
          "entities": [ # Required. The collection of entities associated with this session entity
              # type.
            { # An **entity entry** for an associated entity type.
              "synonyms": [ # Required. A collection of value synonyms. For example, if the entity type
                  # is *vegetable*, and `value` is *scallions*, a synonym could be *green
                  # onions*.
                  #
                  # For `KIND_LIST` entity types:
                  #
                  # *   This collection must contain exactly one synonym equal to `value`.
                "A String",
              ],
              "value": "A String", # Required. The primary value associated with this entity entry.
                  # For example, if the entity type is *vegetable*, the value could be
                  # *scallions*.
                  #
                  # For `KIND_MAP` entity types:
                  #
                  # *   A reference value to be used in place of synonyms.
                  #
                  # For `KIND_LIST` entity types:
                  #
                  # *   A string that can contain references to other entity types (with or
                  #     without aliases).
            },
          ],
          "name": "A String", # Required. The unique identifier of this session entity type. Format:
              # `projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
              # Display Name>`, or
              # `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
              # ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>`.
              # If `Environment ID` is not specified, we assume default 'draft'
              # environment. If `User ID` is not specified, we assume default '-' user.
              #
              # `<Entity Type Display Name>` must be the display name of an existing entity
              # type in the same agent that will be overridden or supplemented.
          "entityOverrideMode": "A String", # Required. Indicates whether the additional data should override or
              # supplement the custom entity type definition.
        },
      ],
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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.
        # 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. # 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.
          "A String",
        ],
        "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
          "ssmlGender": "A String", # Optional. The preferred gender of the voice. If not set, the service will
              # choose a voice based on the other parameters such as language_code and
              # name. Note that this is only a preference, not requirement. If a
              # voice of the appropriate gender is not available, the synthesizer should
              # substitute a voice with a different gender rather than failing the request.
          "name": "A String", # Optional. The name of the voice. If not set, the service will choose a
              # voice based on the other parameters such as language_code and
              # ssml_gender.
        },
        "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.
        "volumeGainDb": 3.14, # Optional. Volume gain (in dB) of the normal native volume supported by the
            # specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
            # 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
            # will play at approximately half the amplitude of the normal native signal
            # amplitude. A value of +6.0 (dB) will play at approximately twice the
            # amplitude of the normal native signal amplitude. We strongly recommend not
            # to exceed +10 (dB) as there's usually no effective increase in loudness for
            # any value greater than that.
        "pitch": 3.14, # Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
            # semitones from the original pitch. -20 means decrease 20 semitones from the
            # original pitch.
      },
    },
    "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/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.
          #
          # 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).
          # 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.
      "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.
              # 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.
          },
          "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.
          },
          "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.
          },
          "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.
          },
          "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
              #
              # RBM allows businesses to send enriched and branded versions of SMS. See
              # https://jibe.google.com/business-messaging.
            "text": "A String", # Required. Text sent and displayed to the user.
            "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
              { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                  # easily select/click a predefined response or perform an action (like
                  # opening a web uri).
                "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                    # can choose from the card.
                  "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
                      # (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
                  },
                  "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).
                  },
                  "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.
                  },
                  "text": "A String", # Text to display alongside the action.
                  "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.
                },
              },
            ],
          },
          "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.
                      "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
                      },
                      "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).
                      },
                      "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.
                      },
                      "text": "A String", # Text to display alongside the action.
                      "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
                # (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.
          },
          "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.
          },
          "platform": "A String", # Optional. The platform that this message is intended for.
          "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
              # Telephony Gateway.
              #
              # Telephony Gateway takes the synthesizer settings from
              # `DetectIntentResponse.output_audio_config` which can either be set
              # at request-level or can come from the agent-level synthesizer config.
            "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.
          },
          "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.
              },
            ],
            "subtitle": "A String", # Optional. The subtitle 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.
            },
            "formattedText": "A String", # Required, unless image is present. The body text 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").
          },
          "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.
              },
            ],
          },
          "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.
                },
                "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
                    # Card. Maximum of one line 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.
                },
                "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
              },
            ],
            "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
                # items.
          },
          "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).
          },
          "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.
                    "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
                    },
                    "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).
                    },
                    "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.
                    },
                    "text": "A String", # Text to display alongside the action.
                    "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.
          },
          "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.
              },
            ],
            "imageUri": "A String", # Optional. The public URI to an image file for the card.
            "subtitle": "A String", # Optional. The subtitle of the card.
            "title": "A String", # Optional. The title of the card.
          },
          "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.
              },
            ],
          },
        },
      ],
      "action": "A String", # The action name from the matched intent.
      "intent": { # Represents an intent. # The intent that matched the conversational query. Some, not
          # all fields are filled in this message, including but not limited to:
          # `name`, `display_name`, `end_interaction` and `is_fallback`.
          # Intents convert a number of user expressions or patterns into an action. An
          # action is an extraction of a user command or sentence semantics.
        "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
        "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent.
            # Note: If `ml_disabled` setting is set to true, then this intent is not
            # taken into account during inference in `ML ONLY` match mode. Also,
            # auto-markup in the UI is turned off.
        "displayName": "A String", # Required. The name of this intent.
        "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>`.
        "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.
            "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.
                # Default values can be extracted from contexts by using the following
                # syntax: `#context_name.parameter_name`.
            "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that
                # describes values of the parameter. If the parameter is
                # required, this must be provided.
            "value": "A String", # Optional. The definition of the parameter value. It can be:
                # - a constant string,
                # - a parameter value defined as `$parameter_name`,
                # - an original parameter value defined as `$parameter_name.original`,
                # - a parameter value from some context defined as
                #   `#context_name.parameter_name`.
            "prompts": [ # Optional. The collection of prompts that the agent can present to the
                # user in order to collect a value for the parameter.
              "A String",
            ],
            "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
            "displayName": "A String", # Required. The name of the parameter.
          },
        ],
        "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>`.
            "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.
        "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>`.
        "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.
            },
            "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.
            },
            "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.
            },
            "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.
            },
            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
                #
                # RBM allows businesses to send enriched and branded versions of SMS. See
                # https://jibe.google.com/business-messaging.
              "text": "A String", # Required. Text sent and displayed to the user.
              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                    # easily select/click a predefined response or perform an action (like
                    # opening a web uri).
                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                      # can choose from the card.
                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
                        # (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
                    },
                    "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).
                    },
                    "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.
                    },
                    "text": "A String", # Text to display alongside the action.
                    "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.
                  },
                },
              ],
            },
            "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.
                        "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
                        },
                        "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).
                        },
                        "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.
                        },
                        "text": "A String", # Text to display alongside the action.
                        "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
                  # (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.
            },
            "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.
            },
            "platform": "A String", # Optional. The platform that this message is intended for.
            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
                # Telephony Gateway.
                #
                # Telephony Gateway takes the synthesizer settings from
                # `DetectIntentResponse.output_audio_config` which can either be set
                # at request-level or can come from the agent-level synthesizer config.
              "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.
            },
            "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.
                },
              ],
              "subtitle": "A String", # Optional. The subtitle 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.
              },
              "formattedText": "A String", # Required, unless image is present. The body text 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").
            },
            "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.
                },
              ],
            },
            "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.
                  },
                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
                      # Card. Maximum of one line 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.
                  },
                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                },
              ],
              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
                  # items.
            },
            "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).
            },
            "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.
                      "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
                      },
                      "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).
                      },
                      "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.
                      },
                      "text": "A String", # Text to display alongside the action.
                      "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.
            },
            "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.
                },
              ],
              "imageUri": "A String", # Optional. The public URI to an image file for the card.
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "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.
                },
              ],
            },
          },
        ],
        "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
            # session when this intent is matched.
        "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, # The priority of this intent. Higher numbers represent higher
            # priorities.
            #
            # - If the supplied value is unspecified or 0, the service
            #   translates the value to 500,000, which corresponds to the
            #   `Normal` priority in the console.
            # - If the supplied value is negative, the intent is ignored
            #   in runtime detect intent requests.
        "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>`.
        "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.
          },
        ],
        "inputContextNames": [ # Optional. The list of context names required for this intent to be
            # triggered.
            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
          "A String",
        ],
        "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
            # Note: If `ml_enabled` setting is set to false, then this intent is not
            # taken into account during inference in `ML ONLY` match mode. Also,
            # auto-markup in the UI is turned off.
            # DEPRECATED! Please use `ml_disabled` field instead.
            # NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false,
            # then the default value is determined as follows:
            # - Before April 15th, 2018 the default is:
            #   ml_enabled = false / ml_disabled = true.
            # - After April 15th, 2018 the default is:
            #   ml_enabled = true / ml_disabled = false.
        "action": "A String", # Optional. The name of the action associated with the intent.
            # Note: The action name must not contain whitespaces.
        "outputContexts": [ # Optional. The collection of contexts that are activated when the intent
            # is matched. Context messages in this collection should not set the
            # parameters field. Setting the `lifespan_count` to 0 will reset the context
            # when the intent is matched.
            # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
          { # Represents a context.
            "parameters": { # Optional. The collection of parameters associated with this context.
                # Refer to [this
                # doc](https://cloud.google.com/dialogflow/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>`.
                #
                # 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`
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                # context expires. If set to `0` (the default) the context expires
                # immediately. Contexts expire automatically after 20 minutes if there
                # are no matching queries.
          },
        ],
        "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 50 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": { # Free-form diagnostic information for the associated detect intent request.
          # The fields of this data can change without notice, so you should not write
          # code that depends on its structure.
          # The data may contain:
          #
          # - webhook call latency
          # - webhook errors
        "a_key": "", # Properties of the object.
      },
      "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.
      "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.
      "outputContexts": [ # The collection of output contexts. If applicable,
          # `output_contexts.parameters` contains entries with name
          # `<parameter name>.original` containing the original parameter values
          # before the query.
        { # Represents a context.
          "parameters": { # Optional. The collection of parameters associated with this context.
              # Refer to [this
              # doc](https://cloud.google.com/dialogflow/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>`.
              #
              # 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`
          "lifespanCount": 42, # Optional. The number of conversational query requests after which the
              # context expires. If set to `0` (the default) the context expires
              # immediately. Contexts expire automatically after 20 minutes if there
              # are no matching queries.
        },
      ],
      "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.
    },
    "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.
    "outputAudio": "A String", # The audio data bytes encoded as specified in the request.
        # Note: The output audio is generated based on the values of default platform
        # text responses found in the `query_result.fulfillment_messages` field. If
        # multiple default text responses exist, they will be concatenated when
        # generating audio. If no default platform text responses exist, the
        # generated audio content will be empty.
    "alternativeQueryResults": [ # If Knowledge Connectors are enabled, there could be more than one result
        # returned for a given query or event, and this field will contain all
        # results except for the top one, which is captured in query_result. The
        # alternative results are ordered by decreasing
        # `QueryResult.intent_detection_confidence`. If Knowledge Connectors are
        # disabled, this field will be empty until multiple responses for regular
        # intents are supported, at which point those additional results will be
        # surfaced here.
      { # Represents the result of conversational query or event processing.
        "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/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.
            #
            # 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).
            # 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.
        "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.
                # 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.
            },
            "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.
            },
            "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.
            },
            "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.
            },
            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
                #
                # RBM allows businesses to send enriched and branded versions of SMS. See
                # https://jibe.google.com/business-messaging.
              "text": "A String", # Required. Text sent and displayed to the user.
              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                    # easily select/click a predefined response or perform an action (like
                    # opening a web uri).
                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                      # can choose from the card.
                    "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
                        # (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
                    },
                    "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).
                    },
                    "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.
                    },
                    "text": "A String", # Text to display alongside the action.
                    "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.
                  },
                },
              ],
            },
            "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.
                        "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
                        },
                        "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).
                        },
                        "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.
                        },
                        "text": "A String", # Text to display alongside the action.
                        "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
                  # (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.
            },
            "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.
            },
            "platform": "A String", # Optional. The platform that this message is intended for.
            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
                # Telephony Gateway.
                #
                # Telephony Gateway takes the synthesizer settings from
                # `DetectIntentResponse.output_audio_config` which can either be set
                # at request-level or can come from the agent-level synthesizer config.
              "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.
            },
            "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.
                },
              ],
              "subtitle": "A String", # Optional. The subtitle 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.
              },
              "formattedText": "A String", # Required, unless image is present. The body text 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").
            },
            "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.
                },
              ],
            },
            "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.
                  },
                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
                      # Card. Maximum of one line 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.
                  },
                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                },
              ],
              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
                  # items.
            },
            "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).
            },
            "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.
                      "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
                      },
                      "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).
                      },
                      "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.
                      },
                      "text": "A String", # Text to display alongside the action.
                      "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.
            },
            "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.
                },
              ],
              "imageUri": "A String", # Optional. The public URI to an image file for the card.
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "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.
                },
              ],
            },
          },
        ],
        "action": "A String", # The action name from the matched intent.
        "intent": { # Represents an intent. # The intent that matched the conversational query. Some, not
            # all fields are filled in this message, including but not limited to:
            # `name`, `display_name`, `end_interaction` and `is_fallback`.
            # Intents convert a number of user expressions or patterns into an action. An
            # action is an extraction of a user command or sentence semantics.
          "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
          "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent.
              # Note: If `ml_disabled` setting is set to true, then this intent is not
              # taken into account during inference in `ML ONLY` match mode. Also,
              # auto-markup in the UI is turned off.
          "displayName": "A String", # Required. The name of this intent.
          "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>`.
          "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.
              "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.
                  # Default values can be extracted from contexts by using the following
                  # syntax: `#context_name.parameter_name`.
              "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that
                  # describes values of the parameter. If the parameter is
                  # required, this must be provided.
              "value": "A String", # Optional. The definition of the parameter value. It can be:
                  # - a constant string,
                  # - a parameter value defined as `$parameter_name`,
                  # - an original parameter value defined as `$parameter_name.original`,
                  # - a parameter value from some context defined as
                  #   `#context_name.parameter_name`.
              "prompts": [ # Optional. The collection of prompts that the agent can present to the
                  # user in order to collect a value for the parameter.
                "A String",
              ],
              "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
              "displayName": "A String", # Required. The name of the parameter.
            },
          ],
          "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>`.
              "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.
          "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>`.
          "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.
              },
              "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.
              },
              "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.
              },
              "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.
              },
              "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response.
                  #
                  # RBM allows businesses to send enriched and branded versions of SMS. See
                  # https://jibe.google.com/business-messaging.
                "text": "A String", # Required. Text sent and displayed to the user.
                "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to
                      # easily select/click a predefined response or perform an action (like
                      # opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user # Predefined client side actions that user can choose
                        # can choose from the card.
                      "openUrl": { # Opens the user's default web browser app to the specified uri # Suggested client side action: Open a URI on device
                          # (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
                      },
                      "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).
                      },
                      "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.
                      },
                      "text": "A String", # Text to display alongside the action.
                      "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.
                    },
                  },
                ],
              },
              "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.
                          "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
                          },
                          "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).
                          },
                          "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.
                          },
                          "text": "A String", # Text to display alongside the action.
                          "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
                    # (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.
              },
              "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.
              },
              "platform": "A String", # Optional. The platform that this message is intended for.
              "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in # Synthesizes speech in Telephony Gateway.
                  # Telephony Gateway.
                  #
                  # Telephony Gateway takes the synthesizer settings from
                  # `DetectIntentResponse.output_audio_config` which can either be set
                  # at request-level or can come from the agent-level synthesizer config.
                "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.
              },
              "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.
                  },
                ],
                "subtitle": "A String", # Optional. The subtitle 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.
                },
                "formattedText": "A String", # Required, unless image is present. The body text 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").
              },
              "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.
                  },
                ],
              },
              "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.
                    },
                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel
                        # Card. Maximum of one line 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.
                    },
                    "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                  },
                ],
                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in
                    # items.
              },
              "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).
              },
              "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.
                        "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
                        },
                        "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).
                        },
                        "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.
                        },
                        "text": "A String", # Text to display alongside the action.
                        "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.
              },
              "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.
                  },
                ],
                "imageUri": "A String", # Optional. The public URI to an image file for the card.
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "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.
                  },
                ],
              },
            },
          ],
          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current
              # session when this intent is matched.
          "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, # The priority of this intent. Higher numbers represent higher
              # priorities.
              #
              # - If the supplied value is unspecified or 0, the service
              #   translates the value to 500,000, which corresponds to the
              #   `Normal` priority in the console.
              # - If the supplied value is negative, the intent is ignored
              #   in runtime detect intent requests.
          "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>`.
          "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.
            },
          ],
          "inputContextNames": [ # Optional. The list of context names required for this intent to be
              # triggered.
              # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
            "A String",
          ],
          "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent.
              # Note: If `ml_enabled` setting is set to false, then this intent is not
              # taken into account during inference in `ML ONLY` match mode. Also,
              # auto-markup in the UI is turned off.
              # DEPRECATED! Please use `ml_disabled` field instead.
              # NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false,
              # then the default value is determined as follows:
              # - Before April 15th, 2018 the default is:
              #   ml_enabled = false / ml_disabled = true.
              # - After April 15th, 2018 the default is:
              #   ml_enabled = true / ml_disabled = false.
          "action": "A String", # Optional. The name of the action associated with the intent.
              # Note: The action name must not contain whitespaces.
          "outputContexts": [ # Optional. The collection of contexts that are activated when the intent
              # is matched. Context messages in this collection should not set the
              # parameters field. Setting the `lifespan_count` to 0 will reset the context
              # when the intent is matched.
              # Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
            { # Represents a context.
              "parameters": { # Optional. The collection of parameters associated with this context.
                  # Refer to [this
                  # doc](https://cloud.google.com/dialogflow/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>`.
                  #
                  # 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`
              "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                  # context expires. If set to `0` (the default) the context expires
                  # immediately. Contexts expire automatically after 20 minutes if there
                  # are no matching queries.
            },
          ],
          "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 50 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": { # Free-form diagnostic information for the associated detect intent request.
            # The fields of this data can change without notice, so you should not write
            # code that depends on its structure.
            # The data may contain:
            #
            # - webhook call latency
            # - webhook errors
          "a_key": "", # Properties of the object.
        },
        "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.
        "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.
        "outputContexts": [ # The collection of output contexts. If applicable,
            # `output_contexts.parameters` contains entries with name
            # `<parameter name>.original` containing the original parameter values
            # before the query.
          { # Represents a context.
            "parameters": { # Optional. The collection of parameters associated with this context.
                # Refer to [this
                # doc](https://cloud.google.com/dialogflow/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>`.
                #
                # 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`
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                # context expires. If set to `0` (the default) the context expires
                # immediately. Contexts expire automatically after 20 minutes if there
                # are no matching queries.
          },
        ],
        "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.
      },
    ],
    "webhookStatus": { # The `Status` type defines a logical error model that is suitable for # Specifies the status of the webhook request.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
    },
  }