Date node
The Date node allows you to capture a date or time from users through an interactive calendar widget during a conversation. When a date is selected, the system validates the input. If the date or time is invalid, a custom validation failure message is displayed.
This node helps ensure accurate date and time inputs, reducing errors from manual entry.
Common use cases include:
- Appointment booking: Schedule meetings, consultations, or services by selecting a specific date and time.
- Event registration: Choose event dates or attendance slots during sign-ups.
- Form completion: Collect dates for applications, travel itineraries, or scheduling needs.
Types of date pickers available in AI Agent
Different date picker types are available, each designed for specific requirements. You can choose the one that best suits your needs.
Learn more about each type here.

- Single Date Picker – Select a specific date from a calendar.
- Date Range Picker – Select a start and end date for a range.
- Month Picker – Select a specific month in a given year.
- Single Date and Time Picker – Select both a date and time in one interface.
- Time Picker – Select a specific time.
To change the date format captured through the Date node, write a custom function to reformat it as needed.
Limitation
The Date node is supported only on Web and Mobile apps. It is not available on platforms such as voice or SMS-based interactions.
Configure Date node
To configure a Date node:
- Drag and drop the Date node onto the flow editor.
- Enter the message to display when prompting the user for a date.
- Select the widget type: Single Date Picker, Date Range Picker, Month Picker, Single Date and Time Picker, or Time Picker.
Storing date variables
When a user selects or enters a date, the input is validated and stored in the specified variable as an object.
Users can also manually enter dates, which will still be validated and stored.
After validation, the system saves the date in the specified object variable.
Object structures and retrieval syntax
- Single Date Picker
- Date Range Picker
- Month Picker
- Single Date and Time Picker
- Time Picker
Retrieve a field from the date object using:
Example: To get the day:
{
"value": {
"timestamp": "Tue, 12 Dec 2023 13:03:31 GMT",
"year": 2023,
"month": 12,
"date": 12,
"day": "Tuesday",
"hour": 13,
"minute": 3,
"selected": {
"hour": 7,
"minute": 33
}
},
"range": {
"exists": false
}
}
Retrieve dates from the range object:
- Start Date:
- End Date:
{
"value": {
"timestamp": "Sun, 05 Nov 2023 05:30:00 GMT",
"year": 2023,
"month": 11,
"date": 5,
"day": "Sunday",
"hour": 5,
"minute": 30,
"selected": {
"hour": 0,
"minute": 0
}
},
"range": {
"exists": true,
"start": {
"timestamp": "Sun, 05 Nov 2023 05:30:00 GMT",
"year": 2023,
"month": 11,
"date": 5,
"day": "Sunday",
"hour": 5,
"minute": 30,
"selected": {
"hour": 0,
"minute": 0
}
},
"end": {
"timestamp": "Fri, 17 Nov 2023 05:30:00 GMT",
"year": 2023,
"month": 11,
"date": 17,
"day": "Friday",
"hour": 5,
"minute": 30,
"selected": {
"hour": 0,
"minute": 0
}
}
}
}
Example to retrieve the month:
{
"value": {
"value": {
"timestamp": "Tue, 19 Mar 2024 00:00:00 GMT",
"year": 2024,
"month": 3,
"date": 19,
"day": "Tuesday",
"hour": 0,
"minute": 0,
"selected": {
"hour": 18,
"minute": 30
}
},
"range": {
"exists": false
}
}
}
Example to retrieve the date:
Example to retrieve the day:
{
"value": {
"value": {
"timestamp": "Tue, 19 Mar 2024 10:33:00 GMT",
"year": 2024,
"month": 3,
"date": 19,
"day": "Tuesday",
"hour": 10,
"minute": 33,
"selected": {
"hour": 5,
"minute": 3
}
},
"range": {
"exists": false
}
}
}
Example to retrieve hour:
Example to retrieve minute:
{
"value": {
"value": {
"timestamp": "Tue, 19 Mar 2024 10:33:00 GMT",
"year": 2024,
"month": 3,
"date": 19,
"day": "Tuesday",
"hour": 10,
"minute": 33,
"selected": {
"hour": 5,
"minute": 3
}
},
"range": {
"exists": false
}
}
}
Restricting the date picker to past or future dates
You can restrict selection to either past or future dates. This feature is available only for the Single Date Picker and Single Date and Time Picker.
To restrict date selection:
-
In Widget Type, select either Single Date Picker or Single Date and Time Picker. A Restrict to field will appear.
-
In Restrict to, choose:
- Future Dates – Allow only future date selection.
- Past Dates – Allow only past date selection.
Example in action: