Scheduled replies
Schedule a customer reply and confirm that your background processing can deliver it on time.
On this page
Overview
A scheduled reply is a public message stored on the ticket (scheduled_replies) and pushed as job send_scheduled_reply with a delay. The queue delivers it later using server time. You can cancel before send. This is not an IMAP feature and not Chat AI.
When to use this
Agents schedule “I will update you tomorrow 09:00” without leaving the laptop open. SLA next-response still depends on when the message actually sends.
Where to find the controls
Ticket workspace composer (schedule control). Pending items appear on the ticket payload. Failures land in PHP error log as HelSup scheduled reply #id failed. Delivery still uses the mailbox.
Who can make these changes
elegant_support_reply_ticket to schedule. Cancelling is the same class of mutation. Viewers cannot schedule.
Before you begin
No separate Settings tab. Delivery requires a working outbound mailbox and a running queue. Production: system cron. queue_batch_size is Settings → System → System.
Follow these steps
- Write a customer-facing reply.
- Choose the send time using the workspace timezone shown by the composer.
- Schedule it.
- Confirm the pending item and displayed time on the ticket.
- Cancel it before sending if it is no longer appropriate.
- After the queue runs, confirm the message in the thread and check delivery logs.
Settings reference
Body, send-at datetime, status pending/sent/cancelled/failed, id. Only the first pending item may be highlighted in the workspace UI.
Example workflow
Friday 18:00 an agent schedules a Saturday 09:00 update. Cron on Saturday sends SMTP. If cron never runs, the reply stays pending.
Good practices
Schedule in the support timezone from General, not the agent’s laptop if they travel. Cancel before editing the text by writing a new schedule.
Important considerations
A scheduled reply is customer-visible once sent. Do not schedule internal notes. Quiet sites on WP-Cron miss the send window until someone visits the site.
If something does not work
Stuck pending: cron/queue backlog (System Status). Failed: SMTP — read delivery logs and error_log. Contact support if the job ran (log line) but the thread has no message.