Dial
Bucket-based outbound calling — work through a queue of contacts with scripts, call notes, and live activity tracking.
Dial is the outbound-calling mode. Where SMS is a thread-based inbox-style interface, Dial is a bucket-based queue: you organise leads into buckets, the dialler advances through them, and every call records activity, notes, and follow-up state.
Dial shares the Telnyx phone-number setup with the SMS mode but the workflow is shaped for volume outbound rather than 1:1 conversations.
Buckets
A bucket is a list of contacts (from the People table) that you're
working through. Buckets live in src/store/dialBuckets.jsx and the
Bucket Builder Sheet (DialBucketBuilderSheet.jsx) is where you
configure them — pick contacts via filter on the People table, set
priority, set today's quota.
The Bucket List widget (DialBucketListWidget.jsx) drops on the
canvas and shows every bucket with:
- Bucket name and icon
- Today's call count vs. quota
- Recent-calls preview
- Click to open / start dialling
The Dial widget
The main DialWidget.jsx is the actual dialling surface. It shows:
- Current contact — name, company, last-contacted-at, conversation count
- Lead details panel — full row from the People table
- Scripts panel — pre-written talk tracks you can step through
- Call note composer — draft notes during the call; auto-saved as
drafts via
useDialNoteDraftand persisted on completion - Result rail — the call outcome (Connected / No answer / Voicemail / Wrong number / etc.) that drives where the contact goes next
- Activity panel — recent calls and events
- Calendar tab — schedule a follow-up directly from the call
useDialAdvance handles the queue logic — finishing a call advances to
the next contact in the bucket, respecting the result rail's branching.
Widgets and sheets
Dial is canvas-native — it's a collection of connectable widgets, not a single monolithic page:
| Component | What it is |
|---|---|
DialWidget | The main dialling card |
DialBucketListWidget | List of buckets |
DialStatsWidget (in dial-stats/) | Calls today, conversion, breakdown |
DialActivityPanel | Recent activity stream |
DialContactPanel | Current contact details |
DialLeadDetailsPanel | Full lead view |
DialCallNoteComposer | Note draft + save |
DialScriptsPanel | Talk tracks |
DialResultRail | Outcome buttons |
DialEmailCompose | Follow-up email composer |
DialCalendarTab | Inline calendar for scheduling |
DialCallHistorySheet | Full call history (modal) |
DialBucketBuilderSheet | Bucket configuration (modal) |
Drop them onto the Dial canvas and arrange to taste — the same canvas mechanics as every other workspace mode.
Where Dial gets its leads
The People table — same as SMS and Campaigns. Bucket configuration is a saved filter against People; new matching contacts surface in the bucket automatically as they're added.
Setup
Phone numbers are configured under Settings → Phone Numbers (shared with SMS). For 10DLC and compliance settings, see the SMS mode.
Where to next
- SMS mode — same provider, different channel and workflow
- Telnyx SMS integration
- Data tables — the People table