Skip to Content
IntegrationsGoogle Sheets

Google Sheets

Available on Starter and Pro. See pricing.

The Google Sheets integration appends a new row to a spreadsheet every time your form receives a submission. No code, no Zapier, no middleware.

Each row includes submission metadata and all submitted field values. Deliveries are async and retried automatically if Google is temporarily unavailable.

Plan availability

PlanGoogle Sheets destinations per form
FreeNot available
Starter1
ProUnlimited

See the pricing page  for a full plan comparison.

Step 1: Connect your Google account

The Google connection is workspace-level. You connect once, then use it across all your forms.

Open Integrations settings

In the dashboard , go to Settings → Integrations.

Click Connect Google

Click Connect Google. You’ll be redirected to Google’s authorization screen.

Authorize access

Approve the permissions Formtorch requests:

PermissionPurpose
Google Sheets (read/write)Append rows to your spreadsheets
Google Drive (metadata only)List your spreadsheets so you can pick one — Formtorch cannot read file contents

After approving, you’ll be redirected back to the integrations page.

That’s it. Your Google account is connected. You can now add Google Sheets destinations to any form.

Step 2: Add a destination to a form

Each form can send to one or more spreadsheets. A destination is a specific sheet tab inside a specific spreadsheet.

Open your form’s Integrations tab

In the dashboard, open the form you want to connect. Click Integrations in the top navigation.

Add a Google Sheets destination

Click Add Destination and select Google Sheets.

Choose a spreadsheet

A picker lists the spreadsheets in your connected Google Drive. Choose the spreadsheet you want submissions to go to.

Choose a sheet tab

After selecting a spreadsheet, choose the sheet tab (the named tab at the bottom of the spreadsheet). Formtorch will append rows to that tab.

Save

Click Save. Formtorch begins delivering submissions immediately.

You can add multiple destinations on Pro. Each destination delivers independently — a failure on one sheet does not block others.

Row format

Each new submission appends one row. The column layout is:

ColumnValue
submittedAtISO 8601 timestamp (UTC)
submissionIdFormtorch submission ID
formIdFormtorch form ID
formNameForm display name
isTesttrue or false
isSuspicioustrue or false
(your fields)One column per submitted field, alphabetically sorted

Nested objects are flattened with _ as a separator. For example, { "address": { "city": "New York" } } becomes a column named address_city. Underscores in field names are escaped to __ to prevent collisions.

Values are stored as plain text — Google does not evaluate them as formulas, so inputs starting with =, +, or @ are safe.

What gets skipped

Formtorch does not append a row for:

  • Spam submissions: detected by TorchWarden and suppressed before delivery
  • Test submissions: submitted with _test=true
  • Over-quota submissions: stored locked and delivered after a plan upgrade

Suspicious submissions (flagged but not definitively spam) are delivered normally — consistent with how email notifications and webhooks behave.

Delivery status

Google Sheets deliveries use the same async pipeline as webhooks and email notifications. Each delivery is tracked individually.

To check delivery status for a submission:

  1. Open the submission in the dashboard.
  2. Look at the Integrations section. It shows the delivery status for each Google Sheets destination.

If a delivery fails, Formtorch retries automatically. After 6 attempts (1 initial plus 5 retries), the delivery is marked permanently failed.

Common transient failures (Google rate limits, temporary outages) are retried automatically. Permanent failures (spreadsheet deleted, permissions removed) stop retrying immediately.

Reconnecting after access is revoked

Google can revoke your connection if you remove Formtorch from your Google account, change your password, or your token expires.

When this happens:

  • Settings → Integrations shows a warning badge on the Google row and a Reconnect button.
  • Affected form destinations show a warning linking to the reconnect flow.

Click Reconnect and complete the OAuth flow again. Your existing destinations are preserved and resume delivering once the connection is restored.

Disconnecting

To disconnect your Google account, go to Settings → Integrations and click Disconnect on the Google row.

Disconnecting does not delete your form destinations. If you reconnect later, deliveries resume.

Disconnecting stops all Google Sheets deliveries immediately. Pending deliveries that haven’t been processed yet will fail.

Troubleshooting

No rows are appearing in my sheet

Check the delivery status on the submission in the dashboard. If it shows an error, the most common causes are:

  • The spreadsheet was deleted or moved to Trash.
  • You removed Formtorch’s access in Google account settings.
  • The sheet tab was renamed or deleted after the destination was created.

Rows are duplicated

In rare cases where a network timeout occurs after a row is written but before Formtorch records the success, the next retry will write a duplicate. Each row includes submissionId so you can identify and remove duplicates. Full deduplication is on the roadmap.

I can’t see my spreadsheet in the picker

The picker lists spreadsheets from your connected Google account’s Drive. If a spreadsheet is in a shared drive you don’t own, it may not appear. Create the spreadsheet under your own account and use that instead.

I need to send to a different Google account

Go to Settings → Integrations, disconnect the current account, then reconnect with the Google account you want to use.

Last updated on