Automation

Waits, delays, and schedules

Control when things happen in a flow — relative waits, clock-time schedules, reply-driven pauses, and window-aware branching.

Updated Jul 2, 2026

The timing toolkit

Four nodes — plus one message option — cover every “when” a conversation needs. Wait pauses for a duration you set. Schedule pauses until a clock time. Wait for Response pauses until the contact replies. Messaging Window branches on whether Instagram will accept a DM at all. And message nodes with URL buttons can wait for the click itself.

All of them are durable: a run waiting out a three-day pause survives anything happening in between, and the Runs page shows exactly what it’s waiting for.

Wait: relative time

The Wait node pauses for a set duration — seconds, minutes, hours, or days, up to a hard maximum of 30 days. A few seconds before a reply makes automation feel human; a day between value messages makes a sequence feel intentional. While a longer wait is pending, the run shows as “Delayed.”

Past Instagram’s messaging window (about 23 hours), a DM after the wait only delivers if the contact has replied in the meantime — so the builder flags long waits at publish as a warning, not a blocker, and suggests the durable alternative: send an email instead. It even nudges you to add an Ask for Input step earlier if the flow doesn’t capture one yet.

Schedule: clock time

The Schedule node resumes the run at a time of day rather than after a duration — “continue at 9:00 AM” — in two flavors: the next occurrence of that time (today, or tomorrow if it’s already passed), or the next matching day when you toggle specific weekdays. Time is set to five-minute precision, and a waiting run shows as “Scheduled.”

Timezones are explicit: use your workspace timezone (the default), the contact’s own timezone when their record carries one, or a fixed zone you pick. The same messaging-window caution applies as with long waits — the builder warns when a scheduled resume can land outside the window.

Wait for Response: reply-driven

Wait for Response pauses until the contact says something — any reply counts, whether it’s typed text, a quick-reply tap, or an attachment. The run takes the Reply branch when they do, or the No Reply branch when your timeout passes (four hours by default, configurable up to 30 days). What they said lands in {{lastMessage.text}}, ready for a Condition node to branch on.

While a run waits, the contact’s reply resumes that run — it doesn’t fire your other triggers or start a second conversation on top of the first.

Messages with URL buttons have a sibling option: Wait for URL click pauses until the recipient actually taps a link, with per-button branching if you want it and a timeout from one minute up to 7 days. It’s how a flow follows up differently with people who opened your link versus people who didn’t.

Messaging Window: branch instead of hope

Message nodes already respect the messaging window at send time — a blocked send routes to the node’s “not sent” handling. The Messaging Window node exists for flows that want to decide earlier: it checks whether the contact has messaged you within your safety margin (up to 23 hours) and branches Open or Closed before any DM is attempted.

The Closed path is where good flows differentiate themselves — send the follow-up by email, notify a teammate, or tag the contact for the next campaign, instead of letting the conversation end in silence. Brand-new contacts with no message history count as Open, so first-contact automations aren’t blocked by caution.

How timing meets the window

Two behaviors tie it all together. First, waits and schedules don’t check the window themselves — the pause always completes, and the next message node applies the rules at send time. That’s good news as often as not: a contact who replied during your three-day wait has reopened the window, and the delayed message sends normally.

Second, a message arriving during a Wait or Schedule doesn’t disturb the pause — the run keeps waiting, and the new message routes normally: into your inbox, and to any other trigger it matches. The full enforcement rules — window math, rates, and what “not sent” looks like on the Runs page — live in the messaging limits guide.