Scheduled Callbacks
A scheduled callback is a one-off follow-up promise attached to a specific chat. When a member says "call me back tomorrow at 2pm" — or when an agent decides a check-in is warranted — the AI schedules a callback and the platform delivers it automatically at the scheduled time.
Callbacks are intentionally separate from Routines. Routines repeat or run across member cohorts; a callback is a single dated promise on one conversation.
How Agents Schedule Callbacks
Agents schedule callbacks using the built-in schedule_callback ability. The agent invokes it automatically when:
- The member asks to be contacted later ("call me back tomorrow", "check in next week", "remind me at 3pm")
- The agent determines a follow-up at a specific time would be appropriate
When a callback is scheduled, the member receives an in-chat confirmation message, and a banner appears in the chat UI showing the pending callback.
Viewing a Pending Callback
When a chat has a pending callback, an amber banner appears at the top of the chat conversation. The banner shows:
- When the callback is scheduled to fire (day, date, and time in the member's local time)
- How the follow-up will be delivered (text message, phone call, or email) — if a channel switch was requested
- Why — the reason for the callback, if one was provided
Cancelling a Callback
To cancel a pending callback:
- Open the chat conversation
- Locate the amber callback banner at the top
- Click the Cancel button (× icon) on the right side of the banner
The callback is cancelled immediately. If the Temporal workflow has already started (within seconds of the scheduled time), cancellation is best-effort.
Supported Channels
| Channel | How the Follow-up is Delivered |
|---|---|
| Same channel (default) | Continues the existing conversation — sends a new message on whatever channel the chat started on |
| SMS | Sends a text message to the member's phone number |
| Voice | Places an outbound phone call using the workflow's default phone number |
| Sends an email to the member's email address |
Web chat note: For web-chat conversations, the follow-up message is saved into the chat (visible the next time the member opens it) but no push notification or SMS is sent. The member will see it on their next visit.
Voice note: A callback on a voice chat places a fresh outbound call — it cannot "resume" a finished phone call. The workflow must have a default phone number configured.
Callback Status Lifecycle
Each callback moves through the following states:
| Status | Meaning |
|---|---|
| Pending | Scheduled and waiting — shown in the chat banner |
| In Progress | The workflow is currently executing the follow-up |
| Completed | The follow-up was delivered successfully |
| Skipped | The workflow fired but did not send — the member had already continued the chat, or delivery preconditions were not met |
| Failed | An error occurred; the system will retry |
| Cancelled | Cancelled by a team member from the chat UI |
Once a callback reaches Completed, Skipped, or Cancelled, it no longer appears in the banner.
What Happens When a Callback Fires
At the scheduled time, the platform:
- Checks that the callback is still in a runnable state (pending, in progress, or failed)
- Evaluates whether the member has already continued the conversation on their own — if so, the callback is marked skipped to avoid an unnecessary interruption
- Delivers the follow-up:
- Same channel — sends an AI-generated continuation message in the existing chat
- Channel switch — opens a new chat on the target channel (places the call, sends the SMS, or sends the email)