Skip to content
← All integrations
Spreadsheet sync · Professional

Integrations

Send contact form submissions to Google Sheets

Connect your Google account in the form's settings and click Create a new Google Sheet. Formward creates the spreadsheet, writes a header row and switches sync on, so every processed submission is appended as a new row: the time it arrived first, then each field.

It needs the Professional plan. Before you switch it on, know that Google is a US service: a copy of every synced submission leaves the EU. If you want the same spreadsheet workflow inside the EU, Baserow is the alternative.

PlanProfessional and aboveDestinationUS

Set it up

  1. In Formward, open the form, go to its Settings tab and scroll to the Connections panel. Choose Google Sheets.
  2. Read the note about Google being a US service, then click Connect Google Sheets and approve access in the Google window. The organization owner does this step.
  3. Back in Formward, click Create a new Google Sheet. It is named after your form, gets a header row (Submitted at, then your field names) and sync is switched on.
  4. Optionally change Tab name if rows should go to a tab other than Sheet1, then click Save sync settings.
  5. Send a test submission through your form and follow the open in Google Sheets link to see the new row.

What lands in the sheet

One row per processed submission. The first column is the submission time in ISO format; the rest follow your form's fields, as text.

text

Submitted at              | name         | email           | message
2026-10-07T09:30:00.000Z  | Ada Lovelace | ada@example.com | Do you ship to Norway?
2026-10-07T11:02:41.000Z  | Jonas Berg   | jonas@example.se| Quote for 40 units

Control fields that start with an underscore are never written. Fields defined in the dashboard form editor keep a fixed column order; for your own HTML form, values follow the order the form sends them.

Plan and limits

  • Available on the Professional plan and above, under the same entitlement as webhooks.
  • Formward can only write to sheets it created, because of the drive.file scope. There is no field for pasting an existing sheet; create one from the dashboard and move or copy data around it in Google.
  • Each submission gets one append attempt. If Google refuses it, the failure is shown under Deliveries on that submission, labelled Google Sheets, and it is not retried automatically. The submission itself is safe in Formward either way.
  • Only processed submissions are synced: never spam, and never a submission held for an unconfirmed notification address.

Where the data goes

Formward stores the submission in the EU. Syncing to Google Sheets sends a copy of each row to Google, a US processor, and the dashboard says so before you connect. That transfer is yours to assess as controller.

Formward asks Google for the narrowest access that works: the drive.file scope, which covers only files Formward itself creates, plus your account's email address. It cannot read your other spreadsheets.

Your data-flow page lists every destination each of your forms uses right now.

Troubleshooting

"Google did not return a refresh token"
Google only issues one when you approve access in full. Click Connect Google Sheets again and accept the consent screen.
"Your Google connection has expired"
Access to Formward was removed in your Google account settings. Disconnect in Formward, connect again, and new rows resume.
Columns do not line up with the header
The header Formward writes lists the fields it knows about. If your own HTML form sends fields in a different order, or extra ones, edit the header row in the sheet to match. New rows always follow the same order.
The test works but real submissions never arrive
Open the submission in your inbox and check its status. Spam is never forwarded, and a submission stays held, and undelivered everywhere, while the form's notification address is unconfirmed. Confirm the address from the email Formward sent to it and new submissions flow through.

Other integrations

Connect Google Sheets to your first form

Create a form, point your HTML at it and set up Google Sheets in a few minutes. Submissions are stored and processed in the EU.

Contact form to Google Sheets, no code | Formward