Steps
Date
Ask for a date (and time if you need it), accept the ways people really write dates, and enforce your booking rules.
What it does#
Date asks a question and waits for a date that fits your rules. Customers can write 14/10/2026, 14 Oct 2026, tomorrow or next Sunday (in English or Hebrew). You decide which dates are allowed: only future dates, a booking window, open days, no holidays, business hours. A date that doesn't fit gets a clear message, and the customer is asked again.
Add a Date step#
- 1
Drag Date onto the canvas
It's under Flow in the Steps panel on the left. Click it to open Step settings.
- 2
Name the step and write the question
Rename the step at the top of the panel (it starts as
date1), for examplebookingDate. Use letters and numbers only. Under Message, write the question. - 3
Choose the formats
Under Format, Accepted formats shows the ways a customer may write the date. All are on except
MM/DD/YYYY. Under Time, choose Date only, Time optional or Time required. - 4
Set the rules (optional)
Under Rules, choose Allowed dates, an Earliest date and Latest date, Allowed days, Israeli holidays and, with a time, Business hours.
- 5
Check the messages
Under Messages, each rule has the message customers get when they break it. Leave a field empty to use the default shown in grey.
- 6
Choose the output
Under Output, pick Show the date as, and what happens After invalid answers.
- 7
Try it
Under Try it, type sample answers, one per line, to see which are accepted and how they're saved.
Format#
| Accepted format | Example |
|---|---|
DD/MM/YYYY, DD.MM.YYYY, DD-MM-YYYY | 14/10/2026 |
D/M/YY (also with . or -) | 14.10.26 |
YYYY-MM-DD | 2026-10-14 |
MM/DD/YYYY (off by default) | 10/14/2026 |
| Written month | 14 Oct 2026, also in Hebrew |
| Words | today, tomorrow, next Sunday, also in Hebrew |
Turning on MM/DD/YYYY makes answers like 03/04/2026 ambiguous. When both orders fit then decides: Day first (03/04 = 3 April) or Month first (03/04 = March 4).
Time: Date only, Time optional or Time required. With a time, answers such as 16/10/2026 19:30 or tomorrow at 8pm are understood.
Rules#
| Rule | Options |
|---|---|
| Allowed dates | Any date, Only future or Only past. With future or past, Today counts decides whether today is allowed. |
| Earliest date / Latest date | No limit, a number of days from today (for example 60), or a Fixed date. |
| Allowed days | Turn off the days you don't accept, for example Sat. |
| Israeli holidays | Allowed, No rest days, or No holidays at all. |
| Business hours | With a time: turn on Only business hours and set From and To. |
Dates and times are in Israel time.
Example#
A restaurant takes bookings up to 60 days ahead, is closed on Saturdays and holidays, and serves from 12:00 to 22:00:
Name: bookingDate
Message: When would you like to come? (date and time)
Time: Time required
Allowed dates: Only future, Today counts
Latest date: 60 days from today
Allowed days: Sun to Fri
Israeli holidays: No holidays at all
Business hours: 12:00 - 22:00
Show the date as: DD/MM/YYYYIf today is Thursday 15 October 2026:
| The customer sends | They get |
|---|---|
| tomorrow at 8pm | Accepted. {{@bookingDate}} is 16/10/2026 20:00. |
| 16/10/2026 | Please add the time too, e.g. 15/10/2026 10:30. |
| 16/10/2026 09:00 | Please choose a time between 12:00 and 22:00. |
| 17/10/2026 20:00 (a Saturday) | Please choose a day from: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday. |
| 01/01/2027 20:00 | Please choose a date until 14/12/2026. |
On WhatsApp the customer types the date. On your website they can type it or pick it from a date picker that only offers the dates your rules allow.
Messages#
Each rule has its own message: Not readable, Out of range, Day not allowed, Holiday, Time missing and Outside business hours. Empty fields send a default in your bot's language. Messages can be up to 500 characters.
You can use {example}, {min}, {max}, {days}, {holiday}, {from} and {to}. They're filled in for the customer: We're closed on {holiday}. Please pick another day. arrives with the holiday's name.
Use the answer#
| Write | Holds |
|---|---|
{{@bookingDate}} | The date in the format you chose under Show the date as: DD/MM/YYYY (default), MM/DD/YYYY, YYYY-MM-DD, DD.MM.YYYY or DD/MM/YYYY HH:mm |
{{@bookingDate_raw}} | The answer exactly as typed, such as tomorrow at 8pm |
When the answer has a time, it's added after the date: 16/10/2026 20:00. With Time optional, avoid DD/MM/YYYY HH:mm: a date without a time would show as 16/10/2026 00:00.
After invalid answers#
- Keep asking (default): the customer gets the message and is asked again until the date fits.
- 1, 2 or 3: after that many invalid answers in a row, the chat continues on the Not valid output. The step then has two outputs: Valid and Not valid. Connect Not valid, for example to a message with your phone number. If it isn't connected, the bot keeps asking.
Customers can always type back to return to the previous question.
Steps made with the original check#
Date steps added before the new check only accept day/month/year in digits, such as 13/10/26, and reply Invalid date. Try again in the following format dd/mm/yy to anything else. Their settings show Upgrade to the new date check.
- 1
Click Upgrade to the new date check
Under What changes you see the differences and a table of sample answers: how each is handled Now and After upgrade.
- 2
Upgrade or keep it
Click Upgrade, or Keep the original.
{{@bookingDate}}staysDD/MM/YYYY. Nothing changes for customers until you publish.
Common mistakes#
- "This step isn't ready yet". Connect a step into this one and connect it to the next step, and fix any problem shown in the settings, such as The earliest date is after the latest date. or Turn on at least one format.
- Business hours without a time. Business hours need a time: choose Time optional or Time required.
- US customers. Turn on
MM/DD/YYYYand set When both orders fit to Month first.