How we use our own website to qualify leads automatically
Before we had client work to point to, we needed a way to prove we actually build automations — not just talk about them. So we built our own lead qualification flow before launching the site publicly. This is that story.
The contact form was the obvious starting point. It’s where intent meets action — someone filling out a form has already decided to reach out. But most contact forms just sit there. Someone fills them out, you get an email, you manually enter their info into a spreadsheet, and then you try to remember what they said. That’s not automation — that’s a todo list wearing a drag-and-drop costume.
We wanted the entire lead flow to happen without us touching it. From form submission to Cal.com scheduling link in the lead’s inbox — automatic.
Here’s how it works.
The flow
Step 1: Form submission
A visitor lands on our /contact page. They fill out a short form — name, email, company, what’s the pain. When they hit send, the data goes straight to n8n via a webhook. This happens in milliseconds.
Step 2: Enrichment + CRM entry
n8n receives the form payload and immediately kicks off two parallel processes:
Enrichment via Hunter.io: We take the email address and run it through Hunter.io’s email finder API. Hunter returns company name, job title, and social profiles if available. This takes the form data from “some guy named Erik at a company” to “Erik Ace, Founder at Stumptown Automation, Portland OR.”
CRM entry in Baserow: While enrichment is running, n8n also writes the lead to our Baserow instance. We use Baserow as a lightweight CRM — think of it like Airtable but open-source and self-hostable. The Contacts table has these fields:
name— from formemail— from formphone— from form (if provided)company— from form + Hunter enrichmentsource— hardcoded to “contact page” since all leads come from the same placestatus— starts as “lead”created_on— timestamp of when the form was submitted
We also have a linked Projects table that starts empty when a lead comes in. When a lead becomes a client after the audit, we create a project record and link it to their contact. That’s a story for another post.
[PLACEHOLDER: n8n workflow screenshot]
[PLACEHOLDER: Baserow contact entry screenshot]
Step 3: Notification to Mattermost
Once enrichment completes and the CRM entry is written, n8n posts a formatted message to our Mattermost channel. Mattermost is an open-source team messaging platform — think of it like Slack but self-hostable with no per-user pricing. If you prefer Slack, the n8n Slack node works the same way.
The notification includes:
- Lead name and company
- Job title from Hunter enrichment
- What they said their pain point was
- A direct link to their record in Baserow
This means we can see a new lead come in on our phone while we’re AFK, tap the link, and be looking at their full contact history in Baserow within 10 seconds. No searching, no asking them to repeat themselves on the call.
[PLACEHOLDER: Mattermost notification screenshot]
Step 4: Auto-reply with Cal.com link
The last step happens automatically and within seconds of form submission: n8n triggers an email reply to the lead. The email is simple:
Thanks for reaching out. Here’s a link to book a 30-min audit call that works for you: https://cal.com/stumptown-auto
No forms to fill out on their end, no “our team will reach out in 24 hours.” They get a Calendly link immediately while they’re still engaged with our site. Most leads book within an hour.
What this accomplishes
Before the call, we know:
- Their company
- Their role
- What they said their pain point is
- Whether Hunter found additional context (LinkedIn, social profiles)
Zero manual copy-paste. No spreadsheet. No “let me pull up your submission.” We show up to calls already knowing the context.
The lead gets responded to within minutes, not hours. And they get a frictionless scheduling experience — click a link, pick a time, done.
What you’d need to replicate this
- n8n — We run it self-hosted, but the cloud version works too. Free tier is generous.
- Hunter.io account — Email finding and enrichment. There’s a free tier with limited credits; paid plans start at $49/month for higher volume.
- Baserow instance — Self-hosted open-source database. You could also use Airtable as an alternative if you prefer a managed solution.
- Mattermost — Or Slack if that’s what you use. The n8n node for either is nearly identical.
- Cal.com account — Free tier works. Embed the scheduling link in your auto-reply email.
The result
Since we built this, every new lead:
- Appears in our Mattermost channel within seconds
- Has a complete contact record in Baserow
- Gets an auto-reply with a scheduling link before we’ve even seen the notification
We show up to calls knowing exactly who we’re talking to and what they said their problem was. No surprises.
What’s next for this workflow
When a lead becomes a client — after they’ve booked an audit and decided to move forward — their contact record in Baserow gets linked to a project. The project then tracks deliverables, tasks, and milestones through the rest of the engagement.
That full lifecycle (lead → project → tasks, all managed in Baserow with automated status updates from n8n) will be the subject of a future post.
Want us to build your lead qualification flow? Book a free 30-min audit →