Skip to main content
Menu
On this page

Google Sheets

Append each accepted response to a new spreadsheet or a supported tab in an existing sheet.

The Google Sheets integration appends each accepted response to a spreadsheet the connected Google account can edit, one row per delivery.

What syncs

A Fillo-created sheet begins with Submitted at, Response ID, and Fillo Event, followed by one column per field. Fillo Event is Created for the first accepted submission and Updated for each later in-place edit. Submitted timestamps and date fields are written as native Sheets date values, and calculated fields as native numbers. Other answers use the same human-readable formatting as the response grid and CSV.

Files stay in connected storage; the sheet gets the formatted file reference, not the file bytes.

Connect a new sheet

  1. Open Settings > Connections and connect Google.
  2. Open the form's Settings > Response destinations.
  3. Choose Google Sheets and create a new spreadsheet.
  4. Fillo creates Fillo - <form name> with a Responses tab.
  5. Submit a real test response and open the sheet from form settings.

After setup, Fillo confirms Google Sheets is ready and names the destination where new responses will be added.

One Google connection can also support Google Drive storage, but enabling Sheets doesn't change where uploaded files live.

Use an existing sheet

Choose a spreadsheet the connected account can edit. A supported target has one table whose header row starts in cell A1. When the copied URL includes a tab gid, Fillo writes to that tab; otherwise it uses the first tab.

Fillo matches existing headers to field labels or IDs, ignoring case and repeated spaces. It leaves unrecognized owner-managed columns blank and appends the required Fillo columns after the current header. Renaming the tab is safe — Fillo tracks the stable tab ID. Deleting it isn't.

Fillo valueSheet columnNotes
Submission timeSubmitted atNative date-time value
Response IDResponse IDUsed to detect an already committed retry
Delivery eventFillo EventCreated for the original response, Updated for an in-place edit
Number, rating, scaleField label or IDFormatted numeric value
CalculatedField label or IDNative numeric cell, so SUM and AVERAGE work; the field's prefix and suffix stay display-only in the grid, CSV, and emails
DateField label or IDNative date value
ChoiceField label or IDVisible option label
Multi-value or structured fieldField label or IDHuman-readable formatted text

Change the destination sheet

Open the form's Settings > Response destinations and choose Change sheet. You can create a new spreadsheet or choose a different existing sheet.

Existing rows stay in the old sheet — changing the destination doesn't copy or delete them. New responses, deliveries already queued when you save the replacement, and later replays all go to the replacement sheet. After the change, the ready confirmation names the sheet and tab that will receive new responses.

Code-defined forms

The schema can live in code, but the Google OAuth connection and destination selection are workspace management settings. Sync and publish the form, then connect its sheet in the dashboard. Keep field IDs stable — Fillo captures the column map when the integration is enabled.

Delivery behavior and limits

Sheets delivery is append-only: an update-in-place response appends another row marked Updated instead of editing the first Created row. Existing destinations gain the Fillo Event column automatically on their next delivery; an owner-created column named Event remains untouched. A destination whose persisted Fillo plan already owns the earlier Event marker keeps using it, so this naming hardening doesn't break active sheets. Delivery is at least once. For a failed creation delivery, Fillo checks the Response ID column before another append — but a commit on Google's side followed by an ambiguous network failure can still require duplicate-aware downstream work.

Google account access and API quotas apply independently of the Fillo plan. The integration is available on every Fillo plan. Removing it stops new rows; it doesn't delete the spreadsheet or existing rows.

Troubleshooting FAQ

Why are my fields in new columns?

The existing header didn't match the field label or ID. Either rename the header and reconnect, or keep the appended canonical column.

Why did the connection reject my tab?

The table must start at A1. Move the header to row 1 and column A, or connect a fresh tab.

Why did delivery stop after a sheet edit?

Open the form's Activity page and inspect the Google Sheets error. Choose Manage destinations to reconnect Google or use Change sheet, then return to Activity and choose Retry now. Verify the replacement receives the queued and retried rows before closing the incident.

Updated

Was this page helpful?