Quickstart
1
Add an endpoint
As an organisation administrator, open Settings → Webhooks → Add endpoint in Caretta and enter a public HTTPS URL.
2
Choose a delivery mode
Select individual events for the lowest latency, or choose a bundled
call.ready event for one combined payload.3
Save the signing secret
Copy the signing secret when Caretta shows it. It is displayed once. Store it in a secrets manager or encrypted environment variable.
4
Send a test
Select Send test for the endpoint. Caretta sends a
webhook.test request.5
Verify and acknowledge
Verify
X-Caretta-Signature against the raw request body and return a 2xx response within 10 seconds.Events
Eligible calls are real calls longer than 60 seconds that have not been deleted. Calls lasting 60 seconds or less, and deleted calls, do not produce delivery events.
Choose a delivery strategy
Per-event delivery
Select any combination ofcall.completed, call.notes_ready, and call.metrics_ready. This is the default and sends each component as soon as it is ready.
Use call.completed when you need one reliable event for every eligible call. Use call.metrics_ready when you need the evaluation result for every eligible call, including calls that were skipped with a recorded reason.
Bundled delivery
Bundled mode sends onecall.ready event after all selected components are ready. The transcript is always included; notes and metrics are optional.
If you must receive every eligible call:
- Subscribe to
call.completedusing per-event delivery. - For a reliable single bundle, include metrics but do not require notes.
- If you need a notes-and-metrics bundle, add a second per-event endpoint for
call.completedas a safety net.
Verify signatures
Every request includes these headers:
Caretta signs this exact byte sequence:
verify-caretta-signature.js
Send an Authorization header
Some receivers cannot verify signatures and accept only a token in theAuthorization header. For these receivers, enter the full header value in Authorization header when you add or edit the endpoint. For example:
Authorization on every request, including test events. You cannot view the value after you save it. You can replace it or clear it. Requests are still signed, so you can verify the signature as well.
Use a token that your receiver issued. Do not use the Caretta signing secret as the Authorization header value.
Example: OpenClaw
OpenClaw hooks acceptAuthorization: Bearer <token>. In your OpenClaw config, enable hooks and add a mapping for Caretta. See OpenClaw inbound webhooks and hook configuration for all options.
https://<your-openclaw-host>/hooks/caretta and the Authorization header to Bearer <long-random-hook-token>. The URL must be public HTTPS. To make OpenClaw reachable over HTTPS, see the OpenClaw exposure runbook. If a tunnel or reverse proxy sits in front of OpenClaw, also set its trusted proxies in the OpenClaw gateway configuration. Otherwise OpenClaw rejects the request with 403.
OpenClaw limits hook requests to 256 KiB. A small number of call.completed events with very long transcripts can exceed this limit. If you need notes only, subscribe to call.notes_ready.
Delivery behaviour
- Return any
2xxresponse within 10 seconds. - Delivery is at least once. Deduplicate using
X-Caretta-Event-Id. - Event ordering is not guaranteed. Correlate related events with
data.call.id. - Failed requests are retried with backoff for approximately two hours.
- Network retries reuse the event and delivery IDs.
2xx, and performs slower processing asynchronously.
Payloads
All events includeevent, schema_version, event_id, delivery_id, and occurred_at.
call.completed
call.completed
call.notes_ready
call.notes_ready
call.metrics_ready
call.metrics_ready
metrics array with a skip reason. Metrics can be re-evaluated; use evaluated_at to identify the latest result.webhook.test
webhook.test
Internal calls
Everydata.call object has an internal field:
Use it to skip internal meetings, for example to keep team calls out of your CRM.
These examples show the payload structure and use illustrative values. Build consumers to tolerate additional fields so they remain compatible as Caretta adds data.
Manage an endpoint
Open Settings → Webhooks to:- enable or disable delivery;
- change the URL, subscribed events, or delivery mode;
- set, replace, or clear the Authorization header;
- send a test event;
- inspect the delivery log;
- rotate the signing secret; or
- delete the endpoint.
Endpoint management through a public REST API is planned but is not currently available.