Skip to main content
Workflows

HubSpot automation: why workflows fail and what has to be true before you build them

HubSpot automation: why workflows fail and what has to be true before you build them
8:34

The most common request we hear in discovery calls is some version of "we need to automate our lead handoff." Marketing is generating leads. Sales says they're not qualified. The handoff is manual, slow, and inconsistent. The obvious fix is automation.

And it is the fix. Eventually. But here's what usually happens when teams jump straight to building workflows: the lead routing fires, sends a lead to the wrong rep because the territory field is empty, scores a contact as high-priority because the industry field says "Technology" (which matches the scoring rule) even though the company has 3 employees and is nowhere near ICP. The automation works perfectly. It just automates the wrong outcomes.

Automation doesn't fix a broken process. It scales it. That's the sentence we keep coming back to, because it reframes the entire conversation from "what should we automate" to "what needs to be true before automation works."

What has to be true before automation works

This isn't a philosophical point. It's a practical dependency chain.

Start with lead scoring. A scoring model references properties: company size, industry, job title, engagement activity. If 30% of contacts are missing company size and industry is stored as free text with dozens of variations (the kind of data integrity problem we covered in the first post), the scores will be wrong. Not slightly off. Wrong in ways that erode trust in the system within weeks.

Routing has the same dependency but it's more visible. A workflow assigns leads based on territory, deal size, or product interest. Each of those criteria lives in a property. If the property isn't populated, the workflow can't route. If it's populated but unreliable, the workflow routes to the wrong place. Either way, the rep's experience is "this system doesn't work," and they stop paying attention to it. That's harder to recover from than not having automation at all, because now you've trained the team to distrust the tool.

Lifecycle automation is where the problem gets political. Form submission moves a contact to MQL. Sales acceptance moves them to SQL. Deal creation moves them to Opportunity. Sounds clean. But if marketing and sales don't agree on what MQL means, the trigger fires on criteria that one team doesn't believe in. Marketing reports 200 MQLs last month. Sales says they got 200 unqualified contacts. The automation did its job. The definition underneath it was the problem.

This is why we sequence data integrity and process definition before automation. It's the dependency, not a preference.

Lead routing that actually works

When the foundation is solid, lead routing is one of the highest-impact automations you can build. The gap between "form submitted" and "rep makes first outreach" is where deals are won and lost, and most teams measure that gap in hours or days when it should be minutes.

The mechanical parts are straightforward in HubSpot. A contact submits a form. A workflow enrolls them based on form type, lead source, or score threshold. The workflow assigns an owner using round-robin, territory logic, or named-account matching. The workflow creates a task for the assigned rep with a due date. The rep gets a notification.

That's the skeleton. What makes it actually work is the stuff around it.

First, the routing criteria have to be unambiguous. "Assign to the Northeast rep if the state is in the Northeast" only works if the state field is a dropdown, not free text. If it's free text, you'll get "NY," "New York," "new york," "NYC," and your workflow needs conditional logic for every variation. Or you fix the form to use a standardized dropdown, and the routing just works.

Second, the SLA has to be defined. What's the target time from form submission to first outreach? If you don't define it, you can't measure it. If you can't measure it, you can't improve it. We typically see teams set a 5-minute SLA for high-score leads and a 4-hour SLA for everything else. The specific numbers matter less than the fact that they exist and someone's tracking them.

Third, the notification has to land where the rep actually is. An email notification at 2pm on a Tuesday might get checked. A HubSpot notification that requires logging into the portal might not. If your reps live in Slack, route the notification to Slack. If they live in their inbox, send an email with one-click actions. The best routing logic in the world doesn't matter if the rep doesn't see it for six hours.

The feedback loop nobody builds

Here's where most lead routing implementations stop: the lead gets assigned, the task gets created, the notification goes out. Done.

But what happens when the rep works the lead and it's not qualified? In most portals, nothing. The lead sits in "assigned" status. Maybe the rep updates a note. Maybe they don't. Either way, no structured data flows back into the system about why the lead wasn't qualified.

This is the feedback loop, and without it, marketing and sales will argue about lead quality forever. Neither side can prove their case because the data doesn't exist.

The fix is a disposition field on the contact or deal record. When a rep disqualifies a lead, they select a reason: wrong ICP, no budget, no authority, bad timing, competitor, duplicate. That selection feeds back into the scoring model. If 40% of "high-score" leads are being disqualified for "wrong ICP," your scoring model is weighting the wrong signals. Now you can fix it with data instead of opinions.

The disposition field also gives marketing something they almost never have: closed-loop attribution on lead quality. Instead of "we generated 200 MQLs last month," the conversation becomes "we generated 200 MQLs, 140 were accepted by sales, 35 were disqualified for bad fit, and 25 converted to opportunities." Those are two completely different conversations. The second one actually tells you what to change.

Lifecycle automation beyond the lead handoff

Most HubSpot automation concentrates on the top of the funnel. Lead comes in, gets scored, gets routed, gets nurtured if they're not ready. That's where the energy goes because that's where the urgency is.

But the post-sale lifecycle is where automation has the most untapped value, and it's where almost every portal we audit has a gap.

After a deal closes won, what happens? In most portals, the answer is "the deal moves to closed-won and that's about it." Maybe someone sends a welcome email manually. Maybe an onboarding task gets created in a project management tool that doesn't connect to HubSpot. The CRM's job, as far as the system is concerned, ended at the sale.

Here's what should happen, automated. The contact's lifecycle stage updates to Customer. An onboarding workflow enrolls them based on the product or service they purchased. That workflow creates tasks for the CS team with specific milestones: kickoff call scheduled, access provisioned, first check-in at 30 days. A renewal deal is created in a renewal pipeline, dated to the contract end date, so the renewal conversation starts on time instead of "whenever someone remembers."

If the customer has a support interaction during onboarding, the ticket should be associated to the company record so the CS team sees it in context. If the customer goes quiet (no activity, no logins, no meetings) after 60 days, a re-engagement workflow should flag the account for review. These aren't complex automations. They're straightforward workflows. But they require that the post-sale lifecycle is defined, the properties exist, and the triggers are documented.

Internal automation vs. customer-facing automation

There's a useful distinction that changes how you design workflows.

Internal automation enforces process. It assigns tasks, validates data, flags exceptions, routes notifications. The audience is your team. The goal is consistency. If a deal moves to "Proposal Sent" without a proposal amount, an internal workflow should flag it. If a contact is created without a company association, a workflow should assign a cleanup task. These workflows are invisible to the customer but they're the backbone of operational discipline.

Customer-facing automation shapes the experience. Nurture sequences, onboarding emails, re-engagement campaigns, renewal reminders. The audience is the customer. The goal is relevance. A nurture email that fires based on inaccurate lifecycle data or wrong product interest doesn't just miss. It damages trust. The customer knows you got it wrong.

The design principles are different. Internal automations should be aggressive about enforcement. Require fields, flag gaps, create tasks, escalate exceptions. Customer-facing automations should be conservative about assumptions. Only send what you're confident is accurate. Only personalize with data you trust.

When we build automation for clients, we usually start with internal workflows. Data hygiene automations first, then task assignment and routing, then exception flagging. Once those are running and the data they reference is reliable, we layer on customer-facing automation. The order matters. A nurture sequence that references unreliable data doesn't just underperform. It sends the wrong message to the wrong person, and that's a problem your team has to clean up manually.

The question isn't whether you need automation. Almost every team does. The question is whether the data and process underneath can support it without creating more problems than it solves. If you're not sure where that line is, the diagnostic call will tell you.

Share
Connor Skelly

Connor Skelly

Connor is the founder of Fission. He has a long history working with B2B and B2C companies in marketing, sales enablement, and operations. He loves his wife, his 2 cats, and the Chicago Cubs.

Ready to Fix Your HubSpot Operations?

Book a diagnostic call. 30 minutes. No pitch. Just an honest look at your HubSpot setup and where to start.