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

# Webhooks overview

> How Get2Dial delivers call and campaign events to your endpoint, including retries and delivery guarantees.

Webhooks push call and campaign events to your own endpoint as they happen, so you don't
have to poll.

## How it works

You register an HTTPS endpoint and choose which [event types](/developers/webhooks/event-catalog)
to receive. Get2Dial `POST`s each event to your endpoint as JSON, and expects a `2xx`
response within 10 seconds.

## Delivery guarantees

Delivery is **at-least-once**, not exactly-once — design your endpoint to handle receiving
the same event twice. If your endpoint doesn't respond with `2xx` in time, Get2Dial retries
on a fixed schedule: 1 minute, 5 minutes, 30 minutes, 2 hours, then 12 hours after the
original attempt — 6 attempts total before the delivery is marked exhausted and requires a
manual replay.

## When to use it

Use webhooks for anything that needs to react to a call or campaign event as it happens —
screen pops, CRM sync, live dashboards. Use the API's list/search endpoints instead when you
only need to pull historical data on your own schedule.

## What it affects

Every payload is signed — verify it before trusting it. See
[Verify signatures](/developers/webhooks/verify-signatures).

## Limits and constraints

See [Limits and quotas](/reference/limits-and-quotas) for delivery attempt and timeout
values.

## Next steps

<CardGroup cols={2}>
  <Card title="Event catalog" href="/developers/webhooks/event-catalog" />

  <Card title="Verify signatures" href="/developers/webhooks/verify-signatures" />

  <Card title="Webhook delivery failures" href="/troubleshooting/webhook-delivery-failures" />

  <Card title="Realtime events" href="/developers/realtime-events" />
</CardGroup>
