Quick Start

Send your first Edesy Collect payment-reminder call - create a pool, create a reminder campaign, save the message, upload one debtor and start, in the portal or with the API.

2 min read

To send your first payment-reminder call, create a number pool with at least one number, create a reminder campaign, save the reminder message, upload a debtor (use your own phone first), and press Start. The call goes out at the next calling-window open, which is right away if you are inside 09:00 to 20:00 IST.

Before you begin#

  • An approved KYC on your Edesy account
  • An active Collect plan, or enough wallet balance to fund calls
  • At least one Indian number on your account, or buy one from the Number Pools page

In the portal#

  1. Open Number Pools, create a pool (for example "Collections pool", rotation "Round robin"), then Buy a number or Add a number you own. See Number Pools and Rotation.
  2. Open Reminder Campaigns and click New campaign. Enter a name, a fallback caller ID in E.164 (+91...), pick your pool, and keep the default caps (2 a day, 6 in total, 180 minutes apart). Click Create.
  3. On the campaign page, type the message under Voice message, optionally a voice ID, and click Save & render. See Reminder Message and Voice.
  4. Under Upload debtors, paste one line per debtor: phone,name,due_date,amount, for example +919800000000,Test Debtor,2026-11-15,5000. Click Add contacts. See Upload Debtors.
  5. Click Start. Watch the contacts table: attempts go up and the payment column stays pending until you click Paid or Stop.

With the API#

Create an API key in your Edesy workspace and send it as Authorization: Bearer sk_.... The steps below assume you already created a pool (POOL_ID).

# 1. Create a reminder campaign
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "November EMI reminders",
    "from_number": "+91XXXXXXXXXX",
    "audio_type": "tts",
    "number_pool_id": "POOL_ID",
    "max_attempts_day": 2,
    "max_attempts_total": 6,
    "min_gap_minutes": 180
  }'

# 2. Save and render the message (use the campaign id from step 1)
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/message \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello, this is a reminder that your payment is due. Please pay at the earliest to avoid late charges."}'

# 3. Upload debtors
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/contacts \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"contacts": [{"phone_number": "+91XXXXXXXXXX", "name": "Test Debtor", "due_date": "2026-11-15", "amount_due": 5000}]}'

# 4. Start
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/start \
  -H "Authorization: Bearer sk_your_api_key"

Full request and response details are in the API reference.

If the start fails#

Error Fix
403 KYC_NOT_APPROVED Finish KYC on the KYC page and wait for approval
campaign has no contacts Upload at least one debtor first
campaign has no TTS text configured Save a message first
Balance error Top up the wallet or check that your plan's first payment went through
caller-ID number not owned by this workspace Use a number that belongs to your workspace

Next steps#

Was this page helpful?