Skip to content

Responses

Every form submission becomes a row in the form's backing database. There's no separate "responses inbox" — your responses are your data, ready to filter, view in Kanban, or link to invoices.

Where Responses Land

When someone submits a form:

  1. Ascend re-runs your conditional logic to determine which fields are visible.
  2. Hidden fields are dropped — never written to the database.
  3. Required fields are validated server-side. Missing values return a 422 with field-level errors.
  4. A new row is inserted into the backing database with the visible field values.
  5. Default property values fill in any properties not on the form.
  6. The form's submissionCount is incremented atomically.
  7. If notification emails are configured (see Settings), each address gets a "New submission received" email.

The whole transaction is atomic — you'll never see a partial row.

Viewing Responses

You have three entry points:

FromWhat it does
/forms listClick the form. Designer opens. Click Responses in the header.
Database → Forms tabClick a form card → Responses in the form designer header.
Form designer (any view)Click Responses in the header.

All three send you to /databases/{databaseId} — the backing database, where responses are just rows. Use any view (Table, Kanban, Calendar, Focus Board, Chart) to slice them.

Filtering Responses by Form

If a database is bound to multiple forms, you can tell which form a row came from by:

  • Created Time — the timestamp of submission.
  • Filter on a hidden form field — add a hidden Source field with a default value (e.g. "Contact form") so every row is tagged.

A first-class "form source" filter is on the roadmap.

The Unread Badge

Forms in the /forms list and Database → Forms tab show a small dot when there are submissions you haven't looked at yet.

How it works:

  • Every user has a per-form lastSeenSubmissionCount.
  • The badge shows when submissionCount > lastSeenSubmissionCount.
  • Visiting the form's responses (or opening its detail sheet) updates lastSeenSubmissionCount = current submissionCount and clears the badge for you. Other team members keep their own count.

This is per-user — your teammate's badge stays lit until they look at it themselves.

Activity Filters

The /forms list has three activity filters:

FilterMatches
UnseenForms with submissions you haven't seen
RecentForms with at least one submission in the last 7 days
QuietForms with zero submissions, or whose last submission was 30+ days ago

Exporting Responses

Responses are database rows, so use the database's export:

  1. Open the backing database.
  2. Click the menu → Export to CSV.
  3. The CSV includes every column, optionally filtered by the active view.

For programmatic access, use the Public API to query rows.

Deleting Responses

Two options:

  • Delete a single response — open the row in the database, click Delete row.
  • Bulk delete — select rows in the table view and use the bulk action bar.

Deleting a response does not decrement the form's submissionCount — that counter reflects all-time submissions, not current row count. (This matches Tally / Typeform.)

Anonymous Submissions

Public form submissions are anonymous by default — there's no respondent account. Internally, each row's createdBy is set to the form creator's user ID, because the database schema requires a non-null author.

If you need to identify respondents:

  • Add an Email field and mark it required.
  • Add a hidden field with a default value to tag the source.
  • Check the row's Created Time for the submission timestamp.

Submission Notifications

See Settings for configuring per-form email notifications.

Next

  • Settings — Thank-you message, redirect URL, notifications
  • Troubleshooting — Submissions not arriving, validation failing