Method: projects.conversations.participants.analyzeContent

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.

HTTP request

POST https://{endpoint}/v2beta1/{participant=projects/*/conversations/*/participants/*}:analyzeContent

Where {endpoint} is one of the supported service endpoints.

The URLs use gRPC Transcoding syntax.

Path parameters



Required. The name of the participant this text comes from. Format: projects/<Project ID>/locations/<Location ID>/conversations/<Conversation ID>/participants/<Participant ID>.

Authorization requires the following IAM permission on the specified resource participant:

  • dialogflow.participants.analyzeContent

Request body

The request body contains data with the following structure:

JSON representation
  "replyAudioConfig": {
    object (OutputAudioConfig)
  "queryParams": {
    object (QueryParameters)
  "assistQueryParams": {
    object (AssistQueryParameters)
  "cxParameters": {
  "cxCurrentPage": string,
  "messageSendTime": string,
  "requestId": string,

  // Union field input can be only one of the following:
  "textInput": {
    object (TextInput)
  "audioInput": {
    object (AudioInput)
  "eventInput": {
    object (EventInput)
  // End of list of possible types for union field input.

object (OutputAudioConfig)

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 participants.analyzeContent. If this configuration is not supplied, speech synthesis is disabled.


object (QueryParameters)

Parameters for a Dialogflow virtual-agent query.


object (AssistQueryParameters)

Parameters for a human assist query.


object (Struct format)

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.



The unique identifier of the CX page to override the current_page in the session. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.

If cxCurrentPage is specified, the previous state of the session will be ignored by Dialogflow CX, including the [previous page][QueryResult.current_page] and the [previous session parameters][QueryResult.parameters]. In most cases, cxCurrentPage and cxParameters should be configured together to direct a session to a specific state.

Note: this field should only be used if you are connecting to a Dialogflow CX agent.


string (Timestamp format)

Optional. The send time of the message from end user or human agent's perspective. It is used for identifying the same message under one participant.

Given two messages under the same participant: - If send time are different regardless of whether the content of the messages are exactly the same, the conversation will regard them as two distinct messages sent by the participant. - If send time is the same regardless of whether the content of the messages are exactly the same, the conversation will regard them as same message, and ignore the message received later.

If the value is not provided, a new request will always be regarded as a new message without any de-duplication.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".



A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if a requestId is provided.

Union field input. Required. The input content. input can be only one of the following:

object (TextInput)

The natural language text to be processed.


object (AudioInput)

The natural language speech audio to be processed.


object (EventInput)

An input event to send to Dialogflow.

Response body

If successful, the response body contains an instance of AnalyzeContentResponse.

Authorization Scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.