Date
Ask for a date (and time), accept only the dates you allow, and ask again when the answer doesn't fit.
What it does#
Date asks the customer for a date, and a time if you want one, and waits until the answer fits your rules: for example only future dates, Sunday to Thursday, between 09:00 and 17:00. Use it for appointments, deliveries or birthdays.
Customers can write the date in many ways (14/10/2026, 14 Oct, tomorrow, next Sunday). On your website they also get a date picker. Date only checks the answer: it doesn't book anything. To create a calendar event, add a Google Calendar step after it.
Set it up#
- 1
Add the step and write the question
Drag Date from the Flow group in the Steps panel, connect the step before it, and click it. Name it, for example
visitDate, and under Message ask Which day would you like to come in? - 2
Choose the formats
Under Format, keep the Accepted formats your customers use. If you turn on MM/DD/YYYY too, choose in When both orders fit whether 03/04 means 3 April or March 4.
- 3
Ask for a time (optional)
In Time, choose Date only, Time optional or Time required.
- 4
Set the rules
Under Rules, pick Allowed dates (Any date, Only future or Only past), an Earliest date and Latest date (for example From today, today + 30 days), the Allowed days, and whether to reject Israeli holidays. With a time, turn on Only business hours and set From and To.
- 5
Decide what happens after wrong answers
Under Output, After invalid answers is Keep asking by default. Choose 1, 2 or 3 to give up after that many tries, and connect the Not valid output, for example to a Talk to a person step.
- 6
Try it
Under Try it, type sample answers, one per line. Each shows Accepted or Rejected with the reason, using the same check as the bot.
Change the replies customers get for a wrong answer under Messages (Not readable, Out of range, Day not allowed, Holiday, Time missing, Outside business hours). Leave them empty to use the defaults.
Use the answer#
The answer is saved under the step name in the format you pick in Show the date as, for example {{@visitDate}} gives 15/10/2026 10:30. {{@visitDate_raw}} holds what the customer actually typed. In expressions you get the date as 2026-10-15, ready for date functions.
Messages#
Click the step and open Messages at the bottom of its settings to change what the bot says on its own here. Without rules, Messages has Not a date. With rules, the step's own Messages section (out of range, day not allowed, holiday, time missing, outside business hours) is used for that step.
Each field shows the default in grey. Leave it empty to keep the default, or write your own: it applies to every Date step in this chatbot and goes live with Publish. Use for all my chatbots makes it the text for all your chatbots (account owner or admin). More texts are in Settings > System messages.
Errors and what you see#
In the step settings
- "Turn on at least one format." Turn on the formats your customers will use.
- "The earliest date is after the latest date." Fix the two dates.
- "Business hours need a time: choose Time optional or required." Set Time, or turn off Only business hours.
What customers get (examples)
- Please send a date, e.g. 14/10/2026. The answer wasn't a date in an accepted format.
- Please add the time too, e.g. 14/10/2026 10:30. Time required is on.
- Please choose a date between 14/10/2026 and 13/11/2026. The date is outside your earliest and latest dates.
- That's a holiday (Yom Kippur). Please choose another date.
- Please choose a time between 09:00 and 17:00. The To time itself isn't accepted: 17:00 is outside 09:00 to 17:00.
Other problems
- The customer is asked again and again. That's Keep asking. Choose a number of tries in After invalid answers and connect Not valid.
- Not valid is set but the bot keeps asking. The Not valid output isn't connected. Connect it.
- A booked slot is accepted twice. Date doesn't know your calendar. Check availability with Google Calendar.
- "Time optional" accepts dates without a time, even with business hours. Choose Time required when every booking needs a time.
- An older Date step shows "Upgrade to the new date check". Click it, look at What changes, then upgrade or choose Keep the original. Customers see the change only after you publish.
Examples#
Appointments in the next 30 days. Time required, Only future with Today counts, Latest date today + 30 days, Allowed days Sun to Thu, Only business hours 09:00 to 17:00. Connect the step to a confirmation message: See you on {{@visitDate}}!
Date of birth. Date only, Only past, Show the date as DD/MM/YYYY.
Give up after two tries. Set After invalid answers to 2 and connect Not valid to a message such as No problem, a team member will help you pick a date. followed by a handoff.