{{ campaignRunning ? 'Running' : 'Idle' }}
⚠ Twilio credentials not configured.

Live Dashboard

↓ Export CSV
{{ selectedCampaign.status }}
πŸ“ž
{{ leadName(currentLead) }}
{{ currentLead.phone }}
{{ k }}{{ v }}
{{ currentLead.status || 'initiated' }} {{ amdLabel(currentLead.answered_by) }} since {{ fmtTime(currentLead.started_at) }}
{{ stats.total||0 }}
Total
{{ stats.answered||0 }}
Answered
{{ stats.failed||0 }}
Failed
{{ stats.busy||0 }}
Busy
{{ stats.no_answer||0 }}
No Answer
{{ stats.avg_duration ? Math.round(stats.avg_duration)+'s' : 'β€”' }}
Avg Duration
Phone Status Answered By Flow Path Duration Started
{{ call.phone }} {{ call.status }} {{ amdLabel(call.answered_by) }}β€” {{ call.flow_path||'β€”' }} {{ call.duration!=null ? call.duration+'s' : 'β€”' }} {{ fmtTime(call.started_at) }}
πŸ“­

{{ callLogs.length ? 'No calls match your filter.' : 'No calls yet. Upload leads, build a flow, and start a campaign.' }}

Upload Leads

New Campaign

πŸ“„
{{ csvFile ? csvFile.name : 'Drop CSV here or click to browse' }}
Max 10 MB
βœ“ Loaded {{ csvResult.count }} numbers into {{ csvResult.campaignName }}

All Campaigns

No campaigns yet.

{{ c.name }}
{{ c.total }} leads {{ c.status }} {{ fmtDate(c.created_at) }}

Flow Builder

πŸ”€

Click + Add Step to start building your IVR tree.

{{ step.label||step.id }}
{{ step.type }}

Edit Step


πŸ‘†

Select a step to edit it.

Audio Files

Upload Audio

🎡
{{ audioFile ? audioFile.name : 'Drop audio here or click to browse' }}

Library ({{ audioFiles.length }})

🎧

No audio files yet.

{{ f.name }}
{{ f.filename }}

Settings

Twilio Credentials

{{ showToken?'πŸ™ˆ Hide':'πŸ‘ Show' }} token Leave unchanged to keep existing token.
{{ credTestResult.ok ? `βœ“ ${credTestResult.friendlyName} (${credTestResult.status})` : `βœ— ${credTestResult.error}` }}

Webhook URL

Twilio fetches {url}/voice when a call connects. Run ngrok http 3000 and paste the https:// URL here.

Dialling Behaviour

After each call ends, wait this long before dialling the next.
βœ“ Configured ⚠ Incomplete

πŸ“˜ Setup Checklist

  1. Sign up at twilio.com and buy a phone number.
  2. Copy your Account SID and Auth Token from the Twilio Console into the fields above.
  3. In a terminal: ngrok http 3000 and paste the HTTPS URL into Public URL.
  4. Click Test Connection to verify.
  5. Upload audio, build your IVR flow, upload leads, and start a campaign.
{{ toast.message }}