Account Mail Webhook
RO-251: mail webhooks of a workspace's own Unipile account (its `mail` provider override; the URL is its `webhook_url`), authenticated by that account's webhook secret in `Unipile-Auth`. Only mailboxes connected through that account are processed. 401 for a wrong secret or an unknown account.
API key access
curl -X POST "http://localhost:8000/api/v1/webhooks/mail/string"{
"result": "processed"
}Voice Providers
The workspace's speech-to-text, text-to-speech and voice-model overrides for this call (RO-180), with their credentials: the voice worker asks when the dispatch metadata has `provider_refs`. `null` for a component without an override (the worker keeps its env settings).
Create Webhook Endpoint
Subscribe a URL to event types. Each event is POSTed as JSON `{id, type, created_at, workspace_id, data}` with `X-ReachOut-Signature: t=<unix>,v1=<hex HMAC-SHA256(secret, "<t>.<body>")>`; any 2xx is a success, anything else is retried with exponential backoff (8 attempts over ~9 hours), then the delivery is `dead` and can be replayed. After `WEBHOOKS_DISABLE_AFTER_FAILURES` (default 20) consecutive failed attempts the endpoint is disabled. The URL must resolve to public addresses (`https://` in production). The signing secret is in the response only once. At most `WEBHOOKS_MAX_PER_WORKSPACE` (default 10) endpoints.