Some products and features are in the process of being renamed. Generative playbook and flow features are also being migrated to a single consolidated console.
Method: projects.locations.agents.environments.sessions.fulfillIntent
Stay organized with collections
Save and categorize content based on your preferences.
Required. The name of the session this query is sent to. Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/sessions/<SessionID> or projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/environments/<EnvironmentID>/sessions/<SessionID>. If Environment ID is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate Session ID. It can be a random number or some type of session identifiers (preferably hashed). The length of the Session ID must not exceed 36 characters.
Authorization requires the following IAM permission on the specified resource session:
dialogflow.sessions.detectIntent
Request body
The request body contains data with the following structure:
JSON representation
{"matchIntentRequest": {"session": string,"queryParams": {"timeZone": string,"geoLocation": {object (LatLng)},"sessionEntityTypes": [{object (SessionEntityType)}],"payload": {object},"parameters": {object},"parameterScope": string,"currentPage": string,"disableWebhook": boolean,"analyzeQueryTextSentiment": boolean,"webhookHeaders": {string: string,...},"flowVersions": [string],"currentPlaybook": string,"llmModelSettings": {object (LlmModelSettings)},"channel": string,"sessionTtl": string,"endUserMetadata": {object},"searchConfig": {object (SearchConfig)},"populateDataStoreConnectionSignals": boolean},"queryInput": {"languageCode": string,// The following is a list of mutually exclusive fields. At most one of the// fields will be set in a response:"text": {object (TextInput)},"intent": {object (IntentInput)},"audio": {object (AudioInput)},"event": {object (EventInput)},"dtmf": {object (DtmfInput)},"toolCallResult": {object (ToolCallResult)}// End of mutually exclusive fields.},"persistParameterChanges": boolean},"match": {object (Match)},"outputAudioConfig": {object (OutputAudioConfig)}}
[[["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 2026-09-24 UTC."],[],[]]