TEST REQUESTS (fictional data) for "Webhook to Google Sheets with duplicate check" by Flowpaja
Replace YOUR-WEBHOOK-URL with the address from module 1 (Copy address to clipboard). Keep that URL private.
Run the Windows commands in Command Prompt. In PowerShell use the Invoke-RestMethod lines (or type curl.exe, not curl).

TEST 1 - new request: one new row (module 3 runs)
curl.exe -X POST "YOUR-WEBHOOK-URL" -H "Content-Type: application/json" -d "{\"name\": \"Ana Example\", \"email\": \"Ana@Example.com \", \"message\": \"Please send a quote for a logo refresh.\", \"source\": \"website-contact\", \"submitted_at\": \"2026-10-02 09:15:00\", \"request_id\": \"req-20261002-0001\"}"

TEST 2 - the same request again: no new row (Search Rows finds req-20261002-0001 in column F)
curl.exe -X POST "YOUR-WEBHOOK-URL" -H "Content-Type: application/json" -d "{\"name\": \"Ana Example\", \"email\": \"Ana@Example.com \", \"message\": \"Please send a quote for a logo refresh.\", \"source\": \"website-contact\", \"submitted_at\": \"2026-10-02 09:15:00\", \"request_id\": \"req-20261002-0001\"}"

TEST 3 - second new request: second row added
curl.exe -X POST "YOUR-WEBHOOK-URL" -H "Content-Type: application/json" -d "{\"name\": \"Tom Sample\", \"email\": \"tom@example.org\", \"message\": \"Do you offer monthly support?\", \"source\": \"landing-page\", \"submitted_at\": \"2026-10-02 10:02:30\", \"request_id\": \"req-20261002-0002\"}"

TEST 4 - missing request_id: stopped by the first filter, no row
curl.exe -X POST "YOUR-WEBHOOK-URL" -H "Content-Type: application/json" -d "{\"name\": \"No Id\", \"email\": \"noid@example.net\", \"message\": \"Test without id\", \"source\": \"test\", \"submitted_at\": \"2026-10-02 10:05:00\"}"

Each command should answer: Accepted
Expected after tests 1-4: exactly 2 new rows (req-20261002-0001 and req-20261002-0002). The email of test 1 is saved as ana@example.com (lower-cased, trimmed).

PowerShell versions:
TEST 1/2: Invoke-RestMethod -Method Post -Uri 'YOUR-WEBHOOK-URL' -ContentType 'application/json' -Body '{"name": "Ana Example", "email": "Ana@Example.com ", "message": "Please send a quote for a logo refresh.", "source": "website-contact", "submitted_at": "2026-10-02 09:15:00", "request_id": "req-20261002-0001"}'
TEST 3:   Invoke-RestMethod -Method Post -Uri 'YOUR-WEBHOOK-URL' -ContentType 'application/json' -Body '{"name": "Tom Sample", "email": "tom@example.org", "message": "Do you offer monthly support?", "source": "landing-page", "submitted_at": "2026-10-02 10:02:30", "request_id": "req-20261002-0002"}'
TEST 4:   Invoke-RestMethod -Method Post -Uri 'YOUR-WEBHOOK-URL' -ContentType 'application/json' -Body '{"name": "No Id", "email": "noid@example.net", "message": "Test without id", "source": "test", "submitted_at": "2026-10-02 10:05:00"}'

macOS / Linux: use curl with single quotes:
curl -X POST 'YOUR-WEBHOOK-URL' -H 'Content-Type: application/json' -d '{"name": "Ana Example", "email": "Ana@Example.com ", "message": "Please send a quote for a logo refresh.", "source": "website-contact", "submitted_at": "2026-10-02 09:15:00", "request_id": "req-20261002-0001"}'

Flowpaja is independent of Make and Google. Questions: flowpaja.fi@gmail.com
