

Guided setup - five steps from install to your first WordPress form submission in Google Sheets, about three minutes, no Apps Script and no Zapier.
SheetLink Forms sends your form submissions straight to Google Sheets or Excel. Every submission becomes a properly mapped row – no manual exports, no per-submission fees, no Zapier account.
Setup takes about three minutes: pick your form plugin, map fields to columns, and connect Google in one click. SheetLink creates the sheet, or you pick an existing one with Google’s file picker. Prefer not to connect an account? Paste the generated Apps Script into your own sheet instead.
Local-first. Submissions go from your server straight to Google, never through SheetLink’s servers. The one-click connection uses our sign-in broker only to link and renew your account; your form data never passes through it. No telemetry, no activation pings, no required account.
Contact Form 7, WPForms, Gravity Forms, Elementor Pro, Fluent Forms, Formidable Forms, Ninja Forms, Forminator, Everest Forms, Beaver Builder, Divi and WS Form – all from one admin screen.
Everything in this plugin is free and unlimited: every form integration, unlimited sync rules, field mapping, the retry queue, delivery logs, attribution capture, conditional routing, mirrors to Excel Online, Airtable and Notion, local analytics and a multisite overview. Additional features are available in SheetLink Pro, a separate plugin sold at sheetlinkwp.com, and two optional hosted services (the Lead Inbox client portal and AI Lead Scoring) work with this plugin. The Features section below lists all of it.
drive.file scope, so SheetLink only ever sees sheets it creates or you pickA separate plugin sold and downloaded from sheetlinkwp.com/pricing – none of it is included in, or gated inside, this free plugin:
Both are documented in the External services section below.
This plugin contacts the external services below. Google is core to the plugin’s function; every other service is optional and is never contacted until you enter its credentials and enable it. Each entry says what the service is for, what data is sent and when, with links to the provider’s terms and privacy policy. Token storage and privacy-notice guidance are in the FAQ.
Google’s official Sheets and Drive APIs, used only after you click “Connect Google” and grant consent at Google’s own sign-in screen. Per matching submission, the form field values you mapped (plus optional enrichment such as timestamps, UTM parameters, IP address and page URL, if enabled) are written from your server to sheets.googleapis.com; creating a sheet and listing tabs use the same API, and the file picker uses www.googleapis.com/drive/v3/ and loads Google’s Picker script in wp-admin only. The scope is drive.file, so SheetLink can only ever see spreadsheets it creates or that you pick. Sign-in and periodic token renewal go through SheetLink’s broker at sheetlinkwp.com/api/sheetlinkwp/oauth/google/ so the Google client secret stays off your site; your form data never passes through the broker. Disconnecting clears the stored token and stops all calls.
Google Terms of Service | Google Privacy Policy
A web app you deploy in your own Google Sheet receives the mapped field values (plus optional enrichment, as above) on each matching submission. Receiver URLs are validated to begin with https://script.google.com/ or https://script.googleusercontent.com/. This method uses no API keys and no OAuth – nothing but your own Google script is contacted.
Apps Script documentation | Google Terms of Service | Google Privacy Policy
Contacted only if you activate a paid licence: once when you paste the key, every 12 hours to refresh the cached entitlements, and when you click “Re-check entitlements”. It sends your licence key (or purchase email as a fallback) and this site’s domain – never form submissions, user accounts or site content – to sheetlinkwp.com/api/sheetlinkwp/verify and /entitlements. Deactivating from the License page stops all calls; free features keep working with no further requests.
SheetLink Terms | SheetLink Privacy Policy
A hosted service that returns a 0-100 score, a hot/warm/cold band and a one-sentence explanation per captured lead. It runs only when your licence includes it AND you have ticked “Score incoming leads with AI” in Lead Settings, on WP-Cron rather than during the submission. It sends the submitted field values with contact details removed first (exactly how is in the FAQ) plus this site’s activation token to sheetlinkwp.com/api/sheetlinkwp/lead-score. Unticking the box stops all requests immediately.
SheetLink Terms | SheetLink Privacy Policy
Three optional per-submission extras on the Analytics page – sentiment, summary and category – computed by the same hosted service. Called only when the specific extra AND AI consent in Lead Settings are both enabled. Sends the field values scrubbed exactly as for AI Lead Scoring, your own category list when the category extra is on, and the activation token to sheetlinkwp.com/api/sheetlinkwp/analytics. Everything else on the Analytics page is computed locally and sends nothing.
SheetLink Terms | SheetLink Privacy Policy
Microsoft’s OneDrive and Excel Online API. Used only after you click “Connect Excel”, grant consent at Microsoft’s sign-in page, pick a workbook and table, and enable Excel on a rule. Per submission, the field values you mapped are inserted into your chosen Excel table at graph.microsoft.com. Token refresh goes through SheetLink’s broker at sheetlinkwp.com/api/sheetlinkwp/oauth/microsoft/ so the Azure client secret stays off your site; form data never passes through the broker. Disconnecting stops all calls and clears the stored tokens.
Microsoft Services Agreement | Microsoft Privacy Statement
Creates a record in your Airtable table at api.airtable.com once per matching submission and on “Send Test” – but only after you enter an Airtable personal access token, base and table and enable Airtable on a rule. It sends the field values you mapped (or all captured fields if you set no mapping) with your token as the credential. Disabling the rule or clearing the stored token stops all requests.
Airtable Terms of Service | Airtable Privacy Policy
Creates a page in your Notion database at api.notion.com once per matching submission and on “Send Test”; it also reads the database schema when you open the settings page so your Notion properties can be offered for mapping. Requires a Notion internal integration token and database ID. It sends the field values you mapped (or all captured fields if you set no mapping) with your token as the credential. Disabling the rule or clearing the stored token stops all requests.
Notion Terms of Service | Notion Privacy Policy
Sends you an SMS or WhatsApp alert per matching submission (and on test sends) after you enter a Twilio Account SID, auth token, from-number and recipients, and enable alerts on a rule. It sends the alert body you composed – which by default contains the form values you put in the template – the sending and recipient phone numbers, and your Twilio credentials to api.twilio.com. Disabling alerts or clearing the credentials stops all requests.
Twilio Terms of Service | Twilio Privacy Policy
Reports a form submission to your Meta advertising pixel as a server-side conversion event, after you enter a pixel ID and access token and enable it on a rule. It sends: the submitter’s email and phone number hashed with SHA-256 before leaving your server (never in plain text), the fbclid click ID if present, the submitter’s IP address and browser user-agent as-is (Meta uses these to match the event), the page URL, an event name, timestamp, currency and value, and your access token – to graph.facebook.com. Other form field values are not sent. This shares personal data with Meta for ad measurement; see the FAQ on privacy notices and consent before enabling it.
Meta Terms of Service | Meta Privacy Policy
When the hosted client-lead portal is switched on for a site, each captured lead is mirrored to sheetlinkwp.com/api/sheetlinkwp/leads – including the lead’s name, email address and phone number in plain text, all submitted field values, attribution data, capture time, status and value fields – so your client can view and work leads in a browser without a WordPress login. Unlike AI Lead Scoring this data is deliberately not scrubbed, because the portal exists so your client can contact the lead. It pushes when a lead is captured and when its status, owner or value changes. Switching the portal off stops all pushes; see the FAQ on privacy notices before enabling it.
SheetLink Terms | SheetLink Privacy Policy
Every other feature – smart mapping suggestions, local analytics charts, duplicate detection, conditional routing, ads conversion exports, the email digest, and the setup wizard – runs entirely on your own WordPress server and contacts nothing.