Follow these steps to get your marketing or product forms logging reliably to your team's 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
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.
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.
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.
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.
Check out the example projects in our GitHub repo or reach out at hello@formsheet.app if you need a guided onboarding session.