> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dforms/results/submissions.md).

# Submissions

Read every response to a dForms form in the Responses table: the columns, the response panel with its details and UTMs, full screen, rows per page, selecting, exporting and deleting rows, and exactly

The **Responses** view of **Submissions** is the response table for a single form. It shows one row per response, newest first, with the answers spread across the columns. This page explains how to read it, how to open one response in full and what dForms keeps with each answer. To read the answers question by question instead, see [Summary](/dforms/results/summary.md).

***

**Step 1:** Open the form's **Submissions** page: pick the form from **Submissions** in the left menu, or click **Submissions** on its row in the **Forms** list. The header reads **Forms** / the form name, with its publish status, and the tabs **Edit**, **Submissions**, **Analytics** and **Integrations** move between the form's screens. On the right sit **Search responses**, the **Workspace timezone** and **Download CSV**. Below, the **Responses** view is selected next to **Summary**.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-9ce90cf11aeaab5691ec1890c207c06e4006c68b%2Fforms-submissions-01-table.png?alt=media" alt="The Responses view of the Submissions page with the Summary and Responses views, the Workspace timezone field, the Full screen button and the table with a checkbox column, the Response, Status and Score columns and one column per question"><figcaption><p>A checkbox, the <strong>Response</strong> column, <strong>Status</strong> and <strong>Score</strong>, then one column per question in the order the questions appear in your form.</p></figcaption></figure>

| Column                        | What it holds                                                                                                                                                                                                                                                                                                                                      |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Checkbox                      | Shows after you click **Select**. See [Select rows](#select-rows).                                                                                                                                                                                                                                                                                 |
| **Response** or **Submitted** | When the form asks for a name, an email or a phone, the column is **Response** and shows who answered (their name, or else their email, or else their phone) above the date. Otherwise it is **Submitted** and shows the date only. The date is the moment the response was completed, or captured at the partial point when it was not completed. |
| **Status**                    | **Completed** (the person reached the end) or **Partial** (the answers were saved before the end).                                                                                                                                                                                                                                                 |
| **Score**                     | The total points collected from the answers. The column is hidden when scoring is switched off for the form. See [Scoring](/dforms/logic/scoring.md).                                                                                                                                                                                              |
| One per question              | The heading is the question text, cut at two lines; hover it to read the whole question. Choices show the option labels, and several picks are joined with `;` . A **Name** question shows the first and last name together. A question the person never reached is blank.                                                                         |
| Last column                   | The **Delete** button for this one response. See [Delete a response](#delete-a-response).                                                                                                                                                                                                                                                          |

Message and Reveal steps collect nothing, so they get no column. A **File upload** answer shows a paperclip and the file's name, and clicking it opens or downloads the file. See [Uploaded files](/dforms/results/uploaded-files.md).

Every date is read in the **Workspace timezone**, which the whole workspace shares. An owner or an admin can change it right here; a member sees it locked, with *Only an admin can change it.* See [Workspaces](/dforms/account/workspaces.md#workspace-timezone).

> **💡 Tip:** A form with many questions makes a wide table. The table scrolls sideways inside its own frame, and the checkbox and **Response** columns stay pinned at the left while you do. The page itself never scrolls sideways.

***

**Step 2:** Narrow the list from the column headings. The first column, **Status**, **Score** and every choice question carry a funnel: click the heading to open its menu. **Status** offers **Completed** and **Partial**, each with how many responses have it.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-498e9e023fb81a3220ee80c5aef777749c1fe418%2Fforms-submissions-02-partial-filter.png?alt=media" alt="The Status heading menu open over the table with Partial checked, and the filter bar above the table showing the Status chip, the response count and Clear all"><figcaption><p>Check <strong>Partial</strong> to see the people who shared their details but never reached the end. The filter shows as a chip above the table.</p></figcaption></figure>

Active filters show as chips above the table, with how many responses are left (for example *11 of 27 responses*) and **Clear all**. The same filter drives [Summary](/dforms/results/summary.md) and **Download CSV**. Every menu, the sort and the date ranges are explained in [Filter & sort responses](/dforms/results/filter-and-sort.md).

A **Partial** row appears when your form has a **Partial submit point** and someone passed it without finishing. The row holds everything they had answered up to that moment, and the later columns stay empty. If that same person comes back in the same browser tab and finishes, the row is not duplicated: it is upgraded in place and its status flips to **Completed**. Read [Partial submissions](/dforms/builder/partial-submissions.md) to set the capture point.

***

**Step 3:** Click a row to read that response in full. A panel slides in from the right. Click an answer cell instead and the panel opens at that question, outlined. From the keyboard, move the focus to the **View response** button in the row's first cell and press Enter.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-c18a497ab4a0ffaf7b1900315618613e312e6a09%2Fforms-submissions-05-response-panel.png?alt=media" alt="The response panel open beside the table, with the respondent&#x27;s name and email at the top, the Completed badge, the Score chip, the answered bar, the numbered answers, the Details block with the Page row and the HubSpot cookie received chip, and the Campaign (UTM) chips"><figcaption><p>One response, read top to bottom: who answered, every answer, then the details and the campaign.</p></figcaption></figure>

| Part of the panel  | What it shows                                                                                                                                                                                                                                                                                                                   |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Top line           | The position of this response on the current page (for example *3 of 25*), **Previous response** and **Next response**, and **Close**. The Up and Down arrow keys walk the page too, and Esc closes the panel.                                                                                                                  |
| Heading            | Who answered: their name, or else their email, or else their phone, with the next of those and the date underneath. A form that asks for none of them reads **Anonymous response**. Then the status, the score as a chip when the form scores, and a bar with how many questions were answered, for example *8 of 10 answered*. |
| **Answers**        | One numbered card per question, with the question as this person saw it (variants and recalled answers filled in). Long text keeps its line breaks, choices show as chips, a website is a link and a file opens its preview. A question they never reached reads **No answer**.                                                 |
| **Details**        | **Status**, **Submitted**, **Started**, **Score** (when the form scores), **Page** and **Response ID**.                                                                                                                                                                                                                         |
| **Campaign (UTM)** | The `utm_*` parameters the person arrived with, one chip each. Missing when there were none.                                                                                                                                                                                                                                    |
| Bottom             | **Delete**, to delete this response.                                                                                                                                                                                                                                                                                            |

**Page** is the page the form was answered on. For an embedded form it is the title of your landing page and its address; for a direct link it is the form itself. It is a link when it is a web address. Next to it, **HubSpot cookie received** shows when the visitor's HubSpot tracking cookie arrived with the response and was kept. The cookie itself is never shown. Responses saved before September 26, 2026 have no **Page** row. See [Landing page & HubSpot attribution](/dforms/connect/hubspot/attribution.md).

**Started** is the moment the response was first saved: the partial capture, or the submission when there was no partial.

The arrows stop at the first and the last row of the current page. The address bar gets `?response=` and the response's ID, so a reload keeps the panel open and you can send the link to a teammate. The link opens the response only while it is on that page of the table.

***

**Step 4:** Move through the pages. The counter under the table tells you which rows you are looking at out of how many match the current filter, and **Previous** / **Next** step between pages. **Rows per page** sets 25, 50 or 100 rows. The page size and the filter stay applied while you page, and both survive a reload.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-bb7b5fa25901de798984c544dbfbf07bd4b89e00%2Fforms-submissions-03-pagination.png?alt=media" alt="The row under the table with the Rows per page select, the row counter and the Previous and Next buttons"><figcaption><p>25 rows per page by default. The counter always reflects the filter you have on.</p></figcaption></figure>

***

## Select rows

**Step 5:** Click **Select** above the table: a checkbox appears at the start of every row. Tick one to select it. The checkbox in the heading selects every row on the page. As soon as one row is selected, a bar above the table shows how many.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-f1f72a8d257814c6a9ef7d4b705d9a28a4b8d739%2Fforms-submissions-06-selection-bar.png?alt=media" alt="Three rows checked in the table and the bar above it reading 3 selected, with Export CSV, Delete and Clear"><figcaption><p>The selection bar acts on the checked rows only.</p></figcaption></figure>

| Action         | What it does                                                                                                                    |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Export CSV** | Downloads only the selected rows, with the same columns as the full export. See [Export to CSV](/dforms/results/export-csv.md). |
| **Delete**     | Deletes the selected rows after one confirmation: *Delete 3 responses?* / *This cannot be undone.*                              |
| **Clear**      | Unselects every row.                                                                                                            |

A selection belongs to the page you are on. Moving to another page, changing **Rows per page** or changing a filter clears it.

***

## Delete a response

**Step 6:** Click **Delete** at the end of a row, or at the bottom of the response panel, and confirm in the **Delete submission** dialog.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-1ea7a32b1752c02b84e8d0f20aa269fc6c9fee4b%2Fforms-submissions-04-delete-confirm.png?alt=media" alt="The Delete submission dialog asking Delete this submission? This cannot be undone, with Cancel and Delete buttons"><figcaption><p>Deleting a response is permanent. Click <strong>Cancel</strong> if you are not sure.</p></figcaption></figure>

> **⚠️ Note:** Deleting a response removes it from the table, from **Summary**, from the CSV export and from the counts on **Analytics**. It does not remove anything that was already sent to HubSpot or to a webhook.

***

## Full screen

Click **Full screen** above the table to lay it over the whole app. The heading row stays at the top and the first columns stay at the left while you scroll both ways, and each cell shows up to three lines. **Exit full screen** brings you back. The address bar keeps `?view=sheet`, so a reload or a page change keeps the table in full screen.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-83f5dd7df1e34aaa6be236de7dd88b1e31a2a4b1%2Fforms-submissions-07-full-screen.png?alt=media" alt="The responses table in full screen over the whole app, with the form name and Exit full screen in the top bar, a cell outlined by the keyboard cursor and the pager at the bottom"><figcaption><p>Full screen: more room per cell, and a keyboard cursor to move around the table.</p></figcaption></figure>

In full screen the keyboard moves you around:

| Key                               | What it does                                                    |
| --------------------------------- | --------------------------------------------------------------- |
| Arrow keys                        | Move an outlined cursor from cell to cell.                      |
| Enter                             | Opens the response under the cursor, at that question.          |
| Up / Down, with the panel open    | Open the previous or the next response.                         |
| Left / Right, with the panel open | Move to the previous or the next question of the open response. |
| Esc                               | Closes the panel first, then the full screen.                   |

***

## Resize a column

Drag the right edge of a question's heading to make that column wider or narrower. Double-click the edge to go back to the default width. The width is saved for that form in this browser only. The handle does not appear on touch screens.

***

## What is stored with a response

Each row keeps only what it needs to be useful:

* Every answer the person gave, under the field key of its question. A **File upload** answer stores the file's name, size and type plus where the file itself is kept.
* The **Score**, if the form has scoring.
* The moment the response was first saved, the moment of the partial capture when there is one, and the moment it was completed.
* The `utm_*` values from the link they arrived from. On an embedded form, the UTMs of your landing page are added too. They travel inside the stored answers, so they reach HubSpot and your webhooks, and they show in the response panel under **Campaign (UTM)**. They are not columns in the table or in the export.
* The page the form was answered on: its address and title. It shows as **Page** in the panel and as **Page URL** in the export.
* The visitor's HubSpot tracking cookie, only when the form sends it somewhere: a HubSpot connection that records the form submission, or a webhook. It is never shown in the dashboard or in the export.

dForms does **not** record the respondent's IP address, browser or device, or country. To tell your traffic sources apart, add UTM parameters to the links you share, or use [hidden fields and URL prefill](/dforms/builder/hidden-fields-and-url-prefill.md).

***

## When there is nothing to show

A form nobody has answered shows **No submissions yet** / **Responses will show up here as people complete the form.** Publish the form, share its link, and the first row appears as soon as someone gets through it.

When your filters match nothing, the table keeps its headings and reads **No responses match these filters** / **Remove a filter, or clear them all, to see more.**, with a **Clear all** button.

## What's next

* [Summary](/dforms/results/summary.md): the same answers, one card per question.
* [Filter & sort responses](/dforms/results/filter-and-sort.md): every filter and sort in detail.
* [Uploaded files](/dforms/results/uploaded-files.md): open, preview and download what people attached.
* [Export to CSV](/dforms/results/export-csv.md): the same rows as a spreadsheet file.
* [Analytics](/dforms/results/analytics.md): how many people opened the form and where they stopped.
* [Security & Privacy](/dforms/security-and-privacy.md): what dForms stores and who can see it.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dforms/results/submissions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
