1. Make an integration key
In your panel, open Developer → API keys → New key:- Kind: Integration. The key belongs to your organisation and keeps working when staff change.
- What it may do: Click-to-call.
- Allowed IP addresses: the public address your code will call from. Add my current address fills in yours if you’re running the code from where you are now.
2. Ask who you are
403 ip_not_allowed: the request came from an address the key doesn’t list.401: the key was copied wrongly.
3. Get somewhere to receive callbacks
- Developer → Callback inbox → New inbox gives you a URL that keeps what it’s sent.
- Developer → Webhooks & callbacks → Callback signing secret → Create creates the secret callbacks are signed with.
4. Place a call, dry first
- the extension has a phone that can ring;
- the number resolves;
- a route reaches it;
- there’s credit.
dry_run and add your own id and the inbox:
5. Watch it arrive
The inbox showscall.started, call.answered and call.ended, each with
"reference": "quickstart-1" and marked signed: callback secret. That’s
exactly what your receiver will get. Check the signature the same way:
Next
- Placing calls: AI calls and following a call.
- Running campaigns from your system.
- Webhooks for everything else that happens.
- Errors and what to do about each.