Webhooks notify your systems in real time about events occurring within Ada. By configuring webhook endpoints, you can integrate Ada with your existing systems to automate workflows and enhance operational efficiency.
Webhook endpoints can be managed through the Ada dashboard or programmatically through the Webhook management API.
Key features:
To ensure reliable delivery, webhooks require a 2xx HTTP status response within 15 seconds. If no response is received, retries are automatically initiated based on an exponential backoff retry policy.
Ada supports event notifications that enable you to track specific user actions and updates. The following events are currently supported:
Webhook endpoints can be managed programmatically using the Webhooks API. This is useful for automating webhook configuration across environments or integrating webhook setup into deployment pipelines.
The API supports:
Authentication: Requires an Ada API key.
Webhook identifiers: Each webhook has a unique ID (for example, ep_2bxE8VNtkWEMpJrMJv74FlSQmqP). Use this ID with the get, update, delete, and secret management endpoints.
For endpoint details, see the Webhooks API reference in the sidebar.
To begin receiving webhooks through the dashboard:
Best practice: Start with all event types enabled for initial testing and narrow down to relevant types for production to minimize extraneous messages.
Webhook endpoints can be scoped to a subset of events using Svix channel tags. This is useful when a single AI Agent fans out to multiple integrations and each integration only needs events relevant to its scope.
Ada tags outgoing webhook events with the following channel values:
To filter an endpoint by channel:
Example. A Conversations API integration with a custom channel ID of 5df263b7db5a7e6ea03fae9b can scope its endpoint to that single channel by adding 5df263b7db5a7e6ea03fae9b to the Channels field. Events from native chat, voice, or other custom channels are excluded automatically.
Each webhook endpoint has a unique signing secret that can be used to verify that incoming payloads are authentic. You can retrieve or rotate the signing secret through the API or the dashboard.
After creating an endpoint, you can configure custom headers that will be included with every webhook delivery sent to that endpoint.
To add a custom header to an existing endpoint:
Ada employs an exponential backoff retry mechanism to ensure reliable webhook delivery. This mechanism is triggered when an endpoint fails to respond with a 2xx HTTP status code. Below is the retry schedule:
Retry schedule:
Failure handling:
Webhook deliveries originate from a dedicated infrastructure, not directly from Ada’s servers. If your systems use IP allowlisting or firewall restrictions, you must allowlist the appropriate source IP ranges to receive webhook events.
Blocking these IPs will prevent your endpoint from receiving webhook requests, even if the endpoint is correctly configured.
Source IPs are region-specific. Your region is determined by your AI Agent’s domain:
*.ada.support domains*.ada-eu.support domainsIf IP allowlisting is enabled on your webhook receiver, review the source IP addresses for your region and add the applicable IPs to your firewall or allowlist configuration.
Testing ensures that your webhook endpoints are functioning as intended. Tools such as ngrok or localtunnel can simulate real-world scenarios by exposing a local server for testing. Alternatively, you can use Ada’s webhooks UI with Svix Play for a quick and easy setup.
If you don’t have a URL ready or your service isn’t prepared to receive events, simply press the Use Svix Play button in the webhooks UI. This will generate a unique URL for testing purposes.
Svix Play is strictly for testing and should not be used in production environments.
Replaying messages can be crucial in several scenarios:
To resend a single event, simply click Resend in the options menu from the log section, and the message will be sent to your endpoint once more.
If you need to recover from a service outage and replay all events since a specific time, navigate to the Endpoint page. On an endpoint’s details page, select Options > Recover Failed Messages. From there, you can choose a time window to recover from.
All Webhooks API endpoints adhere to the global rate limits.
2xx HTTP status code to indicate successful processing