> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brosbots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calling back missed calls

> Someone could not get through to the agent's number or to your own phone system, and the agent calls them back a few minutes later.

## What it does

A caller who hears a busy tone rarely leaves a message; they ring the next
number on the list. With callbacks switched on, the agent rings them a few
minutes later, introduces itself, says it is returning their call because
they tried to reach you, and asks how it can help.

The agent learns about a missed call in two ways:

* **The agent's number was busy.** Every inbound line of your organization
  was taken at that moment, so the call was refused. This works on its own,
  nothing to connect.
* **Your own phone system reports it.** If customers call your usual
  business number and your phone system (or Make or Zapier) can send a
  notification about a missed call, send it to the agent's URL.

## Switching it on

Agent editor → **Integrations** → **Missed calls** section → turn on **Call
back missed calls**.

| Setting | Default | Meaning |
| - | - | - |
| Call back after (minutes) | 2 | How long to wait before the call. At most 120. |
| One callback per number within (minutes) | 60 | Someone rings three times in a row, the agent calls back once. |
| Hours and days | Mon-Fri, 9:00-20:00 | A call missed after hours waits for the next opening. |

A callback is an outbound call, so it needs the Pro plan or higher and
counts against the minute package like any other call.

## When the agent does not call back

Right before dialling the agent checks once more that the callback still
makes sense. It does not call when:

* the person got through on their own in the meantime, or you have been in
  touch some other way (another call with that number in your organization),
* callbacks have been switched off since,
* the account has no balance,
* the number is on your organization's **Do not call** list,
* the number is withheld or cannot be dialled.

Calls refused for other reasons (unknown number, no agent assigned, empty
wallet) are not called back.

## Connecting your own phone system

In the same section, under the settings, is the **URL for your phone
system**. Send a `POST` to it with the number of the person who did not get
through:

```bash theme={null}
curl -X POST "https://app.brosbots.com/api/v1/public/lead/missed-call/<id>?t=<token>" \
  -H "Content-Type: application/json" \
  -d '{"caller": "+48600123456"}'
```

The number is looked for first in `caller`, `caller_number`, `callerid`,
`clid`, `from` and `from_number`, then in the phone fields known from forms
(`phone`, `phone_number`, `telefon`…). Any format works: `600 123 456` and
`+48 600-123-456` are the same number.

<Warning>
  The URL carries a token and works like a key. Paste it only into your phone
  system, Make or Zapier.
</Warning>

Where to set it up:

* **A phone system with webhooks.** Many cloud phone systems can send an
  HTTP notification when a call ends or goes unanswered. Send it for missed
  calls only, so the agent does not ring people you have already spoken to.
* **Make or Zapier.** If your phone system integrates with Make or Zapier,
  build a scenario: a "missed call" trigger → an HTTP `POST` to the agent's
  URL. The HTTP step is described in
  [Make and Zapier templates](/en/integrations/leads/make-zapier).

## Responses

| Code | Meaning |
| - | - |
| `200 {"status":"scheduled"}` | callback scheduled (without credit it waits an hour for a top-up; [The Leads list](/en/integrations/leads/lead-webhook#the-leads-list)) |
| `200 {"status":"duplicate"}` | the agent is already calling this number back |
| `200 {"status":"do_not_call"}` | the number is on the Do not call list - no callback |
| `400` | no number that can be dialled in the request |
| `401` | bad token in the URL |
| `403` | callbacks switched off in the agent's settings |
| `404` | no such agent |
| `429` | over a limit; wait as long as `Retry-After` says |

The URL has the same limits as the [lead webhook](/en/integrations/leads/lead-webhook#limits),
counted separately: 10 requests per 10 minutes from one IP address, 20 per
10 minutes and 150 a day per agent, and at most 50 callbacks waiting.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.