Starts a flow by the clock, without waiting for the person to write. The three modes, the contact date field, the offset value and how the 24-hour window applies.
Reminding a customer today about tomorrow's appointment, writing a birthday message, or launching a campaign at exactly ten on Saturday morning — none of these wait for the customer to write to you. That is what sets the Date and time trigger apart from the other nine: it waits for the clock, not for an incoming event. This guide covers the three modes, the fields, and the rules that apply at sending time.
⚠️ Note: when the moment comes, the 24-hour rule still decides whether the message actually goes out. If the person has not written to you in the last 24 hours the message is not sent and the reason is recorded. The warning in the editor says the same thing.
In this article you will find:
What it does
The three modes
Building the trigger
Fields and buttons
What happens when the time comes
Limits and known issues
Common mistakes and how to fix them
What it does
The trigger scans your contacts at intervals, writes the jobs that are coming up into a queue, and starts the flow when the moment arrives. The person does not have to write, comment or click anything.
There are three typical uses:
Appointment reminders. A message goes out 24 hours before the appointment date on the contact card.
Birthday greetings. On the same day every year, with a gift code.
Campaign launches. On a specific day and hour, to everyone with the tag you chose.
This trigger works on both Instagram and WhatsApp. Whether the message actually goes out is decided by the channel's own rules; see "What happens when the time comes" below.
The three modes
Your choice in the When it runs list also decides which of the other fields appear.
A specific moment — You pick one day and time. When it arrives, the flow starts for every contact matching the tag filter. This is the right mode for campaign announcements. No date on the contact card is looked at.
Based on a contact date — It works from a date field on the contact card. For every contact whose field is filled, a moment is calculated from that date, and the Offset value pulls it earlier or later. Appointment, delivery and payment-due reminders are built this way. Contacts with an empty field are skipped.
Every year (like a birthday) — Also uses a date field on the contact card, but only looks at its day and month. The year is always the current one; if the day has passed, next year is calculated. This is the mode for birthday and anniversary flows.
Building the trigger
Let us build an appointment reminder for a beauty salon. We assume your contact card has a field called appointment holding the appointment date.
Open an empty flow with New automation from the Automations list.
On the Flow tab, click the When… box on the canvas.
Press Add trigger in the panel on the side.
Pick Date and time from the list.
Choose Based on a contact date in the When it runs list.
Choose Custom field in the Date field list and type appointment into the box.
Type -1440 into the Offset (minutes) box. A negative value means "before"; 1440 minutes is 24 hours.
Type 10 into the Sending hour box. This hour is used when the field carries no time.
Leave Only contacts with this tag empty so every contact with an appointment is included.
Connect the start box's Next output to a Message step and write "Just a reminder about your appointment tomorrow. Write to us if anything needs to change."
Press Publish at the top right. Your automation is now running.
You may write the date on the contact card as 2026-10-05, 2026-10-05T14:30 or 05.10.2026; all three are read.
Fields and buttons
Which fields appear depends on the mode you chose.
When it runs — One of three modes: A specific moment, Based on a contact date, Every year (like a birthday).
Date and time — Appears only in A specific moment mode. It is a calendar box and it is read in the account's time zone. Left empty the flow cannot be published: the pre-publish check reports "No date picked for the scheduled trigger."
Date field — Appears in the other two modes. The dropdown holds Name, Email, Phone and Custom field; the field holding your date is almost certainly a custom one, so pick Custom field and type the key (lower case, digits and underscores, for example appointment). Without a selection the pre-publish check reports "No date field picked for the scheduled trigger."
Offset (minutes) — Minutes added to or subtracted from the date in the field. A negative value means before: -1440 is one day earlier, 60 is one hour later. Up to 43,200 minutes (30 days) either way.
Sending hour — An hour between 0 and 23. It is used only when the date in the field carries no time; if the field has a time, that time wins. In Every year mode this hour is always used.
Only contacts with this tag — A single tag name. Left empty, every contact is scanned; filled, only those carrying that tag. The tag is matched using the account's language rules.
Channel — Which account the trigger runs on. It appears only when more than one channel is connected.
Remove — The cross at the top right of the card deletes the trigger.
The warning under the card repeats the sending rule: "The 24-hour rule still applies to sending steps: if the person has not written in 24 hours the message is not sent and the reason is recorded."
What happens when the time comes
The sweep has two stages. First the upcoming jobs are written into a queue, then the ones that are due are run. Because of that split, however many times the scan runs, the same person never gets the same message twice.
A queued job closes without running when:
The automation has been switched off or deleted.
The automation has no published version.
The contact has been deleted.
The flow's start is not connected to any step.
If the job does run, a session opens and the flow proceeds normally. From there on it behaves like any other trigger: steps run in order, conditions are evaluated, messages are sent.
But the channel's rule applies at sending time. If the person has not written to you in the last 24 hours the message does not go out, and the log shows the reason "24-hour window closed". On WhatsApp the only way around that is an approved Template step: a template goes out regardless of the 24-hour window. On Instagram there is no such route for scheduled flows.
💡 When building an appointment reminder you can add a Condition step with the Messaging window rule: if the window is closed, assign the conversation to an agent or notify the team instead of ending the flow.
Scheduled flows sit outside two rules. The first is the re-entry rule: Can the same person enter again? on the Settings tab does not apply here; what prevents repetition is that only one job is written per contact per date. The second is out-of-hours deferral: Defer automations to opening time does not delay scheduled flows, because you picked the hour yourself.
A scheduled flow also ignores the person's running session: it starts even while they are waiting to reply in another flow.
Limits and known issues
The 24-hour rule applies at sending time; if the person has not written in the last 24 hours the message does not go out.
The offset can be at most 43,200 minutes (30 days) either way.
The sending hour is between 0 and 23; minutes cannot be chosen.
Only jobs in the near future are queued: a sweep looks 36 hours ahead. Dates further out are written as they approach.
Jobs in the past are not written: publish a trigger more than 24 hours after its date and nothing happens.
At most 5,000 contacts are scanned per trigger in one sweep.
Contacts whose date cannot be read are skipped. Supported formats: 2026-10-05, 2026-10-05T14:30, 05.10.2026.
Contacts with an empty date field are skipped.
Only one tag can be entered in the tag filter.
In A specific moment mode the flow runs once; to use the same trigger again you have to change the date and publish again.
The trigger only runs while the automation is Live.
Common mistakes and how to fix them
Writing a positive offset.1440 means one day after, so the appointment reminder goes out a day late. Use a negative value for "before": -1440.
Getting the date field key wrong. The key must match the one on the contact card exactly. Appointment and appointment are not the same; keys are made of lower-case letters, digits and underscores.
Storing the date as free text. A value like "Tuesday the 5th of October" cannot be read and the contact is skipped. Write the date in one of the supported formats.
Forgetting the 24-hour rule. This is the most common disappointment: the reminder is built, but the message does not go out because the customer has not written for months. Use the Template step on WhatsApp accounts.
Choosing a date in the past. A "specific moment" trigger whose date has passed never runs. Check the date before publishing.
Trusting the re-entry rule. That setting does nothing in scheduled flows. What stops a person getting two messages is that one job is written per contact per date — change the date on the contact card and a new job is written, so the message goes out again.
Testing on a real contact. Check the flow's steps with the simulator on the Test tab first; a scheduled trigger does not wait there, so you can start the flow directly.
If the moment has come and nothing happens, see the automation never starts guide or get in touch with our Support team.