Google Dialogflow · AsyncAPI Specification

Google Dialogflow Webhooks

Version

View Spec View on GitHub AgentsArtificial IntelligenceChatbotsConversational AIGoogle CloudMachine LearningNatural Language ProcessingSpeech RecognitionVirtual AgentsVoice AssistantAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-12'
method: searched
source: https://cloud.google.com/dialogflow/cx/docs/concept/webhook,
  https://cloud.google.com/dialogflow/es/docs/fulfillment-webhook,
  grpc/v2/webhook.proto, grpc/cx-v3/webhook.proto, discovery/google-dialogflow-v3.json
provider: Google Dialogflow
providerId: google-dialogflow
description: >-
  Dialogflow publishes no AsyncAPI document, but it has a substantial and fully specified outbound
  event surface: webhook fulfillment. Dialogflow calls YOUR endpoint mid-conversation with a
  WebhookRequest and blocks the turn on your WebhookResponse. That inverts the usual webhook
  contract — this is not a fire-and-forget notification you may drop, it is a synchronous callback
  on the critical path of a billed conversation turn, and a slow or failing endpoint surfaces to the
  caller as DEADLINE_EXCEEDED. The message shapes are first-party and machine-readable: they are
  defined in webhook.proto, mirrored verbatim in this repo under grpc/.
asyncapi_document: null
asyncapi_note: >-
  None published. Recorded as an honest absence — Dialogflow's event surface is real but is
  described in protos and prose, not in AsyncAPI.
webhooks:
  direction: outbound (Dialogflow -> your service)
  transport: HTTPS POST
  synchronous: true
  content_type: application/json
  managed_as_a_resource: true
  resource_note: >-
    Webhooks are first-class API resources in CX — create/list/get/patch/delete under
    projects/*/locations/*/agents/*/webhooks/* — so an agent can enumerate and reconfigure the
    event surface programmatically. That is unusual and worth noting: most providers make you
    configure webhooks in a dashboard.
  operations:
  - dialogflow_projects_locations_agents_webhooks_list
  - dialogflow_projects_locations_agents_webhooks_get
  - dialogflow_projects_locations_agents_webhooks_create
  - dialogflow_projects_locations_agents_webhooks_patch
  - dialogflow_projects_locations_agents_webhooks_delete
  limits:
    max_webhooks_per_agent: 100
    source: https://cloud.google.com/dialogflow/quotas
  requirements:
  - HTTPS only. Plain HTTP is unsupported.
  - The URL must be publicly reachable, unless hosted as a Cloud Run resource or reached through
    Service Directory private network access.
  - Webhook calls sit outside a VPC Service Controls perimeter unless Service Directory private
    network access is configured, and are blocked when VPC-SC is enabled without it.
  types:
  - name: standard webhook
    api: Dialogflow CX (v3)
    note: Dialogflow controls the request and response body shape (WebhookRequest / WebhookResponse).
  - name: flexible webhook
    api: Dialogflow CX (v3)
    note: You control the request body JSON and map the response fields, which is what lets CX call
      an arbitrary third-party API (the docs walk a Salesforce template) without a shim service.
  - name: ES fulfillment webhook
    api: Dialogflow ES (v2)
    docs: https://cloud.google.com/dialogflow/es/docs/fulfillment-webhook
  authentication:
  - mode: authentication headers
    note: Arbitrary HTTP header key/value pairs added to the request; commonly a single
      `authorization` header. Values support session-parameter references and system functions.
      Google recommends supplying static credentials through Secret Manager.
  - mode: basic auth
    note: >-
      Username and password. Dialogflow sends an authorization header of the form
      "authorization: Basic <base64 encoding of username:password>".
  - mode: third-party OAuth
    note: Configured on the webhook resource.
  - mode: service agent access token
    deprecated: true
    note: Discontinued — announced in the 2025-06-12 release note, with prior customer email.
  - mode: service account authorization
    note: Added 2025-10-23 for both tools and webhooks.
  - mode: mutual TLS
    docs: https://cloud.google.com/dialogflow/cx/docs/concept/mtls
  schemas:
    request:
      cx: grpc/cx-v3/webhook.proto — WebhookRequest
      es: grpc/v2/webhook.proto — WebhookRequest
    response:
      cx: grpc/cx-v3/webhook.proto — WebhookResponse
      es: grpc/v2/webhook.proto — WebhookResponse
other_event_surfaces:
- name: Conversation events (Agent Assist)
  transport: Cloud Pub/Sub
  schema: grpc/v2/conversation_event.proto — ConversationEvent
  note: >-
    ES Agent Assist publishes conversation lifecycle and suggestion events to a Pub/Sub topic
    configured on the conversation profile. This is the closest thing Dialogflow has to a
    conventional asynchronous event feed.
- name: Human agent assistant events
  schema: grpc/v2/human_agent_assistant_event.proto
- name: StreamingDetectIntent / BidiStreamingAnalyzeContent
  transport: gRPC bidirectional streaming
  note: Real-time streaming rather than eventing, but it is the low-latency path and is quota'd
    separately (50 concurrent bidi streaming sessions on Agent Assist).
- name: Interaction logging export to BigQuery
  docs: https://cloud.google.com/dialogflow/cx/docs/concept/export-bigquery
  note: Batch analytics export, not a callback.
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/google-dialogflow-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.