A dynamic dropdown fetches its options from an external source in real time when the customer opens the Mini App. Instead of hardcoded options, the list is always current — product catalogue, available appointment slots, branch locations, or any list that changes over time.
Appointment booking: dropdown shows only available time slots (fetched from your calendar API). Product selection: dropdown shows in-stock items only (fetched from your inventory system). Branch selection: dropdown shows active branches (fetched from your database).
WhatsApp Flows support a data source endpoint — a URL you provide that the Flow calls when it opens (or when a specific screen loads). Your endpoint returns a JSON response that populates the dropdown options.
Required JSON format for dropdown options:
{
"version": "3.0",
"screen": "MAIN",
"data": {
"slot_options": [
{"id": "10AM", "title": "10:00 AM — Available"},
{"id": "11AM", "title": "11:00 AM — Available"},
{"id": "2PM", "title": "2:00 PM — 2 slots left"}
]
}
}slot_options).WhatsApp can pass the customer's phone number and any previously entered form values to your endpoint. This allows your API to return personalised options — e.g., showing only the branches nearest to the customer's city.
You can use Google Sheets as your data source via a Google Apps Script web app. The script reads the sheet and returns the JSON format above. This lets non-technical teams update dropdown options by editing a spreadsheet.
Was this helpful? If you are stuck, message us on WhatsApp and a real person will help.
Ask us on WhatsApp