New: try Ajora free for 7 days · API, webhooks and MCP on paid plansNew: try Ajora free for 7 days
Guide

Get every call into the tools you already use, with the Ajora API and webhooks

A call is only finished once it sits somewhere your colleagues can see it too. With webhooks, Ajora pushes every summary straight into your CRM, your Slack or your own system, and with the API you fetch whatever you need yourself. Nothing to retype. Here is what you can do with it, how much work it takes and how to switch it on.

In short

In the dashboard under Settings → Developer, create a webhook pointing at your own system. The moment a debrief is ready, the summary and action items land there. No appetite for code? Put Zapier or Make in between. Want to fetch things yourself, there is an API with a key.

What is the difference between the API and webhooks?

A webhook pushes, an API pulls. With a webhook, Ajora sends you the summary on its own as soon as the call is done. With the API you ask for it yourself, whenever it suits you.

For most people the webhook is the one you want. You set it up once and after that it happens by itself. The API is there for looking back: pulling every call with a particular customer, say, or fetching an older summary again.

WebhookAPI
Who startsAjora, as soon as the debrief is readyYou, when you need something
What forWriting away every new call automaticallyLooking back and fetching after the fact
What you needAn address we are allowed to send toA key to authenticate with
Typical useCall ends, note appears in the CRMEvery call with one customer in a row

What can you actually do with it?

Everything you currently retype by hand after a call. The summary on the right customer in the CRM, the action items in your task list, a nudge in Slack when something important came up.

The note is already in your CRM

You hang up, and before you are back at your laptop the summary sits on the right contact. Because the phone number travels along, your system works out who it belongs to by itself.

Action items become tasks

The action items come through separately, not as one slab of text. So you can turn them into real tasks in whatever system you use for that.

Your team reads along without asking

Send the summary to a Slack channel and everyone who works on that customer knows what was agreed, without anyone having to relay it.

Your knowledge base fills itself

We do this ourselves: every call we make lands in our own knowledge base automatically. Looking up what a customer said three months ago costs no effort at all.

Do you need to be able to code for this?

Not necessarily. With Zapier or Make you click the integration together without a line of code: you paste the webhook address they give you into Ajora, then pick in Zapier or Make where it should go.

If you have a developer, or you are one, you work with the API and the webhooks directly. That saves a middleman and keeps your data in your own hands. The full technical reference is at debrief.ajora.io/docs/developer; below is what you need to decide whether it fits.

If you work with Apollo, you need none of this: there is a ready-made integration for it. For other systems it runs through a webhook or the API, with Zapier or Make as a middle step if you do not want to code.

What exactly does Ajora send?

As soon as a debrief is ready, we send the details of the call and the content of the summary to the address you gave us. The transcript is never part of that; you fetch it separately through the API.

  • The call itself: when, how long, which channel, and the phone numbers and names on both ends
  • The title and the summary of the conversation
  • The action items, as separate points
  • The decisions that were made
  • The sentiment of the conversation
  • A direct link to the debrief in Ajora

What belongs in those notes and how they come about is in AI note taker for phone calls.

There are two moments at which we send something: debrief.completed when the summary is first ready, and debrief.updated when you edit it in Ajora afterwards. That keeps the note in your own system correct when you improve something later.

Setting up a webhook

  1. Make sure you have an address to send to

    That is a web address that can receive messages from us. Using Zapier or Make, you get that address there with a copy button. Building it yourself, it is an endpoint on your own server. It has to be https.

  2. Go to Settings → Developer

    In the Ajora dashboard at debrief.ajora.io you will find the section for webhooks and API keys there.

  3. Create the webhook

    Paste the address, pick which events we may send on, and save. You then see a signing secret once, which lets you check that a message really comes from us. It starts with dbf_whsec_live_. Store it immediately, because we will not show it again.

  4. Make a call and check it arrives

    Run a short test call. As soon as the debrief is ready, the message should come in at the address you gave. If nothing arrives, open the Delivery log on the webhook. It shows what your address sent back for each attempt.

If you are building this yourself, verify the signature in the X-Debrief-Signature header before you do anything with the message. Otherwise anyone who knows your address can push fake calls into your system. How to check it is in the documentation.

Creating an API key

You use the API to fetch data yourself. You create the key in the same place, under Settings → Developer.

  1. Create the key

    Give it a name that tells you later what it is for, for example the name of the system using it. You see the key once; it starts with dbf_live_. Put it straight into your password manager or your secrets.

  2. Choose what the key may do

    By default a key may read your calls and debriefs and manage webhooks. Access to the word-for-word transcripts is a separate permission you add deliberately.

  3. Use it on the back end only

    A key belongs in your server or your secrets manager, never in an app or a website where a visitor can pull it out of the code. And never in a Claude or ChatGPT chat window: the MCP connection is for that.

What you can fetch afterwards: your calls in a list, one specific call, the debrief for that call, and every call with a given phone number. That last one is the handiest in practice, because it pulls a customer’s entire history in one go. Every address starts with https://debrief.ajora.io/api, and you write the phone number in international format, so +31612345678.

What you wantWhat you call
Your calls in a listGET /v1/calls
One specific callGET /v1/calls/{id}
The summary for that callGET /v1/calls/{id}/debrief
Everything with a customer, by phone numberGET /v1/calls/by-phone/{number}
The transcript, if your key mayGET /v1/calls/{id}/transcript

What should you watch out for?

Three things: you see keys only once, transcripts are deliberately fenced off, and there is a limit of 120 calls per minute per key. You will not notice that last one in normal use.

  • Per account you can have up to five active keys and ten webhooks. Enough for a few integrations side by side, and it keeps things tidy.
  • A key or a signing secret is shown only at the moment you create it. Lost is lost: you then create a new one and replace the old.
  • Transcripts sit behind a separate permission, because they contain literally what was said. The summary is enough for almost everything.
  • The integration is part of a paid plan and does not work during the free trial.
  • On Teams, an admin can create keys and webhooks that cover the whole team’s calls. Every team member can also create a key of their own for their own calls.

What happens to the data itself does not change: we delete the audio once it has been transcribed, within 24 hours at the latest, and your calls and debriefs are stored encrypted in Germany. Once you forward the summaries into your own system, your own agreements apply from that point on. More about this on security and in the data processing agreement.

Frequently asked questions about the Ajora API and webhooks

Can I connect Ajora to my CRM without a developer?

Yes, through Zapier or Make. You create an integration there that waits for a webhook, paste the address you get into Ajora under Settings → Developer, and pick which field in your CRM the summary should land in. No code involved.

How does my CRM know which customer the call belongs to?

The other party’s phone number travels along in the message. Almost every CRM can search on that and file the call against the right contact.

Does the word-for-word conversation come through as well?

No. A webhook sends the summary, the action items and the decisions, never the transcript. If you want the transcript, you fetch it through the API with a key that has separate permission for it.

What happens if my system is down for a while?

If delivery fails, we try three more times: after 5 seconds, after 30 seconds and after 2 minutes. If it still fails, we mark the webhook as Unhealthy and stop sending to it. Create it again and fetch the missed calls through the API.

What if I edit a summary in Ajora afterwards?

We then send a second message, debrief.updated, with the revised text. So you can have the note in your own system change along with it.

Does the API cost extra?

No, the integration is included with a paid plan. It is not available during the free trial. Prices are on the home page.

I want to ask AI questions about my calls. Do I need the API for that?

No, the MCP connection is easier for that. It connects Ajora to Claude or ChatGPT so you can ask in plain language. See the Ajora MCP server.

Sources

  1. Developer API: authentication, endpoints, webhooks and verifying the signatureAjora Debrief documentation, accessed 20-09-2026
  2. Connecting Claude and ChatGPT to AjoraAjora Debrief documentation, accessed 20-09-2026
Team Ajora

The team behind Ajora, based in Utrecht. Writes here about telephony, privacy and the work that starts after a call.

Back to all articles

Ready to upgrade your phone calls?

Create your account and try free for 7 days

On iPhone you create your account and arrange your subscription inside the app. On Android you do that here on the site and then log in to the app with the same details.