Tutorial

How Do You Build a Make Scenario to Enrich New Form Leads?

Written by
Pravin Kumar
Published on
Oct 5, 2026

How do you build a Make scenario that enriches new form leads?

Start the scenario with a Custom webhook that receives each form submission. Add an enrichment step that looks up the company from the email domain, a Router that splits leads by fit, a HubSpot step that creates or updates the contact, and a Slack alert for strong leads. Add a fallback route for anything that matches no rule.

This tutorial is for one situation. You have a B2B website with a demo or contact form, leads land in HubSpot with little more than a name and email, and your sales team spends time researching each one before deciding whether to call. You want that research done automatically before the lead reaches a rep.

I use Make for this kind of workflow when the logic has a few branches and the team wants to see the flow visually. The same design works in Zapier or n8n. The steps matter more than the tool, and the order of those steps matters most.

What should the scenario do from start to finish?

It should catch the lead instantly, skip obvious junk, look up company details, decide how good a fit the lead is, write everything to HubSpot, and alert the right person. Each step should leave a trace, so if something goes wrong, you can see exactly which lead failed and why.

Before opening Make, write the flow on paper. Trigger, clean, enrich, score, route, write, notify. For each step, note what data comes in, what goes out, and what happens if the step fails. Ten minutes of planning saves an hour of rebuilding modules later.

Also decide what "good fit" means in plain rules. For example, a business email domain, a company size within your target range, and an industry you serve. If you cannot write those rules down, the Router has nothing reliable to decide with. I covered the logic of filtering free email addresses in my guide to flagging free email signups with a HubSpot workflow.

Step 1: How do you catch the form submission in Make?

Create a new scenario and add the Webhooks app's Custom webhook as the trigger. Make generates a unique URL. Send one test submission to that URL so the scenario has sample data to map, then connect your website form to send every new submission there.

Make's webhooks documentation describes this as creating a URL to which you can send any data, and the custom webhook acts as an instant trigger, running the scenario as soon as a request arrives. That speed matters for lead response, because the enrichment and alert happen within seconds of the form submit.

The same page notes that Make automatically deactivates webhooks that are not connected to any scenario for more than 5 days. So do not create the webhook, test it, and leave it unattached for a week while you finish the build. Connect it to the scenario as you go. For how your form sends data to the URL, check your website platform's current documentation for form webhooks or integrations.

Step 2: How do you clean the data before enriching it?

Add a step right after the trigger that trims spaces, lowercases the email, and extracts the domain. Then add a filter that stops obvious junk, such as test submissions or empty emails. Cleaning first means every later step works with consistent data, and you do not pay to enrich spam.

Extracting the domain is the most important cleaning step. Everything you enrich next depends on it. A text function or formula can split the email at the @ symbol and keep the second part. Store the domain as its own value so later modules can map it directly.

I also add a simple free email check here, comparing the domain against a short list of common personal email providers. Leads with personal emails can still continue, but they skip company enrichment, since there is no company domain to look up. That saves enrichment credits and avoids nonsense matches.

Step 3: How do you enrich the lead with company data?

Add your enrichment provider's module, or an HTTP request to its API, and look up the company by domain. Map the fields you will actually use: company name, size, industry, and location. If the provider returns nothing, continue with what you have rather than stopping the scenario.

Which provider you use depends on your budget, coverage needs, and what your team already pays for. Clay, Apollo, and several other tools offer company data, and each has its own pricing, credits, and limits. Check the current documentation for whichever you choose. I compared cost and coverage tradeoffs in enrichment waterfall order, cost versus coverage.

Keep enrichment narrow at first. It is tempting to pull 40 fields because they are available. But every extra field is something to map, store, and maintain. Start with the three or four fields your routing rules and reps actually use, then add more only when someone asks for a specific one.

Step 4: How do you route leads with a Router?

Add a Router after enrichment and create one route per lead type, such as strong fit, possible fit, and poor fit. Put a filter on each route using your fit rules. Then set a fallback route for leads that match none of them, so nothing silently disappears from the scenario.

Make's Router documentation explains that a router branches the scenario into several chains of modules, with each route processing data according to the condition you set. It also says routes are processed in order, and Make will not process the second route until it finishes the first. Put your most important route first.

The same documentation describes a fallback route that processes data not fitting the conditions of the other routes, and it runs last. I always use one. In this scenario, the fallback writes the lead to HubSpot with a needs review flag and sends a quiet Slack message, so a person can look at anything unusual instead of losing it.

Step 5: How do you write the lead to HubSpot?

On each route, use a HubSpot step to search for an existing contact by email, then update it if found or create it if not. Write the enrichment fields and a fit label to contact or company properties. Searching first prevents duplicate contacts when the same person submits twice.

The search step is what keeps the CRM clean. Without it, every repeat form submission creates a new contact, and your reps see three records for one person. With it, the scenario adds new information to the existing record, which also tells sales that the person came back, often a strong buying signal.

Check Make's current app documentation for the exact HubSpot module names. Create the custom properties in HubSpot before you build this step, with clear names like enrichment company size and fit label. That way the mapping in Make is straightforward, and anyone reading a contact record can tell which values came from the automation.

Step 6: How do you alert sales and handle failures?

On the strong fit route, add a Slack message to the sales channel or the assigned rep with the lead's name, company, size, and a link to the HubSpot record. Then add error handling to the enrichment and HubSpot modules, so a failed API call alerts you instead of silently dropping the lead.

A useful alert is short and actionable. Name, company, why it is a strong fit, and the link. Reps should be able to decide in five seconds whether to act. Long alerts with every enrichment field get skimmed and ignored within a week.

Error handling is the step most tutorials skip, and it is the one that protects revenue. Enrichment APIs time out, HubSpot occasionally rejects a field, and webhooks can arrive malformed. I wrote a full guide to error routes in a Make scenario. At minimum, send yourself an alert when any module fails, with the lead's email in the message.

What should you do next?

Write your fit rules in three plain sentences, create the HubSpot properties for enrichment and fit, then build the scenario in order: webhook, clean, enrich, router with fallback, HubSpot search and update, Slack alert, error handling. Test it with five fake leads covering each route before connecting your live form.

Once it runs, review a sample of routed leads each week for the first month. Check that the fit labels match what sales would have decided by hand. Adjust the rules if they do not. A routing scenario that matches human judgment is one reps will trust.

If you want help building lead enrichment and routing that turns form submissions into sales-ready records, reach out through pravinkumar.co. I build websites and the automations behind them for lead generation. 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.