SocialSellingBFSI Voice Platform
AI calling for banks, NBFCs and microfinance

Your CRM sends the rows.
The platform makes the calls.

Lead qualification, collections and payment reminders in the customer's own language, placed from servers in India, with the calling window, contact limits and do-not-contact checks enforced before every dial.

Campaign row 1000890000002231language ml · product IL
  1. 09:41:02CRMrow queued in campaign IL-2026-09-Aqueued
  2. 09:41:02Platformdo-not-contact list checked, calling window open, two-contacts rule clear
  3. 10:06:15Platformcustomer position read from your loan API at dial time
  4. 10:06:17Dialfrom your registered caller ID, 4 rings
  5. 10:06:24AgentMalayalam greeting, by name, 0 ms after answer
  6. liveAgentasks income, purpose, co-applicant; customer qualifies for the offerwarm
  7. 10:09:48Webhookcall.ended to your CRM with classification, captures, recording and next action
Illustrative row, fictional identifiersPOST /v1/ai-call/client/campaigns
How a campaign runs

One request in, one event back per row.

Everything between those two points is the platform's job. Your integration is the two ends: the rows you send, and the webhook you receive.

1You

Send the rows

Up to 20,000 per request with an Idempotency-Key. Client number or lead id, phone, language, product.

2Platform

Validate and gate

Phone format, duplicates, do-not-contact, contact basis. You get the report before any dial.

3Platform

Queue and pace

Calling window 08:00–19:00 IST, capped concurrency, retries by disposition: no answer, busy, callback asked.

4Platform

Make the call

The agent speaks the customer's language, reads the live loan position, and follows the script for that campaign kind.

5You

Receive the outcome

call.ended per row, or pull /outcomes at day end. Recording, transcript, captures, classification.

Campaign kinds

Three scripts, one row format.

Leads

Existing customers and new enquiries. The agent confirms interest, captures the eligibility facts and hands back a classification your sales team can act on the same day.

Returns
hot · warm · cold, product discussed, captures
Captures
income, purpose, co-applicant, requested amount
Languages
ml · ta · kn · te · hi · en

Collections

Script chosen from the live loan position at dial time: soft reminder, promise to pay, or dispute capture, with the amount and due date spoken from your data, never from a file.

Returns
promise date and amount, dispute reason, callback
Buckets
1–30 · 31–60 · 61–90 · 90+
Status
enabled with outcome write-back

Reminders

Due-date and payment reminders sent on WhatsApp first. A phone call follows only if the message is unread after 24 hours, keeping the contact count low.

Returns
delivered · read · called · acknowledged
Channel order
WhatsApp → voice
Status
same row format as collections
Built for a regulated caller

The rules are in the platform, not in your code.

Every rule below is enforced before a dial, on every row, and reported back by name when it blocks one. You never have to filter a file to stay compliant.

Minimum integration

Two endpoints and a webhook.

Create a campaign with the rows, start it, and receive one call.ended event per row. Metadata you send is echoed back on every event, so your own campaign and request identifiers ride through untouched.

Lead record fields · Hand-back webhook · Go-live checklist

// POST https://api.socialselling.ai/v1/ai-call/client/campaigns
// Authorization: Bearer <your key>   Idempotency-Key: <your batch id>
{
  "name": "IL existing customers — 15 Sep",
  "kind": "leads",
  "auto_start": false,
  "webhooks": { "on_call_end": "https://crm.example.in/webhooks/call-end" },
  "metadata": { "campaign_id": "IL-2026-09-A" },
  "leads": [
    { "id": "1000890000002231", "phone_number": "+919876543210",
      "language": "ml", "name": "CUSTOMER NAME", "product": ["IL", "IGL"] },
    { "id": "L-2026-09-004512", "id_type": "lead", "phone_number": "+919876543211",
      "language": "ta", "name": "CUSTOMER NAME", "product": "IL",
      "source": "branch_enquiry", "created_at": "2026-09-10" }
  ]
}

// 201
{ "campaign_id": "63b3f83e-…", "state": "draft",
  "report": { "total_rows": 2, "queued": 2, "invalid_phone": 0,
              "duplicates_in_file": 0, "suppressed": 0 } }