# Google Sheets

Add every submission to a Google spreadsheet, with the columns you choose. Formstep creates the spreadsheet, and past submissions can be copied in too.

## What you get

- One row per submission, as it arrives
- The columns you choose, with your own headers
- A spreadsheet Formstep creates for you
- Past submissions copied in when you connect

## Connect Google Sheets

1. **Open Integrations**

   Click Integrations in the form's top bar, then pick Google Sheets.

2. **Google account and spreadsheet**

   Pick a connected Google account, or click **Connect Google account**. You can name the spreadsheet; it defaults to the form name.

3. **Columns**

   All fields are included by default. Turn off **Export all form fields** to remove any, add metadata, and rename column headers.

4. **Turn it on**

   Under **More options**, turn on **Export existing submissions** to copy past responses. Click **Turn on Google Sheets**, then **Send test** to add a test row.

## Column mapping

Toggle **Export all form fields** to include every question, or turn it off to pick specific fields and set custom column headers.

Formstep writes values by column position. Renaming a header in Google Sheets is fine; moving or deleting a column puts values in the wrong place. When your mapping changes, Formstep rewrites the header row.

### Repeating groups

Map a [repeating group](https://formstep.io/docs/building-forms/repeating-groups/) in either or both ways:

- The whole group maps to one column. Every item shows as numbered, labeled rows, like “1. Full name: Jane Appleseed, Age: 34, 2. Full name: Marcus Lee, Age: 29”.

- Each member field maps to its own column. The values from every item join with `· `, so the Full name column reads “Jane Appleseed · Marcus Lee”.

### Metadata columns

| Column | What it contains |
| - | - |
| Submitted at | The date and time the response was submitted. |
| Submitter | The respondent's email address when one was captured, otherwise "Anonymous". |
| Submission ID | A unique identifier for the submission. |
| Form name | The internal name of your form. |
| Submission status | "Completed", "Partial" for an unfinished draft, or "Updated" when the respondent edited it. |
| PDF Link | A link to the generated submission PDF. |
| Submission language | The language the response was submitted in, as a code such as de. |
| Channel | "Public link" when the response came through a share link, "Request" when it answered a request. |
| Request ID | The id of the request the response answered. Empty for a share-link response. |

By default, Submitted at and Submitter are included. Add or remove any metadata column during setup, and rename any of them like a normal column header.

## Auto-created spreadsheets

Formstep creates the spreadsheet in your Google Drive when the first submission arrives. If you delete it, Formstep creates a new one on the next submission.

## Test event

**Send test** adds a row of placeholder values, so you can check the columns.

## Backfill existing submissions

Past submissions are copied in the background, oldest first. The integration shows the progress.

## Unfinished drafts

On Pro and Business, Google Sheets can also add [unfinished drafts](https://formstep.io/docs/submissions-analytics/partial-submissions/#unfinished-drafts), set under **More options** › **Unfinished drafts**. Their rows say “Partial” in the Submission status column.

## When something goes wrong

| Problem | What happens |
| - | - |
| Google access ends | You'll be asked to reconnect your Google account. |
| Spreadsheet deleted | Formstep creates a new spreadsheet with the header row and adds the submission, so nothing is lost. |
| Permission denied | The Google account lost access to the spreadsheet. Reconnect the account. |
| Sheet tab renamed | New rows stop with an error. Rename the tab back, or set up the integration again. |
| Google is busy or down | The delivery is retried automatically. |

For retries and pausing, see [Health and monitoring](https://formstep.io/docs/integrations/health-monitoring/).

## FAQ

**Can other workspace members see my Google connection?**

Yes. Google accounts are connected at the workspace level. Any member can use any connected account when setting up an integration, without re-authorizing it.

**What access does Formstep need?**

Permission to create spreadsheets in Google Drive and edit only the ones it creates (per-file access), and read your email and profile name. Formstep cannot read your other Drive files or access anything outside the spreadsheets it creates.

**Can I connect multiple Google accounts?**

A workspace can connect several Google accounts, and each form picks one. The workspace owner adds accounts during setup.

**Can I edit the column mapping later?**

Yes. Open the integration and re-map fields. The next delivery rewrites the header row to match; existing rows keep the values they were written with.

**Can I point the integration at a different spreadsheet?**

No. The spreadsheet is fixed once the integration is created. Delete it and create a new one.

**How do I remove the integration?**

Open Integrations, pick Google Sheets under **On this form**, and choose **Delete integration** in the ⋯ menu. To also revoke Formstep’s access to your Google account, visit your [Google account permissions](https://myaccount.google.com/permissions) page.

## Next steps

[Airtable](https://formstep.io/docs/integrations/airtable/) — Add each submission to an Airtable base

[Notion](https://formstep.io/docs/integrations/notion/) — Add each submission to a Notion database

[Repeating groups](https://formstep.io/docs/building-forms/repeating-groups/) — Let respondents add as many items as they need

[Exporting submissions](https://formstep.io/docs/submissions-analytics/exports/) — Download CSV, Excel or PDF
