Zapier, Make, and Google Sheets IntegrationPRO
Wire FormForge Pro submissions into 6,000+ apps via Zapier, into Make scenarios, or straight into Google Sheets rows. Zapier and Make use the same pattern (paste a webhook URL); Google Sheets uses OAuth and needs a small one-time Google Cloud Console setup. This page walks through all three plus the payload shape and the three most common failure modes.
If you want to route submissions to a specific app that Zapier or Make already integrates with (Slack, HubSpot, Notion, Airtable, Trello, hundreds more), use Zapier or Make. If you specifically want submissions in a Google Sheet, use Google Sheets direct (fewer moving parts, no third-party rate limits). Zapier and Make can also write to Google Sheets, but the direct integration is simpler if that’s the only destination.
How Zapier and Make work (same pattern)
Both Zapier and Make use the standard webhook trigger pattern:
- You create a Zap (Zapier) or scenario (Make) with a webhook as the trigger.
- Zapier or Make generates a unique URL for that webhook and shows it to you.
- You paste that URL into FormForge’s form settings.
- On every form submission, FormForge POSTs a JSON payload to the URL.
- Zapier or Make receives the payload, parses the fields, and runs whatever action steps you configured (send Slack message, create Airtable row, whatever).
No credentials to manage on the FormForge side, no OAuth flow, no polling. Just a URL.
Set up Zapier
In Zapier, create a new Zap
Sign in to zapier.com and click Create Zap.
Pick “Webhooks by Zapier” as the trigger app
In the trigger app search, type Webhooks by Zapier and select it. This is Zapier’s generic HTTP webhook receiver, and it’s a free feature.
Pick “Catch Hook” as the trigger event
The Catch Hook event tells Zapier to listen for incoming POSTs and store the JSON body as sample data.
Copy the Custom Webhook URL Zapier shows you
Zapier generates a unique URL that looks something like https://hooks.zapier.com/hooks/catch/12345678/abcdefg/. Copy the entire URL.
In FormForge, open the form’s Integrations tab
Go to FormForge > All Forms, click the form, open the Form Settings panel on the right, click the Integrations tab.
Enable Zapier and paste the URL
Check the Zapier (Webhooks by Zapier) checkbox. Paste the Zapier URL into the field that appears. Save the form.
Send a test entry so Zapier picks up the payload shape
Submit the form once with test data. Back in Zapier, click Test trigger; Zapier receives the test payload and lists every field it can see. From there, add whatever action steps you want (write to Google Sheets, send a Slack message, create a HubSpot contact) and publish the Zap.
Set up Make (formerly Integromat)
In Make, create a new scenario
Sign in to make.com and click Create a new scenario.
Add a Webhooks > Custom webhook module as the trigger
In the trigger picker, search for Webhooks, then pick the Custom webhook module. Give it a descriptive name (something like “FormForge Contact Form”).
Copy the webhook URL Make generates
Make displays a URL like https://hook.eu2.make.com/abc123def456.... The region prefix (eu2, us1, us2, etc.) matches where your Make account is provisioned. Copy the entire URL.
In FormForge, open the form’s Integrations tab
Same location as Zapier: FormForge > All Forms > the form > Form Settings > Integrations tab.
Enable Make and paste the URL
Check the Make (Integromat) checkbox. Paste the Make URL into the field that appears. Save the form.
Send a test entry so Make picks up the payload shape
Back in Make, click Run once to put the webhook in listening mode, then submit your FormForge form with test data. Make catches the payload and lists every field it received. Add the modules for your destinations (Airtable, Slack, HubSpot, whatever), map the FormForge field values into them, and activate the scenario.
The JSON payloads FormForge sends
Zapier and Make each get a different payload shape (both formats are designed around what each platform’s parser expects). Understanding the shape helps when you’re mapping fields in your Zap or scenario.
Zapier payload
Underscore-prefixed meta keys, plus field_X keys for every form field:
| Key | Type | What it contains |
|---|---|---|
_entry_id |
integer | The FormForge entry ID |
_form_id |
integer | The FormForge form ID |
_date_created |
ISO 8601 timestamp | When the entry was submitted |
_ip_address |
string | IP address of the submitter |
_user_id |
integer | WordPress user ID if the submitter was logged in, 0 otherwise |
field_3, field_5, ... |
string | Value of each form field, keyed by the FormForge field ID. Array values (checkboxes, multi-select) are joined with commas. |
Make payload
Flat top-level keys plus a nested data object (raw field IDs) and a nested labeled_data object (field labels as keys, for easier mapping in Make’s UI):
| Key | Type | What it contains |
|---|---|---|
form_id |
integer | The FormForge form ID |
form_title |
string | The form’s configured title |
entry_id |
integer | The FormForge entry ID |
submitted_at |
ISO 8601 timestamp | When the entry was submitted |
site_url |
string | The WordPress site’s home URL |
admin_url |
string | Direct link to view the entry in the WordPress admin |
data |
object | Field values keyed by FormForge field ID (raw form) |
labeled_data |
object | Field values keyed by the field’s label (spaces converted to underscores, then any character outside a-z A-Z 0-9 _ stripped), easier to map in Make’s UI |
user |
object (optional) | Present only when the submitter was logged in: { id, email, name } |
In the form builder, click any field on the canvas. The field’s settings panel shows its numeric ID at the top. For Zapier that number becomes the field_X key. For Make it’s a key inside the data object. Easiest path either way: fire a test submission and read the actual field keys from Zapier’s Test Trigger preview or Make’s Run once preview.
Set up Google Sheets (direct integration)
Google Sheets uses OAuth for authentication, which is more setup than Zapier or Make but requires no third-party account. Every submission appends a new row to a spreadsheet you own.
Google requires that every application accessing user data use an OAuth 2.0 Client ID that belongs to a Google Cloud project you control. FormForge doesn’t ship shared credentials because that’d put every customer’s spreadsheet data through the same OAuth app (bad security posture and hits Google’s per-app rate limits). You’ll create a project the first time; it takes about 10 minutes.
Create a Google Cloud project
Go to console.cloud.google.com, sign in with the Google account that owns the spreadsheets you want to write to. Click the project selector at the top, then New Project. Give it a name (something like “FormForge Sheets”) and create.
Enable the Google Sheets API and Google Drive API
In the sidebar, go to APIs & Services > Library. Search for Google Sheets API, click it, click Enable. Repeat for Google Drive API. Both are required; Drive is used to list your spreadsheets, Sheets is used to write rows.
Configure the OAuth consent screen
Still in APIs & Services, click OAuth consent screen. For a personal Google account, pick External user type (Google Workspace admins may also see an Internal option; External works for both cases). Fill in the required fields (app name, support email, developer contact email); you can skip most optional fields. Save and continue through the Scopes and Test users pages. On the Test users page, add the Google account you plan to connect from as a test user (Google Cloud requires this while the OAuth app is in Testing mode; without it you’ll get a “This app hasn’t been verified” error at the consent screen). Testing mode is fine long-term for FormForge’s use case (you’re the only user of your own OAuth app), no need to submit for verification.
Create an OAuth 2.0 Client ID
Go to APIs & Services > Credentials. Click Create Credentials > OAuth Client ID. Pick Web application as the application type. Give it a name (any).
Add FormForge’s redirect URI as an Authorized redirect URI
In FormForge, go to FormForge > Integrations > Google Sheets. Copy the OAuth redirect URI FormForge displays; it looks like https://yoursite.com/wp-admin/admin-ajax.php?action=rfp_google_sheets_oauth. Paste it into the Authorized redirect URIs list in Google Cloud Console. Click Create; Google generates a Client ID and Client Secret.
Paste Client ID and Secret into FormForge
Copy the Client ID and Client Secret from Google Cloud Console. Paste them into the corresponding fields in FormForge > Integrations > Google Sheets. Save changes.
Click Connect to Google
The Connect to Google button opens Google’s consent screen. Sign in with the Google account that owns your target spreadsheets, click through the permissions (Sheets + Drive scopes), Allow. Google redirects back to FormForge with a “Connected” status.
Per form: pick a spreadsheet and worksheet
Open the form in the builder, open Form Settings > Integrations, check Google Sheets. A dropdown appears listing every spreadsheet the connected Google account can access. Pick one. A worksheet dropdown then appears listing every tab in that spreadsheet. Pick the destination tab. Save the form. Submit a test entry; a new row appears at the bottom of the sheet.
Troubleshooting the three common failure modes
1. Zap or Make scenario isn’t receiving submissions
Four checks in order:
- Confirm the form’s Integrations tab has Zapier / Make on AND the URL filled in. Open the form in the builder, Form Settings > Integrations tab, look for the checkbox plus URL field.
- Confirm the URL doesn’t have leading or trailing spaces or a stray character. Re-paste fresh from Zapier or Make.
- Confirm the entry actually saved in FormForge > Entries. If not, the submission failed before the webhook step; see Submissions Not Saving.
- On the Zapier / Make side, check the trigger’s task history. If FormForge fired but nothing arrived, the URL is wrong or the Zap / scenario is turned off. If the payload arrived but the Zap didn’t complete, the issue is downstream in the Zap logic, not FormForge.
2. Google Sheets: “Not Connected” status after clicking Connect to Google
Something in the OAuth handshake failed. Three most common causes:
- Authorized redirect URI mismatch. The URI in your Google Cloud project’s OAuth Client must exactly match what FormForge displays in FormForge > Integrations > Google Sheets. Copy FormForge’s URI and paste it into Google Cloud Console’s Authorized redirect URIs list. HTTP vs HTTPS matters; trailing slashes matter.
- Google Sheets API or Google Drive API not enabled in the project. Go to APIs & Services > Library and confirm both show as Enabled.
- You cancelled the consent screen instead of clicking Allow. Repeat the flow.
3. Google Sheets: spreadsheet dropdown is empty in the form settings
You’re connected, but FormForge doesn’t see any spreadsheets. Two possibilities:
- The connected Google account doesn’t own any spreadsheets yet. Create at least one spreadsheet in Google Sheets and refresh the FormForge form settings page.
- The Google Drive API wasn’t enabled in your project. FormForge uses Drive to list spreadsheets and Sheets to write rows. Both APIs must be enabled. Go back to Google Cloud Console > APIs & Services > Library and enable Google Drive API.
Gather: (a) which integration (Zapier / Make / Google Sheets), (b) exact error message shown in FormForge or in the third-party dashboard, (c) whether the entry saved in FormForge > Entries (yes / no), (d) for webhook integrations, whether the third party’s task history shows any incoming events. Send to support and we can dig in.
FAQ
How do I send FormForge Pro submissions to Zapier?
Use Webhooks by Zapier as the Zap trigger. In Zapier, create a new Zap, pick Webhooks by Zapier as the trigger app, pick Catch Hook as the event, copy the webhook URL Zapier gives you. In FormForge, open the form’s Form Settings > Integrations tab, check Zapier, paste the webhook URL. Save the form and submit a test entry to send sample data to Zapier. Configure your Zap’s action step, publish.
How do I send FormForge Pro submissions to Make (formerly Integromat)?
Same pattern as Zapier. In Make, create a new scenario, add a Webhooks > Custom webhook trigger, copy the webhook URL Make generates. In FormForge, open the form’s Form Settings > Integrations tab, check Make (Integromat), paste the webhook URL. Save the form and submit a test entry to send sample data to Make. Add the actions you want in Make and activate the scenario.
How do I connect FormForge Pro to Google Sheets?
Google Sheets uses OAuth, which requires creating a Google Cloud project. In Google Cloud Console, create a project, enable the Google Sheets API and Google Drive API, create an OAuth 2.0 Client ID (Web application type), add FormForge’s OAuth redirect URI as an Authorized redirect URI (shown in FormForge > Integrations > Google Sheets), copy the Client ID and Secret into FormForge, save, then click Connect to Google. Approve the scopes. Once connected, each form’s settings lets you pick a spreadsheet and worksheet.
What data does FormForge send to Zapier and Make?
A JSON payload with the entry metadata and every field value, but the exact shape differs between the two. Zapier receives underscore-prefixed meta keys (_entry_id, _form_id, _date_created, _ip_address, _user_id) plus field_X keys for every form field. Make receives flat top-level keys (form_id, form_title, entry_id, submitted_at, site_url, admin_url) plus nested data and labeled_data objects. Both platforms auto-detect the fields on the first sample entry. See the payload shape section for the full field reference for each.
Where does the webhook URL come from?
From Zapier or Make, not from FormForge. Both platforms generate a unique URL per Zap or scenario when you create a webhook trigger. That URL is FormForge’s target, so you paste it into the form’s Zapier or Make settings on the WordPress side. FormForge then POSTs form submissions to that URL. The URL is secret in the sense that anyone who has it can post to your Zap or scenario, so treat it like a password.
My Zap or Make scenario isn’t receiving submissions. Why?
Four checks in order. (1) Confirm the form’s Integrations tab has the Zapier or Make checkbox on AND the webhook URL filled in. (2) Confirm the URL doesn’t have leading or trailing spaces or a stray character. Re-paste fresh from Zapier or Make. (3) Submit a test entry from a real page (not the form-builder preview). Confirm the entry saves in FormForge > Entries. (4) On the Zapier or Make side, check the trigger’s task history for incoming payloads. Full walkthrough in the troubleshooting section.
Google Sheets says “not connected” after I click Connect to Google. What happened?
Something in the OAuth handshake failed. Most common causes: (1) The Authorized redirect URI in your Google Cloud project doesn’t exactly match what FormForge shows. Copy the URL FormForge displays and paste it into the OAuth Client’s Authorized redirect URIs list, exactly. (2) Google Sheets API or Google Drive API isn’t enabled in your Google Cloud project. Enable both from APIs & Services > Library. (3) You cancelled the consent screen instead of clicking Allow. Repeat the flow and click Allow.
Which license tier includes these integrations?
All three (Zapier, Make, Google Sheets) are included on every FormForge Pro license tier. FormForge Pro ships in three tiers (Pro, Business, Agency) and these automation integrations are available on all of them.