Prosperr Dialer
Admin access — full campaign control
Now calling
—
—
Your phone rings first. Answer it and the customer is connected — greet them by name.
Prosperr Dialer
Idle
Total
0
Pending
0
Dialing
0
Connected
0
Cust. No Answer
0
RM No Answer
0
Failed
0
Live Call
0:00
Customer Name
—
Number
—
Plan
—
Next up →
0 selected
🔍
#CustomerNumberRMPlan StatusOutcomeAttemptsDurationLast Call Actions
📋 Required columns: Customer Number and RM Number. The RM Number in your CSV must match an RM Number configured in Settings — auto-assignment happens automatically on upload.
📂
Drop your CSV here or click to browse
Supports .csv · max 10,000 rows
Map CSV columns to dialer fields
If a customer is already in the queue:
Re-dial puts existing customers back to Pending so they are called again. Call history, talk time and notes are kept. Customers who are on a live call right now are skipped.
🔑 Acefone & Webhook Settings
Acefone → API Connect → Authentication Using Tokens → Generate Token
Your outbound number shown to customers
Cloudflare Worker URL (recommended) — or your Apps Script /exec URL. Worker is auto-detected from .workers.dev in the URL.
✅ Using Cloudflare Worker?
Give Acefone this URL: —
to 24h IST
Total tries when the CUSTOMER doesn't answer. After this the lead becomes Failed.
Gap before calling the same customer again after "Customer No Answer".
Gap before re-calling the customer when the RM missed the call. Doesn't use up an attempt.
Pauses an RM who misses this many calls in a row. 0 = never pause.
An answered call shorter than this is treated as "Customer No Answer" (voicemail picks up and Acefone reports it as answered). 0 = off.
Auto-free RM if no update received after this time
What each status means
Pending waiting to be called
Dialing call in progress (RM's phone rings first, then the customer's)
Completed customer answered and spoke
Customer No Answer RM picked up, but the customer didn't answer (or voicemail picked up: answered under the minimum talk time). Retried per the settings above
RM No Answer RM did not pick up, so the customer was never called. Retried after a short gap, no attempt used
Failed out of attempts, or Acefone rejected the call
Skipped set manually
👥 RM Configuration
RM Number must match the number in your uploaded CSV exactly. Login Email + Password gives RMs portal access.
NameRM NumberAPI KeyLogin EmailPasswordRole
🔐 Admin & Access Control
Admin users have full access — campaign control, settings, upload, delete. Grant carefully.
Additional Admin Users
These users log in via the Admin tab and get full admin access.
🔍 Webhook Debug — Live Poll Log
Polls every 8s when campaign is running. Check here if statuses aren't updating.
If you see "updates:0" every poll: Acefone is not POSTing to your Worker. Check:
1. Acefone dashboard → Webhooks → POST URL = your-worker.workers.dev/webhook
2. Open 🔍 Inspect Sheet State above — if "total_calls:0" Acefone never sent a webhook
3. Test manually: open a new tab → paste your Worker URL → add /debug at the end
4. In Acefone webhook JSON body, add "event_type":"answered_by_customer" or "missed_by_customer"
No polls yet — polls start when campaign is running
🌐 How to Publish & Share This Tool
Option A — GitHub Pages (Recommended, Free)
1. Go to github.com → New repository → name: prosperr-dialer → Public
2. Upload this HTML file → rename it to index.html
3. Settings → Pages → Source: main branch → Save
4. Share https://yourname.github.io/prosperr-dialer with team
Option B — Netlify (Drag & Drop, Free)
1. Go to netlify.com → Sign up free
2. Drag this HTML file onto the Netlify deploy area
3. You get a URL like random-name.netlify.app instantly
4. Set a custom name in Site Settings → rename to prosperr-dialer.netlify.app
⚠️ Important after publishing: Each user's settings and queue are stored in their own browser (localStorage). For shared state across the team, the Apps Script backend (AutoDialer.gs) and Google Sheet serve as the single source of truth — configure the Webhook URL in settings above.
From
To
Per RM (whole range)
RMDialedConnectedCustomer no answerRM no answerConnect %Talk timeAvg / connected
Day-wise
DateRMDialedConnectedCustomer no answerRM no answerConnect %Talk time
Dates are IST. "Dialed" counts every call placed (API rejections are counted separately and excluded). Connect % only counts calls that reached a customer, so calls the RM missed do not lower it. Older rows logged before this update count under "Customer no answer". Talk time = connected seconds reported by Acefone. History starts from the day this feature was deployed.
My Call History
#CustomerNumberPlanStatusOutcomeAttemptsDurationLast Call