# Dialogflow API . projects . locations . 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 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.
          "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.
          "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",
              ],
            },
          ],
        },
      },
      "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.
        },
      },
      "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. Format: `projects//agent/sessions//contexts/`, or `projects//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].
        },
        "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.
          "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. Format: `projects//agent/sessions//entityTypes/`, or `projects//agent/environments//users//sessions//entityTypes/`. 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.
          },
        ],
        "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 the Dialogflow web console. The headers defined within this field will overwrite the headers configured through the 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 on 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.
          "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.
            "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 selection of a suggestion. # An input representing the selection of a suggestion.
        "answerRecord": "A String", # Required. The ID of a suggestion selected by the human agent. The suggestion(s) were generated in a previous call to request Dialogflow assist. The format is: `projects//locations//answerRecords/` where is an alphanumeric string.
      },
      "textInput": { # Auxiliary proto messages. 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. # Only set if a Dialogflow automated agent has responded. Note that in AutomatedAgentReply.DetectIntentResponse, Sessions.DetectIntentResponse.output_audio and Sessions.DetectIntentResponse.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.
        "cxCurrentPage": "A String", # The unique identifier of the current Dialogflow CX conversation page. Format: `projects//locations//agents//flows//pages/`.
        "detectIntentResponse": { # The message returned from the DetectIntent method. # Response of the Dialogflow Sessions.DetectIntent call.
          "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 on 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.
              "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.
                "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.
              { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
                "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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. # The card response.
                  "buttons": [ # Optional. The collection of card buttons.
                    { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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. # The image response.
                  "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                  "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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. # The quick replies response.
                  "quickReplies": [ # Optional. The collection of quick replies.
                    "A String",
                  ],
                  "title": "A String", # Optional. The title of the collection of quick replies.
                },
                "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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.
                },
                "text": { # The text response message. # The 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. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                { # Represents a single followup intent in the chain.
                  "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//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. Format: `projects//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.
                { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
                  "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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. # The card response.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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. # The image response.
                    "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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. # The quick replies response.
                    "quickReplies": [ # Optional. The collection of quick replies.
                      "A String",
                    ],
                    "title": "A String", # Optional. The title of the collection of quick replies.
                  },
                  "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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.
                  },
                  "text": { # The text response message. # The 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.
              "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: `projects//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. Format: `projects//agent/sessions//contexts/`, or `projects//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", # Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//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. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. Format: `projects//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.
            "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. Format: `projects//agent/sessions//contexts/`, or `projects//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 DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For 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.
          },
        },
      },
      "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.
                  "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.
                      },
                    ],
                  },
                },
                "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": [ # 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/"
                "confidence": 3.14, # Article match confidence. The system's confidence score that this article is a good match for this conversation, as a value 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",
                },
                "snippets": [ # 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 SuggestArticlesRequest.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/`.
          },
          "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": [ # 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.
                  "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.
                      },
                    ],
                  },
                },
                "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": [ # 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/"
                "confidence": 3.14, # Article match confidence. The system's confidence score that this article is a good match for this conversation, as a value 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",
                },
                "snippets": [ # 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 SuggestArticlesRequest.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/`.
          },
          "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": [ # 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. # 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, # Indicates whether the text message contains entities.
          "parts": [ # 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", # 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": "", # 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", # 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.
        "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 DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For 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. # 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", # The natural language speech audio.
        "config": { # Instructs the speech synthesizer on 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. # 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.
            "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.
              "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", # 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 returns an error if you try to add a user id for a non-END_USER participant. Dialogflow uses this user id for billing and measurement purposes. For example, Dialogflow determines whether a user in one conversation returned in a later conversation. 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.
      "sipRecordingMediaLabel": "A String", # Optional. Label applied to streams representing this participant in SIPREC XML metadata and SDP. This is used to assign transcriptions from that media stream to this participant. This field can be updated.
    }

      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 returns an error if you try to add a user id for a non-END_USER participant. Dialogflow uses this user id for billing and measurement purposes. For example, Dialogflow determines whether a user in one conversation returned in a later conversation. 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.
      "sipRecordingMediaLabel": "A String", # Optional. Label applied to streams representing this participant in SIPREC XML metadata and SDP. This is used to assign transcriptions from that media stream to this participant. This field can be updated.
    }

`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 returns an error if you try to add a user id for a non-END_USER participant. Dialogflow uses this user id for billing and measurement purposes. For example, Dialogflow determines whether a user in one conversation returned in a later conversation. 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.
      "sipRecordingMediaLabel": "A String", # Optional. Label applied to streams representing this participant in SIPREC XML metadata and SDP. This is used to assign transcriptions from that media stream to this participant. This field can be updated.
    }

`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 returns an error if you try to add a user id for a non-END_USER participant. Dialogflow uses this user id for billing and measurement purposes. For example, Dialogflow determines whether a user in one conversation returned in a later conversation. 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.
          "sipRecordingMediaLabel": "A String", # Optional. Label applied to streams representing this participant in SIPREC XML metadata and SDP. This is used to assign transcriptions from that media stream to this participant. This field can be updated.
        },
      ],
    }

`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 returns an error if you try to add a user id for a non-END_USER participant. Dialogflow uses this user id for billing and measurement purposes. For example, Dialogflow determines whether a user in one conversation returned in a later conversation. 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.
      "sipRecordingMediaLabel": "A String", # Optional. Label applied to streams representing this participant in SIPREC XML metadata and SDP. This is used to assign transcriptions from that media stream to this participant. This field can be updated.
    }

      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 returns an error if you try to add a user id for a non-END_USER participant. Dialogflow uses this user id for billing and measurement purposes. For example, Dialogflow determines whether a user in one conversation returned in a later conversation. 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.
      "sipRecordingMediaLabel": "A String", # Optional. Label applied to streams representing this participant in SIPREC XML metadata and SDP. This is used to assign transcriptions from that media stream to this participant. This field can be updated.
    }