Scheduled Messages
Schedule a one-time WhatsApp message to a lead at a future date and time — via the Chrome Extension (free-form text) or the WhatsApp API (approved template), with optional automatic retries.
Overview
Scheduled Messages let you queue a one-time WhatsApp message to a specific lead at a chosen future date and time. Unlike Auto Followups, which run a multi-step sequence, each scheduled message is a single, independent send. You can schedule up to 1 year in advance and have up to 5 pending messages per lead at any time.
You can send the message in two ways:
- Chrome Extension — a free-form text message delivered by the Kraya WhatsApp Extension from your browser, just like a normal extension auto-followup.
- WhatsApp API — an approved WhatsApp template message delivered by Kraya's WhatsApp Business API connection. Useful when you need to reach a lead outside the 24-hour customer service window, because template messages can be sent even after the conversation window has closed.
What you can do
- Schedule a one-time message to any lead, up to a year in advance
- Choose between Extension (free-form text) or WhatsApp API (approved template) delivery
- Personalize Extension messages with placeholders such as
{lead_name},{lead_first_name},{email},{user_name},{org_name}, and your organization's custom attributes - Fill in template variables for WhatsApp API messages before scheduling
- For WhatsApp API messages, optionally enable automatic retries (1, 2, 3, or 5 attempts, spaced 8, 12, 16, 24, or 48 hours apart) if a send fails
- Edit or cancel any pending message before it goes out
- See up to 5 pending messages directly in the CRM column, with the soonest one shown inline
- Open a full history of past scheduled messages (sent, failed, cancelled, retrying) for any lead
How it works
- Every lead row in the CRM has a Scheduled Message column. From there you click + Schedule to open the Schedule Messages modal.
- After you save, the message appears in the column as "DD MMM, HH:MM AM | Template or message label" with Edit and Cancel buttons. The earliest pending message is shown inline; additional pending messages are reachable through a + N more link that opens a popover.
- When the scheduled time arrives, Kraya sends the message:
- Extension messages are sent by your Kraya WhatsApp Extension during its next interval check. The extension must be open, you must be on the primary WhatsApp session, and the auto-follow-up switches must be on (same conditions as auto-followup messages).
- WhatsApp API messages are sent by Kraya's servers. They respect the same business-hours window and per-lead auto-responder switch as your auto-followups.
- After the message is sent, its status changes to Sent and it disappears from the column. You can still see it in the Scheduled Message History modal (clock icon).
- If a WhatsApp API send fails and you enabled retries, Kraya schedules another attempt after the configured gap and marks the message Retrying. If retries are off, or all attempts are exhausted, the message is marked Failed with the reason.
- The column refreshes in real time when a scheduled message is created, edited, cancelled, or sent — including changes made from another device or by a teammate.
Step-by-step guide
Scheduling a message
- In the CRM page, locate the lead and find the Scheduled Message column on that row.
- Click + Schedule. The Schedule Messages modal opens.
- Choose Send via:
- Extension — sends a plain text message from your WhatsApp Web extension.
- WhatsApp API — sends an approved template message. This option is disabled if no active WhatsApp Business Account is connected to your organization; the tooltip reads "Connect a WhatsApp API account to use this option."
- If you picked WhatsApp API:
- Click Choose a template and select an approved template from your WhatsApp Business Account. Use the eye icon next to the selected template to preview it.
- Fill in each Template Variable that the template body uses. Every variable is required — the modal shows "N variables still need values before scheduling" if any are empty when you try to save.
- If you picked Extension:
- Type your message in the Content box (up to 4,096 characters; the counter is shown below the box).
- Use the placeholder pills below the box to insert personalization tokens such as
{lead_name}or{org_name}at the cursor position. Click Show More to see all available placeholders, including your organization's custom attributes.
- Pick a Schedule for date and time. The picker uses your organization's timezone and must be a future moment within the next 1 year.
- (WhatsApp API only) If you want failed sends to retry automatically, tick Retry failed messages and choose:
- Retry Attempts: 1, 2, 3, or 5 times
- Retry After: 8, 12, 16, 24, or 48 hours between attempts The helper text "Retries will stop automatically if the user responds" describes the safety stop.
- Click Schedule Message. The button shows Scheduling… while the request is in flight, then closes the modal on success. The new message appears in the lead's Scheduled Message column.
Editing a pending message
- In the Scheduled Message column, click the Edit (pencil) button on the message you want to change.
- The same Schedule Messages modal opens prefilled with the existing values, with the title Edit Scheduled Message.
- Change any field — mode, template or content, date and time, retry settings — and click Schedule Message to save.
Editing is only allowed while a message's status is Pending or Retrying. Once it has been sent, cancelled, or marked failed, the Edit button is no longer offered.
Cancelling a pending message
- In the Scheduled Message column, click the Cancel (cross) button on the message you want to stop.
- The message moves to Cancelled status and disappears from the column. You can still see it in the History modal, along with who cancelled it and when.
Cancelling is only allowed while the message is Pending or Retrying.
Viewing the history
- In the Scheduled Message column for any lead, click the clock icon.
- The Scheduled Message History modal opens, listing every scheduled message ever created for that lead, sorted by the scheduled date with the most recent first.
- Columns: Status, Scheduled For, Message (template or text content), Mode, Sent At, Created By.
- Hover a row's status icon to see the failure reason if any. Hover the Message cell to see the full content in a tooltip when it is truncated.
- Scroll down to load more rows (10 per page). If the lead has no scheduled messages ever, the modal shows "No scheduled messages yet for this lead." with an illustration.
Settings and configuration
There are no separate settings for Scheduled Messages — the feature reuses your existing Auto Follow-Up configuration:
- Auto Follow-Up business hours (set in the extension's Global Settings modal) — WhatsApp API messages are only sent while you are inside business hours. Outside business hours, due messages are deferred to the next eligible check and do not count as failures.
- Auto Follow-Up master switch — must be on, both at the lead level and globally, for any scheduled message to send.
- Active WhatsApp Business Account — required for WhatsApp API messages. If your organization has no active account, the WhatsApp API option is disabled in the modal.
Limits and quotas
- Up to 5 pending scheduled messages per lead at a time. When you hit the limit, the column shows a "Limit reached (5/5)" pill instead of + Schedule, with a tooltip "Cancel an existing pending message before scheduling a new one." Cancelling, or letting a pending message send, frees up a slot.
- Messages can be scheduled at most 1 year in the future.
- Extension content is capped at 4,096 characters.
- WhatsApp API retries: 0 (off), 1, 2, 3, or 5 attempts; spaced 8, 12, 16, 24, or 48 hours apart.
Common edge cases
-
You hit the 5-pending limit The "+ Schedule" link is replaced by "Limit reached (5/5)". Cancel one of the existing pending messages from the column, or wait for it to send, before scheduling another.
-
WhatsApp API option is greyed out Your organization has no active WhatsApp Business Account. Connect one from Dashboard → Connect WhatsApp, then reopen the modal.
-
Selected template is unapproved or removed before send The scheduled message fails with the reason "Template is no longer approved" or "Template not found." Pick a different template and reschedule.
-
WhatsApp Business Account becomes inactive before send The scheduled message fails with "WhatsApp account is inactive." Reconnect the account, then reschedule.
-
Scheduled time falls outside business hours (WhatsApp API) The message is not marked failed — it is deferred and re-attempted on the next eligible check once business hours resume. Status stays Pending.
-
Per-lead auto-responder is off WhatsApp API messages will not send while the lead's auto-responder switch is off; they remain pending. Turn the lead-level switch back on to resume.
-
Extension is offline or WhatsApp Web tab is closed (Extension mode) The message stays Pending until the extension comes back online and the next interval check picks it up. There is no automatic timeout.
-
Editing a message that has already started sending Edit is hidden once the status moves out of Pending or Retrying. If you do not see Edit or Cancel, the message has already been picked up for delivery, was sent, was cancelled, or has been marked failed.
-
Lead is deleted before send The scheduled message fails with "Lead not found."
-
You schedule a date in the past by accident The form blocks save and the date/time field shows an inline error. Pick a future moment in your organization's timezone.
-
You try to schedule a 6th message while 5 are pending The save is rejected with the message "This lead already has 5 pending scheduled messages. Please cancel an existing one before scheduling another."
-
Template variable left blank The save is blocked and a red helper line appears: "N variables still need values before scheduling." Fill in every variable that the template body uses.
Troubleshooting
A scheduled message never sent and is still Pending past its scheduled time
- Cause (WhatsApp API): outside business hours, per-lead auto-responder switch off, or no active WhatsApp Business Account.
- Cause (Extension): extension offline, WhatsApp Web tab closed, not on the primary WhatsApp session, or the auto-follow-up master switch is off.
- Fix: Check business hours and both auto-follow-up switches (lead-level and global). For Extension, keep WhatsApp Web open on the primary session and confirm the extension is active. The message will pick up on the next interval check.
A WhatsApp API message went to Failed
- Cause: Open the History modal and hover the status icon to read the failure reason. Common ones:
- Template is no longer approved — the template was removed or unapproved in Meta after you scheduled.
- WhatsApp account is inactive — the WhatsApp Business Account is no longer connected or has been disconnected by Meta.
- Lead not found — the lead was deleted.
- Fix: Fix the underlying issue (re-approve template, reconnect account, restore lead), then reschedule.
A failed WhatsApp API message does not retry
- Cause: Retries were not enabled when you scheduled the message, or the retry budget has been exhausted.
- Fix: Schedule a new message with retries enabled. Note: retries also stop automatically if the lead replies in between attempts — this is by design, not a bug.
I cannot find the Edit or Cancel buttons on a message I scheduled
- Cause: The message has moved out of Pending or Retrying status (it has been sent, cancelled, or marked failed beyond retries).
- Fix: Open the History modal to confirm its current status. If it was sent, no action is needed. If it failed, schedule a new one.
The "+ Schedule" link is missing on a lead
- Cause: That lead already has 5 pending scheduled messages, so the link is replaced by the "Limit reached (5/5)" pill.
- Fix: Cancel a pending message from the column, or wait for one to send, then schedule the next.
An Extension scheduled message keeps showing Pending even though business hours are on
- Cause: WhatsApp Web tab is not open, you are not on the primary WhatsApp session, or the auto-follow-up master switch in the extension's Global Settings is off.
- Fix: Open WhatsApp Web, make sure the extension is the primary session, and turn on the Auto Follow-up master switch. The extension will pick up the message on its next interval check.
FAQs
-
Can I send a WhatsApp template message even if the 24-hour conversation window with the lead is closed? Yes. WhatsApp API scheduled messages use approved templates, which Meta allows you to send to any opted-in number regardless of the 24-hour window. This is one of the main reasons to use the WhatsApp API mode.
-
What is the difference between a Scheduled Message and an Auto Followup sequence? An Auto Followup is a multi-step sequence assigned to a lead — the messages and timing are defined once in the sequence and reused across many leads. A Scheduled Message is a one-time send for a single lead, scheduled ad hoc. The two run independently and can both be active on the same lead at the same time.
-
Can I schedule more than 5 messages for the same lead? Not at the same time. The limit is 5 pending per lead. As pending messages send out or are cancelled, slots free up and you can schedule new ones. Sent and cancelled messages do not count against the limit.
-
Will Extension scheduled messages send if my browser is closed? No. Extension messages need WhatsApp Web open with the Kraya extension active. If the browser is closed or the tab is shut, the message stays Pending until you reopen WhatsApp Web.
-
Will WhatsApp API scheduled messages send if my browser is closed? Yes. WhatsApp API messages are sent by Kraya's servers, so the browser does not need to be open. They still require the auto-follow-up switches to be on and the send time to fall inside business hours.
-
What happens if the lead replies before my scheduled message goes out? The scheduled message still sends at the configured time. For WhatsApp API messages with retries enabled, retries will not continue after a lead reply.
-
Can I see who scheduled or cancelled a message? Yes. The History modal shows Created By for every row, and the cancellation timestamp and user are recorded internally as well.
-
Can a teammate edit or cancel a message I scheduled? Yes, as long as the message is still Pending or Retrying and the lead is in your shared organization. The column updates in real time across devices.
-
Can I schedule a message more than a year in advance? No. The date picker blocks dates beyond 1 year from today.
Related features
- Auto Followups — multi-step automated sequences; scheduled messages run independently but share the same business-hours and auto-responder switches
- Chrome extension — sends Extension-mode scheduled messages during its auto-follow-up interval
- WhatsApp API integration — WhatsApp Business Account, approved templates, and the 24-hour customer service window
- Dashboard — the CRM page that hosts the Scheduled Message column