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

# Auto dialer status changed

> Payload telli sends when a contact enters or exits the auto dialer

Use this event to track whether telli is still trying to reach a contact. It is the supported replacement for [`contact_status_changed`](/webhooks/events/contact-status-changed).

## Check the current status

The contact APIs return the current auto-dialer enrollment state, while this webhook reports a change to that state:

| Surface        | Status field         |
| -------------- | -------------------- |
| V2 Contact API | `autoDialerStatus`   |
| V1 Contact API | `auto_dialer_status` |
| This webhook   | `auto_dialer.status` |

All three fields use `in_dialer` and `not_in_dialer`. The API fields are current snapshots. Webhook events additionally include `auto_dialer.updated_at` and, when a contact exits the dialer, `auto_dialer.reason`.

## Exit reasons

`auto_dialer.reason` is present only when `auto_dialer.status` is `not_in_dialer`:

| Reason                         | Meaning                                                                      |
| ------------------------------ | ---------------------------------------------------------------------------- |
| `last_call_was_connected`      | The last call connected, so no further attempts are needed                   |
| `scheduler_gave_up_interval`   | The interval dialing plan ran out of attempts                                |
| `scheduler_gave_up_smart`      | The smart dialing plan reached its stop condition                            |
| `call_transferred`             | The inbound callback was transferred                                         |
| `manually_removed_from_dialer` | Someone removed the contact from the dialer                                  |
| `no_next_opportunity`          | No valid future time to call was found                                       |
| `sip_error`                    | The phone network returned an error we do not retry                          |
| `call_failed`                  | The call still failed after an automatic retry                               |
| `dialing_unavailable`          | The contact, account, outbound number, or auto dialer is no longer available |

`last_call_was_connected` and `call_transferred` are success cases; the rest mean telli stopped without reaching the contact.

When an inbound callback is forwarded, telli completes the active dialing loop for the same contact and agent, including a newly scheduled loop. Its pending outbound call is removed. The contact's next-call time is recalculated from any remaining unfinished loops. Use the auto-dialer status to determine whether the contact is still enrolled; a next-call timestamp alone does not confirm enrollment.

See [Auto dialer](/deep-dives/auto-dialer) for how dialing plans decide when to stop.


## OpenAPI

````yaml openapi-v2.json webhook auto_dialer_status_changed
openapi: 3.1.1
info:
  title: telli API
  version: 2.0.0
  description: telli V2 API
servers:
  - url: https://api.telli.com
    description: prod
security:
  - BearerAuth: []
paths: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Use your telli API key as the bearer token.

````

## Related topics

- [Contact status changed](/webhooks/events/contact-status-changed.md)
- [Integrate with your CRM](/crm-integration.md)
- [Webhooks](/webhooks.md)
