To send a form to Google Sheets, point the form at a FormSubmit endpoint, open Integrations → Google Sheets, approve access and click Create spreadsheet. FormSubmit creates a spreadsheet for the form and appends a row for every new submission. This works whether the form is plain HTML, a Webflow form, a Framer component or a WordPress page, with no Zapier, Apps Script or copy-pasting. It only requests Google's drive.file permission, so it can't see any of your other files.
Below are the general steps to link a form to a Google Sheet, then platform-specific notes for Webflow, Framer and WordPress.
Why not Apps Script or Zapier?
The classic approach, a Google Apps Script web app that appends rows, does work. But you have to deploy and maintain the script, handle concurrent writes, add spam protection and expose a public URL. Zapier adds per-task costs and another account. A built-in integration removes all of that, and spam is filtered before anything reaches your sheet.
Step 1: Point your form at FormSubmit
Any form that can POST to a URL works. If your form isn't on FormSubmit yet, set its action to your endpoint:
<form action="https://formsubmit.app/f/YOUR_FORM_ID" method="POST">
<input type="text" name="name" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form>Each input's name becomes a column header, so use clear names like email or company. The HTML and React guides cover setup in more detail, and if you also want each submission in your inbox, see how to send an HTML form to email.
Step 2: Connect Google Sheets
Open the form in your dashboard → Integrations → Google Sheets → Connect Google Sheets. Google shows a consent screen asking to let FormSubmit "see, edit, create and delete only the specific Google Drive files you use with this app". That's the drive.file scope. Once you're back in the dashboard, click Create spreadsheet.
Step 3: Your spreadsheet is created
FormSubmit creates a spreadsheet named after your form (for example "Contact — FormSubmit") in your Drive, with a frozen header row:
| Submitted at | Submission ID | name | message | |
|---|---|---|---|---|
| 2026-09-28T10:15:00Z | r8T2kLm0Qa9zXc1V | Ada Lovelace | ada@example.com | Hello! |
New fields become new columns automatically. File uploads appear as signed links in a Files column. Click Test on the integration to add a sample row and check everything is wired up.
Step 4: Backfill (optional)
Open the form's Submissions page and click Send all to Sheets to append every submission in your inbox, including ones you received before connecting. Rows aren't deduplicated, so run it once, ideally right after creating the spreadsheet.
Webflow form to Google Sheets
Webflow forms can go straight to a Google Sheet without Zapier or Make:
- In the Designer, select the Form Block and open Element settings (the gear icon).
- Set Action to
https://formsubmit.app/f/YOUR_FORM_IDand Method to POST. - Check each input's Name setting. These become your column headers, so rename defaults like
FieldorName 2to something meaningful. - Publish, then connect Google Sheets in FormSubmit as in Step 2.
- Add both
yoursite.webflow.ioand your custom domain to the form's allowlist if you use one.
Your Webflow design stays the same. After submitting, visitors are sent to FormSubmit's thank-you page, or to a Webflow page if you add a hidden _redirect field. The Webflow form backend guide has the full walkthrough.
Framer form to Google Sheets
Framer code components are React, so a small component that posts FormData to your endpoint is all you need:
- In Framer, open Assets → Code → New component and paste the generated contact form component from the Framer guide.
- Set the endpoint to your FormSubmit form URL, and make sure each field's
namematches the column you want. - Drag the component onto the page, publish, and connect Google Sheets in FormSubmit.
- Add your
*.framer.apppreview domain and custom domain to the allowlist if you use one.
Because the component submits with fetch, the visitor stays on the page while the row is added to your sheet.
WordPress form to Google Sheets
You don't need a Sheets add-on for Contact Form 7 or WPForms. Paste a form into a Custom HTML block (or Elementor's HTML widget, or Divi's Code module) with its action set to your endpoint, publish, then connect Google Sheets in FormSubmit. Your WordPress site doesn't store the submissions or send mail, so there's no PHP mail or SMTP plugin to configure. See WordPress contact form without a plugin for a styled form you can paste.
Tips
- Share the spreadsheet with your team, or add a pivot table or charts in another tab. FormSubmit only appends to the Submissions tab, so avoid renaming that tab or editing its header cells.
- Values are written as plain text, so a malicious submission like
=IMPORTXML(...)can't run as a formula. - Spam submissions are kept in FormSubmit's Spam folder and never written to your sheet.
- Combine with Slack for real-time alerts, and keep Sheets as your log.
Troubleshooting
If rows stop appearing and the delivery log shows a Google 403 or 404, the spreadsheet was deleted or access was revoked. Reconnect Google Sheets, click New sheet to create a fresh spreadsheet, then use Send all to Sheets to backfill it.
Privacy
Because FormSubmit only uses drive.file, revoking access is simple and safe, and your spreadsheet stays in your Drive. Read more in security & privacy.