Google Sheets integration
Add a row to a Google spreadsheet for every form submission. The drive.file permission, choosing a sheet, columns, duplicates and limits.
The Google Sheets integration adds one row for each new submission to a spreadsheet Ikiform creates or one you pick. One Google account can feed any number of forms and spreadsheets.
Connect Google Sheets
- In the dashboard, open Integrations in the sidebar.
- Open Google Sheets and choose Connect Google Sheets.
- Choose your Google account and approve Ikiform. You come back to the dashboard when it's done.
You can also start from a form: adding Google Sheets to a form that has no connection yet runs the same flow and brings you back to the form. One connection serves every form in the Ikiform workspace. See Connect an app.
Permissions
Ikiform asks Google only for the drive.file permission, plus your email address to name the connection. With drive.file, Ikiform can open only the spreadsheets it creates and the ones you pick for it in Google Picker. It can't see, open or change any other file in your Drive.
Create or choose a spreadsheet
| Option | What happens |
|---|---|
| Create a new spreadsheet | Ikiform creates <form name> responses (Ikiform) in your Drive, with a Responses tab, a frozen header row and the headers Submitted at and Submission ID |
| Choose a spreadsheet | Pick a spreadsheet in Google Picker, then a tab, or New tab named Responses. If row 1 is empty, Ikiform writes the headers there. Existing headers stay, and missing ones are added at the end |
Choose Change spreadsheet in the card's More actions menu to send a form somewhere else.
Rows and columns
- Each submission adds one row:
Submitted atin UTC, like2026-11-08 14:03:12, thenSubmission ID, then one column per field. - Column headers come from the field names, so
first_namegoes in a First name column. Fields whose names start with_are left out. - Values are matched to columns by the exact header text, so you can reorder, hide or insert columns and rows keep landing in the right place. If you rename a header, the next submission with that field adds a new column with the original name.
- A field the sheet hasn't seen before gets a new column at the end.
- Values are written as plain text. A value that starts with
=stays text and is never run as a formula.
Duplicates
Before a retry or a manual run writes a row, Ikiform looks for the submission's ID in the Submission ID column. If the row is already there, the run counts as sent and nothing is added, so a retry never creates a duplicate. Keep the Submission ID column for this to work. Test rows use the Submission ID test; delete them whenever you like.
Limits
- Google allows 60 writes a minute for each Google account. When Google slows Ikiform down, the run is retried after the delay Google asks for, so busy forms catch up instead of losing rows.
- Each integration writes one row at a time, so two submissions never race to add the same column.
- If a tab is renamed, Ikiform follows it. If the tab is deleted, Ikiform adds a new
Responsestab.
When it stops writing
- If access was revoked in your Google account, the card says Needs reconnecting. Choose Reconnect.
- If the spreadsheet was deleted or Ikiform lost access to it, choose Create a new sheet or Choose another sheet. The Google account and other forms keep working.
Disconnect
Open Google Sheets under Integrations and choose Disconnect on the connection. Ikiform's access to your Google account is revoked. The spreadsheets stay in your Drive, and so do the rows already written.
Activity, retries and roles
Runs, retries, Replay failed, pausing and who can manage integrations work the same for every app. See Activity and retries, Pause and resume and Who can manage integrations.