1. Create a key
In the dashboard, go to API keys and create one with only the permissions this integration needs. For the example below that’scontacts:create and calls:create.
Copy it immediately — the full key is shown once.
2. Confirm it works
200 with "success": true means you’re connected. A 401 means the key is wrong or truncated; a 403 means it’s valid but lacks the permission. See Errors.
Every response uses the same envelope:
success — never on the text of message.
3. Create a contact and call them
The common pattern: a lead arrives in your system, you push it to Recepta.ai and have an agent call it immediately.4. Receive the result
Don’t poll for the outcome. Register a webhook endpoint and subscribe tocall.ended, then read the result as it happens.
Before you go to production
Handle 429 properly
Handle 429 properly
Read
X-RateLimit-Remaining and back off before you hit the limit; honour Retry-After when you do. Add jitter so parallel workers don’t retry in lockstep. See Rate limits.Make webhook handling idempotent
Make webhook handling idempotent
Key on the event
id and ignore duplicates. Assume any event can arrive more than once and out of order.Scope keys per integration
Scope keys per integration
One key per system, with minimum permissions. Then you can revoke one without breaking the rest — and rate limits are tracked per key, so they don’t compete.
Don't log secrets or transcripts
Don't log secrets or transcripts
Keys are credentials; transcripts contain customer personal data. See Security & privacy.
Let an assistant query your workspace instead
If you want analysis rather than automation, the MCP server exposes read-only tools to AI assistants with no integration code at all.
