Send Every Google Forms Submission Straight Into Copper
The moment someone completes your Google Forms form, the lead is cleaned and written into Copper as a de-duplicated contact — no copy-paste, no missed leads.
- 1
Step 1 — Receive the submission
Add a
Webhooknode (POST). Copy its URL into Google Forms as the submission endpoint so every completed form is pushed to n8n instantly. - 2
Step 2 — Normalise the fields
Add a
Setnode. Createemail,firstname,lastnameandcompanyand map each from the payload, e.g.{{ $json.body.email }}. This shields the rest of the flow from Google Forms's field naming. - 3
Step 3 — Reject empty emails
Add an
Ifnode with the condition{{ $json.email }}is not empty. The true branch continues; the false branch can alert you to a broken form. - 4
Step 4 — Write to the CRM
Add an
HTTP Requestnode to the Copper CRM API to create or update a person keyed on email. - 5
Step 5 — Confirm receipt
Add a
Respond to Webhooknode returningLead saved. This 200 response stops Google Forms from retrying the submission.
Frequently asked questions
My Google Forms field names are different — will this still work?
Yes. Only the expressions in the `Set` node (Step 2) reference field names. Change `{{ $json.body.email }}` to match the exact keys Google Forms sends and every downstream step keeps working.
Will I get duplicate contacts in Copper?
No. Step 4 upserts keyed on email address, so a repeat submission updates the existing Copper record instead of creating a second one.