# Agent Dialer Campaigns

> Run progressive or power dialing campaigns that bridge answered calls to free contact-center agents at 1.0, 1.5 or 2.0 lines per free agent.

Source: https://edesy.in/docs/contact-center/dialer/agent-dialer-campaigns

An agent dialer campaign calls a lead list and connects each answered call to a free agent on a contact-center queue. You choose the pacing: 1.0 line per free agent (progressive, nobody answers to silence) or 1.5 or 2.0 lines per free agent (power dialing, agents stay busier). Edesy does not offer predictive dialing. Campaigns are created in [voice-app.edesy.in](https://voice-app.edesy.in).

## Facts

| Item | Detail |
|---|---|
| Where | *Campaigns* in [voice-app.edesy.in](https://voice-app.edesy.in), type *Agent dialer* |
| Agents | Members of the CCaaS queue you pick (`queue_id`) |
| Pacing (portal) | 1.0, 1.5 or 2.0 lines per free agent (`dial_ratio`) |
| Leads | CSV upload, or push from your CRM with `POST /v1/campaigns/{id}/leads` |
| Caller ID | Your number plus an optional backup caller ID with automatic failover |
| Calling hours | Defaults to 09:00-21:00; set your own window |
| Compliance | DNC suppression, answering-machine detection (AMD), recording |
| Lead wait cap | An answered lead waits at most 30 seconds for an agent, then hears a callback message |
| Write-back | `call.answered`, `call.completed`, `disposition.submitted`, `recording.ready` webhooks |
| Price | Call minutes at Rs 0.50/min, 60-second pulse, unanswered calls free, plus agent seats. Excludes 18% GST |

## Pacing explained

| Lines per free agent | Mode | Effect |
|---|---|---|
| 1.0 | Progressive (recommended) | A number is dialed only when an agent is free, so no customer answers to silence |
| 1.5 | Power | Dials ahead slightly; agents wait less, some answered calls wait briefly for an agent |
| 2.0 | Power | Dials ahead aggressively; highest agent utilisation, more calls waiting |

## How a dialer campaign runs

1. **Create the campaign** and pick *Agent dialer*, the queue, and the lines per free agent.
2. **Add leads** by CSV or API. Each API lead can carry your `external_id` and `custom_fields`.
3. **Set calling hours, retries, AMD and recording,** then check the cost estimate.
4. **Start.** The dialer counts free agents on the queue and dials that many times the ratio.
5. **A lead answers** and joins the queue; the routing strategy rings a free agent.
6. **The agent talks, then picks a disposition.** A terminal code (for example "Do not call") stops further attempts on that lead; other codes leave it eligible for retries.
7. **Your CRM gets webhooks** with your `external_id`, the outcome, the agent and the disposition.

## Push leads from your CRM

```bash
curl -X POST https://voice-api.edesy.in/v1/campaigns/CAMPAIGN_ID/leads \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "leads": [
      {
        "phone_number": "+919876543210",
        "name": "Lead name",
        "external_id": "crm-lead-1042",
        "custom_fields": {"plan": "gold"}
      }
    ]
  }'
```

## FAQ

### Is this predictive dialing?
No. Pacing is a fixed ratio of lines per free agent (1.0, 1.5 or 2.0). There is no predictive algorithm.

### What happens if a lead answers and no agent is free?
The lead waits in the queue for up to 30 seconds, then hears "Sorry to have kept you waiting. We'll call you back shortly." and goes back to the retry pool.

### Which ratio should I start with?
1.0. It never connects a customer to silence. Move to 1.5 only if agents wait too long between calls.

### Do unanswered calls cost money?
No. Unanswered calls are free. Answered minutes are Rs 0.50 per minute in 60-second pulses, excluding 18% GST.

### Can I pause a campaign?
Yes. Pause, resume or stop it from the campaign page or with `/v1/campaigns/{id}/pause`, `/resume` and `/stop`.

### Are DNC numbers skipped?
Yes. Numbers on your DNC suppression list are not dialed.

### How do outcomes reach my CRM?
Through signed webhooks. See [Webhooks](https://edesy.in/docs/contact-center/api/webhooks).

### Can I test before launch?
Yes. Use *Test call* to hear it on your phone, and check the cost estimate before you start.
