Webhook in, incomplete requests out
A custom webhook receives the JSON. A filter stops requests without a request_id or email.
Forms, scripts and apps often send the same request twice: a retry after a timeout, a double click. This template saves each webhook request to a Google Sheet once. It looks up the request’s request_id in column F first and adds a row only when it isn’t there yet.
This page contains affiliate links, marked “affiliate link”.
Free download. No sign-up needed. You’ll need your own Make and Google accounts. We’ve also submitted it to Make’s template gallery; until Make approves it, import the blueprint from the ZIP.
One Make scenario with 3 modules. It runs in your own Make account with your own Google connection. Nothing runs through Flowpaja.
A custom webhook receives the JSON. A filter stops requests without a request_id or email.
Google Sheets › Search Rows checks whether the request_id is already in column F of the Leads tab.
Add a Row writes columns A–G. The email is trimmed and lower-cased, and received_at is the time Make wrote the row.
One zip (v1.0, 2 Oct 2026). Tested in Make on fictional data: two new requests added two rows, two repeats added nothing and a request without a request_id was stopped by the filter.
Flowpaja_Webhook_to_Sheets_Dedupe_FREE_blueprint.jsonThe Make scenario. No connections, IDs or tokens inside. You connect your own Google account and create your own webhook.SETUP_GUIDE.pdf2 pages: setup in 6 steps, the test plan, measured credits, limits and fixes for common problems.Webhook_to_Sheets_EXAMPLE_sheet.xlsxThe Leads tab with the 7 columns and 2 fictional rows, plus a How to use tab.test_requests.txtFour test requests (new, duplicate, second new, missing request_id) for curl and PowerShell, plus Leads_tab.csv and a README.txt.You need a Make.com account (the Free plan works), a Google account and something that sends JSON (a form backend, a script, or curl for testing). No Make account yet? Create a free Make account (affiliate link).
Upload the example .xlsx to Google Drive and save it as a Google Sheet. Keep the Leads tab and the column order (request_id in F).
In Make: Create a new scenario › ⋯ menu › Import Blueprint. In module 1 click Add to create your webhook and copy its address.
In modules 2 and 3, pick your Google connection, the same spreadsheet and the Leads tab.
Click Run once and send the test requests from test_requests.txt. A repeat must not add a row. Then switch the scenario on.
A free, deliberately simple template.
Lead Router ($19) is built for Google Form leads: it creates or updates one HubSpot contact per email (no duplicate contacts), posts each lead to Slack, sends $10k+ budgets to #sales-hot and posts error alerts.
Need more than one? Get all 3 paid templates for $39 (opens Gumroad in a new tab) (Lead Router, Polite Invoice Reminder and Quote Follow-Up Assistant).
Collecting leads with a form tool? See Tally to Google Sheets (with the same duplicate check on the response ID) and Typeform to Make.
More free templates: Overdue Invoice Digest, Google Form responses to Slack and One quote follow-up draft.
New to Make? Create a free Make account (affiliate link: Flowpaja may earn a commission if you later buy a paid plan, at no extra cost to you). Questions: [email protected].
Tools we use for our builds: our tools page.
Make, Google and Google Sheets are trademarks of their owners. Flowpaja is independent and not affiliated with or endorsed by them.