Campaigns

Voice broadcast and agent-dialer campaigns on the Edesy Voice API - upload contacts or push leads, play a recorded or TTS message or bridge answered calls to agents, with AMD, DNC suppression and a cost estimate.

3 min read

A campaign calls a list of contacts for you. In broadcast mode each answered call hears your message, recorded audio or text-to-speech. In agent dialer mode (progressive or power dialing) each answered call is bridged to a free agent in your Edesy contact center. You upload contacts as CSV or push leads over the API, and Edesy handles pacing, retries, calling hours, DNC suppression and results.

Two modes#

Broadcast Agent dialer
Answered call hears Your message (WAV/MP3 upload or TTS) A live agent
Pacing max_concurrent calls 1.0, 1.5 or 2.0 lines per free agent (dial_ratio)
Contacts CSV upload or JSON CSV, JSON, or leads pushed while it runs
Set by audio_type + audio or tts_text queue_id of a contact-center queue

A third mode, interactive, runs one of your IVR Studio flows on every answered call: the lead hears your message, presses a key and can be forwarded to your team. Set it with ivr_flow_id. See Run a Flow as a Campaign.

How a campaign runs#

  1. Create it with a name, caller ID and message or queue: Create a Campaign.
  2. Add contacts by CSV or JSON, or push leads for an agent dialer: Add Leads via API. Numbers on your DNC list are suppressed.
  3. Check with a test call to your own phone and a cost estimate: Estimate and Results.
  4. Start now or schedule it. Edesy dials within the calling window (09:00 to 21:00 by default), retries unanswered contacts, retries calls the network refuses after about 1, 3, 10, 20 and 30 minutes without using your attempts, and falls back to a backup caller ID if the main one's network refuses calls. After 10 refusals in a row with no working backup, the campaign pauses and resumes itself after 5 minutes: Retries, Test Calls and Run Again.
  5. Watch results live, pause, resume or stop, and export results as CSV. Run again for the same contacts, only those not reached, or a new list. For agent-dialer campaigns, answers, completions, recordings and agent dispositions are pushed to your CRM with webhook subscriptions.

Endpoints#

Method Path Description
POST /v1/campaigns Create
GET /v1/campaigns List (filter status)
GET / DELETE /v1/campaigns/{id} Read or delete
POST /v1/campaigns/{id}/audio Upload the message audio
POST /v1/campaigns/{id}/contacts Upload contacts (CSV or JSON)
GET /v1/campaigns/{id}/contacts List contacts and their status
POST /v1/campaigns/{id}/leads Push leads into a running agent-dialer campaign
POST /v1/campaigns/{id}/start, /pause, /resume, /stop Control
POST / DELETE /v1/campaigns/{id}/schedule Schedule or unschedule
PUT /v1/campaigns/{id}/fallback-number Set the backup caller ID
POST /v1/campaigns/{id}/test-call Hear the message on your phone
POST /v1/campaigns/{id}/duplicate Copy to run again
GET /v1/campaigns/{id}/estimate Cost and duration estimate
GET /v1/campaigns/{id}/results Results CSV
GET / PUT /v1/campaign-settings Workspace defaults, such as the default backup caller ID

Pricing#

Campaign minutes cost Rs 0.70 per minute: the Rs 0.50 call charge plus a Rs 0.20 campaign fee, billed on the same 60-second pulse. Unanswered calls are free. Text-to-speech campaigns are also charged per character; an uploaded recording (or audio_url on a single POST/v1/calls) has no text-to-speech charge. Calls the network refuses are never billed. Prices exclude 18% GST. Agent seats are billed by the contact center plan.

Was this page helpful?