Google Sheets Integration
Automatically sync every form submission to a Google Sheets spreadsheet. WittyForm maps your form fields to columns and keeps the sheet updated in real time: no manual exports needed.
Prerequisites
- A WittyForm account on the Pro or Enterprise plan (integrations are not available on the Free plan)
- A Google account with access to Google Sheets
- At least one published form with fields configured
Connecting your Google account
- Open your form in the WittyForm dashboard and navigate to Settings → Integrations.
- Click Connect Google Sheets. A Google OAuth popup will appear.
- Sign in with the Google account that owns (or has edit access to) your target spreadsheet.
- Grant WittyForm permission to read and write spreadsheet data. WittyForm only accesses sheets you explicitly select: it never scans your entire Drive.
- Once authorized, you will be returned to the integration settings with a green "Connected" badge.
Selecting a spreadsheet
After connecting your Google account, use the spreadsheet picker to choose a destination:
- Existing spreadsheet: browse your recent sheets or paste a spreadsheet URL.
- Create new: WittyForm will create a new spreadsheet named after your form (e.g., "Contact Form: Responses").
You can also choose a specific sheet tab within the spreadsheet. If you leave this blank, WittyForm uses the first tab.
Field-to-column mapping
WittyForm automatically maps each form field to a spreadsheet column by matching the field label to the column header in row 1.
- If the spreadsheet is empty, WittyForm writes the header row for you based on your form fields.
- You can reorder or rename columns: as long as the header text matches the field label, mapping will work.
- To manually override the mapping, click Edit mapping and drag fields to the desired columns.
Special fields are also available in the mapping panel:
Submission ID: the unique WittyForm submission identifierSubmitted At: the timestamp in ISO 8601 formatForm: the name of the form the submission came from
Auto-sync behavior
Every new submission is appended as a new row within a few seconds. WittyForm uses a push-based model, so there is no polling delay. If Google's API is temporarily unavailable, WittyForm queues the row and retries automatically.
Handling new fields
If you add a new field to your form after the integration is configured:
- WittyForm adds a new column header at the end of your header row.
- Previous rows will have an empty cell for the new column: this is expected.
- If you delete a field from the form, the column remains in the spreadsheet but future rows will have an empty value for that column.
Troubleshooting
Authorization expired
Google OAuth tokens expire after a period of inactivity. If you see an "Authorization expired" error, go to Settings → Integrations → Google Sheets and click Reconnect. You will be prompted to re-authorize.
Missing data in the spreadsheet
- Verify the field mapping has not drifted: open Edit mapping and confirm each field is pointed at the correct column.
- Check that the Google account still has edit access to the spreadsheet.
- Look at the Integration log in your form settings for specific error messages.
Wrong spreadsheet selected
Click Change spreadsheet in the integration panel to pick a different sheet. Existing rows in the old spreadsheet are not moved: only new submissions go to the new destination.