ContactRate.com — Contact Rate Optimization
Operator mode

Dashboard

{{ dashSubtitle }}

{{ liveHeadline }}

{{ liveSub }}

{{ c.lead }} {{ c.state }}

{{ c.phase }} · {{ c.dur }}

{{ k.label }}

{{ k.value }}

{{ k.sub }}

{{ aiName }} performance report

Voice

{{ v.value }}

{{ v.label }}

{{ v.sub }}

Messaging

{{ v.value }}

{{ v.label }}

{{ v.sub }}

Contact rate by channel
{{ b.label }}
{{ b.pct }}

{{ chanInsight }}

Today's appointments

Nothing on the books today — {{ aiName }} keeps booking into your next open slots.

{{ a.time }}

{{ a.lead }}

{{ a.kind }} · {{ a.closer }}

{{ a.status }}

Needs your attention

All clear — nothing needs you right now.

{{ a.text }}

{{ a.time }}

Activity

{{ e.text }}

{{ e.time }}

Live

{{ liveViewSubtitle }}

Quiet hours enforced · next window check 6:15 PM

{{ aiName }} is between calls

Next dial 11:41 AM — inbound replies are still answered instantly.

{{ c.initial }}

{{ c.lead }} {{ c.state }} · attempt {{ c.attempt }}

{{ c.snippetPrev }}

{{ c.snippet }}

{{ c.dur }}
{{ c.phaseLabel }} {{ c.sentiment }}
Hot text exchanges
{{ t.initial }}

{{ t.lead }} {{ t.state }}

{{ t.pace }} · last {{ t.lastAgo }}

{{ t.chan }}

{{ t.prevMsg }}

{{ t.lastMsg }}

{{ aiName }} is replying…

Up next {{ queueCount }}

Outbound paused — nothing dials until you resume. {{ aiName }} still answers inbound replies instantly, and live calls finish normally.

{{ q.time }}

{{ q.lead }} {{ q.state }}

{{ q.note }}

Activity log

{{ e.text }}

{{ e.time }}

Inbox

{{ inboxCount }}
{{ c.initial }} {{ c.groupInitial }}
{{ c.name }} {{ c.time }}
{{ c.snippet }}
{{ c.stageLabel }} DQ
{{ thInitial }} {{ thGroupInitial }}

{{ thName }}

{{ thMeta }}

{{ e.label }}
{{ e.text }}
{{ e.who }} · {{ e.chan }} · {{ e.time }}
{{ e.text }}
✦ {{ e.aiName }} · {{ e.chan }} · {{ e.time }}
{{ e.text }}
{{ e.who }} · {{ e.chan }} · {{ e.time }}
{{ e.glyph }} {{ e.label }} {{ e.kind }} · {{ e.dur }}
{{ e.who }} · {{ e.chan }} · {{ e.time }}

{{ e.title }}

{{ e.meta }}

{{ e.outcome }}
{{ e.playMeta }}

{{ t.who }} — {{ t.text }}

{{ e.note }}
{{ e.glyph }}{{ e.text }}
✦ {{ e.aiName }} suggests — outside script {{ e.time }}

{{ e.text }}

Manual takeover — {{ aiName }} is paused on this lead. Switch back to AI to resume the sequence.

Media library via Sendblue
{{ m.glyph }} {{ m.label }} {{ m.kind }} · {{ m.dur }}
Deal value {{ thValue }}
Source{{ thSource }}
State{{ thState }}
Local time{{ thLocalTime }}
Email{{ thEmail }}
Received{{ thReceived }}
Phone intel {{ thChan }}
Line type{{ thLine }}
Carrier{{ thCarrier }}
Device{{ thDevice }}
Landline — texting unavailable. {{ aiName }} skips SMS steps and works this lead by voice only.
Qualification
{{ q.label }}
✦ Sequence {{ thSeqName }} {{ thSeqPos }}
Appointments
{{ a.kind }} {{ a.when }} · {{ a.closer }} {{ aiName }} is rescheduling — offer sent

Pipeline

{{ pipeSubtitle }}

Drag cards between stages — {{ pipeAiNote }}
{{ col.label }} {{ col.count }}
{{ col.total }}
{{ c.name }} {{ c.value }}
{{ c.state }} {{ c.source }} DQ LIVE Stale
{{ c.footGlyph }}{{ c.foot }} {{ c.age }}

Leads

{{ leadsSubtitle }}

Webhook live · last lead 4m ago
Created First name Last name Phone Email Stage Source Automation AI Last activity
{{ l.received }} {{ l.first }} {{ l.last }} {{ l.phone }} {{ l.email }} {{ l.source }} {{ l.seq }} {{ l.lastAct }}

Calendar

{{ calSubtitle }}

Google Calendar synced

{{ d.dow }}

{{ d.num }}

{{ h.label }}

{{ b.lead }}

{{ b.meta }}

{{ d.label }} {{ d.count }}

No appointments — {{ aiName }} keeps booking into open slots.

{{ a.time }}

{{ a.lead }}

{{ a.kind }} · {{ a.closer }} · booked by {{ aiName }}

{{ a.status }}

Automations

Timed sequences of calls and texts that {{ aiName }} runs on your leads — all inside quiet hours.

{{ s.name }} {{ s.goalLabel }} Off
{{ s.trigger }}
{{ s.stepsLabel }} {{ s.enrolled }} enrolled {{ s.connect }}% connect {{ s.booked }}% booked
Goal
{{ seqGoalHint }}
{{ seqStatEnrolled }} enrolled now {{ seqStatConnect }}% connect {{ seqStatReply }}% reply {{ seqStatBooked }}% booked All steps respect TCPA quiet hours
{{ st.dayLabel }}
{{ st.nodeGlyph }}
{{ st.title }} 2× text {{ st.scriptPreview }}
{{ st.time }}
Merge fields: {{ mergeFieldsNote }}

Settings

Your AI agent, team, compliance, and connections. Personality, voice, and scripts are managed by DialFuel.

Voice
{{ aiVoice }}
Tuned and managed by your DialFuel team
Training signal ▲ {{ fbUp }} · ▼ {{ fbDown }} {{ fbApplied }} behaviors updated this month

Default goal

What {{ aiName }} drives toward when a lead qualifies — automations can override per sequence.

Need to know before booking

{{ aiName }} must confirm every one of these

{{ m.text }}

Nice to know

Asked when the conversation allows

{{ m.text }}

Hard disqualifiers

{{ aiName }} ends politely and marks DQ

{{ m.text }}

That's everything {{ aiName }} needs from you. Scripts, objection handling, and tone are trained by DialFuel — your thumbs up/down in the Inbox steer her from there. Global safety rules are managed at the operator level.

Who receives live transfers and appointments. {{ aiName }} only offers transfers when someone is available.

{{ t.initial }}

{{ t.name }}

{{ t.role }} · {{ t.phone }}

Receives

{{ t.receives }}

Transfer hours

{{ t.hours }}

Available now

Quiet hours — enforced everywhere, in the lead's local time

Every call and text {{ aiName }} sends is checked against this table first. STOP/DNC honored instantly. Overriding a row is legally risky and logged — the liability shifts to you.

Region Allowed window Basis Note Status
{{ r.region }} {{ r.window }} {{ r.basis }} {{ r.note }} Locked

Remove protection for {{ tcpaWarnRegion }}?

{{ aiNameWarn }} will be allowed to contact leads in this region outside the legal calling window. TCPA penalties run $500–$1,500 per call or text and land on your business, not DialFuel. This action is logged and visible to your operator.

DNC list: 214 numbers suppressed Consent source stored per lead A2P 10DLC registered
{{ c.logo }}

{{ c.name }}

{{ c.desc }}

{{ c.chip }}

{{ c.meta }}

{{ c.detail }}

Tags

Label leads for filtering and smart lists. {{ aiName }} can apply them from conversation (e.g. "spanish", "callback-pm").

{{ t.t }} {{ t.usage }}

Custom fields

Every webhook form field lands here automatically — {{ aiName }} reads them all before the first dial.

{{ f.label }} {{ f.key }}

{{ f.src }}

{{ f.type }}

{{ n.label }}

{{ n.hint }}

Overview

The whole operation — Tuesday, July 7, 2026

{{ k.label }}

{{ k.value }}

{{ k.sub }}

Activity monitor

{{ opsActCount }} events
{{ a.time }} {{ a.badge }}

{{ a.text }}

{{ a.client }}

Clients

{{ opsSubtitle }}

{{ k.label }}

{{ k.value }}

{{ k.sub }}

Client Health Voice minutes Connect Booked/wk Live now
{{ c.initials }}

{{ c.name }}

{{ c.owner }} · ✦ {{ c.ai }}

{{ c.health }}
{{ c.mins }}
{{ c.connect }} {{ c.booked }} {{ c.live }}

AI Monitor

Every live conversation across all workspaces — right now.

{{ monLive }} live calls {{ monQueued }} queued {{ monRate }} connects/hr

{{ c.ai }} ↔ {{ c.lead }} {{ c.state }}

{{ c.client }}

{{ c.dur }}
{{ c.phase }} {{ c.sentiment }} attempt {{ c.attempt }}

Escalations

Everything the AIs couldn't or shouldn't handle alone — failures, flags, and out-of-scope moments.

{{ e.type }} {{ e.client }} · {{ e.lead }} {{ e.time }}

{{ e.text }}

Resolved Acknowledged — in progress

AI Brain

The full stack behind every agent — prompts, models, voices, spend. Clients only ever see the simple layer.

{{ brainVersion }} {{ brainTotalTokens }}
Assembled prompt — the exact final text the model receives

{{ fullPrompt }}

{{ b.n }}

{{ b.name }}

{{ b.source }}

{{ b.kindLabel }} {{ b.tokensLabel }}
Type straight into it — applies to every client on this playbook

{{ b.body }}

Locked so nobody can weaken the legal layer — changing it is a deliberate fleet-wide version bump.

{{ b.body }}

Don't edit the prose — change the source and this rewrites itself

{{ b.body }}

Five blocks, no filler: 01 keeps every agent legally safe — locked so nobody can weaken it. 02 is where you tune selling (facts + objection plays). 03 is the client's own answers, written by their settings. 04 exists because talking and texting need different behavior. 05 is the live data that changes on every send. Assembled top to bottom, in this order — switch to Full prompt to read the final text.

Model routing

Per task, fleet-wide — per-client pinning available in the drill-in

{{ m.task }}
{{ m.note }} {{ m.fallback }}

Voice roster — 6 voices

Clients pick one when naming their agent; you can reassign anytime

{{ v.name }}

{{ v.style }} · {{ v.accent }}

{{ v.assigned }}

{{ k.label }}

{{ k.value }}

{{ k.sub }}

Client Voice min Tokens AI cost Revenue Margin
{{ u.name }} {{ u.mins }} {{ u.tok }} {{ u.cost }} {{ u.rev }} {{ u.margin }}

Global rules

{{ r.cat }}

{{ r.rule }}

Per-client overrides

Exceptions to unlocked rules — logged with who and why

{{ o.client }}

{{ o.rule }} — {{ o.note }}

{{ o.by }}

Retry policy

{{ r.value }}

{{ r.label }}

Escalates to a human when…

{{ t.text }}

Booking rules

How {{ aiName }} chooses slots — always in the lead's local time

Time zones handled automatically — {{ aiName }} offers slots in the lead's local time and books them on your calendar in yours.

Weekly availability (your time, CT)
{{ a.day }}
Unavailable
Synced with Google Calendar — busy blocks excluded automatically
{{ ldInitial }}

{{ ldName }}

{{ ldMeta }}

Disposition — you or {{ aiName }} can set these
Contact
{{ f.k }}{{ f.v }}
Custom fields — from webhook
{{ f.k }}{{ f.v }}
Tags
{{ t.t }}
✦ Automation {{ ldSeq }}
{{ aeLeadInitial }}

{{ aeLead }}

{{ aeMeta }}

{{ ocInitials }}

{{ ocName }}

{{ ocMeta }}

{{ ocWarnText }}

Connect rate

{{ ocConnect }}

Booked this week

{{ ocBooked }}

Voice minutes{{ ocMins }}
SMS segments{{ ocSms }}
Their AI's overrides None — running pure global rules
{{ o.rule }} {{ o.note }} · {{ o.by }}