Database choice
A Database choice question offers the rows of your own data as its options: the events people can sign up for, the products they can order, the rooms they can book. The rows come from a Notion database, an Airtable table or a Google Sheets tab. Add a row there and it’s on the form within a few minutes, without publishing again. It’s available on every plan.
Add the question
Section titled “Add the question”- In the builder, add Database choice (under Choices).
- Under Database, choose the App and its connection. Connect the app first if you haven’t: see Notion, Airtable or Google Sheets.
- Choose where the rows are:
- Notion: the database. A database only appears once it’s shared with the connection: in Notion, open its ••• menu, choose Connections, and add Nextforms.
- Airtable: the base, then the table. Only bases the connection was given on Airtable’s consent screen appear.
- Google Sheets: Choose a spreadsheet opens Google’s own file picker, then pick the tab. Row 1 holds the field names.
- Under What each option shows, choose the Title (the name people pick by) and up to three Details shown under it, like a date, a place or seats left. Details appear in the order you pick them.
- Check the Preview: it shows exactly the rows respondents will be offered.
Everything shown in the list, titles and details, is visible to anyone with the form link. Other fields of the rows never leave Nextforms, and neither do the settings behind the list: the form page doesn’t carry your database, its fields or your filters. A title or detail longer than 200 characters is cut short.
Which rows are offered
Section titled “Which rows are offered”Under Which rows are offered, add rules like Status is Open or Date is on or after a day. With several rules, choose whether rows must match all of them or any. A field with a few set values (a select, a status) offers them to choose from, so a rule can’t be mistyped. Order sorts the list by a field.
Filters are set here rather than taken from a view in Notion or Airtable, or a filter in the sheet.
A list holds up to 2,000 rows. If your data has more, add a rule so the list fits.
Google Sheets columns
Section titled “Google Sheets columns”A sheet has no field types, so each column is read by what it holds: a column of
numbers can be compared with is more than, a column of dates written like
2026-11-14 with is on or after, and anything else as text.
A sheet row has no id of its own (row numbers move when someone sorts or inserts), so a row is known by its title. Rows without a title aren’t offered, and rows with the same title are offered once. If you rename a row’s title in the sheet, a form someone started before that asks them to pick again.
Answer format
Section titled “Answer format”The same choices as a Multiple choice question:
- Display style: a Dropdown with search (any number of rows; typing searches the titles and details), or a List or Buttons for short lists.
- Allow multiple answers, with an optional Max selections. One answer can hold up to 100 picks. Several picks are listed under the field, each with a way to remove it.
Send the pick on
Section titled “Send the pick on”In a workflow, map the question like any other answer:
- Notion: map it to a Relation property that points at the same database. The new page is linked to the rows that were picked, so Notion’s own relations, rollups and linked views just work: the event page lists its sign-ups, a rollup counts them. If a picked row is deleted in Notion before the step runs, the page is still written, without that link, and the run says so.
- Airtable: map it to a Link to another record field that points at the same table. The new record is linked to the records that were picked, so Airtable’s own lookups, rollups and counts just work: the event record lists its sign-ups, a count field adds them up. Airtable only links within one base, so the question has to pick from a table in the base the step writes to. Mapped to a text field instead, the picked titles are written. If a picked record is deleted in Airtable before the step runs, the record is still written, without that link, and the run says so.
- Google Sheets, email and the rest: the picked titles are written, with several picks separated by commas.
A row’s Create in the Notion or Airtable step makes the relation or link field for you, pointing at the question’s own database or table. If a row maps the question to a relation or link field that points somewhere else, the step says so under the row. A run that still meets one writes the response without the link and says why.
Logic, answers and exports
Section titled “Logic, answers and exports”- In conditions and workflow branches, pick a row to compare with: Event is Workshop May 12. Renaming the row doesn’t break the rule.
- Piping shows the picked titles.
- Responses, the summary and exports show each answer’s titles as the respondent saw them. The summary has one bar per row, even if the row is renamed later.
- A link can prefill a pick with the row’s title:
?event=Workshop May 12(set the question’s Field key under Advanced). For several picks, repeat the key (?event=Pottery&event=Bread) or separate the titles with commas (?event=Pottery,Bread). Text that matches no row is ignored, and no more picks are kept than the question allows.
When the data changes
Section titled “When the data changes”| In the app | On the form |
|---|---|
| A row is added, renamed or edited | Shows within a few minutes |
| A row is deleted or no longer matches the rules | Gone from the list; earlier answers keep it |
| A field is renamed | Keeps working (in a sheet, a renamed column is a different field: pick it again) |
| The app can’t be reached | The last list keeps working, for up to a day |
| The database, table or tab is deleted or unshared | The last list keeps working for up to a day, then respondents are asked to try again later |
A respondent can only submit rows the question offers at that moment. If a row disappears while someone is filling in the form, they’re asked to pick again.