Dialer & click-to-call
Click-to-call from any lead, with cooldown, DNC, and provider dispatch baked in.
- ·One-click dial from lead drawer, queue, or call history
- ·Cooldown gate (default 24h re-dial window) — bypassable with force
- ·DNC pre-flight + lead-level DNC observed
- ·Provider dispatch — Telnyx Call Control, FreJun OAuth, DIDLogic SIP
- ·Browser softphone (WebRTC) + hangup endpoint per provider
- ·Disposition picker after hangup writes to the call timeline
The detail.
Cooldown that protects the relationship
Most dialers will happily re-dial the same lead twice an hour. Autocloz blocks it: the cooldown gate (calling.cooldown_hours, default 24) refuses a dial if the same agent already attempted within the window — unless they explicitly bypass with ?force=true. Cooldown is per-agent + per-lead, not workspace-wide; team handoffs still work.
Caller-ID strategy that matches the country
calling.caller_id_strategy = country_match picks an org-owned DID with the same country code as the lead. agent_did sticks to the agent's primary DID. campaign_did uses the campaign's configured number. The strategy is per-workspace; ops can override per-campaign if a particular outreach needs a specific number.
Sticky agent for repeat calls
When a lead has been called before, the dialer routes the next call back to the same agent if they're online. This dramatically lifts connect-rate because the lead recognizes the voice and the agent has the prior context cached. Configurable per workspace (calling.sticky_agent).
vs. Aircall / JustCall / Dialpad click-to-call
The honest comparison — what changes when you switch.
Four things you won’t find elsewhere.
Cooldown as a default
24h re-dial window per agent + per lead is the out-of-box default. Bypassable with explicit force=true — but the bypass writes to the audit log, so 'I forgot' is no longer an acceptable answer.
Country-match caller-ID
An Indian lead sees an Indian DID; a UK lead sees a UK DID. Connect-rate climbs ~7-9 percentage points the moment country-match goes live across a beta cohort.
Sticky agent boosts repeats
When a lead has been called before, the next dial routes back to the original agent if they're online. The lead recognises the voice, the agent has the prior context — both lift connect-rate.
<300ms click-to-ring
Telnyx Call Control v2 median is sub-300ms from API call to softphone ring. Agents stop waiting; the queue drains faster.
A real sequence using this channel — day by day.
- ClickAgent clicks dialLead drawer → green button → POST /voice/dialer/calls
- GateDNC + cooldownDNC pre-flight + cooldown window check
- PickCaller-ID + agent's DIDCountry-match strategy picks the right number
- RingTelnyx Call ControlWebRTC softphone rings on the agent's tab
- WrapDisposition + notePicker writes to call_events, lead timeline updates
How teams actually use this.
12-agent team scaling outbound dials 3×
Cooldown gate prevented over-dialing the same lead; country-match kept the displayed DID matched to the recipient's country; sticky-agent meant repeat calls went to the original agent. The 3× volume increase didn't dilute connect rate because the dialer enforced rather than bypassed the discipline.
Compliance officer reviews force-override usage
audit:voice_dialer query filtered to event=cooldown_override across the quarter. 47 entries — each with the operator user_id, the reason, and the lead_id. Compliance officer can see which agent bypassed which rule, why, and when. No bypass goes undocumented.
Founder-led outbound switching off legacy power-dialer
Founder dropped Aircall + spreadsheet DNC + separate disposition tracker. Click-to-call from the lead drawer in /leads triggers DNC pre-flight + cooldown check + caller-ID pick + softphone ring in one flow. Disposition picker writes to the lead timeline. The whole call cycle lives in one tab.
Specific to this channel.
How does the cooldown override work?+
Pass force=true on the dial endpoint. The override is logged in the audit trail (audit:voice_dialer.cooldown_override) so a compliance officer can review who skipped which rule.
Can I see realtime presence?+
Yes — /call/connect shows agent presence (ready / on_call / offline) with last-heartbeat. The Call Console card 'Connect' is the single page for it.
What happens when the agent's softphone is offline?+
DIDLogic SIP returns the SIP URI for the agent's external softphone to dial. Telnyx initiates the call control leg and the bridge fails fast (501). The dialer logs the result and the disposition picker still surfaces.
The full story.
Click-to-call sounds simple until the operator builds it. The dialer surface is the convergence point of compliance (DNC pre-flight, cooldown, quiet hours), routing (which DID, which agent, which carrier), provider dispatch (Telnyx Call Control vs FreJun OAuth vs DIDLogic SIP), and audit (every dial logged, every override flagged). Most outbound platforms ship the click button and outsource the rest to a spreadsheet. Autocloz ships the entire dial gate as one transactional flow — DNC + cooldown + caller-ID + provider all evaluated atomically before the carrier API is touched.
Cooldown enforcement is the most under-rated lever in dialer software. Most dialers happily re-dial the same lead twice an hour because the default behaviour is 'fire whatever the agent clicks'. The relationship suffers (the lead blocks the number), the metrics suffer (cumulative connect rate drops as repeat dials saturate), and compliance suffers (TCPA caps re-dial frequency in many US states). Autocloz's cooldown gate is on by default — 24h re-dial window per agent + per lead, configurable per workspace, bypassable with an explicit force=true that writes to the audit log.
Caller-ID strategy is the second under-rated lever. The displayed number is the single biggest signal a recipient uses to decide whether to pick up. A US-based agent dialing an Indian lead from a +1-415 number gets a 4% connect rate; the same agent dialing the same lead from a +91-22 DID gets 14%. Autocloz's country_match strategy picks the right DID automatically from a pool of org-owned numbers; agent_did sticks to a known agent's primary DID for repeat dials; campaign_did honours per-campaign overrides. Operators ship the strategy once, the dialer enforces it forever.
Sticky-agent routing closes the loop. When a lead has been called before, the next dial routes back to the original agent if they're online. The recipient recognises the voice; the agent has the prior context cached (last call disposition, custom fields, sequence step); both factors lift connect rate. The configuration lives in calling.sticky_agent and is workspace-wide. Combined with country-match caller-ID and the cooldown gate, the dialer becomes a discipline-enforcement tool — not just a click button — and the connect-rate metrics show it within the first month.