Run a Flow as a Campaign

Run an IVR Studio flow on every answered call of an outbound campaign. Upload a contact list, pick the Interactive (run an IVR flow) campaign type, test, estimate the cost and launch. Leads can press 1 to be forwarded to your team.

4 min read

An interactive campaign calls every number on your list and runs one of your IVR Studio flows when the call is answered. Leads hear your message, press a key, and can be forwarded to your sales number, while the campaign handles dialing hours, retries, Do Not Call removal and a per-contact report of the keys pressed. In the voice app, open Campaigns → Create Campaign and choose Interactive (run an IVR flow).

Before you start: build and publish the flow in IVR Studio, for example the press 1 to connect flow. Campaigns are created in the voice app at voice-app.edesy.in with the same Edesy account.

What you need#

Item Where
A published IVR flow IVR Studio → Flows. A draft can be test-called, but the campaign starts only with a published flow
A caller ID One of your Edesy numbers. For promotional calls in India, use a number registered for promotional calling
A contact list CSV with phone_number,name. Optional consent_source, consent_timestamp
Wallet balance The campaign checks your balance before starting. New accounts get Rs 20 of free credit

Steps#

Step 1: Campaign Details#

  1. Open voice-app.edesy.in → Campaigns → Create Campaign.
  2. Campaign Name: e.g. "Project launch: Pune, Hindi".
  3. Caller ID (From Number): pick your number. Optionally choose Rotate Caller ID (a number pool) and a Backup Caller ID.
  4. Campaign Type: choose Interactive (run an IVR flow). This option appears once your workspace has at least one IVR flow.
  5. IVR Flow: pick the flow. A draft shows "(draft)" with a reminder to publish it before starting.
  6. Call Settings: Max Concurrent Calls (default 5), Retry Attempts (default 1) and Ring Timeout (sec) (default 30). A lead who presses 1 is forwarded and keeps a second line busy, so keep concurrency in line with how many calls your team can take.
  7. Dialing Hours: Only dial between set hours is on by default, 09:00 to 21:00 in your timezone. Promotional calls in India are permitted between 09:00 and 21:00. A long list pauses outside these hours and continues the next day.
  8. Recording & Detection: optionally Record these calls and Detect answering machines (billed separately).
  9. Click Continue. Step 2 (Upload Audio) is skipped, because the flow provides the audio.

Step 3: Upload Contacts#

  1. Click Download sample CSV, or use your own file: phone_number,name, one contact per line.
  2. Upload it. Numbers on your Do Not Call list and repeated numbers are removed automatically. The summary shows Rows uploaded, Will be called, On Do Not Call list and Duplicates removed.

The name column is available in the flow as {{var.contact_name}}, and the number as {{var.lead_phone}}.

Step 4: Review & Launch#

  1. Check the summary. It shows IVR flow: and the flow name.
  2. Hear it before you launch: place a test call to your own phone, press 1, and check the transfer.
  3. Check Estimated Cost against your wallet.
  4. Start now, or set a Start Time (optional).

While it runs, the campaign page shows Interactive (IVR flow) campaign and a Keys Pressed column for each contact. See Results and Hot Leads.

With the API#

Create the campaign with ivr_flow_id instead of audio_type, then add contacts, test, estimate and start as for any campaign.

curl -X POST https://voice-api.edesy.in/v1/campaigns \
  -H "Authorization: Bearer $EDESY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Project launch: Pune, Hindi",
    "from_number": "+9180XXXXXXXX",
    "ivr_flow_id": "5b1c2f0e-...",
    "max_concurrent": 5,
    "retry_attempts": 1,
    "ring_timeout_sec": 30,
    "window_start_minute": 540,
    "window_end_minute": 1260,
    "timezone": "Asia/Kolkata"
  }'

curl -X POST https://voice-api.edesy.in/v1/campaigns/{id}/contacts \
  -H "Authorization: Bearer $EDESY_KEY" -F "[email protected]"

curl -X POST https://voice-api.edesy.in/v1/campaigns/{id}/test-call \
  -H "Authorization: Bearer $EDESY_KEY" -H "Content-Type: application/json" \
  -d '{ "phone_number": "+9198XXXXXXXX" }'

curl -X POST https://voice-api.edesy.in/v1/campaigns/{id}/start -H "Authorization: Bearer $EDESY_KEY"

ivr_flow_id can't be combined with queue_id (agent dialer). Starting with a draft flow is refused.

Checklist before launch#

  • The flow is published, and the Menu's timeout exit is connected.
  • An Email or HTTP Request node sits before the Transfer, so every "pressed 1" lead is captured even if nobody answers.
  • The transfer number is staffed during your dialing hours.
  • You heard the test call end to end, including the transfer.
  • Your caller ID is registered for promotional calls, and your list has consent where you need it.
  • Estimated Cost fits your wallet.

Run one campaign per language#

Make one flow per language (e.g. "Launch: Hindi", "Launch: Marathi") and one campaign per language list. If you don't know each lead's language, start the flow with a language menu. See Flows in Every Language.

Things to know#

  • A flow that a running campaign uses can't be deleted. The flow list shows "Used by N campaign(s)".
  • Editing and re-publishing the flow changes what new calls hear.
  • Each answered call is billed per minute from your prepaid wallet. Use Estimated Cost before launch.
  • The Do Not Call check uses your workspace's own Do Not Call list. Keep it up to date, for example with a press 9 to stop calls option.

FAQ#

Is this the same as a voice broadcast?#

It uses the same campaign engine (list, dialing hours, retries, Do Not Call removal, results), but instead of playing one message it runs an IVR flow, so leads can press keys and be forwarded.

Can I personalise the message?#

Yes, with text to speech. {{var.contact_name}} speaks the name from your CSV. Recorded audio can't include the name.

How do I find who pressed 1?#

The campaign's Keys Pressed column and the ivr_digits column in the results export. See Results and Hot Leads.

Was this page helpful?