Tutorial

How Do I Connect a Webflow Contact Form to HubSpot With Zapier?

Written by
Pravin Kumar
Published on
Jul 16, 2026

How do I connect a Webflow contact form to HubSpot with Zapier?

You connect them with a Zap that watches your Webflow form and creates a contact in HubSpot for each submission. Zapier sits in the middle: Webflow is the trigger, HubSpot is the action. Once it is set up, every lead lands in your CRM automatically, with no copying and pasting and no missed inquiries.

This is one of the most useful automations I set up for clients. For Kismet Health, I sync their website form leads straight into HubSpot through Zapier, so their team never has to check an inbox to find a new lead. It just appears in the CRM, ready to work.

The setup is not hard, but a few details decide whether it runs cleanly or creates a mess. Let me walk through the whole thing, step by step.

Why send Webflow form leads to HubSpot at all?

Because speed and organization win deals. A lead sitting in an email inbox is a lead waiting to go cold. Sending it straight to HubSpot means it enters a system built to track, assign, and follow up, so nobody forgets it. The difference between a fast follow-up and a slow one is real revenue.

The research is blunt about this. The Lead Response Management study by Dr. James Oldroyd at MIT and InsideSales.com, later featured in Harvard Business Review's article "The Short Life of Online Sales Leads," found that firms contacting a lead within an hour were seven times more likely to have a meaningful conversation than those who waited longer. Manually checking a Gmail or Outlook inbox rarely hits that window. Automation does.

There is also a data reason. When leads flow into HubSpot automatically, your reporting stays honest and your history stays complete. You can see where inquiries come from and what happens to them. A pile of unread emails gives you none of that. Many businesses lose leads simply because the handoff is manual, which I wrote about in my post on why a Webflow contact form loses leads.

What do I need before I start?

You need three things: a published Webflow site with a working form, a HubSpot account, and a Zapier account. HubSpot's free CRM tier is enough to begin, and Zapier's free plan handles a low volume of leads. Have login access to all three open before you start, because you will connect them during setup.

It also helps to know your form fields in advance. Write down every field on your contact form: name, email, phone, message, and anything else you collect. HubSpot has matching contact properties for the common ones, and knowing your list ahead of time makes the mapping step much faster later.

Finally, decide what a new lead should become in HubSpot. Usually it is a contact, sometimes with a note or a source tag attached. Having that decision made before you build keeps the Zap simple. I always sketch the flow on paper first, even for something this small, so I am not improvising inside the tool.

How do I set up my Webflow form the right way?

Give every form field a clear, unique name and make sure the form actually submits on the live site. Zapier reads your fields by their names, so vague or duplicate names cause confusion later. Use plain labels like "Full Name", "Email", and "Message" so the mapping step is obvious when you get there.

Test the form on your published site before touching Zapier. Submit a real entry and confirm it appears in Webflow's form submissions area. Zapier can only pick up submissions that Webflow is genuinely recording, so this check saves you from debugging the wrong tool later. A form that fails silently is a common and frustrating trap.

Keep the form fields tight. Every extra field you add is one more thing to map, maintain, and clean. I ask clients to collect only what they will actually use to qualify and contact a lead. A shorter form converts better and creates less mess downstream, which pays off across the whole pipeline.

How do I create the Zap that connects them?

In Zapier, create a new Zap and choose Webflow as the trigger app with the "New Form Submission" event. Connect your Webflow account, pick the correct site and form, and let Zapier pull in a recent test submission. That test entry is what you will use to map fields in the next step, so submit one first if none exists.

Then add the action step and choose HubSpot as the app, with "Create or Update Contact" as the event. Connect your HubSpot account when prompted. Choosing "Create or Update" rather than plain "Create" is deliberate, because it is what keeps you from piling up duplicate records, which I will come back to.

Zapier walks you through each connection with a clear prompt, so you are never guessing. The structure is always the same: one trigger that listens, one action that writes. Once both apps are connected and the event types are set, the skeleton of your automation is done and you only have the details left.

How do I map my form fields to HubSpot properties?

Map each Webflow field to the matching HubSpot property, one by one. Point the form's email field at HubSpot's email property, the name field at first and last name, and so on. Zapier shows your Webflow test submission on one side and HubSpot's fields on the other, so you are matching real example data as you go.

Take care with names and phone numbers. If your Webflow form uses a single "Full Name" field but HubSpot wants first and last name separately, you may need to split it, and Zapier has a formatter step for that. Getting the format right here prevents the kind of messy records that make a CRM hard to trust.

Map only the fields you truly need. It is tempting to connect everything, but each mapping is a small maintenance cost. I keep the map focused on the fields the sales team actually uses. Clean, deliberate mapping is the difference between a CRM that helps and one that fills up with noise, a theme I explored in my post on how to stop an automation from sending bad data to your CRM.

How do I avoid duplicate contacts in HubSpot?

Use the "Create or Update Contact" action and match on email. HubSpot treats email as the unique key for a contact. When your Zap uses create-or-update, HubSpot checks whether that email already exists, updates the record if it does, and creates a new one only if it does not. That single choice prevents most duplicates.

This matters more than it seems. Without it, a returning visitor who submits your form twice becomes two separate contacts, splitting their history and skewing your counts. I have cleaned up CRMs where a single person existed five times over. Preventing that at the source is far easier than merging records by hand later.

So the rule is simple: never use a plain "Create Contact" step for a public form. Public forms attract repeat submissions, and repeat submissions demand deduplication. Create-or-update on email is the quiet setting that keeps your HubSpot clean for years without any extra work from you.

How do I test the whole flow before going live?

Submit a real test entry through your live Webflow form and watch it travel all the way into HubSpot. Do not rely only on Zapier's built-in test. Fill out the actual form as a visitor would, then check that a matching contact appears in HubSpot with every field in the right place. That end-to-end check is the only true proof.

Try a few edge cases while you are at it. Submit with a missing phone number, then submit the same email twice, and confirm the flow handles both gracefully. The second submission should update the existing contact, not create a new one. If it creates a duplicate, revisit your action step before you turn it loose on real leads.

Only after a clean test do I switch the Zap on. Testing with real submissions catches the small problems that a simulated test hides, like a field that maps to the wrong property. Ten minutes of honest testing here saves hours of cleanup once real leads start flowing.

What can go wrong, and how do I keep it reliable?

The common failures are a renamed form field, a disconnected account, or a form that stops recording submissions. Any of these can quietly break the flow, and leads vanish without an error you would notice. Reliability comes from checking the connection now and then, not from assuming it runs forever untouched.

I protect against silent failure with a simple habit: a copy of every lead goes somewhere I will see it. That can be an email notification from Webflow or a second Zapier step that logs the lead to a Google Sheets spreadsheet. If HubSpot ever misses one, I still have the record and can catch the gap fast.

Once it is stable, this automation runs for years with almost no attention. That is the payoff. The care you put into naming, mapping, and testing up front is what buys you that reliability. If you later want to route or score those leads, you can build on this same foundation, as I covered in my guide to an AI automation that scores Webflow form leads.

What should you do next?

Open your three accounts, confirm your Webflow form records a test submission, and build a single Zap with a Webflow trigger and a HubSpot create-or-update action. Map your fields carefully, test end to end with a real submission, and only then switch it on. You will have every lead landing in your CRM within minutes of arriving.

This one automation removes a whole category of dropped-lead problems, and it is well within reach for a non-technical owner willing to work through it once. If you get stuck on the mapping or want a second set of eyes on your setup, reach out. I am happy to walk through it with you. Let's chat.

Get found, cited and the back office automated

Let's make your site the source AI engines quote and wire up the systems behind it.

Contact

Let's get your website found and cited by AI

Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.

Got it, thanks. I read every message personally and reply within 1-2 business days.
Oops! Something went wrong while submitting the form.