Ada · AsyncAPI Specification

Ada Webhooks

Version

View Spec View on GitHub Artificial IntelligenceCustomer ServiceChatbotsAutomationConversational AIHelp DeskCRMIntegrationKnowledge-ManagementData ExportAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-14'
method: searched
source: >-
  https://docs.ada.cx/reference/webhooks/overview,
  https://docs.ada.cx/reference/introduction/versioning,
  openapi/_original/ada-knowledge-openapi.yml
docs: https://docs.ada.cx/reference/webhooks/overview
spec_type: Webhooks
asyncapi_published: false
asyncapi_note: >-
  Ada publishes NO AsyncAPI document. The event surface is real and well documented, and the
  webhook payload schemas are carried inside the Knowledge OpenAPI document
  (ConversationCreatedWebhookPayload, etc.) rather than in an event spec. This artifact captures
  the webhook catalog; no AsyncAPI was fabricated.
delivery:
  transport: HTTPS POST
  provider: Svix
  provider_note: >-
    Ada states channel filtering "is applied by Svix before delivery" and points at
    https://docs.svix.com/receiving/source-ips for the allowlist, so the event bus is Svix.
    Webhook ids carry the Svix endpoint prefix, e.g. ep_2bxE8VNtkWEMpJrMJv74FlSQmqP.
  ack_requirement: 2xx within 15 seconds
  retry_policy:
    strategy: exponential backoff
    schedule:
    - immediate
    - 5 seconds
    - 5 minutes
    - 30 minutes
    - 2 hours
    - 5 hours
    - 10 hours (repeated for up to 2 attempts)
    total_window: 1 week
    on_exhaustion: endpoint is automatically disabled; re-enable manually in the dashboard
  replay: true
  replay_note: Message replay is supported to recover from downtime or missed events.
  ip_allowlist: https://docs.svix.com/receiving/source-ips
  custom_headers:
    supported: true
    scope: per endpoint, not per message
    note: Message-level custom headers are explicitly not supported.
security:
  signing: per-endpoint signing secret, retrievable and rotatable via API or dashboard
  operations:
  - webhookManagement.get-webhook-secret
  - webhookManagement.rotate-webhook-secret
versioning:
  scheme: payload type prefix
  current: v1
  example: '{"type": "v1.end_user.created", "timestamp": "...", "data": {...}}'
  policy: https://docs.ada.cx/reference/introduction/versioning
events:
- type: v1.end_user.created
  trigger: A new user is created through any of Ada's supported channels.
  docs: https://docs.ada.cx/reference/end-users/end-user-created-webhook
- type: v1.end_user.updated
  trigger: A value on the end user's profile changes.
  docs: https://docs.ada.cx/reference/end-users/end-user-updated-webhook
- type: v1.conversation.created
  trigger: A new conversation is created for a supported channel.
  docs: https://docs.ada.cx/reference/conversations/conversation-created-webhook
- type: v1.conversation.ended
  trigger: >-
    A conversation ends — either via POST /v2/conversations/{conversation_id}/end/ or when a
    Voice call disconnects.
  docs: https://docs.ada.cx/reference/conversations/conversation-ended-webhook
- type: v1.conversation.message
  trigger: A new message is added to a supported channel.
  docs: https://docs.ada.cx/reference/conversations/conversation-message-webhook
- type: v1.audit_log.emitted
  trigger: A configuration change is recorded in the Audit log.
  docs: https://docs.ada.cx/reference/audit-log/audit-log-webhook
event_count: 6
channel_filtering:
  mechanism: Svix channel tags
  tags:
  - source: Conversations API custom channel
    tag: the custom channel's ID (e.g. 5df263b7db5a7e6ea03fae9b)
  - source: Handoff integration
    tag: the handoff integration name (e.g. salesforce, zendesk_chat)
  - source: Conversations API conversation in an active handoff
    tag: both the custom channel ID and the handoff integration name
  - source: Native Chat, Voice, or Email without a handoff
    tag: none
  note: >-
    Events with no channel tag are delivered to every unfiltered endpoint. An endpoint with a
    Channels filter receives only events tagged with at least one listed value.
management_api:
  auth: Ada API key (Bearer)
  spec: openapi/_original/ada-knowledge-openapi.yml
  refined_spec: openapi/ada-subpackage-webhookmanagement-api-openapi.yml
  operations:
  - operationId: list-webhooks
    method: GET
    path: /v2/webhooks/
  - operationId: create-webhook
    method: POST
    path: /v2/webhooks/
  - operationId: get-webhook
    method: GET
    path: /v2/webhooks/{id}
  - operationId: update-webhook
    method: PATCH
    path: /v2/webhooks/{id}
  - operationId: delete-webhook
    method: DELETE
    path: /v2/webhooks/{id}
  - operationId: get-webhook-secret
    method: GET
    path: /v2/webhooks/{id}/secret/
  - operationId: rotate-webhook-secret
    method: POST
    path: /v2/webhooks/{id}/secret/rotate/
  - operationId: list-webhook-event-types
    method: GET
    path: /v2/webhooks/event-types/