workflow recipe
n8n Form Lead to CRM Workflow With Validation
Use Form Trigger to collect a lead, IF to validate required fields, Set to normalize the CRM payload, and HTTP Request or a CRM node to create or update the record.
Independent third-party notes. n8n is a trademark of its owner and is referenced only for compatibility and troubleshooting context.
Quick Answer
Use Form Trigger to collect a lead, IF to validate required fields, Set to normalize the CRM payload, and HTTP Request or a CRM node to create or update the record.
Problem Pattern
Form-to-CRM workflows fail when forms send inconsistent field names, missing email addresses, duplicate leads, or raw payloads that the CRM API rejects.
Key Facts
- Entry point
- Form Trigger can collect structured form submissions inside n8n.
- Validation need
- Email, source, consent, and required custom fields should be checked before a CRM write.
- Payload shaping
- Set makes the CRM request body stable and readable.
- CRM option
- Use a native app node when available, or HTTP Request for a custom CRM API.
Recommended Steps
- Create a Form Trigger with only the fields the CRM actually needs.
- Add IF checks for required fields such as email, name, consent, and source.
- Use Set to normalize field names and default values.
- Send the normalized payload to the CRM with a native node or HTTP Request.
- Return or send an internal notification only after the CRM write succeeds.
Verification
- A valid form submission creates or updates one CRM record.
- A submission without email is rejected or routed for review.
- The CRM payload field names match the CRM schema.
- A duplicate submission does not create an unwanted duplicate contact.
Warnings
- Do not send leads to a CRM without validating consent and required fields.
- Duplicate lead handling belongs in the workflow or CRM settings, not in a spreadsheet after the fact.
- HTTP Request errors can come from CRM schema mismatches, not only credentials.
Best For
- Simple website lead capture
- Internal request forms
- CRM systems with a clear API or native n8n node
Not For
- Complex attribution pipelines without deduplication and consent handling
- Regulated lead capture without legal review
Common Mistakes
- Passing raw form field names directly into the CRM.
- Skipping consent and source checks.
- Creating a new contact every time instead of checking for an existing email.
- Hiding CRM API errors behind a generic success response.
Examples
Form Trigger: name, email, company, consent, source
IF: email exists and consent == true
Set: crm_email, crm_name, crm_company, lead_source
HTTP Request: create or update CRM contact
Slack: notify sales when qualified FAQ
Should I use HTTP Request or a CRM app node?
Use a native node when it supports the exact operation. Use HTTP Request when the CRM API or endpoint is custom.
Where should duplicate checks happen?
Prefer checking by email before creating a contact, or use the CRM's upsert behavior if it supports it.