# Dialogflow API . projects . conversations . participants

## Instance Methods

Returns the suggestions Resource.

Adds a text (chat, for example), or audio (phone recording, for example) message from a participant into the conversation. Note: Always use agent versions for production traffic sent to virtual agents. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).

Close httplib2 connections.

Creates a new participant in a conversation.

Retrieves a conversation participant.

Returns the list of all participants in the specified conversation.

Retrieves the next page of results.

Updates the specified participant.

### Method Details

`analyzeContent(participant, body=None, x__xgafv=None)`

    Adds a text (chat, for example), or audio (phone recording, for example) message from a participant into the conversation. Note: Always use agent versions for production traffic sent to virtual agents. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).

    Args:
      participant: string, Required. The name of the participant this text comes from. Format: `projects//locations//conversations//participants/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request message for Participants.AnalyzeContent.
      "assistQueryParams": { # Represents the parameters of human assist query. # Parameters for a human assist query.
        "documentsMetadataFilters": { # Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
          "a_key": "A String",
        },
      },
      "audioInput": { # Represents the natural language speech audio to be processed. # The natural language speech audio to be processed.
        "audio": "A String", # Required. The natural language speech audio to be processed. A single request can contain up to 2 minutes of speech audio data. The transcribed text cannot contain more than 256 bytes for virtual agent interactions.
        "config": { # Instructs the speech recognizer on how to process the audio content. # Required. Instructs the speech recognizer how to process the speech audio.
          "audioEncoding": "A String", # Required. Audio encoding of the audio content to process.
          "bargeInConfig": { # Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. The flow goes like below: ``` --> Time without speech detection | utterance only | utterance or no-speech event | | +-------------+ | +------------+ | +---------------+ ----------+ no barge-in +-|-+ barge-in +-|-+ normal period +----------- +-------------+ | +------------+ | +---------------+ ``` No-speech event is a response with END_OF_UTTERANCE without any transcript following up. # Configuration of barge-in behavior during the streaming of input audio.
            "noBargeInDuration": "A String", # Duration that is not eligible for barge-in at the beginning of the input audio.
            "totalDuration": "A String", # Total duration for the playback at the beginning of the input audio.
          },
          "defaultNoSpeechTimeout": "A String", # If set, use this no-speech timeout when the agent does not provide a no-speech timeout itself.
          "disableNoSpeechRecognizedEvent": True or False, # Only used in Participants.AnalyzeContent and Participants.StreamingAnalyzeContent. If `false` and recognition doesn't return any result, trigger `NO_SPEECH_RECOGNIZED` event to Dialogflow agent.
          "enableAutomaticPunctuation": True or False, # Enable automatic punctuation option at the speech backend.
          "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.
          "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. If not set, the language is inferred from the ConversationProfile.stt_config.
          "model": "A String", # Optional. Which Speech model to select for the given request. For more information, see [Speech models](https://cloud.google.com/dialogflow/es/docs/speech-models).
          "modelVariant": "A String", # Which variant of the Speech model to use.
          "optOutConformerModelMigration": True or False, # If `true`, the request will opt out for STT conformer model migration. This field will be deprecated once force migration takes place in June 2024. Please refer to [Dialogflow ES Speech model migration](https://cloud.google.com/dialogflow/es/docs/speech-model-migration).
          "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",
          ],
          "phraseSets": [ # A collection of phrase set resources to use for speech adaptation.
            "A String",
          ],
          "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.
          "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.
          "speechContexts": [ # Context information to assist speech recognition. See [the Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) for more details.
            { # Hints for the speech recognizer to help with recognition in a specific conversation state.
              "boost": 3.14, # Optional. Boost for this context compared to other contexts: * If the boost is positive, Dialogflow will increase the probability that the phrases in this context are recognized over similar sounding phrases. * If the boost is unspecified or non-positive, Dialogflow will not apply any boost. Dialogflow recommends that you use boosts in the range (0, 20] and that you find a value that fits your use case with binary search.
              "phrases": [ # Optional. A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood. This list can be used to: * improve accuracy for words and phrases you expect the user to say, e.g. typical commands for your Dialogflow agent * add additional words to the speech recognizer vocabulary * ... See the [Cloud Speech documentation](https://cloud.google.com/speech-to-text/quotas) for usage limits.
                "A String",
              ],
            },
          ],
        },
      },
      "cxCurrentPage": "A String", # The unique identifier of the Dialogflow CX page to override the `current_page` in the session. Format: `projects//locations//agents//flows//pages/`. If `cx_current_page` is specified, the previous state of the session will be ignored by Dialogflow CX, including the previous page and the previous session parameters. In most cases, `cx_current_page` and `cx_parameters` should be configured together to direct a session to a specific state. Note: this field should only be used if you are connecting to a Dialogflow CX agent.
      "cxParameters": { # Additional parameters to be put into Dialogflow CX session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null. Note: this field should only be used if you are connecting to a Dialogflow CX agent.
        "a_key": "", # Properties of the object.
      },
      "eventInput": { # Events allow for matching intents by event name instead of the natural language input. For instance, input `` 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?"`. # An input event to send to Dialogflow.
        "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. This field is ignored when used in the context of a WebhookResponse.followup_event_input field, because the language was already defined in the originating detect intent request.
        "name": "A String", # Required. The unique identifier of the event.
        "parameters": { # The collection of parameters associated with the event. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
          "a_key": "", # Properties of the object.
        },
      },
      "intentInput": { # Represents the intent to trigger programmatically rather than as a result of natural language processing. The intent input is only used for V3 agent. # The intent to be triggered on V3 agent.
        "intent": "A String", # Required. The unique identifier of the intent in V3 agent. Format: `projects//locations//locations//agents//intents/`.
        "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.
      },
      "messageSendTime": "A String", # Optional. The send time of the message from end user or human agent's perspective. It is used for identifying the same message under one participant. For BatchCreateMessages API only: Given two messages under the same participant: * If send time are different regardless of whether the content of the messages are exactly the same, the conversation will regard them as two distinct messages sent by the participant. * If send time is the same regardless of whether the content of the messages are exactly the same, the conversation will regard them as same message, and ignore the message received later. If the value is not provided, a new request will always be regarded as a new message without any de-duplication.
      "queryParams": { # Represents the parameters of the conversational query. # Parameters for a Dialogflow virtual-agent query.
        "contexts": [ # The collection of contexts to be activated before this query is executed.
          { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
            "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
            "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
              "a_key": "", # Properties of the object.
            },
          },
        ],
        "geoLocation": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The geo location of this conversational query.
          "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].
        },
        "knowledgeBaseNames": [ # KnowledgeBases to get alternative results from. If not set, the KnowledgeBases enabled in the agent (through UI) will be used. Format: `projects//knowledgeBases/`.
          "A String",
        ],
        "payload": { # This field can be used to pass custom data to your webhook. Arbitrary JSON objects are supported. If supplied, the value is used to populate the `WebhookRequest.original_detect_intent_request.payload` field sent to your webhook.
          "a_key": "", # Properties of the object.
        },
        "platform": "A String", # The platform of the virtual agent response messages. If not empty, only emits messages from this platform in the response. Valid values are the enum names of platform.
        "resetContexts": True or False, # Specifies whether to delete all contexts in the current session before the new ones are activated.
        "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 Essentials 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`.
        },
        "sessionEntityTypes": [ # Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.
          { # A session represents a conversation between a Dialogflow agent and an end-user. You can create special entities, called session entities, during a session. Session entities can extend or replace custom entity types and only exist during the session that they were created for. All session data, including session entities, is stored by Dialogflow for 20 minutes. For more information, see the [session entity guide](https://cloud.google.com/dialogflow/docs/entities-session).
            "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).
              },
            ],
            "entityOverrideMode": "A String", # Required. Indicates whether the additional data should override or supplement the custom entity type definition.
            "name": "A String", # Required. The unique identifier of this session entity type. Supported formats: - `projects//agent/sessions//entityTypes/` - `projects//locations//agent/sessions//entityTypes/` - `projects//agent/environments//users//sessions//entityTypes/` - `projects//locations//agent/environments/ /users//sessions//entityTypes/` If `Location ID` is not specified we assume default 'us' location. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. `` must be the display name of an existing entity type in the same agent that will be overridden or supplemented.
          },
        ],
        "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.
            "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.
            "project": "A String", # Required. The project of this agent. Format: `projects/` or `projects//locations/`.
          },
        ],
        "timeZone": "A String", # The time zone of this conversational query from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. If not provided, the time zone specified in agent settings is used.
        "webhookHeaders": { # This field can be used to pass HTTP headers for a webhook call. These headers will be sent to webhook along 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",
        },
      },
      "replyAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. If this audio config is supplied in a request, it overrides all existing text-to-speech settings applied to the agent. # Speech synthesis configuration. The speech synthesis settings for a virtual agent that may be configured for the associated conversation profile are not used when calling AnalyzeContent. If this configuration is not supplied, speech synthesis is disabled.
        "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
        "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality).
        "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",
          ],
          "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.
          "pronunciations": [ # Optional. The custom pronunciations for the synthesized audio.
            { # Pronunciation customization for a phrase.
              "phoneticEncoding": "A String", # The phonetic encoding of the phrase.
              "phrase": "A String", # The phrase to which the customization is applied. The phrase can be multiple words, such as proper nouns, but shouldn't span the length of the sentence.
              "pronunciation": "A String", # The pronunciation of the phrase. This must be in the phonetic encoding specified above.
            },
          ],
          "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.
          "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
            "name": "A String", # Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices).
            "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.
          },
          "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.
        },
      },
      "requestId": "A String", # A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if a `request_id` is provided.
      "suggestionInput": { # Represents the action to take for a tool call that requires confirmation. # An input representing the selection of a suggestion.
        "action": "A String", # Optional. The type of action to take with the tool.
        "answerRecord": "A String", # Required. Format: `projects//locations//answerRecords/` The answer record associated with the tool call.
        "intentInput": { # Represents the intent to trigger programmatically rather than as a result of natural language processing. The intent input is only used for V3 agent. # The intent to be triggered on V3 agent.
          "intent": "A String", # Required. The unique identifier of the intent in V3 agent. Format: `projects//locations//locations//agents//intents/`.
          "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.
        },
        "parameters": { # Parameters to be used for the tool call. If not provided, the tool will be called without any parameters.
          "a_key": "", # Properties of the object.
        },
        "sendTime": "A String", # Optional. Time when the current suggest input is sent. For tool calls, this timestamp (along with the answer record) will be included in the corresponding tool call result so that it can be identified.
        "textOverride": { # Represents the natural language text to be processed. # Optional. If the customer edited the suggestion before using it, include the revised text here.
          "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 for virtual agent interactions.
        },
      },
      "textInput": { # 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 for virtual agent interactions.
      },
    }

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

    Returns:
      An object of the form:

        { # The response message for Participants.AnalyzeContent.
      "automatedAgentReply": { # Represents a response from an automated agent. # Optional. Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead.
        "allowCancellation": True or False, # Indicates whether the partial automated agent reply is interruptible when a later reply message arrives. e.g. if the agent specified some music as partial response, it can be cancelled.
        "automatedAgentReplyType": "A String", # AutomatedAgentReply type.
        "callCompanionAuthCode": "A String", # The auth code for accessing Call Companion UI.
        "cxCurrentPage": "A String", # The unique identifier of the current Dialogflow CX conversation page. Format: `projects//locations//agents//flows//pages/`.
        "cxSessionParameters": { # The collection of current Dialogflow CX agent session parameters at the time of this response. Deprecated: Use `parameters` instead.
          "a_key": "", # Properties of the object.
        },
        "detectIntentResponse": { # The message returned from the DetectIntent method. # Response of the Dialogflow Sessions.DetectIntent call.
          "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.
              "action": "A String", # The action name from the matched intent.
              "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
              "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
              "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.
              },
              "fulfillmentMessages": [ # The collection of rich messages to present to the user.
                { # Corresponds to the `Response` field in the Dialogflow console.
                  "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # The button object that appears at the bottom of a card.
                        "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                          "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                        },
                        "title": "A String", # Required. The title of the button.
                      },
                    ],
                    "formattedText": "A String", # Required, unless image is present. The body text of the card.
                    "image": { # The image response message. # Optional. The image for the card.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "subtitle": "A String", # Optional. The subtitle of the card.
                    "title": "A String", # Optional. The title of the card.
                  },
                  "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                    "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                    "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                      { # Browsing carousel tile
                        "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                        "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                        "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.
                        },
                        "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.
                      },
                    ],
                  },
                  "card": { # The card response message. # Displays a card.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # Optional. Contains information about a button.
                        "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                        "text": "A String", # Optional. The text to show on the button.
                      },
                    ],
                    "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.
                  },
                  "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                    "items": [ # Required. Carousel items.
                      { # An item in the carousel.
                        "description": "A String", # Optional. The body text of the card.
                        "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.
                        },
                        "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                          "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                          "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                            "A String",
                          ],
                        },
                        "title": "A String", # Required. Title of the carousel item.
                      },
                    ],
                  },
                  "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.
                  },
                  "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                    "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                    "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                  },
                  "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.
                        "description": "A String", # Optional. The main text describing the item.
                        "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.
                        },
                        "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                          "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                          "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                            "A String",
                          ],
                        },
                        "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.
                  },
                  "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.
                        "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.
                        },
                        "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.
                        },
                        "name": "A String", # Required. Name of media card.
                      },
                    ],
                    "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                  },
                  "payload": { # A custom platform-specific response.
                    "a_key": "", # Properties of the object.
                  },
                  "platform": "A String", # Optional. The platform that this message is intended for.
                  "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.
                  },
                  "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                    "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
                        "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                        "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                          "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.
                          "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                          "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.
                        },
                        "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 can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                      },
                    ],
                    "cardWidth": "A String", # Required. The width of the cards in the carousel.
                  },
                  "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                    "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                      "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                      "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                        "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.
                        "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                        "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.
                      },
                      "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 can choose from the card. # Predefined client side actions that user can choose
                            "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                              "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.
                            },
                            "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                              "uri": "A String", # Required. The uri to open on the user device
                            },
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                            "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                            },
                            "text": "A String", # Text to display alongside the action.
                          },
                          "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                            "text": "A String", # Suggested reply text.
                          },
                        },
                      ],
                      "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                    },
                    "cardOrientation": "A String", # Required. Orientation of the card.
                    "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                  },
                  "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                    "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "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.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "text": "A String", # Required. Text sent and displayed to the user.
                  },
                  "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                    "simpleResponses": [ # Required. The list of simple responses.
                      { # The simple response message containing speech or text.
                        "displayText": "A String", # Optional. The text to display.
                        "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                        "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                      },
                    ],
                  },
                  "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.
                      },
                    ],
                  },
                  "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                    "buttons": [ # Optional. List of buttons for the card.
                      { # The button object that appears at the bottom of a card.
                        "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                          "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                        },
                        "title": "A String", # Required. The title of the button.
                      },
                    ],
                    "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.
                      },
                    ],
                    "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.
                    },
                    "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.
                  },
                  "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                  },
                  "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                    "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.
                  },
                  "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).
                  },
                  "text": { # The text response message. # Returns a text response.
                    "text": [ # Optional. The collection of the agent's responses.
                      "A String",
                    ],
                  },
                },
              ],
              "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.
              "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # 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`.
                "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
                "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                  "A String",
                ],
                "displayName": "A String", # Required. The name of this intent.
                "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.
                "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                  "A String",
                ],
                "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                  { # Represents a single followup intent in the chain.
                    "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                    "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                  },
                ],
                "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                  "A String",
                ],
                "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
                "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
                "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.
                    "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                      "buttons": [ # Optional. The collection of card buttons.
                        { # The button object that appears at the bottom of a card.
                          "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                            "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                          },
                          "title": "A String", # Required. The title of the button.
                        },
                      ],
                      "formattedText": "A String", # Required, unless image is present. The body text of the card.
                      "image": { # The image response message. # Optional. The image for the card.
                        "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                        "imageUri": "A String", # Optional. The public URI to an image file.
                      },
                      "subtitle": "A String", # Optional. The subtitle of the card.
                      "title": "A String", # Optional. The title of the card.
                    },
                    "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                      "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                      "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                        { # Browsing carousel tile
                          "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                          "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                          "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.
                          },
                          "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.
                        },
                      ],
                    },
                    "card": { # The card response message. # Displays a card.
                      "buttons": [ # Optional. The collection of card buttons.
                        { # Optional. Contains information about a button.
                          "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                          "text": "A String", # Optional. The text to show on the button.
                        },
                      ],
                      "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.
                    },
                    "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                      "items": [ # Required. Carousel items.
                        { # An item in the carousel.
                          "description": "A String", # Optional. The body text of the card.
                          "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.
                          },
                          "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                            "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                            "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                              "A String",
                            ],
                          },
                          "title": "A String", # Required. Title of the carousel item.
                        },
                      ],
                    },
                    "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.
                    },
                    "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                      "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                      "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                    },
                    "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.
                          "description": "A String", # Optional. The main text describing the item.
                          "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.
                          },
                          "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                            "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                            "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                              "A String",
                            ],
                          },
                          "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.
                    },
                    "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.
                          "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.
                          },
                          "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.
                          },
                          "name": "A String", # Required. Name of media card.
                        },
                      ],
                      "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                    },
                    "payload": { # A custom platform-specific response.
                      "a_key": "", # Properties of the object.
                    },
                    "platform": "A String", # Optional. The platform that this message is intended for.
                    "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.
                    },
                    "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                      "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
                          "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                          "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                            "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.
                            "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                            "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.
                          },
                          "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 can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                        },
                      ],
                      "cardWidth": "A String", # Required. The width of the cards in the carousel.
                    },
                    "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                      "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                        "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                        "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                          "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.
                          "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                          "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.
                        },
                        "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 can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                      },
                      "cardOrientation": "A String", # Required. Orientation of the card.
                      "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                    },
                    "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                      "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                        { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                          "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                            "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                              "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.
                            },
                            "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                              "uri": "A String", # Required. The uri to open on the user device
                            },
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                            "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                            },
                            "text": "A String", # Text to display alongside the action.
                          },
                          "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                            "text": "A String", # Suggested reply text.
                          },
                        },
                      ],
                      "text": "A String", # Required. Text sent and displayed to the user.
                    },
                    "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                      "simpleResponses": [ # Required. The list of simple responses.
                        { # The simple response message containing speech or text.
                          "displayText": "A String", # Optional. The text to display.
                          "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                          "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                        },
                      ],
                    },
                    "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.
                        },
                      ],
                    },
                    "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                      "buttons": [ # Optional. List of buttons for the card.
                        { # The button object that appears at the bottom of a card.
                          "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                            "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                          },
                          "title": "A String", # Required. The title of the button.
                        },
                      ],
                      "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.
                        },
                      ],
                      "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.
                      },
                      "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.
                    },
                    "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                    },
                    "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                      "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.
                    },
                    "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).
                    },
                    "text": { # The text response message. # Returns a text response.
                      "text": [ # Optional. The collection of the agent's responses.
                        "A String",
                      ],
                    },
                  },
                ],
                "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.
                "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.
                "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
                "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//agent/sessions/-/contexts/`.
                  { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                    "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                    "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                    "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                      "a_key": "", # Properties of the object.
                    },
                  },
                ],
                "parameters": [ # Optional. The collection of parameters associated with the intent.
                  { # Represents intent parameters.
                    "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`.
                    "displayName": "A String", # Required. The name of the parameter.
                    "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                    "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                    "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                    "name": "A String", # The unique identifier of this parameter.
                    "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",
                    ],
                    "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`.
                  },
                ],
                "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
                "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
                "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
                "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
                "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                  { # Represents an example that the agent is trained on.
                    "name": "A String", # Output only. The unique identifier of this training phrase.
                    "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                      { # Represents a part of a training phrase.
                        "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.
                      },
                    ],
                    "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                    "type": "A String", # Required. The type of the training phrase.
                  },
                ],
                "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
              },
              "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.
              "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.
                    "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                    "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.
                    "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 `` 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.
                    "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                  },
                ],
              },
              "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
              "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
                { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                  "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                  "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                  "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "a_key": "", # Properties of the object.
                  },
                },
              ],
              "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                "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.
              "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
                "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                  "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                  "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
                },
              },
              "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.
              "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.
              },
              "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.
            },
          ],
          "outputAudio": "A String", # The audio data bytes encoded as specified in the request. Note: The output audio is generated based on the values of default platform text responses found in the `query_result.fulfillment_messages` field. If multiple default text responses exist, they will be concatenated when generating audio. If no default platform text responses exist, the generated audio content will be empty. In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.
          "outputAudioConfig": { # Instructs the speech synthesizer how to generate the output audio content. If this audio config is supplied in a request, it overrides all existing text-to-speech settings applied to the agent. # The config used by the speech synthesizer to generate the output audio.
            "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
            "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality).
            "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",
              ],
              "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.
              "pronunciations": [ # Optional. The custom pronunciations for the synthesized audio.
                { # Pronunciation customization for a phrase.
                  "phoneticEncoding": "A String", # The phonetic encoding of the phrase.
                  "phrase": "A String", # The phrase to which the customization is applied. The phrase can be multiple words, such as proper nouns, but shouldn't span the length of the sentence.
                  "pronunciation": "A String", # The pronunciation of the phrase. This must be in the phonetic encoding specified above.
                },
              ],
              "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.
              "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
                "name": "A String", # Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices).
                "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.
              },
              "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.
            },
          },
          "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.
            "action": "A String", # The action name from the matched intent.
            "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
            "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
            "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.
            },
            "fulfillmentMessages": [ # The collection of rich messages to present to the user.
              { # Corresponds to the `Response` field in the Dialogflow console.
                "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                  "buttons": [ # Optional. The collection of card buttons.
                    { # The button object that appears at the bottom of a card.
                      "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                        "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                      },
                      "title": "A String", # Required. The title of the button.
                    },
                  ],
                  "formattedText": "A String", # Required, unless image is present. The body text of the card.
                  "image": { # The image response message. # Optional. The image for the card.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "subtitle": "A String", # Optional. The subtitle of the card.
                  "title": "A String", # Optional. The title of the card.
                },
                "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                  "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                  "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                    { # Browsing carousel tile
                      "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                      "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                      "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.
                      },
                      "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.
                    },
                  ],
                },
                "card": { # The card response message. # Displays a card.
                  "buttons": [ # Optional. The collection of card buttons.
                    { # Optional. Contains information about a button.
                      "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                      "text": "A String", # Optional. The text to show on the button.
                    },
                  ],
                  "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.
                },
                "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                  "items": [ # Required. Carousel items.
                    { # An item in the carousel.
                      "description": "A String", # Optional. The body text of the card.
                      "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.
                      },
                      "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                        "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                        "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                          "A String",
                        ],
                      },
                      "title": "A String", # Required. Title of the carousel item.
                    },
                  ],
                },
                "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.
                },
                "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                  "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                  "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                },
                "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.
                      "description": "A String", # Optional. The main text describing the item.
                      "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.
                      },
                      "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                        "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                        "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                          "A String",
                        ],
                      },
                      "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.
                },
                "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.
                      "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.
                      },
                      "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.
                      },
                      "name": "A String", # Required. Name of media card.
                    },
                  ],
                  "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                },
                "payload": { # A custom platform-specific response.
                  "a_key": "", # Properties of the object.
                },
                "platform": "A String", # Optional. The platform that this message is intended for.
                "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.
                },
                "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                  "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
                      "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                      "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                        "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.
                        "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                        "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.
                      },
                      "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 can choose from the card. # Predefined client side actions that user can choose
                            "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                              "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.
                            },
                            "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                              "uri": "A String", # Required. The uri to open on the user device
                            },
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                            "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                            },
                            "text": "A String", # Text to display alongside the action.
                          },
                          "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                            "text": "A String", # Suggested reply text.
                          },
                        },
                      ],
                      "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                    },
                  ],
                  "cardWidth": "A String", # Required. The width of the cards in the carousel.
                },
                "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                  "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                    "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                    "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                      "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.
                      "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                      "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.
                    },
                    "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 can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "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.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                  },
                  "cardOrientation": "A String", # Required. Orientation of the card.
                  "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                },
                "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                  "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "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.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "text": "A String", # Required. Text sent and displayed to the user.
                },
                "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                  "simpleResponses": [ # Required. The list of simple responses.
                    { # The simple response message containing speech or text.
                      "displayText": "A String", # Optional. The text to display.
                      "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                      "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                    },
                  ],
                },
                "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.
                    },
                  ],
                },
                "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                  "buttons": [ # Optional. List of buttons for the card.
                    { # The button object that appears at the bottom of a card.
                      "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                        "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                      },
                      "title": "A String", # Required. The title of the button.
                    },
                  ],
                  "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.
                    },
                  ],
                  "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.
                  },
                  "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.
                },
                "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                },
                "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                  "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.
                },
                "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).
                },
                "text": { # The text response message. # Returns a text response.
                  "text": [ # Optional. The collection of the agent's responses.
                    "A String",
                  ],
                },
              },
            ],
            "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.
            "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # 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`.
              "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
              "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                "A String",
              ],
              "displayName": "A String", # Required. The name of this intent.
              "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.
              "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                "A String",
              ],
              "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                { # Represents a single followup intent in the chain.
                  "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                  "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                },
              ],
              "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                "A String",
              ],
              "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
              "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
              "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.
                  "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # The button object that appears at the bottom of a card.
                        "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                          "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                        },
                        "title": "A String", # Required. The title of the button.
                      },
                    ],
                    "formattedText": "A String", # Required, unless image is present. The body text of the card.
                    "image": { # The image response message. # Optional. The image for the card.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "subtitle": "A String", # Optional. The subtitle of the card.
                    "title": "A String", # Optional. The title of the card.
                  },
                  "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                    "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                    "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                      { # Browsing carousel tile
                        "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                        "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                        "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.
                        },
                        "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.
                      },
                    ],
                  },
                  "card": { # The card response message. # Displays a card.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # Optional. Contains information about a button.
                        "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                        "text": "A String", # Optional. The text to show on the button.
                      },
                    ],
                    "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.
                  },
                  "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                    "items": [ # Required. Carousel items.
                      { # An item in the carousel.
                        "description": "A String", # Optional. The body text of the card.
                        "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.
                        },
                        "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                          "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                          "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                            "A String",
                          ],
                        },
                        "title": "A String", # Required. Title of the carousel item.
                      },
                    ],
                  },
                  "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.
                  },
                  "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                    "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                    "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                  },
                  "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.
                        "description": "A String", # Optional. The main text describing the item.
                        "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.
                        },
                        "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                          "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                          "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                            "A String",
                          ],
                        },
                        "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.
                  },
                  "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.
                        "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.
                        },
                        "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.
                        },
                        "name": "A String", # Required. Name of media card.
                      },
                    ],
                    "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                  },
                  "payload": { # A custom platform-specific response.
                    "a_key": "", # Properties of the object.
                  },
                  "platform": "A String", # Optional. The platform that this message is intended for.
                  "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.
                  },
                  "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                    "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
                        "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                        "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                          "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.
                          "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                          "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.
                        },
                        "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 can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                      },
                    ],
                    "cardWidth": "A String", # Required. The width of the cards in the carousel.
                  },
                  "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                    "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                      "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                      "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                        "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.
                        "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                        "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.
                      },
                      "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 can choose from the card. # Predefined client side actions that user can choose
                            "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                              "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.
                            },
                            "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                              "uri": "A String", # Required. The uri to open on the user device
                            },
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                            "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                            },
                            "text": "A String", # Text to display alongside the action.
                          },
                          "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                            "text": "A String", # Suggested reply text.
                          },
                        },
                      ],
                      "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                    },
                    "cardOrientation": "A String", # Required. Orientation of the card.
                    "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                  },
                  "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                    "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "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.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "text": "A String", # Required. Text sent and displayed to the user.
                  },
                  "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                    "simpleResponses": [ # Required. The list of simple responses.
                      { # The simple response message containing speech or text.
                        "displayText": "A String", # Optional. The text to display.
                        "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                        "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                      },
                    ],
                  },
                  "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.
                      },
                    ],
                  },
                  "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                    "buttons": [ # Optional. List of buttons for the card.
                      { # The button object that appears at the bottom of a card.
                        "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                          "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                        },
                        "title": "A String", # Required. The title of the button.
                      },
                    ],
                    "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.
                      },
                    ],
                    "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.
                    },
                    "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.
                  },
                  "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                  },
                  "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                    "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.
                  },
                  "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).
                  },
                  "text": { # The text response message. # Returns a text response.
                    "text": [ # Optional. The collection of the agent's responses.
                      "A String",
                    ],
                  },
                },
              ],
              "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.
              "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.
              "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
              "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//agent/sessions/-/contexts/`.
                { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                  "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                  "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                  "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "a_key": "", # Properties of the object.
                  },
                },
              ],
              "parameters": [ # Optional. The collection of parameters associated with the intent.
                { # Represents intent parameters.
                  "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`.
                  "displayName": "A String", # Required. The name of the parameter.
                  "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                  "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                  "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                  "name": "A String", # The unique identifier of this parameter.
                  "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",
                  ],
                  "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`.
                },
              ],
              "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
              "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
              "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
              "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
              "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                { # Represents an example that the agent is trained on.
                  "name": "A String", # Output only. The unique identifier of this training phrase.
                  "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                    { # Represents a part of a training phrase.
                      "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.
                    },
                  ],
                  "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                  "type": "A String", # Required. The type of the training phrase.
                },
              ],
              "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
            },
            "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.
            "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.
                  "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                  "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.
                  "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 `` 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.
                  "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                },
              ],
            },
            "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
            "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
              { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                  "a_key": "", # Properties of the object.
                },
              },
            ],
            "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
              "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.
            "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
              "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
              },
            },
            "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.
            "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.
            },
            "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.
          },
          "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.
          "webhookStatus": { # The `Status` type defines a logical error model that is suitable for 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). # Specifies the status of the webhook request.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          },
        },
        "event": "A String", # Event name if an event is triggered for the query.
        "intent": "A String", # Name of the intent if an intent is matched for the query. For a V2 query, the value format is `projects//locations/ /agent/intents/`. For a V3 query, the value format is `projects//locations/ /agents//intents/`.
        "matchConfidence": 3.14, # The confidence of the match. 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.
        "parameters": { # The collection of current parameters at the time of this response.
          "a_key": "", # Properties of the object.
        },
        "responseMessages": [ # Response messages from the automated agent.
          { # Response messages from an automated agent.
            "endInteraction": { # Indicates that interaction with the Dialogflow agent has ended. # A signal that indicates the interaction with the Dialogflow agent has ended.
            },
            "liveAgentHandoff": { # Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a Dialogflow CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. # Hands off conversation to a live agent.
              "metadata": { # Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this.
                "a_key": "", # Properties of the object.
              },
            },
            "mixedAudio": { # Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. # An audio response message composed of both the synthesized Dialogflow agent responses and the audios hosted in places known to the client.
              "segments": [ # Segments this audio response is composed of.
                { # Represents one segment of audio.
                  "allowPlaybackInterruption": True or False, # Whether the playback of this segment can be interrupted by the end user's speech and the client should then start the next Dialogflow request.
                  "audio": "A String", # Raw audio synthesized from the Dialogflow agent's response using the output config specified in the request.
                  "uri": "A String", # Client-specific URI that points to an audio clip accessible to the client.
                },
              ],
            },
            "payload": { # Returns a response containing a custom, platform-specific payload.
              "a_key": "", # Properties of the object.
            },
            "telephonyTransferCall": { # Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. # A signal that the client should transfer the phone call connected to this agent to a third-party endpoint.
              "phoneNumber": "A String", # Transfer the call to a phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
              "sipUri": "A String", # Transfer the call to a SIP endpoint.
            },
            "text": { # The text response message. # Returns a text response.
              "text": [ # A collection of text response variants. If multiple variants are defined, only one text response variant is returned at runtime.
                "A String",
              ],
            },
          },
        ],
      },
      "dtmfParameters": { # The message in the response that indicates the parameters of DTMF. # Indicates the parameters of DTMF.
        "acceptsDtmfInput": True or False, # Indicates whether DTMF input can be handled in the next request.
      },
      "endUserSuggestionResults": [ # The suggestions for end user. The order is the same as HumanAgentAssistantConfig.SuggestionConfig.feature_configs of HumanAgentAssistantConfig.end_user_suggestion_config. Same as human_agent_suggestion_results, any failure of Agent Assist features will not lead to the overall failure of an AnalyzeContent API call. Instead, the features will fail silently with the error field set in the corresponding SuggestionResult.
        { # One response of different type of suggestion response which is used in the response of Participants.AnalyzeContent and Participants.AnalyzeContent, as well as HumanAgentAssistantEvent.
          "error": { # The `Status` type defines a logical error model that is suitable for 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). # Error status if the request failed.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          },
          "generateSuggestionsResponse": { # The response message for Conversations.GenerateSuggestions. # Suggestions generated using generators triggered by customer or agent messages.
            "generatorSuggestionAnswers": [ # The answers generated for the conversation based on context.
              { # A GeneratorSuggestion answer.
                "answerRecord": "A String", # Answer record that uniquely identifies the suggestion. This can be used to provide suggestion feedback.
                "generatorSuggestion": { # Suggestion generated using a Generator. # Suggestion details.
                  "agentCoachingSuggestion": { # Suggestion for coaching agents. # Optional. Suggestion to coach the agent.
                    "agentActionSuggestions": [ # Optional. Suggested actions for the agent to take.
                      { # Actions suggested for the agent. This is based on applicable instructions.
                        "agentAction": "A String", # Optional. The suggested action for the agent.
                        "duplicateCheckResult": { # Duplication check for the suggestion. # Output only. Duplicate check result for the agent action suggestion.
                          "duplicateSuggestions": [ # Output only. The duplicate suggestions.
                            { # The duplicate suggestion details. Keeping answer_record and sources together as they are identifiers for duplicate suggestions.
                              "answerRecord": "A String", # Output only. The answer record id of the past duplicate suggestion.
                              "similarityScore": 3.14, # Output only. The similarity score of between the past and current suggestion.
                              "sources": { # Sources for the suggestion. # Output only. Sources for the suggestion.
                                "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                                  42,
                                ],
                              },
                              "suggestionIndex": 42, # Output only. The index of the duplicate suggestion in the past suggestion list.
                            },
                          ],
                        },
                        "sources": { # Sources for the suggestion. # Output only. Sources for the agent action suggestion.
                          "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                            42,
                          ],
                        },
                      },
                    ],
                    "applicableInstructions": [ # Optional. Instructions applicable based on the current context.
                      { # Agent Coaching instructions that customer can configure.
                        "agentAction": "A String", # Optional. The action that human agent should take. For example, "apologize for the slow shipping". If the users only want to use agent coaching for intent detection, agent_action can be empty
                        "condition": "A String", # Optional. The condition of the instruction. For example, "the customer wants to cancel an order". If the users want the instruction to be triggered unconditionally, the condition can be empty.
                        "displayDetails": "A String", # Optional. The detailed description of this instruction.
                        "displayName": "A String", # Optional. Display name for the instruction.
                        "duplicateCheckResult": { # Duplication check for the suggestion. # Output only. Duplication check for the AgentCoachingInstruction.
                          "duplicateSuggestions": [ # Output only. The duplicate suggestions.
                            { # The duplicate suggestion details.
                              "answerRecord": "A String", # Output only. The answer record id of the past duplicate suggestion.
                              "similarityScore": 3.14, # Output only. The similarity score of between the past and current suggestion.
                              "suggestionIndex": 42, # Output only. The index of the duplicate suggestion in the past suggestion list.
                            },
                          ],
                        },
                        "systemAction": "A String", # Optional. The action that system should take. For example, "call GetOrderTime with order_number={order number provided by the customer}". If the users don't have plugins or don't want to trigger plugins, the system_action can be empty
                      },
                    ],
                    "sampleResponses": [ # Optional. Sample response for the Agent.
                      { # Sample response that the agent can use. This could be based on applicable instructions and ingested data from other systems.
                        "duplicateCheckResult": { # Duplication check for the suggestion. # Output only. Duplicate check result for the sample response.
                          "duplicateSuggestions": [ # Output only. The duplicate suggestions.
                            { # The duplicate suggestion details. Keeping answer_record and sources together as they are identifiers for duplicate suggestions.
                              "answerRecord": "A String", # Output only. The answer record id of the past duplicate suggestion.
                              "similarityScore": 3.14, # Output only. The similarity score of between the past and current suggestion.
                              "sources": { # Sources for the suggestion. # Output only. Sources for the suggestion.
                                "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                                  42,
                                ],
                              },
                              "suggestionIndex": 42, # Output only. The index of the duplicate suggestion in the past suggestion list.
                            },
                          ],
                        },
                        "responseText": "A String", # Optional. Sample response for Agent in text.
                        "sources": { # Sources for the suggestion. # Output only. Sources for the Sample Response.
                          "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                            42,
                          ],
                        },
                      },
                    ],
                  },
                  "freeFormSuggestion": { # Suggestion generated using free form generator. # Optional. Free form suggestion.
                    "response": "A String", # Required. Free form suggestion.
                  },
                  "summarySuggestion": { # Suggested summary of the conversation. # Optional. Suggested summary.
                    "summarySections": [ # Required. All the parts of generated summary.
                      { # A component of the generated summary.
                        "section": "A String", # Required. Name of the section.
                        "summary": "A String", # Required. Summary text for the section.
                      },
                    ],
                  },
                  "toolCallInfo": [ # Optional. List of request and response for tool calls executed.
                    { # Request and response for a tool call.
                      "toolCall": { # Represents a call of a specific tool's action with the specified inputs. # Required. Request for a tool call.
                        "action": "A String", # Optional. The name of the tool's action associated with this call.
                        "answerRecord": "A String", # Optional. The answer record associated with this tool call.
                        "createTime": "A String", # Output only. Create time of the tool call.
                        "inputParameters": { # Optional. The action's input parameters.
                          "a_key": "", # Properties of the object.
                        },
                        "state": "A String", # Output only. State of the tool call
                        "tool": "A String", # Optional. The tool associated with this call. Format: `projects//locations//tools/`.
                        "toolDisplayDetails": "A String", # Optional. A human readable description of the tool.
                        "toolDisplayName": "A String", # Optional. A human readable short name of the tool, to be shown on the UI.
                      },
                      "toolCallResult": { # The result of calling a tool's action. # Required. Response for a tool call.
                        "action": "A String", # Optional. The name of the tool's action associated with this call.
                        "answerRecord": "A String", # Optional. The answer record associated with this tool call result.
                        "content": "A String", # Only populated if the response content is utf-8 encoded.
                        "createTime": "A String", # Output only. Create time of the tool call result.
                        "error": { # An error produced by the tool call. # The tool call's error.
                          "message": "A String", # Optional. The error message of the function.
                        },
                        "rawContent": "A String", # Only populated if the response content is not utf-8 encoded. (by definition byte fields are base64 encoded).
                        "tool": "A String", # Optional. The tool associated with this call. Format: `projects//locations//tools/`.
                      },
                    },
                  ],
                },
                "sourceGenerator": "A String", # The name of the generator used to generate this suggestion. Format: `projects//locations//generators/`.
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used as context for compiling suggestion. Format: `projects//locations//conversations//messages/`.
          },
          "suggestArticlesResponse": { # The response message for Participants.SuggestArticles. # SuggestArticlesResponse if request is for ARTICLE_SUGGESTION.
            "articleAnswers": [ # Output only. Articles ordered by score in descending order.
              { # Represents article answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "metadata": { # A map that contains metadata about the answer and the document from which it originates.
                  "a_key": "A String",
                },
                "snippets": [ # Output only. Article snippets.
                  "A String",
                ],
                "title": "A String", # The article title.
                "uri": "A String", # The article URI.
              },
            ],
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestArticlesResponse.context_size field in the request if there aren't that many messages in the conversation.
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
          },
          "suggestDialogflowAssistsResponse": { # The response message for Participants.SuggestDialogflowAssists. # SuggestDialogflowAssistsResponse if request is for DIALOGFLOW_ASSIST.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestDialogflowAssistsRequest.context_size field in the request if there aren't that many messages in the conversation.
            "dialogflowAssistAnswers": [ # Output only. Multiple reply options provided by Dialogflow assist service. The order is based on the rank of the model prediction.
              { # Represents a Dialogflow assist answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
                  "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
                  "displayName": "A String", # The display name of the intent.
                  "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
                },
                "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
                  "action": "A String", # The action name from the matched intent.
                  "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
                  "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
                  "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.
                  },
                  "fulfillmentMessages": [ # The collection of rich messages to present to the user.
                    { # Corresponds to the `Response` field in the Dialogflow console.
                      "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "formattedText": "A String", # Required, unless image is present. The body text of the card.
                        "image": { # The image response message. # Optional. The image for the card.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "subtitle": "A String", # Optional. The subtitle of the card.
                        "title": "A String", # Optional. The title of the card.
                      },
                      "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                        "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                        "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                          { # Browsing carousel tile
                            "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                            "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                            "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.
                            },
                            "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.
                          },
                        ],
                      },
                      "card": { # The card response message. # Displays a card.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # Optional. Contains information about a button.
                            "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                            "text": "A String", # Optional. The text to show on the button.
                          },
                        ],
                        "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.
                      },
                      "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                        "items": [ # Required. Carousel items.
                          { # An item in the carousel.
                            "description": "A String", # Optional. The body text of the card.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "title": "A String", # Required. Title of the carousel item.
                          },
                        ],
                      },
                      "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.
                      },
                      "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                        "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                        "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                      },
                      "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.
                            "description": "A String", # Optional. The main text describing the item.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "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.
                      },
                      "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.
                            "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.
                            },
                            "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.
                            },
                            "name": "A String", # Required. Name of media card.
                          },
                        ],
                        "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                      },
                      "payload": { # A custom platform-specific response.
                        "a_key": "", # Properties of the object.
                      },
                      "platform": "A String", # Optional. The platform that this message is intended for.
                      "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.
                      },
                      "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                        "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
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                        ],
                        "cardWidth": "A String", # Required. The width of the cards in the carousel.
                      },
                      "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                        "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                          "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                          "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                            "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.
                            "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                            "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.
                          },
                          "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 can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                        },
                        "cardOrientation": "A String", # Required. Orientation of the card.
                        "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                      },
                      "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                        "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                          { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                            "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "text": "A String", # Required. Text sent and displayed to the user.
                      },
                      "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                        "simpleResponses": [ # Required. The list of simple responses.
                          { # The simple response message containing speech or text.
                            "displayText": "A String", # Optional. The text to display.
                            "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                            "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                          },
                        ],
                      },
                      "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.
                          },
                        ],
                      },
                      "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                        "buttons": [ # Optional. List of buttons for the card.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "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.
                          },
                        ],
                        "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.
                        },
                        "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.
                      },
                      "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                      },
                      "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                        "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.
                      },
                      "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).
                      },
                      "text": { # The text response message. # Returns a text response.
                        "text": [ # Optional. The collection of the agent's responses.
                          "A String",
                        ],
                      },
                    },
                  ],
                  "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.
                  "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # 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`.
                    "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
                    "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                      "A String",
                    ],
                    "displayName": "A String", # Required. The name of this intent.
                    "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.
                    "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                      "A String",
                    ],
                    "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                      { # Represents a single followup intent in the chain.
                        "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                        "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                      },
                    ],
                    "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                      "A String",
                    ],
                    "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
                    "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
                    "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.
                        "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "formattedText": "A String", # Required, unless image is present. The body text of the card.
                          "image": { # The image response message. # Optional. The image for the card.
                            "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                            "imageUri": "A String", # Optional. The public URI to an image file.
                          },
                          "subtitle": "A String", # Optional. The subtitle of the card.
                          "title": "A String", # Optional. The title of the card.
                        },
                        "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                          "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                          "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                            { # Browsing carousel tile
                              "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                              "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                              "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.
                              },
                              "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.
                            },
                          ],
                        },
                        "card": { # The card response message. # Displays a card.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # Optional. Contains information about a button.
                              "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                              "text": "A String", # Optional. The text to show on the button.
                            },
                          ],
                          "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.
                        },
                        "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                          "items": [ # Required. Carousel items.
                            { # An item in the carousel.
                              "description": "A String", # Optional. The body text of the card.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "title": "A String", # Required. Title of the carousel item.
                            },
                          ],
                        },
                        "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.
                        },
                        "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                          "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                          "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                        },
                        "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.
                              "description": "A String", # Optional. The main text describing the item.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "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.
                        },
                        "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.
                              "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.
                              },
                              "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.
                              },
                              "name": "A String", # Required. Name of media card.
                            },
                          ],
                          "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                        },
                        "payload": { # A custom platform-specific response.
                          "a_key": "", # Properties of the object.
                        },
                        "platform": "A String", # Optional. The platform that this message is intended for.
                        "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.
                        },
                        "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                          "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
                              "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                              "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                                "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.
                                "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                                "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.
                              },
                              "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 can choose from the card. # Predefined client side actions that user can choose
                                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                      "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.
                                    },
                                    "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                      "uri": "A String", # Required. The uri to open on the user device
                                    },
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                    },
                                    "text": "A String", # Text to display alongside the action.
                                  },
                                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "text": "A String", # Suggested reply text.
                                  },
                                },
                              ],
                              "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                            },
                          ],
                          "cardWidth": "A String", # Required. The width of the cards in the carousel.
                        },
                        "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                          "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                          "cardOrientation": "A String", # Required. Orientation of the card.
                          "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                        },
                        "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                          "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                            { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                              "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "text": "A String", # Required. Text sent and displayed to the user.
                        },
                        "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                          "simpleResponses": [ # Required. The list of simple responses.
                            { # The simple response message containing speech or text.
                              "displayText": "A String", # Optional. The text to display.
                              "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                              "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                            },
                          ],
                        },
                        "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.
                            },
                          ],
                        },
                        "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                          "buttons": [ # Optional. List of buttons for the card.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "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.
                            },
                          ],
                          "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.
                          },
                          "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.
                        },
                        "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                        },
                        "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                          "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.
                        },
                        "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).
                        },
                        "text": { # The text response message. # Returns a text response.
                          "text": [ # Optional. The collection of the agent's responses.
                            "A String",
                          ],
                        },
                      },
                    ],
                    "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.
                    "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.
                    "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
                    "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//agent/sessions/-/contexts/`.
                      { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                        "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                        "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                        "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                          "a_key": "", # Properties of the object.
                        },
                      },
                    ],
                    "parameters": [ # Optional. The collection of parameters associated with the intent.
                      { # Represents intent parameters.
                        "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`.
                        "displayName": "A String", # Required. The name of the parameter.
                        "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                        "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                        "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                        "name": "A String", # The unique identifier of this parameter.
                        "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",
                        ],
                        "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`.
                      },
                    ],
                    "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
                    "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
                    "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
                    "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
                    "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                      { # Represents an example that the agent is trained on.
                        "name": "A String", # Output only. The unique identifier of this training phrase.
                        "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                          { # Represents a part of a training phrase.
                            "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.
                          },
                        ],
                        "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                        "type": "A String", # Required. The type of the training phrase.
                      },
                    ],
                    "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
                  },
                  "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.
                  "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.
                        "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                        "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.
                        "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 `` 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.
                        "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                      },
                    ],
                  },
                  "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
                  "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
                    { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                      "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                      "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                      "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                        "a_key": "", # Properties of the object.
                      },
                    },
                  ],
                  "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "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.
                  "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
                    "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                      "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                      "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
                    },
                  },
                  "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.
                  "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.
                  },
                  "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.
                },
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used to suggest answer. Format: `projects//locations//conversations//messages/`.
          },
          "suggestEntityExtractionResponse": { # The response message for Participants.SuggestDialogflowAssists. # SuggestDialogflowAssistsResponse if request is for ENTITY_EXTRACTION.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestDialogflowAssistsRequest.context_size field in the request if there aren't that many messages in the conversation.
            "dialogflowAssistAnswers": [ # Output only. Multiple reply options provided by Dialogflow assist service. The order is based on the rank of the model prediction.
              { # Represents a Dialogflow assist answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
                  "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
                  "displayName": "A String", # The display name of the intent.
                  "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
                },
                "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
                  "action": "A String", # The action name from the matched intent.
                  "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
                  "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
                  "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.
                  },
                  "fulfillmentMessages": [ # The collection of rich messages to present to the user.
                    { # Corresponds to the `Response` field in the Dialogflow console.
                      "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "formattedText": "A String", # Required, unless image is present. The body text of the card.
                        "image": { # The image response message. # Optional. The image for the card.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "subtitle": "A String", # Optional. The subtitle of the card.
                        "title": "A String", # Optional. The title of the card.
                      },
                      "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                        "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                        "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                          { # Browsing carousel tile
                            "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                            "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                            "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.
                            },
                            "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.
                          },
                        ],
                      },
                      "card": { # The card response message. # Displays a card.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # Optional. Contains information about a button.
                            "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                            "text": "A String", # Optional. The text to show on the button.
                          },
                        ],
                        "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.
                      },
                      "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                        "items": [ # Required. Carousel items.
                          { # An item in the carousel.
                            "description": "A String", # Optional. The body text of the card.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "title": "A String", # Required. Title of the carousel item.
                          },
                        ],
                      },
                      "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.
                      },
                      "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                        "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                        "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                      },
                      "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.
                            "description": "A String", # Optional. The main text describing the item.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "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.
                      },
                      "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.
                            "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.
                            },
                            "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.
                            },
                            "name": "A String", # Required. Name of media card.
                          },
                        ],
                        "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                      },
                      "payload": { # A custom platform-specific response.
                        "a_key": "", # Properties of the object.
                      },
                      "platform": "A String", # Optional. The platform that this message is intended for.
                      "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.
                      },
                      "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                        "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
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                        ],
                        "cardWidth": "A String", # Required. The width of the cards in the carousel.
                      },
                      "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                        "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                          "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                          "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                            "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.
                            "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                            "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.
                          },
                          "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 can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                        },
                        "cardOrientation": "A String", # Required. Orientation of the card.
                        "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                      },
                      "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                        "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                          { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                            "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "text": "A String", # Required. Text sent and displayed to the user.
                      },
                      "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                        "simpleResponses": [ # Required. The list of simple responses.
                          { # The simple response message containing speech or text.
                            "displayText": "A String", # Optional. The text to display.
                            "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                            "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                          },
                        ],
                      },
                      "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.
                          },
                        ],
                      },
                      "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                        "buttons": [ # Optional. List of buttons for the card.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "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.
                          },
                        ],
                        "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.
                        },
                        "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.
                      },
                      "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                      },
                      "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                        "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.
                      },
                      "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).
                      },
                      "text": { # The text response message. # Returns a text response.
                        "text": [ # Optional. The collection of the agent's responses.
                          "A String",
                        ],
                      },
                    },
                  ],
                  "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.
                  "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # 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`.
                    "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
                    "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                      "A String",
                    ],
                    "displayName": "A String", # Required. The name of this intent.
                    "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.
                    "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                      "A String",
                    ],
                    "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                      { # Represents a single followup intent in the chain.
                        "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                        "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                      },
                    ],
                    "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                      "A String",
                    ],
                    "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
                    "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
                    "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.
                        "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "formattedText": "A String", # Required, unless image is present. The body text of the card.
                          "image": { # The image response message. # Optional. The image for the card.
                            "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                            "imageUri": "A String", # Optional. The public URI to an image file.
                          },
                          "subtitle": "A String", # Optional. The subtitle of the card.
                          "title": "A String", # Optional. The title of the card.
                        },
                        "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                          "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                          "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                            { # Browsing carousel tile
                              "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                              "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                              "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.
                              },
                              "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.
                            },
                          ],
                        },
                        "card": { # The card response message. # Displays a card.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # Optional. Contains information about a button.
                              "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                              "text": "A String", # Optional. The text to show on the button.
                            },
                          ],
                          "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.
                        },
                        "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                          "items": [ # Required. Carousel items.
                            { # An item in the carousel.
                              "description": "A String", # Optional. The body text of the card.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "title": "A String", # Required. Title of the carousel item.
                            },
                          ],
                        },
                        "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.
                        },
                        "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                          "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                          "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                        },
                        "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.
                              "description": "A String", # Optional. The main text describing the item.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "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.
                        },
                        "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.
                              "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.
                              },
                              "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.
                              },
                              "name": "A String", # Required. Name of media card.
                            },
                          ],
                          "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                        },
                        "payload": { # A custom platform-specific response.
                          "a_key": "", # Properties of the object.
                        },
                        "platform": "A String", # Optional. The platform that this message is intended for.
                        "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.
                        },
                        "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                          "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
                              "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                              "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                                "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.
                                "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                                "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.
                              },
                              "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 can choose from the card. # Predefined client side actions that user can choose
                                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                      "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.
                                    },
                                    "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                      "uri": "A String", # Required. The uri to open on the user device
                                    },
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                    },
                                    "text": "A String", # Text to display alongside the action.
                                  },
                                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "text": "A String", # Suggested reply text.
                                  },
                                },
                              ],
                              "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                            },
                          ],
                          "cardWidth": "A String", # Required. The width of the cards in the carousel.
                        },
                        "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                          "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                          "cardOrientation": "A String", # Required. Orientation of the card.
                          "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                        },
                        "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                          "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                            { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                              "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "text": "A String", # Required. Text sent and displayed to the user.
                        },
                        "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                          "simpleResponses": [ # Required. The list of simple responses.
                            { # The simple response message containing speech or text.
                              "displayText": "A String", # Optional. The text to display.
                              "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                              "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                            },
                          ],
                        },
                        "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.
                            },
                          ],
                        },
                        "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                          "buttons": [ # Optional. List of buttons for the card.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "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.
                            },
                          ],
                          "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.
                          },
                          "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.
                        },
                        "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                        },
                        "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                          "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.
                        },
                        "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).
                        },
                        "text": { # The text response message. # Returns a text response.
                          "text": [ # Optional. The collection of the agent's responses.
                            "A String",
                          ],
                        },
                      },
                    ],
                    "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.
                    "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.
                    "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
                    "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//agent/sessions/-/contexts/`.
                      { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                        "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                        "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                        "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                          "a_key": "", # Properties of the object.
                        },
                      },
                    ],
                    "parameters": [ # Optional. The collection of parameters associated with the intent.
                      { # Represents intent parameters.
                        "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`.
                        "displayName": "A String", # Required. The name of the parameter.
                        "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                        "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                        "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                        "name": "A String", # The unique identifier of this parameter.
                        "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",
                        ],
                        "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`.
                      },
                    ],
                    "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
                    "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
                    "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
                    "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
                    "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                      { # Represents an example that the agent is trained on.
                        "name": "A String", # Output only. The unique identifier of this training phrase.
                        "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                          { # Represents a part of a training phrase.
                            "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.
                          },
                        ],
                        "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                        "type": "A String", # Required. The type of the training phrase.
                      },
                    ],
                    "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
                  },
                  "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.
                  "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.
                        "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                        "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.
                        "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 `` 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.
                        "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                      },
                    ],
                  },
                  "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
                  "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
                    { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                      "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                      "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                      "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                        "a_key": "", # Properties of the object.
                      },
                    },
                  ],
                  "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "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.
                  "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
                    "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                      "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                      "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
                    },
                  },
                  "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.
                  "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.
                  },
                  "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.
                },
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used to suggest answer. Format: `projects//locations//conversations//messages/`.
          },
          "suggestFaqAnswersResponse": { # The request message for Participants.SuggestFaqAnswers. # SuggestFaqAnswersResponse if request is for FAQ_ANSWER.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestFaqAnswersRequest.context_size field in the request if there aren't that many messages in the conversation.
            "faqAnswers": [ # Output only. Answers extracted from FAQ documents.
              { # Represents answer from "frequently asked questions".
                "answer": "A String", # The piece of text from the `source` knowledge base document.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "confidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
                "metadata": { # A map that contains metadata about the answer and the document from which it originates.
                  "a_key": "A String",
                },
                "question": "A String", # The corresponding FAQ question.
                "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
          },
          "suggestKnowledgeAssistResponse": { # The response message for Participants.SuggestKnowledgeAssist. # SuggestKnowledgeAssistResponse if request is for KNOWLEDGE_ASSIST.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestKnowledgeAssistRequest.context_size field in the request if there are fewer messages in the conversation.
            "knowledgeAssistAnswer": { # Represents a Knowledge Assist answer. # Output only. Knowledge Assist suggestion.
              "answerRecord": "A String", # The name of the answer record. Format: `projects//locations//answer Records/`.
              "suggestedQuery": { # Represents a suggested query. # The query suggested based on the context. Suggestion is made only if it is different from the previous suggestion.
                "queryText": "A String", # Suggested query text.
              },
              "suggestedQueryAnswer": { # Represents an answer from Knowledge. Currently supports FAQ and Generative answers. # The answer generated for the suggested query. Whether or not an answer is generated depends on how confident we are about the generated query.
                "answerText": "A String", # The piece of text from the `source` that answers this suggested query.
                "faqSource": { # Details about source of FAQ answer. # Populated if the prediction came from FAQ.
                  "question": "A String", # The corresponding FAQ question.
                },
                "generativeSource": { # Details about source of Generative answer. # Populated if the prediction was Generative.
                  "snippets": [ # All snippets used for this Generative Prediction, with their source URI and data.
                    { # Snippet Source for a Generative Prediction.
                      "metadata": { # Metadata of the document.
                        "a_key": "", # Properties of the object.
                      },
                      "text": "A String", # Text taken from that URI.
                      "title": "A String", # Title of the document.
                      "uri": "A String", # URI the data is sourced from.
                    },
                  ],
                },
              },
            },
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
          },
          "suggestSmartRepliesResponse": { # The response message for Participants.SuggestSmartReplies. # SuggestSmartRepliesResponse if request is for SMART_REPLY.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestSmartRepliesRequest.context_size field in the request if there aren't that many messages in the conversation.
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
            "smartReplyAnswers": [ # Output only. Multiple reply options provided by smart reply service. The order is based on the rank of the model prediction. The maximum number of the returned replies is set in SmartReplyConfig.
              { # Represents a smart reply answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "confidence": 3.14, # Smart reply confidence. The system's confidence score that this reply is a good match for this conversation, as a value from 0.0 (completely uncertain) to 1.0 (completely certain).
                "reply": "A String", # The content of the reply.
              },
            ],
          },
        },
      ],
      "humanAgentSuggestionResults": [ # The suggestions for most recent human agent. The order is the same as HumanAgentAssistantConfig.SuggestionConfig.feature_configs of HumanAgentAssistantConfig.human_agent_suggestion_config. Note that any failure of Agent Assist features will not lead to the overall failure of an AnalyzeContent API call. Instead, the features will fail silently with the error field set in the corresponding SuggestionResult.
        { # One response of different type of suggestion response which is used in the response of Participants.AnalyzeContent and Participants.AnalyzeContent, as well as HumanAgentAssistantEvent.
          "error": { # The `Status` type defines a logical error model that is suitable for 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). # Error status if the request failed.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          },
          "generateSuggestionsResponse": { # The response message for Conversations.GenerateSuggestions. # Suggestions generated using generators triggered by customer or agent messages.
            "generatorSuggestionAnswers": [ # The answers generated for the conversation based on context.
              { # A GeneratorSuggestion answer.
                "answerRecord": "A String", # Answer record that uniquely identifies the suggestion. This can be used to provide suggestion feedback.
                "generatorSuggestion": { # Suggestion generated using a Generator. # Suggestion details.
                  "agentCoachingSuggestion": { # Suggestion for coaching agents. # Optional. Suggestion to coach the agent.
                    "agentActionSuggestions": [ # Optional. Suggested actions for the agent to take.
                      { # Actions suggested for the agent. This is based on applicable instructions.
                        "agentAction": "A String", # Optional. The suggested action for the agent.
                        "duplicateCheckResult": { # Duplication check for the suggestion. # Output only. Duplicate check result for the agent action suggestion.
                          "duplicateSuggestions": [ # Output only. The duplicate suggestions.
                            { # The duplicate suggestion details. Keeping answer_record and sources together as they are identifiers for duplicate suggestions.
                              "answerRecord": "A String", # Output only. The answer record id of the past duplicate suggestion.
                              "similarityScore": 3.14, # Output only. The similarity score of between the past and current suggestion.
                              "sources": { # Sources for the suggestion. # Output only. Sources for the suggestion.
                                "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                                  42,
                                ],
                              },
                              "suggestionIndex": 42, # Output only. The index of the duplicate suggestion in the past suggestion list.
                            },
                          ],
                        },
                        "sources": { # Sources for the suggestion. # Output only. Sources for the agent action suggestion.
                          "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                            42,
                          ],
                        },
                      },
                    ],
                    "applicableInstructions": [ # Optional. Instructions applicable based on the current context.
                      { # Agent Coaching instructions that customer can configure.
                        "agentAction": "A String", # Optional. The action that human agent should take. For example, "apologize for the slow shipping". If the users only want to use agent coaching for intent detection, agent_action can be empty
                        "condition": "A String", # Optional. The condition of the instruction. For example, "the customer wants to cancel an order". If the users want the instruction to be triggered unconditionally, the condition can be empty.
                        "displayDetails": "A String", # Optional. The detailed description of this instruction.
                        "displayName": "A String", # Optional. Display name for the instruction.
                        "duplicateCheckResult": { # Duplication check for the suggestion. # Output only. Duplication check for the AgentCoachingInstruction.
                          "duplicateSuggestions": [ # Output only. The duplicate suggestions.
                            { # The duplicate suggestion details.
                              "answerRecord": "A String", # Output only. The answer record id of the past duplicate suggestion.
                              "similarityScore": 3.14, # Output only. The similarity score of between the past and current suggestion.
                              "suggestionIndex": 42, # Output only. The index of the duplicate suggestion in the past suggestion list.
                            },
                          ],
                        },
                        "systemAction": "A String", # Optional. The action that system should take. For example, "call GetOrderTime with order_number={order number provided by the customer}". If the users don't have plugins or don't want to trigger plugins, the system_action can be empty
                      },
                    ],
                    "sampleResponses": [ # Optional. Sample response for the Agent.
                      { # Sample response that the agent can use. This could be based on applicable instructions and ingested data from other systems.
                        "duplicateCheckResult": { # Duplication check for the suggestion. # Output only. Duplicate check result for the sample response.
                          "duplicateSuggestions": [ # Output only. The duplicate suggestions.
                            { # The duplicate suggestion details. Keeping answer_record and sources together as they are identifiers for duplicate suggestions.
                              "answerRecord": "A String", # Output only. The answer record id of the past duplicate suggestion.
                              "similarityScore": 3.14, # Output only. The similarity score of between the past and current suggestion.
                              "sources": { # Sources for the suggestion. # Output only. Sources for the suggestion.
                                "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                                  42,
                                ],
                              },
                              "suggestionIndex": 42, # Output only. The index of the duplicate suggestion in the past suggestion list.
                            },
                          ],
                        },
                        "responseText": "A String", # Optional. Sample response for Agent in text.
                        "sources": { # Sources for the suggestion. # Output only. Sources for the Sample Response.
                          "instructionIndexes": [ # Output only. Source instruction indexes for the suggestion. This is the index of the applicable_instructions field.
                            42,
                          ],
                        },
                      },
                    ],
                  },
                  "freeFormSuggestion": { # Suggestion generated using free form generator. # Optional. Free form suggestion.
                    "response": "A String", # Required. Free form suggestion.
                  },
                  "summarySuggestion": { # Suggested summary of the conversation. # Optional. Suggested summary.
                    "summarySections": [ # Required. All the parts of generated summary.
                      { # A component of the generated summary.
                        "section": "A String", # Required. Name of the section.
                        "summary": "A String", # Required. Summary text for the section.
                      },
                    ],
                  },
                  "toolCallInfo": [ # Optional. List of request and response for tool calls executed.
                    { # Request and response for a tool call.
                      "toolCall": { # Represents a call of a specific tool's action with the specified inputs. # Required. Request for a tool call.
                        "action": "A String", # Optional. The name of the tool's action associated with this call.
                        "answerRecord": "A String", # Optional. The answer record associated with this tool call.
                        "createTime": "A String", # Output only. Create time of the tool call.
                        "inputParameters": { # Optional. The action's input parameters.
                          "a_key": "", # Properties of the object.
                        },
                        "state": "A String", # Output only. State of the tool call
                        "tool": "A String", # Optional. The tool associated with this call. Format: `projects//locations//tools/`.
                        "toolDisplayDetails": "A String", # Optional. A human readable description of the tool.
                        "toolDisplayName": "A String", # Optional. A human readable short name of the tool, to be shown on the UI.
                      },
                      "toolCallResult": { # The result of calling a tool's action. # Required. Response for a tool call.
                        "action": "A String", # Optional. The name of the tool's action associated with this call.
                        "answerRecord": "A String", # Optional. The answer record associated with this tool call result.
                        "content": "A String", # Only populated if the response content is utf-8 encoded.
                        "createTime": "A String", # Output only. Create time of the tool call result.
                        "error": { # An error produced by the tool call. # The tool call's error.
                          "message": "A String", # Optional. The error message of the function.
                        },
                        "rawContent": "A String", # Only populated if the response content is not utf-8 encoded. (by definition byte fields are base64 encoded).
                        "tool": "A String", # Optional. The tool associated with this call. Format: `projects//locations//tools/`.
                      },
                    },
                  ],
                },
                "sourceGenerator": "A String", # The name of the generator used to generate this suggestion. Format: `projects//locations//generators/`.
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used as context for compiling suggestion. Format: `projects//locations//conversations//messages/`.
          },
          "suggestArticlesResponse": { # The response message for Participants.SuggestArticles. # SuggestArticlesResponse if request is for ARTICLE_SUGGESTION.
            "articleAnswers": [ # Output only. Articles ordered by score in descending order.
              { # Represents article answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "metadata": { # A map that contains metadata about the answer and the document from which it originates.
                  "a_key": "A String",
                },
                "snippets": [ # Output only. Article snippets.
                  "A String",
                ],
                "title": "A String", # The article title.
                "uri": "A String", # The article URI.
              },
            ],
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestArticlesResponse.context_size field in the request if there aren't that many messages in the conversation.
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
          },
          "suggestDialogflowAssistsResponse": { # The response message for Participants.SuggestDialogflowAssists. # SuggestDialogflowAssistsResponse if request is for DIALOGFLOW_ASSIST.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestDialogflowAssistsRequest.context_size field in the request if there aren't that many messages in the conversation.
            "dialogflowAssistAnswers": [ # Output only. Multiple reply options provided by Dialogflow assist service. The order is based on the rank of the model prediction.
              { # Represents a Dialogflow assist answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
                  "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
                  "displayName": "A String", # The display name of the intent.
                  "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
                },
                "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
                  "action": "A String", # The action name from the matched intent.
                  "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
                  "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
                  "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.
                  },
                  "fulfillmentMessages": [ # The collection of rich messages to present to the user.
                    { # Corresponds to the `Response` field in the Dialogflow console.
                      "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "formattedText": "A String", # Required, unless image is present. The body text of the card.
                        "image": { # The image response message. # Optional. The image for the card.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "subtitle": "A String", # Optional. The subtitle of the card.
                        "title": "A String", # Optional. The title of the card.
                      },
                      "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                        "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                        "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                          { # Browsing carousel tile
                            "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                            "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                            "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.
                            },
                            "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.
                          },
                        ],
                      },
                      "card": { # The card response message. # Displays a card.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # Optional. Contains information about a button.
                            "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                            "text": "A String", # Optional. The text to show on the button.
                          },
                        ],
                        "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.
                      },
                      "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                        "items": [ # Required. Carousel items.
                          { # An item in the carousel.
                            "description": "A String", # Optional. The body text of the card.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "title": "A String", # Required. Title of the carousel item.
                          },
                        ],
                      },
                      "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.
                      },
                      "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                        "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                        "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                      },
                      "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.
                            "description": "A String", # Optional. The main text describing the item.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "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.
                      },
                      "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.
                            "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.
                            },
                            "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.
                            },
                            "name": "A String", # Required. Name of media card.
                          },
                        ],
                        "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                      },
                      "payload": { # A custom platform-specific response.
                        "a_key": "", # Properties of the object.
                      },
                      "platform": "A String", # Optional. The platform that this message is intended for.
                      "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.
                      },
                      "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                        "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
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                        ],
                        "cardWidth": "A String", # Required. The width of the cards in the carousel.
                      },
                      "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                        "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                          "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                          "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                            "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.
                            "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                            "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.
                          },
                          "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 can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                        },
                        "cardOrientation": "A String", # Required. Orientation of the card.
                        "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                      },
                      "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                        "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                          { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                            "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "text": "A String", # Required. Text sent and displayed to the user.
                      },
                      "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                        "simpleResponses": [ # Required. The list of simple responses.
                          { # The simple response message containing speech or text.
                            "displayText": "A String", # Optional. The text to display.
                            "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                            "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                          },
                        ],
                      },
                      "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.
                          },
                        ],
                      },
                      "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                        "buttons": [ # Optional. List of buttons for the card.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "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.
                          },
                        ],
                        "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.
                        },
                        "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.
                      },
                      "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                      },
                      "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                        "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.
                      },
                      "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).
                      },
                      "text": { # The text response message. # Returns a text response.
                        "text": [ # Optional. The collection of the agent's responses.
                          "A String",
                        ],
                      },
                    },
                  ],
                  "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.
                  "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # 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`.
                    "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
                    "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                      "A String",
                    ],
                    "displayName": "A String", # Required. The name of this intent.
                    "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.
                    "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                      "A String",
                    ],
                    "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                      { # Represents a single followup intent in the chain.
                        "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                        "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                      },
                    ],
                    "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                      "A String",
                    ],
                    "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
                    "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
                    "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.
                        "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "formattedText": "A String", # Required, unless image is present. The body text of the card.
                          "image": { # The image response message. # Optional. The image for the card.
                            "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                            "imageUri": "A String", # Optional. The public URI to an image file.
                          },
                          "subtitle": "A String", # Optional. The subtitle of the card.
                          "title": "A String", # Optional. The title of the card.
                        },
                        "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                          "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                          "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                            { # Browsing carousel tile
                              "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                              "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                              "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.
                              },
                              "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.
                            },
                          ],
                        },
                        "card": { # The card response message. # Displays a card.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # Optional. Contains information about a button.
                              "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                              "text": "A String", # Optional. The text to show on the button.
                            },
                          ],
                          "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.
                        },
                        "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                          "items": [ # Required. Carousel items.
                            { # An item in the carousel.
                              "description": "A String", # Optional. The body text of the card.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "title": "A String", # Required. Title of the carousel item.
                            },
                          ],
                        },
                        "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.
                        },
                        "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                          "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                          "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                        },
                        "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.
                              "description": "A String", # Optional. The main text describing the item.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "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.
                        },
                        "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.
                              "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.
                              },
                              "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.
                              },
                              "name": "A String", # Required. Name of media card.
                            },
                          ],
                          "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                        },
                        "payload": { # A custom platform-specific response.
                          "a_key": "", # Properties of the object.
                        },
                        "platform": "A String", # Optional. The platform that this message is intended for.
                        "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.
                        },
                        "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                          "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
                              "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                              "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                                "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.
                                "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                                "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.
                              },
                              "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 can choose from the card. # Predefined client side actions that user can choose
                                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                      "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.
                                    },
                                    "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                      "uri": "A String", # Required. The uri to open on the user device
                                    },
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                    },
                                    "text": "A String", # Text to display alongside the action.
                                  },
                                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "text": "A String", # Suggested reply text.
                                  },
                                },
                              ],
                              "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                            },
                          ],
                          "cardWidth": "A String", # Required. The width of the cards in the carousel.
                        },
                        "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                          "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                          "cardOrientation": "A String", # Required. Orientation of the card.
                          "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                        },
                        "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                          "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                            { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                              "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "text": "A String", # Required. Text sent and displayed to the user.
                        },
                        "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                          "simpleResponses": [ # Required. The list of simple responses.
                            { # The simple response message containing speech or text.
                              "displayText": "A String", # Optional. The text to display.
                              "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                              "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                            },
                          ],
                        },
                        "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.
                            },
                          ],
                        },
                        "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                          "buttons": [ # Optional. List of buttons for the card.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "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.
                            },
                          ],
                          "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.
                          },
                          "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.
                        },
                        "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                        },
                        "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                          "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.
                        },
                        "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).
                        },
                        "text": { # The text response message. # Returns a text response.
                          "text": [ # Optional. The collection of the agent's responses.
                            "A String",
                          ],
                        },
                      },
                    ],
                    "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.
                    "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.
                    "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
                    "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//agent/sessions/-/contexts/`.
                      { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                        "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                        "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                        "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                          "a_key": "", # Properties of the object.
                        },
                      },
                    ],
                    "parameters": [ # Optional. The collection of parameters associated with the intent.
                      { # Represents intent parameters.
                        "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`.
                        "displayName": "A String", # Required. The name of the parameter.
                        "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                        "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                        "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                        "name": "A String", # The unique identifier of this parameter.
                        "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",
                        ],
                        "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`.
                      },
                    ],
                    "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
                    "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
                    "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
                    "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
                    "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                      { # Represents an example that the agent is trained on.
                        "name": "A String", # Output only. The unique identifier of this training phrase.
                        "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                          { # Represents a part of a training phrase.
                            "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.
                          },
                        ],
                        "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                        "type": "A String", # Required. The type of the training phrase.
                      },
                    ],
                    "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
                  },
                  "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.
                  "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.
                        "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                        "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.
                        "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 `` 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.
                        "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                      },
                    ],
                  },
                  "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
                  "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
                    { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                      "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                      "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                      "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                        "a_key": "", # Properties of the object.
                      },
                    },
                  ],
                  "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "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.
                  "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
                    "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                      "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                      "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
                    },
                  },
                  "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.
                  "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.
                  },
                  "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.
                },
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used to suggest answer. Format: `projects//locations//conversations//messages/`.
          },
          "suggestEntityExtractionResponse": { # The response message for Participants.SuggestDialogflowAssists. # SuggestDialogflowAssistsResponse if request is for ENTITY_EXTRACTION.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestDialogflowAssistsRequest.context_size field in the request if there aren't that many messages in the conversation.
            "dialogflowAssistAnswers": [ # Output only. Multiple reply options provided by Dialogflow assist service. The order is based on the rank of the model prediction.
              { # Represents a Dialogflow assist answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
                  "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
                  "displayName": "A String", # The display name of the intent.
                  "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
                },
                "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
                  "action": "A String", # The action name from the matched intent.
                  "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
                  "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
                  "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.
                  },
                  "fulfillmentMessages": [ # The collection of rich messages to present to the user.
                    { # Corresponds to the `Response` field in the Dialogflow console.
                      "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "formattedText": "A String", # Required, unless image is present. The body text of the card.
                        "image": { # The image response message. # Optional. The image for the card.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "subtitle": "A String", # Optional. The subtitle of the card.
                        "title": "A String", # Optional. The title of the card.
                      },
                      "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                        "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                        "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                          { # Browsing carousel tile
                            "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                            "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                            "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.
                            },
                            "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.
                          },
                        ],
                      },
                      "card": { # The card response message. # Displays a card.
                        "buttons": [ # Optional. The collection of card buttons.
                          { # Optional. Contains information about a button.
                            "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                            "text": "A String", # Optional. The text to show on the button.
                          },
                        ],
                        "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.
                      },
                      "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                        "items": [ # Required. Carousel items.
                          { # An item in the carousel.
                            "description": "A String", # Optional. The body text of the card.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "title": "A String", # Required. Title of the carousel item.
                          },
                        ],
                      },
                      "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.
                      },
                      "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                        "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                        "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                      },
                      "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.
                            "description": "A String", # Optional. The main text describing the item.
                            "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.
                            },
                            "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                              "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                              "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                "A String",
                              ],
                            },
                            "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.
                      },
                      "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.
                            "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.
                            },
                            "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.
                            },
                            "name": "A String", # Required. Name of media card.
                          },
                        ],
                        "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                      },
                      "payload": { # A custom platform-specific response.
                        "a_key": "", # Properties of the object.
                      },
                      "platform": "A String", # Optional. The platform that this message is intended for.
                      "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.
                      },
                      "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                        "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
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                        ],
                        "cardWidth": "A String", # Required. The width of the cards in the carousel.
                      },
                      "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                        "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                          "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                          "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                            "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.
                            "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                            "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.
                          },
                          "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 can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                        },
                        "cardOrientation": "A String", # Required. Orientation of the card.
                        "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                      },
                      "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                        "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                          { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                            "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "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.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "text": "A String", # Required. Text sent and displayed to the user.
                      },
                      "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                        "simpleResponses": [ # Required. The list of simple responses.
                          { # The simple response message containing speech or text.
                            "displayText": "A String", # Optional. The text to display.
                            "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                            "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                          },
                        ],
                      },
                      "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.
                          },
                        ],
                      },
                      "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                        "buttons": [ # Optional. List of buttons for the card.
                          { # The button object that appears at the bottom of a card.
                            "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                              "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                            },
                            "title": "A String", # Required. The title of the button.
                          },
                        ],
                        "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.
                          },
                        ],
                        "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.
                        },
                        "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.
                      },
                      "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                      },
                      "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                        "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.
                      },
                      "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).
                      },
                      "text": { # The text response message. # Returns a text response.
                        "text": [ # Optional. The collection of the agent's responses.
                          "A String",
                        ],
                      },
                    },
                  ],
                  "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.
                  "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # 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`.
                    "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
                    "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                      "A String",
                    ],
                    "displayName": "A String", # Required. The name of this intent.
                    "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.
                    "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                      "A String",
                    ],
                    "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                      { # Represents a single followup intent in the chain.
                        "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                        "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                      },
                    ],
                    "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                      "A String",
                    ],
                    "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
                    "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
                    "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.
                        "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "formattedText": "A String", # Required, unless image is present. The body text of the card.
                          "image": { # The image response message. # Optional. The image for the card.
                            "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                            "imageUri": "A String", # Optional. The public URI to an image file.
                          },
                          "subtitle": "A String", # Optional. The subtitle of the card.
                          "title": "A String", # Optional. The title of the card.
                        },
                        "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                          "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                          "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                            { # Browsing carousel tile
                              "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                              "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                              "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.
                              },
                              "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.
                            },
                          ],
                        },
                        "card": { # The card response message. # Displays a card.
                          "buttons": [ # Optional. The collection of card buttons.
                            { # Optional. Contains information about a button.
                              "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                              "text": "A String", # Optional. The text to show on the button.
                            },
                          ],
                          "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.
                        },
                        "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                          "items": [ # Required. Carousel items.
                            { # An item in the carousel.
                              "description": "A String", # Optional. The body text of the card.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "title": "A String", # Required. Title of the carousel item.
                            },
                          ],
                        },
                        "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.
                        },
                        "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                          "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                          "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                        },
                        "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.
                              "description": "A String", # Optional. The main text describing the item.
                              "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.
                              },
                              "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                                "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                                "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                                  "A String",
                                ],
                              },
                              "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.
                        },
                        "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.
                              "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.
                              },
                              "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.
                              },
                              "name": "A String", # Required. Name of media card.
                            },
                          ],
                          "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                        },
                        "payload": { # A custom platform-specific response.
                          "a_key": "", # Properties of the object.
                        },
                        "platform": "A String", # Optional. The platform that this message is intended for.
                        "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.
                        },
                        "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                          "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
                              "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                              "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                                "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.
                                "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                                "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.
                              },
                              "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 can choose from the card. # Predefined client side actions that user can choose
                                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                      "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.
                                    },
                                    "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                      "uri": "A String", # Required. The uri to open on the user device
                                    },
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                    },
                                    "text": "A String", # Text to display alongside the action.
                                  },
                                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                    "text": "A String", # Suggested reply text.
                                  },
                                },
                              ],
                              "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                            },
                          ],
                          "cardWidth": "A String", # Required. The width of the cards in the carousel.
                        },
                        "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                          "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                            "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                            "media": { # Rich Business Messaging (RBM) Media displayed in Cards 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 # 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.
                              "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.
                              "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                              "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.
                            },
                            "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 can choose from the card. # Predefined client side actions that user can choose
                                  "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                    "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.
                                  },
                                  "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                    "uri": "A String", # Required. The uri to open on the user device
                                  },
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                  },
                                  "text": "A String", # Text to display alongside the action.
                                },
                                "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                  "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                  "text": "A String", # Suggested reply text.
                                },
                              },
                            ],
                            "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                          },
                          "cardOrientation": "A String", # Required. Orientation of the card.
                          "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                        },
                        "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                          "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                            { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                              "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                                "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                  "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.
                                },
                                "openUrl": { # Opens the user's default web browser app to the specified uri 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. # Suggested client side action: Open a URI on device
                                  "uri": "A String", # Required. The uri to open on the user device
                                },
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                                "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                                },
                                "text": "A String", # Text to display alongside the action.
                              },
                              "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                                "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                                "text": "A String", # Suggested reply text.
                              },
                            },
                          ],
                          "text": "A String", # Required. Text sent and displayed to the user.
                        },
                        "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                          "simpleResponses": [ # Required. The list of simple responses.
                            { # The simple response message containing speech or text.
                              "displayText": "A String", # Optional. The text to display.
                              "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                              "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                            },
                          ],
                        },
                        "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.
                            },
                          ],
                        },
                        "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                          "buttons": [ # Optional. List of buttons for the card.
                            { # The button object that appears at the bottom of a card.
                              "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                                "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                              },
                              "title": "A String", # Required. The title of the button.
                            },
                          ],
                          "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.
                            },
                          ],
                          "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.
                          },
                          "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.
                        },
                        "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-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where 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.
                        },
                        "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in 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. # Synthesizes speech in Telephony Gateway.
                          "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.
                        },
                        "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).
                        },
                        "text": { # The text response message. # Returns a text response.
                          "text": [ # Optional. The collection of the agent's responses.
                            "A String",
                          ],
                        },
                      },
                    ],
                    "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.
                    "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.
                    "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
                    "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//agent/sessions/-/contexts/`.
                      { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                        "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                        "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                        "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                          "a_key": "", # Properties of the object.
                        },
                      },
                    ],
                    "parameters": [ # Optional. The collection of parameters associated with the intent.
                      { # Represents intent parameters.
                        "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`.
                        "displayName": "A String", # Required. The name of the parameter.
                        "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                        "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                        "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                        "name": "A String", # The unique identifier of this parameter.
                        "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",
                        ],
                        "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`.
                      },
                    ],
                    "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
                    "priority": 42, # Optional. The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
                    "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
                    "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
                    "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                      { # Represents an example that the agent is trained on.
                        "name": "A String", # Output only. The unique identifier of this training phrase.
                        "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                          { # Represents a part of a training phrase.
                            "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.
                          },
                        ],
                        "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                        "type": "A String", # Required. The type of the training phrase.
                      },
                    ],
                    "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
                  },
                  "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.
                  "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.
                        "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                        "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.
                        "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 `` 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.
                        "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                      },
                    ],
                  },
                  "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
                  "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
                    { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                      "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                      "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                      "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                        "a_key": "", # Properties of the object.
                      },
                    },
                  ],
                  "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "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.
                  "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
                    "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                      "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                      "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
                    },
                  },
                  "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.
                  "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.
                  },
                  "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.
                },
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used to suggest answer. Format: `projects//locations//conversations//messages/`.
          },
          "suggestFaqAnswersResponse": { # The request message for Participants.SuggestFaqAnswers. # SuggestFaqAnswersResponse if request is for FAQ_ANSWER.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestFaqAnswersRequest.context_size field in the request if there aren't that many messages in the conversation.
            "faqAnswers": [ # Output only. Answers extracted from FAQ documents.
              { # Represents answer from "frequently asked questions".
                "answer": "A String", # The piece of text from the `source` knowledge base document.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "confidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
                "metadata": { # A map that contains metadata about the answer and the document from which it originates.
                  "a_key": "A String",
                },
                "question": "A String", # The corresponding FAQ question.
                "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
              },
            ],
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
          },
          "suggestKnowledgeAssistResponse": { # The response message for Participants.SuggestKnowledgeAssist. # SuggestKnowledgeAssistResponse if request is for KNOWLEDGE_ASSIST.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestKnowledgeAssistRequest.context_size field in the request if there are fewer messages in the conversation.
            "knowledgeAssistAnswer": { # Represents a Knowledge Assist answer. # Output only. Knowledge Assist suggestion.
              "answerRecord": "A String", # The name of the answer record. Format: `projects//locations//answer Records/`.
              "suggestedQuery": { # Represents a suggested query. # The query suggested based on the context. Suggestion is made only if it is different from the previous suggestion.
                "queryText": "A String", # Suggested query text.
              },
              "suggestedQueryAnswer": { # Represents an answer from Knowledge. Currently supports FAQ and Generative answers. # The answer generated for the suggested query. Whether or not an answer is generated depends on how confident we are about the generated query.
                "answerText": "A String", # The piece of text from the `source` that answers this suggested query.
                "faqSource": { # Details about source of FAQ answer. # Populated if the prediction came from FAQ.
                  "question": "A String", # The corresponding FAQ question.
                },
                "generativeSource": { # Details about source of Generative answer. # Populated if the prediction was Generative.
                  "snippets": [ # All snippets used for this Generative Prediction, with their source URI and data.
                    { # Snippet Source for a Generative Prediction.
                      "metadata": { # Metadata of the document.
                        "a_key": "", # Properties of the object.
                      },
                      "text": "A String", # Text taken from that URI.
                      "title": "A String", # Title of the document.
                      "uri": "A String", # URI the data is sourced from.
                    },
                  ],
                },
              },
            },
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
          },
          "suggestSmartRepliesResponse": { # The response message for Participants.SuggestSmartReplies. # SuggestSmartRepliesResponse if request is for SMART_REPLY.
            "contextSize": 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestSmartRepliesRequest.context_size field in the request if there aren't that many messages in the conversation.
            "latestMessage": "A String", # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
            "smartReplyAnswers": [ # Output only. Multiple reply options provided by smart reply service. The order is based on the rank of the model prediction. The maximum number of the returned replies is set in SmartReplyConfig.
              { # Represents a smart reply answer.
                "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
                "confidence": 3.14, # Smart reply confidence. The system's confidence score that this reply is a good match for this conversation, as a value from 0.0 (completely uncertain) to 1.0 (completely certain).
                "reply": "A String", # The content of the reply.
              },
            ],
          },
        },
      ],
      "message": { # Represents a message posted into a conversation. # Output only. Message analyzed by CCAI.
        "content": "A String", # Required. The message content.
        "createTime": "A String", # Output only. The time when the message was created in Contact Center AI.
        "languageCode": "A String", # Optional. The message language. This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: "en-US".
        "messageAnnotation": { # Represents the result of annotation for the message. # Output only. The annotation for the message.
          "containEntities": True or False, # Required. Indicates whether the text message contains entities.
          "parts": [ # Optional. The collection of annotated message parts ordered by their position in the message. You can recover the annotated message by concatenating [AnnotatedMessagePart.text].
            { # Represents a part of a message possibly annotated with an entity. The part can be an entity or purely a part of the message between two entities or message start/end.
              "entityType": "A String", # Optional. The [Dialogflow system entity type](https://cloud.google.com/dialogflow/docs/reference/system-entities) of this message part. If this is empty, Dialogflow could not annotate the phrase part with a system entity.
              "formattedValue": "", # Optional. The [Dialogflow system entity formatted value ](https://cloud.google.com/dialogflow/docs/reference/system-entities) of this message part. For example for a system entity of type `@sys.unit-currency`, this may contain: { "amount": 5, "currency": "USD" }
              "text": "A String", # Required. A part of a message possibly annotated with an entity.
            },
          ],
        },
        "name": "A String", # Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.
        "participant": "A String", # Output only. The participant that sends this message.
        "participantRole": "A String", # Output only. The role of the participant.
        "responseMessages": [ # Optional. Automated agent responses.
          { # Response messages from an automated agent.
            "endInteraction": { # Indicates that interaction with the Dialogflow agent has ended. # A signal that indicates the interaction with the Dialogflow agent has ended.
            },
            "liveAgentHandoff": { # Indicates that the conversation should be handed off to a human agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry fulfillment of a Dialogflow CX Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. # Hands off conversation to a live agent.
              "metadata": { # Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this.
                "a_key": "", # Properties of the object.
              },
            },
            "mixedAudio": { # Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. # An audio response message composed of both the synthesized Dialogflow agent responses and the audios hosted in places known to the client.
              "segments": [ # Segments this audio response is composed of.
                { # Represents one segment of audio.
                  "allowPlaybackInterruption": True or False, # Whether the playback of this segment can be interrupted by the end user's speech and the client should then start the next Dialogflow request.
                  "audio": "A String", # Raw audio synthesized from the Dialogflow agent's response using the output config specified in the request.
                  "uri": "A String", # Client-specific URI that points to an audio clip accessible to the client.
                },
              ],
            },
            "payload": { # Returns a response containing a custom, platform-specific payload.
              "a_key": "", # Properties of the object.
            },
            "telephonyTransferCall": { # Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. # A signal that the client should transfer the phone call connected to this agent to a third-party endpoint.
              "phoneNumber": "A String", # Transfer the call to a phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164).
              "sipUri": "A String", # Transfer the call to a SIP endpoint.
            },
            "text": { # The text response message. # Returns a text response.
              "text": [ # A collection of text response variants. If multiple variants are defined, only one text response variant is returned at runtime.
                "A String",
              ],
            },
          },
        ],
        "sendTime": "A String", # Optional. The time when the message was sent. For voice messages, this is the time when an utterance started.
        "sentimentAnalysis": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # Output only. The sentiment analysis result for the message.
          "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
            "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
            "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
          },
        },
      },
      "replyAudio": { # Represents the natural language speech audio to be played to the end user. # Optional. The audio data bytes encoded as specified in the request. This field is set if: - `reply_audio_config` was specified in the request, or - The automated agent responded with audio to play to the user. In such case, `reply_audio.config` contains settings used to synthesize the speech. In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.
        "audio": "A String", # Required. The natural language speech audio.
        "config": { # Instructs the speech synthesizer how to generate the output audio content. If this audio config is supplied in a request, it overrides all existing text-to-speech settings applied to the agent. # Required. Instructs the speech synthesizer how to generate the speech audio.
          "audioEncoding": "A String", # Required. Audio encoding of the synthesized audio content.
          "sampleRateHertz": 42, # The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality).
          "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",
            ],
            "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.
            "pronunciations": [ # Optional. The custom pronunciations for the synthesized audio.
              { # Pronunciation customization for a phrase.
                "phoneticEncoding": "A String", # The phonetic encoding of the phrase.
                "phrase": "A String", # The phrase to which the customization is applied. The phrase can be multiple words, such as proper nouns, but shouldn't span the length of the sentence.
                "pronunciation": "A String", # The pronunciation of the phrase. This must be in the phonetic encoding specified above.
              },
            ],
            "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.
            "voice": { # Description of which voice to use for speech synthesis. # Optional. The desired voice of the synthesized audio.
              "name": "A String", # Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices).
              "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.
            },
            "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.
          },
        },
      },
      "replyText": "A String", # Output only. The output text content. This field is set if the automated agent responded with text to show to the user.
    }

`close()`

    Close httplib2 connections.

`create(parent, body=None, x__xgafv=None)`

    Creates a new participant in a conversation.

    Args:
      parent: string, Required. Resource identifier of the conversation adding the participant. Format: `projects//locations//conversations/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents a conversation participant (human agent, virtual agent, end-user).
      "documentsMetadataFilters": { # Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
        "a_key": "A String",
      },
      "name": "A String", # Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.
      "obfuscatedExternalUserId": "A String", # Optional. Obfuscated user id that should be associated with the created participant. You can specify a user id as follows: 1. If you set this field in CreateParticipantRequest or UpdateParticipantRequest, Dialogflow adds the obfuscated user id with the participant. 2. If you set this field in AnalyzeContent or StreamingAnalyzeContent, Dialogflow will update Participant.obfuscated_external_user_id. Dialogflow uses this user id for billing and measurement. If a user with the same obfuscated_external_user_id is created in a later conversation, Dialogflow will know it's the same user. Dialogflow also uses this user id for Agent Assist suggestion personalization. For example, Dialogflow can use it to provide personalized smart reply suggestions for this user. Note: * Please never pass raw user ids to Dialogflow. Always obfuscate your user id first. * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a hash function like SHA-512. * The length of the user id must be <= 256 characters.
      "role": "A String", # Immutable. The role this participant plays in the conversation. This field must be set during participant creation and is then immutable.
    }

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

    Returns:
      An object of the form:

        { # Represents a conversation participant (human agent, virtual agent, end-user).
      "documentsMetadataFilters": { # Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
        "a_key": "A String",
      },
      "name": "A String", # Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.
      "obfuscatedExternalUserId": "A String", # Optional. Obfuscated user id that should be associated with the created participant. You can specify a user id as follows: 1. If you set this field in CreateParticipantRequest or UpdateParticipantRequest, Dialogflow adds the obfuscated user id with the participant. 2. If you set this field in AnalyzeContent or StreamingAnalyzeContent, Dialogflow will update Participant.obfuscated_external_user_id. Dialogflow uses this user id for billing and measurement. If a user with the same obfuscated_external_user_id is created in a later conversation, Dialogflow will know it's the same user. Dialogflow also uses this user id for Agent Assist suggestion personalization. For example, Dialogflow can use it to provide personalized smart reply suggestions for this user. Note: * Please never pass raw user ids to Dialogflow. Always obfuscate your user id first. * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a hash function like SHA-512. * The length of the user id must be <= 256 characters.
      "role": "A String", # Immutable. The role this participant plays in the conversation. This field must be set during participant creation and is then immutable.
    }

`get(name, x__xgafv=None)`

    Retrieves a conversation participant.

    Args:
      name: string, Required. The name of the participant. Format: `projects//locations//conversations//participants/`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a conversation participant (human agent, virtual agent, end-user).
      "documentsMetadataFilters": { # Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
        "a_key": "A String",
      },
      "name": "A String", # Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.
      "obfuscatedExternalUserId": "A String", # Optional. Obfuscated user id that should be associated with the created participant. You can specify a user id as follows: 1. If you set this field in CreateParticipantRequest or UpdateParticipantRequest, Dialogflow adds the obfuscated user id with the participant. 2. If you set this field in AnalyzeContent or StreamingAnalyzeContent, Dialogflow will update Participant.obfuscated_external_user_id. Dialogflow uses this user id for billing and measurement. If a user with the same obfuscated_external_user_id is created in a later conversation, Dialogflow will know it's the same user. Dialogflow also uses this user id for Agent Assist suggestion personalization. For example, Dialogflow can use it to provide personalized smart reply suggestions for this user. Note: * Please never pass raw user ids to Dialogflow. Always obfuscate your user id first. * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a hash function like SHA-512. * The length of the user id must be <= 256 characters.
      "role": "A String", # Immutable. The role this participant plays in the conversation. This field must be set during participant creation and is then immutable.
    }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Returns the list of all participants in the specified conversation.

    Args:
      parent: string, Required. The conversation to list all participants from. Format: `projects//locations//conversations/`. (required)
      pageSize: integer, Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.
      pageToken: string, Optional. The next_page_token value returned from a previous list request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for Participants.ListParticipants.
      "nextPageToken": "A String", # Token to retrieve the next page of results or empty if there are no more results in the list.
      "participants": [ # The list of participants. There is a maximum number of items returned based on the page_size field in the request.
        { # Represents a conversation participant (human agent, virtual agent, end-user).
          "documentsMetadataFilters": { # Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
            "a_key": "A String",
          },
          "name": "A String", # Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.
          "obfuscatedExternalUserId": "A String", # Optional. Obfuscated user id that should be associated with the created participant. You can specify a user id as follows: 1. If you set this field in CreateParticipantRequest or UpdateParticipantRequest, Dialogflow adds the obfuscated user id with the participant. 2. If you set this field in AnalyzeContent or StreamingAnalyzeContent, Dialogflow will update Participant.obfuscated_external_user_id. Dialogflow uses this user id for billing and measurement. If a user with the same obfuscated_external_user_id is created in a later conversation, Dialogflow will know it's the same user. Dialogflow also uses this user id for Agent Assist suggestion personalization. For example, Dialogflow can use it to provide personalized smart reply suggestions for this user. Note: * Please never pass raw user ids to Dialogflow. Always obfuscate your user id first. * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a hash function like SHA-512. * The length of the user id must be <= 256 characters.
          "role": "A String", # Immutable. The role this participant plays in the conversation. This field must be set during participant creation and is then immutable.
        },
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`patch(name, body=None, updateMask=None, x__xgafv=None)`

    Updates the specified participant.

    Args:
      name: string, Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents a conversation participant (human agent, virtual agent, end-user).
      "documentsMetadataFilters": { # Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
        "a_key": "A String",
      },
      "name": "A String", # Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.
      "obfuscatedExternalUserId": "A String", # Optional. Obfuscated user id that should be associated with the created participant. You can specify a user id as follows: 1. If you set this field in CreateParticipantRequest or UpdateParticipantRequest, Dialogflow adds the obfuscated user id with the participant. 2. If you set this field in AnalyzeContent or StreamingAnalyzeContent, Dialogflow will update Participant.obfuscated_external_user_id. Dialogflow uses this user id for billing and measurement. If a user with the same obfuscated_external_user_id is created in a later conversation, Dialogflow will know it's the same user. Dialogflow also uses this user id for Agent Assist suggestion personalization. For example, Dialogflow can use it to provide personalized smart reply suggestions for this user. Note: * Please never pass raw user ids to Dialogflow. Always obfuscate your user id first. * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a hash function like SHA-512. * The length of the user id must be <= 256 characters.
      "role": "A String", # Immutable. The role this participant plays in the conversation. This field must be set during participant creation and is then immutable.
    }

      updateMask: string, Required. The mask to specify which fields to update.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a conversation participant (human agent, virtual agent, end-user).
      "documentsMetadataFilters": { # Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: "market" value: "US,CA" } documents_metadata_filters { key: "user" value: "agent" } ```
        "a_key": "A String",
      },
      "name": "A String", # Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.
      "obfuscatedExternalUserId": "A String", # Optional. Obfuscated user id that should be associated with the created participant. You can specify a user id as follows: 1. If you set this field in CreateParticipantRequest or UpdateParticipantRequest, Dialogflow adds the obfuscated user id with the participant. 2. If you set this field in AnalyzeContent or StreamingAnalyzeContent, Dialogflow will update Participant.obfuscated_external_user_id. Dialogflow uses this user id for billing and measurement. If a user with the same obfuscated_external_user_id is created in a later conversation, Dialogflow will know it's the same user. Dialogflow also uses this user id for Agent Assist suggestion personalization. For example, Dialogflow can use it to provide personalized smart reply suggestions for this user. Note: * Please never pass raw user ids to Dialogflow. Always obfuscate your user id first. * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a hash function like SHA-512. * The length of the user id must be <= 256 characters.
      "role": "A String", # Immutable. The role this participant plays in the conversation. This field must be set during participant creation and is then immutable.
    }