Callbacks

People who asked to be rung back — scheduled automatically, or filed for review.

When someone on a call says "can you ring me back tomorrow at three?", Sysevo doesn't just write it in a transcript and hope somebody reads it. The Callbacks page turns that sentence into a real, scheduled dial — or, when the request is too vague to act on safely, into a job on a review list with the caller's exact words attached.

In this guide

  • How a callback is captured
  • Getting to the page
  • The three tabs: Scheduled, Needs review, History
  • How the time is worked out
  • Which number gets dialled
  • Why a callback lands in Needs review
  • The answering-machine guard
  • Working the review list
  • Editing, rescheduling and cancelling
  • Notifications
  • Troubleshooting

1. How a callback is captured

Every completed call is analysed. Part of that analysis asks a single question: did this person ask to be called back, and when?

The model's job stops at describing what was said — it never computes a timestamp itself. It returns a structured description:

  • Did they ask? (yes / no)
  • The raw phrase they used, verbatim.
  • A time spec — either a duration ("in two hours", "in fifteen minutes") or a calendar reference ("tomorrow", "Friday", "August 15th"), optionally with a clock time or a daypart ("later this afternoon", "tonight").
  • A confidence — how precisely the time was stated.
  • A number, if they gave one.

Sysevo then does the arithmetic itself and decides one of three things: schedule it, send it for review, or ignore it.

Why the split matters. Letting a language model do date maths is how a callback booked for "in two hours" ends up three weeks out. Keeping the arithmetic in one deterministic place means a prompt change can degrade extraction quality but can never silently break the timing.


2. Getting to the page

  1. Open the Voice AI hub.
  2. Click Callbacks in the left navigation (the calendar-clock icon).
  3. The page opens at …/voice/callbacks.

The header reads Callbacks"People who asked to be rung back, and when they asked for." A Refresh button sits on the right.

Callbacks share the Campaigns feature gate.


3. The three tabs

TabWhat it holds
ScheduledCallbacks with a resolved time that are queued to dial, in progress, or already dialled.
Needs reviewRequests that could not be turned into a dial automatically. Each one names why.
HistoryEverything that has already run, including failures.

Each scheduled row carries a state:

StateBadgeMeaning
queuedWaitingScheduled, not yet due.
processingCallingThe dial is happening now.
processedCalledThe callback ran.
failedFailedThe dial could not be placed.

4. How the time is worked out

Two kinds of request resolve differently.

Durations — "in two hours", "in twenty minutes". These resolve immediately from the moment of the call and never need a timezone. They are bounded deliberately: at most 12 hours or 720 minutes, at least 1. A misread like "in 500 hours" is rejected rather than booked three weeks out, and a zero that would resolve to now is rejected too.

Calendar references — "tomorrow", "Friday", "the 15th". These need the caller's timezone to become a real instant, because 3pm is not a moment in time until you know where the person is.

A few rules make the results sensible:

  • Weekends roll to Monday — unless the caller explicitly named Saturday or Sunday. "Tomorrow" on a Friday means Monday; "call me Saturday" means Saturday.
  • A daypart fills in for a missing clock time — morning becomes 9am, afternoon 3pm, evening 6pm.
  • No time and no daypart defaults to 11am.
  • The caller's own words overrule the model's reading of them. If the transcript plainly says "in two hours" but the extraction came back as a calendar time, the spoken duration wins.

5. Which number gets dialled

Four possible numbers are considered, in this order:

PrioritySourceWhy it ranks here
1Requested on the callA number they explicitly asked to be rung on.
2Stated on the callA number they mentioned in passing.
3The lead recordWhat we already had on file.
4The number we dialledThe line we reached them on.

The order is what did they ask forwhat do we know, not what is the cleanest data. A direct line someone hands over beats the switchboard we called, even though ours is tidier.

Every candidate is validated before it is used: it must be 8–15 digits and must not contain letters. Transcript debris like "this one" (lifted from a caller answering "this one's fine") is rejected — and a rejected candidate falls through to the next source rather than ending the search.

On outbound calls, the number we called from is deliberately never used as the number to ring back. That is our own caller ID, and dialling it would ring ourselves.


6. Why a callback lands in Needs review

A callback goes to review rather than the dialler when it cannot be turned into a defensible time. The reason is always stated verbatim on the row:

ReasonWhat happened
time too vague to dial onThe request was real but the time was not specific enough — "sometime next week", "when you get a chance".
no timezone to dial againstA calendar time was given but we don't know where the caller is, so 3pm has no meaning.
could not resolve a timestampThe time spec was malformed or unusable.
unparseable timestampThe resolved value was not a valid date.
requested time is in the pastThe computed time has already gone by — usually a stale analysis run.
no phone number to dial backNobody gave a number and none of the fallbacks produced a dialable one.
machine answered (…) — greeting, not a requestSee below.

Each review row shows the raw phrase the caller actually used. That is usually enough to resolve it in one glance without opening the call.


7. The answering-machine guard

An answering machine says "please leave your name and number and I'll get back to you." Read literally, that is somebody asking to be rung back — and the extracted callback object is indistinguishable from a genuine request. The words are identical; only the speaker differs.

Sysevo already knows the difference from the disposition assigned earlier in the same analysis. So a callback extracted from a call whose disposition sits in the machine answered bucket — voicemail, call screening, IVR — is filed for review with the reason "machine answered (voicemail_business) — greeting, not a request" rather than dialled.

Two deliberate exclusions:

  • needs_review dispositions do not suppress. A genuine request the classifier simply could not code must never be dropped — a real person never getting their call back is a worse failure than a junk row a human closes in two seconds.
  • An unknown or missing disposition fails open. A missed suppression costs someone thirty seconds; a wrong one costs a prospect.

8. Working the review list

For each review row you can:

  • Read the phrase — what the caller actually said.
  • Open the call — jump straight to the conversation and its recording.
  • Set a time and schedule it — supply the time the extraction could not resolve, and it joins the Scheduled tab.
  • Add or correct the number — where the reason was a missing or unusable number.
  • Dismiss it — for machine greetings and anything that was never a real request.

Read before dismissing in bulk. Several review reasons — a vague time, a missing timezone — sit on top of a perfectly real request from a real person.


9. Editing, rescheduling and cancelling

A scheduled callback that has not yet run can be rescheduled or cancelled from its row. Cancelling removes it from the queue; it stays visible in History so the record of the request is never lost.

A cancelled callback is not resurrected by a later analysis run.


10. Notifications

Callbacks becoming due raise a notification so a person is prompted before the moment passes, rather than discovering the request afterwards in a transcript. Notification routing is configured per user under Settings → Notifications.


11. Troubleshooting

SymptomCauseFix
A caller asked for a callback but nothing appearsThe disposition was in the machine-answered bucket, or the extraction did not read it as a requestCheck Needs review, then open the call and read the transcript
Callbacks are scheduled at odd hoursNo timezone on the caller, so a default was usedMake sure your campaign contact data carries a timezone
A callback dialled the wrong numberA better number appeared later in the call than the one selectedCorrect the number on the lead; the priority order is documented above
A scheduled callback shows FailedThe dial could not be placed — no minutes, no available number, or a carrier rejectionCheck the Wallet balance and Phone Numbers
Everything is in Needs reviewCalls are being analysed without a timezoneSet the caller timezone on the campaign or the agent

  • Call Analysis — what gets extracted from each call
  • Call Actions — the other things that happen automatically after a call
  • Dispositions — how the answering-machine guard knows
  • Campaigns — the outbound calling callbacks come from
Was this page helpful?
Open Dashboard →