How to connect your website forms to email or your CRM

To connect a website form to email or a CRM, pick the simplest method your website platform supports: its built-in notifications for email, the CRM's own form or official integration for your CRM, a connector like Zapier or Make when no native option exists, or a webhook or API integration for custom sites. Then do the parts that are easy to skip: authenticate the email so alerts do not land in spam, map every field, capture where the lead came from, block spam, and test the whole path from form to inbox to CRM.
Five ways to connect a form
| Method | How it works | Best for | Watch out for |
|---|---|---|---|
| Built-in notifications | The website platform emails each submission | Brochure sites, low volume | Spam folder delivery; no follow-up tracking |
| Email via SMTP or an email service | Form plugin sends through an authenticated mail service | WordPress and self-hosted sites | Needs correct DNS records |
| CRM-native form or integration | The CRM's form, plugin or app collects the lead directly | HubSpot, Salesforce, Zoho and similar | Styling limits, extra scripts |
| Connector (Zapier, Make, n8n) | A workflow passes each submission to other tools | Mixing tools without code | Monthly task limits, silent failures |
| Webhook or API | The site posts data straight to the CRM's API | Custom and headless builds, high volume | Needs a developer; keys must stay server-side |
Most businesses end up combining two: a CRM integration for the record and an email or chat alert for speed.
1. Built-in form notifications
Most platforms can email you each submission. Squarespace and Wix forms send notifications and store entries in the dashboard. Netlify Forms stores submissions and can send email notifications and outgoing webhooks. This is fine for low volume, but on its own it gives you no follow-up history, no reporting and no backup if an email goes astray.
Do this: send notifications to a shared inbox (sales@ or leads@), not one person, and check that submissions are also stored in the platform.
2. Email that actually arrives
The most common reason leads "disappear" is deliverability. Many WordPress sites send mail straight from the web server, unauthenticated, and often "from" the visitor's email address. Inbox providers treat both as suspicious.
Fix it this way:
- Send through an authenticated service. On WordPress, use an SMTP plugin connected to your email provider or a transactional email service.
- Send from your own domain, such as forms@yourbusiness.com, and put the visitor's address in reply-to.
- Set up SPF, DKIM and DMARC for that domain. Our guide to domains, DNS, SSL and email authentication walks through each record.
- Keep submissions stored in the form plugin or platform so nothing is lost if an email fails.
3. Your CRM's own form or integration
When available, this is usually the best option. The CRM captures the lead with full context and you avoid a middle layer that can break.
- HubSpot offers embeddable forms, a WordPress plugin, and a feature that can collect submissions from existing non-HubSpot forms on your site.
- Salesforce offers Web-to-Lead, which posts a basic web form straight into Salesforce leads, plus marketing tools (such as Account Engagement, formerly Pardot) for richer form handling.
- Zoho, Pipedrive, Keap and others provide web forms or website plugins.
- Industry systems often have their own: booking widgets in field service software, intake forms in practice management tools, lead forms in real estate CRMs.
The trade-off is control. Embedded CRM forms can be harder to style and add scripts to the page. Check the result on a phone and keep an eye on page speed. See Core Web Vitals for small business websites.
4. Connector tools: Zapier, Make and n8n
When your form tool and CRM do not talk directly, a connector moves the data. "When a new form entry arrives, create or update a contact in the CRM, then post an alert to Slack."
Connectors are quick to set up and need no code. Their weak spot is that they fail quietly: a renamed field, an expired login or a plan limit can stop leads flowing without anyone noticing. Turn on error notifications, check the task history weekly, and keep submissions stored at the source.
5. Webhooks and APIs for custom sites
On coded sites (for example Next.js on Netlify or Vercel, like the ones in our DIY guide), the form usually posts to a serverless function that calls the CRM's API. A webhook is the simpler cousin: the form tool sends each submission to a URL that another system listens on.
Rules that matter:
- Keep API keys on the server, in environment variables, never in browser code. See securing a website you built with AI.
- Validate input on the server and return a clear error if something fails.
- Log failures and retry, or queue submissions, so a CRM outage does not lose leads.
- Create or update, do not duplicate. Match on email where the CRM supports it.
This is the most flexible approach and the one we use for integrations with CRMs, ERPs and booking systems. See our integrations service.
Choosing the right method
- Small site, a few leads a week, no CRM: built-in notifications plus authenticated email.
- Using HubSpot, Salesforce or Zoho: the CRM's native form or official plugin.
- Several tools that do not integrate: a connector, with error alerts on.
- Custom or headless site, or high volume: a server-side API integration.
Capture where the lead came from
A lead without a source is hard to act on and impossible to report on. Add hidden fields for:
- UTM parameters (source, medium, campaign)
- The landing page and the page the form was submitted from
- A click ID from ad platforms where relevant
Map those fields into the CRM, and fire a conversion tracking event on successful submit so analytics and ad platforms count the lead too.
Stop spam without losing real leads
- Add a hidden "honeypot" field that real people never see.
- Use a CAPTCHA or a privacy-friendly challenge on forms that attract bots.
- Apply rate limiting on custom form endpoints.
- Avoid filters so strict that real enquiries are rejected; check the spam folder of your form tool now and then.
Map fields and route leads
- Match field names between the form and the CRM, including dropdowns with fixed values.
- Set an owner or team based on service, location or deal size, so the right person gets the alert.
- Send an instant alert by email, text or chat. Response speed is one of the biggest factors in whether a lead converts.
- Send the visitor a confirmation so they know you received it.
Privacy and data handling
Only collect what you need, explain how you use it in your privacy policy, and add consent checkboxes for marketing email where required. If forms collect health, financial or children's information, take extra care with where it is stored and which tools touch it. See website accessibility for making forms usable for everyone, too.
Test the whole path
Before launch and after every change:
- Submit a real test from a phone and a laptop.
- Confirm the alert arrives, and check spam.
- Confirm the CRM record has every field, including source fields.
- Confirm the visitor sees a thank-you message and receives any confirmation email.
- Confirm the conversion event fires.
- Delete the test record.
Then repeat monthly. Forms are the part of a website most likely to break quietly.
The short version
Use your CRM's native form or integration where you can, authenticate outgoing email so alerts arrive, capture the lead source in hidden fields, keep a stored copy of every submission, and test the full path regularly. If you would like your forms wired into your CRM properly, tell us what you use.
Questions people ask
Why are my website form emails going to spam?
What is the best way to send website leads to a CRM?
Should form submissions go to email, a CRM, or both?
How do I track where form leads come from?
How often should I test my website forms?
Planning a website?
Get a platform recommendation and a fixed quote within one business day.



