Skip to main content

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.
Copy the secret; it’s shown once.

2. Ask who you are

You get your organisation and the permissions the key holds.
  • 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 dry run checks everything a real call would, and places nothing:
  • the extension has a phone that can ring;
  • the number resolves;
  • a route reaches it;
  • there’s credit.
Then drop dry_run and add your own id and the inbox:
Extension 1001 rings. When it answers, the number is dialled.

5. Watch it arrive

The inbox shows call.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