Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries.
If you might use Agent Assist or other CCAI products now or in the future, consider using AnalyzeContent instead of sessions.detectIntent. AnalyzeContent has additional functionality for Agent Assist and other CCAI products.
Required. The name of the session this query is sent to. Supported formats: - projects/<Project ID>/agent/sessions/<Session ID>,
-projects//locations//agent/sessions/,
-projects//agent/environments//users//sessions/,
-projects//locations//agent/environments//users//sessions/`,
If Location ID is not specified we assume default 'us' location. If Environment ID is not specified, we assume default 'draft' environment (Environment ID might be referred to as environment name at some places). If User ID is not specified, we are using "-". It's up to the API caller to choose an appropriate Session ID and User Id. They can be a random number or some type of user and session identifiers (preferably hashed). The length of the Session ID and User ID must not exceed 36 characters. For more information, see the API interactions guide.
Instructs the speech synthesizer how to generate the output audio. If this field is not set and agent-level speech synthesizer is not configured, no output audio is generated.
The natural language speech audio to be processed. This field should be populated iff queryInput is set to an input audio config. A single request can contain up to 1 minute of speech audio data.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-27 UTC."],[[["\u003cp\u003eThis document outlines how to use the \u003ccode\u003edetectIntent\u003c/code\u003e method to process natural language queries and receive structured data, noting that it is not idempotent due to potential context and session updates.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003edetectIntent\u003c/code\u003e method is accessed via a \u003ccode\u003ePOST\u003c/code\u003e HTTP request to a specified endpoint, following gRPC Transcoding syntax, where you will need to define the session in the request url path, as well as a valid endpoint.\u003c/p\u003e\n"],["\u003cp\u003eThe request body requires fields like \u003ccode\u003equeryParams\u003c/code\u003e, \u003ccode\u003equeryInput\u003c/code\u003e, and optional audio configuration settings, and accepts an input \u003ccode\u003equeryInput\u003c/code\u003e which may be set to an audio config, text, or an intent-triggering event.\u003c/p\u003e\n"],["\u003cp\u003eThe API requires authorization via OAuth scopes, specifically either \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e or \u003ccode\u003ehttps://www.googleapis.com/auth/dialogflow\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003esession\u003c/code\u003e path parameter in the URL must include a valid \u003ccode\u003eSession ID\u003c/code\u003e and \u003ccode\u003eUser Id\u003c/code\u003e, which should not exceed 36 characters in length, along with \u003ccode\u003eLocation ID\u003c/code\u003e and \u003ccode\u003eEnvironment ID\u003c/code\u003e that will be defaulted if not included.\u003c/p\u003e\n"]]],[],null,["# Method: projects.agent.sessions.detectIntent\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nProcesses a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries.\n\nIf you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using [AnalyzeContent](/dialogflow/es/docs/reference/rest/v2beta1/projects.conversations.participants/analyzeContent#google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent) instead of `sessions.detectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products.\n\nNote: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).\n\n### HTTP request\n\n`POST https://{endpoint}/v2beta1/{session=projects/*/agent/sessions/*}:detectIntent`\n\nWhere `{endpoint}` is one of the [supported service endpoints](/dialogflow/es/docs/reference/rest#rest_endpoints).\n\nThe URLs use [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains an instance of [DetectIntentResponse](/dialogflow/es/docs/reference/rest/v2beta1/DetectIntentResponse).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n- `\n https://www.googleapis.com/auth/dialogflow`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]