Send Every Jotform Submission Straight Into Copper

The moment someone completes your Jotform form, the lead is cleaned and written into Copper as a de-duplicated contact — no copy-paste, no missed leads.

difficulty Beginnersetup 30 minresult A new Copper contact appears within seconds of each Jotform submission, with name, email and company already filled in.
  1. 1

    Step 1 — Receive the submission

    Add a Webhook node (POST). Copy its URL into Jotform as the submission endpoint so every completed form is pushed to n8n instantly.

  2. 2

    Step 2 — Normalise the fields

    Add a Set node. Create email, firstname, lastname and company and map each from the payload, e.g. {{ $json.body.email }}. This shields the rest of the flow from Jotform's field naming.

  3. 3

    Step 3 — Reject empty emails

    Add an If node with the condition {{ $json.email }} is not empty. The true branch continues; the false branch can alert you to a broken form.

  4. 4

    Step 4 — Write to the CRM

    Add an HTTP Request node to the Copper CRM API to create or update a person keyed on email.

  5. 5

    Step 5 — Confirm receipt

    Add a Respond to Webhook node returning Lead saved. This 200 response stops Jotform from retrying the submission.

Frequently asked questions

My Jotform 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 Jotform 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.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.