Skip to main content
Open Settings → Integrations to find Webhooks, API Keys, and API Docs. These pages appear according to your team’s products, enterprise status, permissions, and feature access.
Treat every API key and webhook signing secret as a production credential. Store it in a secret manager, never in source control, screenshots, tickets, email, or chat.

Create an API key

The team API Keys page is available to enterprise teams, and key management is limited to team admins.
  1. Open API Keys and choose Create API Key.
  2. Give the key a name that identifies its consumer and environment.
  3. Select only the permissions that integration needs.
  4. Choose Create Key.
  5. Copy the full key immediately and store it securely. The dashboard shows it only once.
The team-level permission list can provide scoped read access to calls, transcripts, unified leads, Simple Scheduler analytics, Coach data, and outbound texting data. The exact endpoints and response shapes are documented in the dashboard’s API Docs page. Use one key per integration so you can revoke one consumer without interrupting another. Revocation takes effect immediately and cannot be undone.

Configure API response fields

The Data Configuration section controls which available fields are returned by GET /api/calls and related endpoints. Computed fields can include booking result and assistant name. Use Assistant Name Mappings to give assistant UUIDs friendly names in the assistant_name field. Enable the Assistant Name field in Data Configuration, add a default name if needed, and save any ID-to-name mappings.

Add an event webhook

The Webhooks tab appears when Event Webhooks is enabled for the team.
  1. Choose Add webhook.
  2. Give it an internal name and subscribe to one or more events.
  3. Copy the signing secret shown after the draft is created. It will not be shown again.
  4. Enter a public HTTPS endpoint. Localhost and private IP addresses are not accepted.
  5. Choose whether call-completed events should include a transcript or recording URL.
  6. Add custom headers if your receiver requires them, encrypting sensitive values.
  7. Enable the webhook when the receiving endpoint is ready.
The current event selector can include call completed, lead received, booking created, lead completed, and customer SMS opt-in or opt-out changes. Lead-received subscriptions can also be filtered by lead source when those options are available. Use the signing secret to verify the X-Webhook-Signature header on incoming deliveries. If the secret is lost, rotate it from the edit dialog and update the receiver before relying on new deliveries.

Test and monitor a webhook

Use Send test event on an enabled webhook. The dashboard sends a synthetic payload through the same signing and retry path used for deliveries and shows the queued JSON for inspection. Webhooks can be auto-paused after repeated delivery failures. Fix the endpoint first, then edit and re-enable the webhook to clear the failure state and resume delivery. A draft labeled endpoint URL needed has not started sending events.
Editing encrypted custom headers does not reveal their stored plaintext. Leave an untouched header alone to preserve it; if you edit the headers list, enter a replacement value for each encrypted header you intend to keep.
For request authentication, endpoint details, payload schemas, and signature verification, use the current API Docs page in the dashboard and Avoca Developer Documentation.