formbasedocs
Go to appApp

Integrations

Google Sheets

Send every submission to a Google spreadsheet as a new row. Map fields to custom columns, connect multiple Google accounts, and backfill past responses.


What you get

  • One row per submission, synced in real time
  • Field-level column mapping with custom labels
  • Metadata columns (submitted at, respondent email, submission ID, form name, submission status, PDF link, channel, request ID)
  • Auto-created spreadsheet per form
  • Backfill existing submissions on connect
  • Multiple Google accounts per workspace
  • Test row to verify the connection before real submissions arrive

Connect Google Sheets

  1. 1

    Open Form settings → Integrations

    Choose Google Sheets from the integration list.

  2. 2

    Connect a Google account

    Pick an existing connected Google account, or authorize a new one. You'll be redirected to Google to grant formbase access to create and edit spreadsheets. You can set a custom spreadsheet name (defaults to the form name).

  3. 3

    Map fields to columns

    Choose which form fields and metadata to include as columns. Rename any column label to match your workflow. All fields are included by default.

  4. 4

    Finalize

    Review your setup. Enable "Export existing submissions" to backfill past responses. A new spreadsheet is created when the first submission arrives. After saving, open the integration from the list to send 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.

Column labels default to the question title but can be overridden — helpful when your spreadsheet feeds into another tool that expects specific header names.

Values are written by column position, never by matching the header text. Renaming a header in Google Sheets is harmless; reordering or deleting a column is not, and puts values in the wrong place. When your mapping or your form’s questions change, formbase rewrites row 1 of the spreadsheet it created so the header keeps matching what it appends.

Repeating groups

A repeating group lets respondents add as many entries as they need — like a list of guests, each with a name and age. In the field picker you choose how to map it:

  • The whole group maps to one column. Every entry 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 entry join with · , so the Full name column reads “Jane Appleseed · Marcus Lee”.

Pick one, the other, or both. If you remove a member field from your form later, it still appears in the picker so past submissions keep their column — your mapping never breaks.

Metadata columns

ColumnWhat it contains
Submitted atThe date and time the response was submitted.
SubmitterThe respondent's email address when one was captured, otherwise “Anonymous”.
Submission IDA unique identifier for the submission.
Form nameThe internal name of your form.
Submission status"Completed", "Partial" for an abandoned draft, or "Updated" when the respondent edited it.
PDF LinkA link to the generated submission PDF.
Submission languageBCP 47 code for the language used when the response was submitted.
Channel"Public link" when the response came through a share link, "Request" when it answered a request.
Request IDThe 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.

Multiple Google accounts

A workspace can have multiple Google accounts connected, and each form picks one. This works well when different teams manage their own Google Drive or you want client spreadsheets in separate accounts.

To add another account, start a new integration setup and authorize with a different Google email. Existing integrations keep their current account.

Backfill existing submissions

When you first connect, you can export all existing submissions into the spreadsheet. The backfill runs in the background in batches of 50 rows, with progress shown in the integration panel.

Rows are written in submission order (oldest first) so the spreadsheet reads chronologically.

Auto-created spreadsheets

formbase creates a spreadsheet in your Google Drive when the first submission arrives (not on save). The spreadsheet uses your form’s name, or the custom name you set during setup. If you delete the spreadsheet, formbase creates a new one on the next submission — you don’t lose any data.

Test event

The integration detail panel has a Send test button. It appends a placeholder row to the spreadsheet so you can verify column mapping without waiting for a real submission. Question columns show [Question Title] placeholders; metadata columns show synthesized values.

Abandoned response events

If a respondent starts your form but doesn’t finish, formbase can still sync the partial data. On the Abandoned submissions step, set Send abandoned event after to 12 hours, 1 day, 3 days, or 1 week. An hourly sweep then appends a row with whatever the respondent filled in, using the same column mapping. The Submission status column reads “Partial” so you can filter incomplete responses.

Only drafts from a share link are swept, and Required fields narrows it further: the row is appended only when at least one of the fields you pick was filled in.

Pro feature

Abandoned response delivery requires a Pro or Business plan. The core Google Sheets integration is available on all plans. See plans & pricing.

Error handling

ErrorWhat happens
Token expiredformbase refreshes automatically — if the refresh token is revoked, the integration pauses and asks you to reconnect
Spreadsheet deletedformbase creates a new spreadsheet, re-writes the header row, and appends the submission — no data lost
Permission deniedThe Google account lost access to the spreadsheet — reconnect the account to restore
Sheet tab renamedAppends stop with an error. The tab name is fixed at creation — rename it back, or recreate the integration
Rate limit (429)Retried automatically with exponential backoff
Google outage (5xx)Retried automatically — after 5 consecutive failures, the integration pauses and the person who set it up receives a notification email

After 5 consecutive failures of any kind, the integration auto-pauses with an error status and the person who set it up receives a notification email. Fix the underlying issue and re-enable the integration — it will resume from the next new submission.

FAQ

No. formbase creates one in your Google Drive when the first submission arrives.

formbase creates a new one on the next submission with the same column headers. No data is lost.

Yes. Google accounts are connected at the workspace level. Any member can use any connected account when setting up an integration — no re-authorization needed.

Yes. Authorize additional accounts during new integration setups. Each form picks which account to use.

Permission to create and edit spreadsheets (Google Sheets API), create files in Google Drive (files only), and read your email and profile name. formbase cannot read your other Drive files or access anything outside the spreadsheets it creates.

Both appear as rows in the same spreadsheet. The “Submission status” metadata column shows “Completed” or “Partial”, so you can filter or sort by it.

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.

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

Go to Form settings → Integrations → Google Sheets and delete the integration. To also revoke formbase’s access to your Google account, visit your Google account permissions page.

Next steps