Features · the lifecycle of a callback · voice & SMS

Caller intent
to follow-up, automatically.

When a caller asks your Retell agent for a callback — on a voice call or in an SMS chat — redialer.io captures it, schedules it for the right local moment, dials (or sends the message) at that moment, classifies the outcome, and retries until the line is clear. This is what happens between intent and connection.

CAPTURE

When the caller says when, we know what they mean.

People don't say timestamps. They say “tomorrow at 3pm”, “in two hours”, “after lunch”. We parse all of it into one scheduled row.

  • Specific times

    “Tomorrow at 3pm”, “next Monday at 10”, absolute dates. Resolved against the caller's clock.

  • Relative times

    “In two hours”, “later this afternoon”, “tonight”. Anchored to when the call ended.

  • Vague times

    “After lunch”, “first thing tomorrow”, “in the morning”. Normalized to a defensible local hour.

  • Global formats

    E.164 phone numbers, ISO timestamps, any locale. We don't require your agent to format anything.

SCHEDULE

Right local time, every time.

Caller-local clock, DST handled, quiet hours respected. We don't drop requests that land in your no-dial window. We move them to the next open minute.

  • Caller-local timezone

    Resolved from the caller's number, with agent defaults as a fallback when the caller doesn't state one. Your server's clock is irrelevant.

  • DST-aware

    Caller crosses a DST boundary between the request and the dial-back? Already handled.

  • Quiet hours and quiet days

    Set a no-dial window in hours and full calendar days. Requests inside either get shifted to the next open minute. We move them, we don't drop them.

  • Workspace defaults, per-agent overrides

    Set it once at the workspace level. Override on any single agent without re-typing the rest.

DIAL

Same agent, same trunk.

We don't sit between you and Retell on the call. We fire the outbound through your same Retell agent, with chain context injected as dynamic variables so your agent knows what attempt this is.

  • Your Retell agent makes the call

    No separate caller experience. No swapped voice. The same agent that took the inbound is the one calling back.

  • Chain context as dynamic vars

    Your agent sees the attempt number, the chain max, and whether this is the final try. Use it in your prompt however you want.

  • Manual override anytime

    Operator can fire REDIAL NOW from the activity feed. Same dial, same context, no waiting for the scheduled moment.

DETECT

Every outcome, captured.

Voicemail isn't a connect. Busy isn't a refusal. We classify every dial outcome, and that classification drives what happens next in the chain.

CONNECTED
Caller picked up, conversation took place. Chain closes.
VOICEMAIL / IVR
Answering machine or IVR detected. Retry triggered, longer delay by default.
NO ANSWER
Call rang out, nobody picked up. Retry triggered.
BUSY
Line was occupied. Retry triggered with a short delay.
CONVERSATION SILENT
Call connected but no audio either way. Retry triggered, longest default delay.
TECHNICAL ERROR
Carrier or routing failure. Retry triggered, the only outcome we flag as a real problem.
CHAIN

Retry until success, or until the line is clear.

Voicemail on attempt 1 doesn't end the chain. We retry up to your configured max, preserving per-attempt history. On the final attempt, GUARD ZERO fires: your agent gets a flag and a prompt snippet to tell the caller honestly that this is the last try.

  • Per-trigger retry delays

    Each outcome gets its own delay before the next attempt. Voicemail waits longest, busy retries soonest, silent conversations wait a day. Sensible defaults, overridable per agent.

  • Configurable chain max

    Plan ladder: free 1, starter 3, pro 5, scale 10. Lower per agent if you want. The most aggressive setting still feels measured to the caller.

  • Per-attempt history preserved

    Every outcome stored on the chain row, queryable in the activity feed. Voicemail on attempt 2 stays visible even after attempt 3 connects.

  • GUARD ZERO final-attempt prompt

    On the last attempt, your agent receives an is_final_attempt flag plus a snippet that tells the caller verbatim: this is the last try, want to continue now?

CONFIGURE

Every retry rule, your call.

Each outcome is its own switch with its own wait time. Quiet hours, quiet days, and the default timezone live as workspace defaults. Override on any single agent without re-typing the rest.

  • Per-trigger retry rules

    Voicemail, no answer, busy, technical error, conversation silent. Each one has its own on or off and its own wait time before the next dial.

  • Voicemail and IVR detection

    Classified automatically. Treat it as a retry trigger instead of a connect, or turn detection off if your trunk handles it differently.

  • Quiet hours and quiet days

    Block by hour window and by full calendar day. Sundays off? Statutory holidays? Set them once at the workspace.

  • Workspace defaults on every plan

    Set timezone, quiet hours, retry triggers, and limits once at the workspace. Every agent inherits.

  • Per-agent overrides on Pro and Scale

    Need one agent to behave differently? Higher-tier plans unlock per-agent overrides so you can change only the rows that need to differ, without re-typing the rest.

  • Max attempts per plan

    free 1, starter 3, pro 5, scale 10. On Pro and Scale you can lower it per agent to be more conservative on a specific line.

FORWARD

Your tools, intact.

Drop your existing webhook URL into redialer.io and we forward every Retell payload there. Same structure, your fields untouched. We add a few of our own alongside (attempt number, chain context) but never modify or drop yours.

INBOUND · webhook
RETELL
REDIALER

Signature-verified at the door. Per-agent URL.

PASS-THROUGH · your URL
REDIALER
YOUR URL

Same structure, your fields intact, our fields alongside.

OUTBOUND · the dial
REDIALER
RETELL

Same trunk, same agent, chain context as dynamic vars.

OPERATE

Visibility and control, when you need it.

The activity feed is the operator's home. Filters across view, date, agent, and outcome. A detail panel for every callback. Direct actions when you need to step in.

  • Chain-grouped activity feed

    Attempts 1 through N for the same caller show together, not scattered across the timeline.

  • Outcome filter spans the chain

    Filter to VOICEMAIL and you see every chain where at least one attempt hit voicemail. Not just the most recent dial.

  • REDIAL NOW & cancel

    Fire a callback immediately from any row, or cancel a scheduled one before it dials. Audit log records the actor and reason.

  • Per-callback detail panel

    Full payload, transcript link, chain history, retry decisions, the exact dynamic vars we sent to Retell on the dial.

TRUST

Read-only, signed, encrypted.

Your Retell API key is read-only on our side. We never write to your Retell account. Every webhook we deliver is signed. Sensitive data is encrypted at rest with the key material held outside the application database.

  • Read-only Retell access

    We list and read your agents to verify configuration. The Boolean and the webhook URL are changes you make in your Retell dashboard.

  • Per-agent webhook URLs

    One signed URL per agent. A leaked URL only affects one agent.

  • Encrypted at rest

    API keys and caller PII are encrypted at rest. Decryption keys live outside the application database.

  • Rotate or disconnect anytime

    Replace your API key whenever you want, or disconnect entirely. We drop all derived state on disconnect. No shadow data.

READY TO WIRE ONE UP?

Three steps. About five minutes.