Documentation

Connect your forms to Google Sheets in minutes.

Follow these steps to get your marketing or product forms logging reliably to your team's Google Sheet.

1. Share your Google Sheet

Integration guide

Open the sheet where you want to log submissions and click Share. Invite our service account email with Editor permissions. This lets FormSheet read headers and append new rows.

Service account email: formsheet-service@your-project.iam.gserviceaccount.com

2. Add your site in the dashboard

Integration guide

Inside the FormSheet dashboard, create a site for each domain you collect leads from. We allowlist domains to prevent spoofed requests. You'll get a unique public key and ingest URL for each site.

3. Sync headers and map fields

Integration guide

Visit the Sheet tab for your site and click Test access. We fetch the header row so you can map each form field (e.g. email, message) to the correct column. We always store __ts automatically for timestamps.

4. Choose an integration method

Integration guide

Drop-in snippet

Paste the generated <script> snippet into the page with your form. FormSheet hooks the submit event, converts fields to JSON, and POSTs to the ingest URL. No extra configuration required.

Fetch from your stack

POST JSON directly to https://formsheet.app/api/ingest/<SITE_ID>. Include the X-Public-Key header with your site's key. This works for server actions, edge functions, or Node/Go services.

fetch("https://formsheet.app/api/ingest/SITE_ID", { method: "POST", headers: { "Content-Type": "application/json", "X-Public-Key": "YOUR_PUBLIC_KEY", }, body: JSON.stringify({ name: "Ada Lovelace", email: "ada@example.com", message: "Love what you built!", }), keepalive: true, });

5. QA with logs

Integration guide

Use the Event Logs page to confirm the payloads we received. You can replay failed submissions, filter by site or status, and copy payloads for debugging.

Need more examples?

Check out the example projects in our GitHub repo or reach out at hello@formsheet.app if you need a guided onboarding session.