🇪🇸 Español 🇬🇧 English 🇧🇷 Português

Node: Schedule Message

How to use the Schedule Message node to send a message to the contact at a future date or time from a workflow.

Jul 11, 2026

The Schedule Message node queues an outbound message to the contact to be sent at a future point in time, instead of sending it immediately. It's how you build reminders, follow-ups, or deferred messages inside a workflow.

When to use it

  • For reminders ("I'll write again tomorrow if you haven't replied"), post-sale follow-ups, or reactivation messages scheduled ahead of time.
  • When the send shouldn't go out at the moment of the trigger, but later.

Requirements

  • The message (content) can't be empty.
  • A destination conversation must be resolvable based on the chosen channel mode (see below).
  • Message variables ({{contact.first_name}}, etc.) are resolved at scheduling time, not when the message actually sends — they reflect the contact's state at that moment, not whatever it becomes hours or days later.

Configuration

  • Send timing:
    • Relative mode (mode = relative): sends N minutes after being scheduled (delay_minutes).
    • Absolute mode (mode = absolute): sends at an exact date/time (at). If that time has already passed by the moment the node runs, the message is sent immediately instead of being dropped.
  • Channel mode (channel_mode):
    • last (default): sends on the trigger's own conversation.
    • specific: sends on an existing (or new) conversation on the chosen channel.
    • start_new: always creates a fresh conversation on the chosen channel — designed exactly for scheduled sends where there may not be an open conversation at that time.
  • Channel (channel_id): required when the mode is specific or start_new.
  • Message (content, required): the text to send; supports variables.

Example

A workflow fires when an agent closes a sales conversation without the contact confirming payment. The Schedule Message node is set to relative mode with delay_minutes = 1440 (24 hours) and channel_mode = start_new on the contact's WhatsApp channel, with the text "Hi {{contact.first_name}}, were you able to complete the payment? Let me know if you have any questions."

Tips

  • Use start_new when you can't guarantee an open conversation will exist at the actual send time (e.g. multi-day schedules).
  • If you schedule in absolute mode with a date that's already past, the system doesn't discard the message — it sends it right away instead of silently dropping it.

Troubleshooting

  • "Empty message content": the Message field was left blank.
  • "Invalid schedule time": delay_minutes (relative mode) or at (absolute mode) is missing, or the value isn't valid.
  • "channel_mode=last but the trigger did not provide an open conversation": switch to specific or start_new and set a channel — last mode needs an active conversation on the trigger.
Was this helpful?

Related articles