Google Sheets
Every record submitted on a form is written to a row in a Google Sheet, and updated in place when the record changes. One integration per form.

What you need first
A Google Cloud service account — a robot identity that FormDragon writes to the sheet as. This is Google’s mechanism, not ours, and it takes about ten minutes once:
Create the service account
In Google Cloud Console, create a project if you have none, enable the Google Sheets API, and under IAM → Service accounts create an account. Download its JSON key.
Share the sheet with it
The key file contains a client_email ending in iam.gserviceaccount.com.
Share your spreadsheet with that address as an Editor, exactly as you
would a person.
Note the spreadsheet ID
It is the long string in the sheet’s URL, between /d/ and /edit.
Connecting
Settings → Integrations → Google Sheets → Add integration. Paste the JSON key, the spreadsheet ID, the sheet (tab) name, and choose the form. Save.
What the sheet gets
- A header row, written once into an empty first row. If the row already has headings they are left alone — people rename columns and add their own.
- Fixed first columns: record ID, status, submitted at, submitted by.
- Then one column per field, in form order, headed by the field’s label.
- Column A holds the record ID, so an edited or approved record updates its own row rather than adding a second.
Drafts are not written. Repeatable sections arrive as JSON in one cell.
The key file is a credential able to edit that spreadsheet. It is stored with the integration and readable only by admins. Revoke it in Google Cloud if it is ever exposed.
Why this matters for other tools
A live sheet is the simplest bridge to tools that read spreadsheets well and APIs badly. Power BI, Looker Studio and Excel can all connect to a Google Sheet directly and refresh from it — see Power BI.
Need it in Excel Online or somewhere else? Ask us at customer.service@firedragontech.com. We will help you get the data there.