A composite is a reusable bundle of questions — for example First Name, Last Name, Title, Email as a single "Person" unit. You define it once, drop it into any number of forms, and manage it from one place. When you improve the composite, every form that uses it picks up the new version the next time that form is published.
Composites solve two problems that grow with every form you create:
- Consistency — the same "Person", "Address block", or "Insurance policy" questions stay identical across all your forms, instead of drifting apart as copies get edited independently.
- Aggregation — every answer to a composite is also saved as a standalone entry, so you can see every "Person" ever submitted across all your forms in one table.
Composites work everywhere forms do: web forms, the builder preview, phone calls (NueVoice), CSV exports, notification emails, webhooks, and React component exports.
Creating a composite
There are three ways to create one:
- From the Composites page — open Composites in the app sidebar and click New composite. This opens the full composite editor where you add and configure sub-questions exactly like building a form.
- From a form — add a Composite question (Advanced section of the palette) or a List question set to composite items, then click Choose a composite… and use the create option in the picker. The new composite is attached to your question immediately.
- From an existing question group — select a Question Group in the builder and click Make this a composite. Its sub-questions are converted into a new composite, and the group is replaced by a Composite question referencing it.
A composite can hold up to 30 sub-questions drawn from the standard question types (text, email, phone, number, dates, choices, ratings, and more). Screens, groups, and other composites can't be nested inside a composite.
Editing: three tiers
You can edit a composite at whatever depth the moment calls for:
- Inline on the canvas — when a form references a composite you own, its fields appear as child nodes under the question on the workflow canvas. Edit titles, settings, add or remove fields right there. Changes autosave to the composite itself (not the form), so they become available to every form that uses it.
- The picker — swap which composite a question references with Change, or duplicate someone else's composite to get your own editable copy.
- The full editor — click Open full editor (or open the composite from the Composites page) for the complete standalone editing experience, including the Languages tab for translations and the Entries view.
Inline edits modify the composite's working copy, which is shared by every form that references it. They do not affect live, published forms until you publish the composite and republish those forms — see the next section.
Publishing and versions
Composites have a deliberate two-step safety model:
- The working copy is what you edit. It is never shown to respondents.
- The published definition is an immutable snapshot created each time you click Publish on the composite. Publishing bumps the composite's version.
When you publish a form, the form freezes the composite's current published definition into its own published snapshot. From then on, respondents to that form always see exactly that version — even if the composite changes later. This means:
- A composite with unpublished edits shows a Draft changes · Publish pill on its canvas badge. Click it to publish the composite right where you're working (you'll be asked to confirm if other forms use it too).
- When you publish a form that references composites with pending changes, a dialog lists all of them, with the choice to Publish all (composites first, then the form) or Form only (keep the form on the last published composite versions).
- A composite that has never been published blocks form publish until you publish it — there's no version for the form to freeze.
To roll a composite improvement out to an existing form: publish the composite, then republish the form.
Using composites in forms
The Composite question type
Add a Composite question from the Advanced palette section and pick a composite. Respondents see all of its fields together on one screen, fill them in, and continue with one OK — like a Multi-Question Page whose content is centrally managed. The answer is saved as one structured value, and a composite entry is recorded.
Sharing and ownership
Composites belong to their creator. Teammates can reference your composite in their forms — they'll see its fields read-only with a note showing the owner — but only you can edit it. Anyone can click Duplicate to edit to fork their own independent copy.
Composites + the List question type
The List question type (Choices section of the palette) collects repeating items. Set its Item type to Composite items and pick a composite, and respondents can add any number of structured entries — the classic "add all your board members" pattern:
- Respondents click Add item to append an entry; each entry is a card containing the composite's fields.
- Minimum / maximum items settings enforce how many entries are required or allowed (hard cap 100).
- Entries can be removed, and collapsed to keep long lists manageable — only one entry is open at a time by default.
- Each entry is recorded as its own composite entry, tagged with its position in the list.
Collapsed display modes
The Display mode setting (shown once a composite is selected) controls how a collapsed entry renders:
- Compact (default) — the entry collapses to a single line. Use Collapsed summary fields to pick which fields appear in that line and in what order — for example
John · Director · john@acme.com. The composite's first field is preselected; add, remove, and drag to reorder. - Card — the entry collapses to a taller card showing every field's label and value (an em dash marks unanswered fields). Best when reviewers need to verify entries at a glance without expanding them.
Lists of plain text
A List can also collect simple text items (Item type → Text items) — type and press Enter, or use the Add button. Per-item validation (pattern, length), duplicate prevention, drag reordering, default items, and min/max counts are all available. No composite needed.
Entries: one composite, every form
Open a composite and switch to Entries for a read-only table of every saved entry across all forms that use it. Each row is one filled-in composite — whether it came from a Composite question or a single item in a List.
- Columns — one column per sub-field, plus the source form, submission time, and (for list entries) the item position. Hide and show columns to focus the view.
- Copy as JSON — every row has a copy button that puts the full entry on your clipboard as JSON.
- Export — download the current view as CSV or JSON. Exports honor your filters and your visible-column selection.
Privacy follows form permissions: the Entries view only includes entries from forms whose responses you're allowed to view. On teams with data residency, entries are stored in the team's own database region.
Logic with composites and lists
Logic rules understand composite structure:
- Sub-field conditions — target any composite sub-answer in a condition (for example, jump if Person → Title equals "CEO"). Sub-fields appear in the condition field picker under their parent question.
- List count operators — branch on how many items a List has: item count equals, item count is greater than, item count is less than.
Translations
Composites carry their own translations, managed in the full editor's Languages tab. Add a language and auto-translate the composite's name, description, and every sub-field with AI — the same engine forms use. Translations are part of the working copy and reach respondents through the publish flow, so a multilingual form renders its composites in the respondent's language.
Phone calls
On NueVoice calls, a Composite question is asked as a natural sequence — the agent walks the caller through each sub-field in order. A List of composites becomes a loop: after each completed entry the agent offers to add another, until the caller is done or the maximum is reached. Entries are recorded identically to web submissions.
Templates
When you publish a form that uses composites as a marketplace template, the composites are embedded with it. Anyone who uses the template receives their own self-contained clones — already published, fully editable, and independent of your originals.
Deleting and restoring
Deleting a composite is a soft delete: it disappears from pickers and your library list, but published forms keep working — their snapshots already contain the frozen definition. Restore a deleted composite at any time from the Composites page. New forms can't reference a composite while it's deleted.
API access (MCP)
The NueForm MCP server exposes full composite management to AI assistants: list_composites, get_composite, create_composite, update_composite, publish_composite, and delete_composite. The same working-copy/publish semantics apply — update_composite edits the draft, and referencing forms can't publish until publish_composite has been called. See MCP Integration.
Real-world use cases
Board members and rosters. A law firm's entity-formation intake needs every board member's name, title, and email. Build a "Board Member" composite, drop it into a List, and clients add as many members as they have. The Entries view becomes a cross-matter roster of every board member ever submitted — exportable for conflict checks.
One contact block, fifty forms. Marketing runs dozens of campaign forms, all asking for the same contact details. With a "Contact" composite, a compliance change (say, splitting Full name into First and Last) is made once, published, and rolled out form-by-form on each form's next publish — no hunting through fifty builders.
Event guests. A registration form asks for the registrant's details, then a List of an "Attendee" composite ("Who's coming with you?") with a maximum matching your table size. Compact display mode set to Name · Meal preference keeps long guest lists scannable; the Entries view gives catering one table of every attendee across all your event forms.
Vendor compliance. Procurement collects insurance policies from vendors: an "Insurance Policy" composite (provider, policy number, coverage, expiry date) in a List, used across onboarding, renewal, and audit forms. Card display mode lets reviewers verify each policy without expanding it, and the Entries view is a single registry of every policy on file — with CSV export for the audit.
HR applications. A job application uses a "Previous Employment" composite (employer, role, dates) in a List capped at five, plus an "Emergency Contact" composite shared with the separate onboarding form. Logic on the sub-field Previous Employment → Role routes senior candidates to extra questions, and a list-count rule flags applications with no work history for manual review.
Limits and good-to-knows
- Up to 30 sub-questions per composite; names up to 120 characters.
- Composites can't contain screens, groups, or other composites, and can't reference themselves through a List.
- Lists are capped at 100 items regardless of the maximum you configure.
- Inline canvas editing is available to the composite's owner; teammates get read-only fields and Duplicate to edit.
- Publishing a composite never changes a live form by itself — forms always re-freeze composite versions at form publish.