QueryResult

Represents the result of conversational query or event processing.

JSON representation
{
  "queryText": string,
  "languageCode": string,
  "speechRecognitionConfidence": number,
  "action": string,
  "parameters": {
    object
  },
  "allRequiredParamsPresent": boolean,
  "cancelsSlotFilling": boolean,
  "fulfillmentText": string,
  "fulfillmentMessages": [
    {
      object (Message)
    }
  ],
  "webhookSource": string,
  "webhookPayload": {
    object
  },
  "outputContexts": [
    {
      object (Context)
    }
  ],
  "intent": {
    object (Intent)
  },
  "intentDetectionConfidence": number,
  "diagnosticInfo": {
    object
  },
  "sentimentAnalysisResult": {
    object (SentimentAnalysisResult)
  }
}
Fields
queryText

string

The original conversational query text:

  • If natural language text was provided as input, queryText contains a copy of the input.
  • If natural language speech audio was provided as input, queryText contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked.
  • If automatic spell correction is enabled, queryText will contain the corrected user input.
languageCode

string

The language that was triggered during intent detection. See Language Support for a list of the currently supported language codes.

speechRecognitionConfidence

number

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.

action

string

The action name from the matched intent.

parameters

object (Struct format)

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.
allRequiredParamsPresent

boolean

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

boolean

Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the cancel slot filling documentation.

fulfillmentText

string

The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, fulfillmentMessages should be preferred.

fulfillmentMessages[]

object (Message)

The collection of rich messages to present to the user.

webhookSource

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.

webhookPayload

object (Struct format)

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.

outputContexts[]

object (Context)

The collection of output contexts. If applicable, outputContexts.parameters contains entries with name <parameter name>.original containing the original parameter values before the query.

intent

object (Intent)

The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: name, displayName, endInteraction and isFallback.

intentDetectionConfidence

number

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 knowledgeAnswers messages, this value is set to the greatest knowledgeAnswers.match_confidence value in the list.

diagnosticInfo

object (Struct format)

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
sentimentAnalysisResult

object (SentimentAnalysisResult)

The sentiment analysis result, which depends on the sentimentAnalysisRequestConfig specified in the request.