B2B Mobility Scale-up

B2B Mobility Scale-up

The Make flow that worked 80%: how a scale-up made their automation production-ready

An operations manager built an automation herself that worked fantastically, until it didn't. How we went from fragile flow to reliable system.

The Challenge

The operations manager had built an impressive automation with Make.com: new leads from HubSpot were automatically enriched, qualified, and forwarded to sales. It worked 80% of the time perfectly. But that other 20% (duplicate entries, missed leads, crashes on special characters) cost more time than the manual workflow ever had.

Our Solution

Her work stayed; we rebuilt it into a robust system. The logic stayed largely the same, but we added error handling, retry mechanisms, logging, and alerts, plus a fallback to manual for the edge cases that no automation can handle.

The Outcome

The automation now runs for months without manual intervention. The operations manager spends her time on process improvement instead of putting out fires. And the system scaled along when the company expanded their sales team.

About this case: At the client’s request, company name and specific details have been anonymized. The company operates in a competitive market where their operational efficiency is a strategic advantage.

”I had built it myself, and it worked”

The operations manager of this B2B scale-up in the mobility market was under pressure. The company was growing fast, too fast for the manual processes they had.

“We were getting dozens of new leads per day through the website. Each lead had to be enriched with company data, qualified based on criteria, and assigned to the right sales rep. That was hours of work per day, every day.”

She had a Make.com account and YouTube, with no development background at all. “I thought: this must be automatable. And it was.”

In three weekends she built a flow that did everything:

  • New HubSpot lead triggers the flow
  • Company data is retrieved from the chamber of commerce API
  • Lead is scored based on company size and industry
  • Score determines priority and assignment
  • Sales rep gets a Slack notification with all context

“The first time it worked, I felt like a hero. My colleagues were impressed. Our management said: ‘This is exactly what we needed.’”

Until it didn’t work

The problems started subtly. A lead that didn’t come through. A duplicate entry in HubSpot. A sales rep who didn’t get a notification.

“At first I thought: incidents. I fixed them manually and moved on. But they became more frequent.”

She started keeping a spreadsheet of what went wrong:

  • Chamber of commerce API timeout: flow crashes, lead disappears
  • Special characters in company name: JSON parse error, flow crashes
  • HubSpot rate limit: too many requests, all leads from that hour are missed
  • Double webhook trigger: same lead processed twice
  • Empty fields: flow crashes if a field doesn’t exist

“I was spending more time fixing the automation than I ever spent on manual work. And worst of all: I never knew if something had gone wrong until someone complained.”

“My automation worked 80% of the time perfectly. But that other 20% was a nightmare.”

The dilemma: throw away or muddle through?

She faced a choice. Back to manual? Unacceptable: the company was growing too fast. Muddle through with the current flow? Unsustainable. Hire a developer to rebuild it completely? Too expensive and too slow.

“I felt stuck. I had built something that almost worked, but not quite. And I had no idea how to fix that last 20%.”

Analyze, don’t judge

Our first step: understand the Make flow so we could learn from it.

“I expected you to say: this is amateur work, we’re starting over. But you said something different. You said: this is cleverly built, just not robust.”

What she had done well:

  • The logic was clear and well documented
  • The steps were logically divided
  • The integrations were correctly configured
  • The happy path worked perfectly

What was missing:

  • Error handling: if something fails, the whole flow crashes
  • Retry logic: temporary errors aren’t automatically retried
  • Logging: no visibility into what’s happening
  • Alerts: nobody knows when something goes wrong
  • Idempotency: the same input can create multiple outputs

“You drew it out on a whiteboard: here are the places where it can go wrong. There were more than I thought.”

Professionalizing what she had built

We chose a hybrid approach: the Make flow stayed the foundation, but we added a “safety net”.

Step 1: Central logging Every step in the flow now logs to a central database. If something goes wrong, we can see exactly where and why.

Step 2: Error handling per step If the chamber of commerce API fails, the flow doesn’t crash. Instead, the lead is marked as “to be enriched manually” and the rest of the flow continues.

Step 3: Retry with backoff Temporary errors (rate limits, timeouts) are automatically retried with exponential backoff. Three attempts over 5 minutes before it’s marked as a real error.

Step 4: Deduplication A check at the start of the flow: has this lead already been processed? If so, stop. This prevents duplicate entries on webhook retries.

Step 5: Alerting Slack notifications on errors, with context about what went wrong. She now knows within minutes if something isn’t right.

Step 6: Graceful degradation For edge cases that no automation can handle (complex company structures, foreign leads) there’s a manual queue. The flow recognizes these cases and routes them automatically.

“It didn’t feel like starting over. It felt like making what I had already built grow up.”

The technical details

For those who want to know: this is what we technically changed:

  • n8n as orchestrator instead of Make (more control over error handling)
  • Python microservice for complex logic that was too fragile in no-code
  • PostgreSQL for logging and state management
  • AWS Lambda for the retry queue
  • Webhook signature validation to prevent external parties from triggering the flow

The migration from Make to n8n took two days. The rest of the time went to building the robustness layer.

Months later: silence is golden

The best proof that it works: she doesn’t think about the automation anymore.

“Before it was every day: what’s wrong now? Now I open the dashboard once a week to check if everything is going well. And it is.”

The results:

  • No manual interventions needed anymore
  • Nearly all leads are automatically processed
  • Edge cases to manual queue (complex situations that require human judgment)
  • Fast response time from lead to sales contact
  • Sales team expanded without changes to the flow

“The best moment was when we hired new salespeople. Before that would have meant a week of work to adjust all the routing. Now it was: new name in the table, done.”

“I tell everyone now: build it yourself, but then have it professionalized. You learn enormously from building it yourself. But at some point you need someone who knows how to make it reliable.”

Lessons learned

  • 80% working is not good enough
    With automation the happy path is easy. The value is in how you handle the other 20%: errors, exceptions, edge cases.

  • Building it yourself has value
    She understood her process better than anyone, precisely because she had automated it herself. That knowledge was indispensable for the professionalization.

  • Error handling is not an afterthought
    In production systems error handling is 50% of the code. With no-code tools this is often forgotten, until it goes wrong.

  • Logging is your best friend
    You can’t fix what you can’t see. Every automation should log what’s happening, even when it’s going well.

  • Graceful degradation > perfect automation
    Some things you can’t automate. A system that knows its own limits and gracefully falls back to manual is better than one that crashes.

  • Alerts must be actionable
    ”Something went wrong” is not a good alert. “Lead X could not be enriched because the chamber of commerce API gave a 429, lead is in manual queue” is.

Services Used

The services we provided to deliver this solution.

Our Focus

AI automation that keeps running in production

Automate your business processes with AI, built by senior engineers to keep running reliably in production. Free consultation up front.

Build your software

Have custom software, a web application, or an app built by senior developers. From concept to production, or your AI-generated software made production-ready. Free scoping call up front.

Growth Engineering

Strategic consultancy and hands-on implementation for marketing teams. From advice on what to fix first to building the technical infrastructure that enables data-driven growth.

Additional Expertise

Code review and security audit

Software Development Support

Hire a Fractional CTO

Frequently Asked Questions

My Make.com or n8n automation works most of the time, but sometimes fails. How do I make it reliable?

That is exactly what we did for this scale-up. Their Make flow enriched and routed leads, but crashed on timeouts, special characters and double triggers. We left it standing and added a safety net: error handling per step, retry with backoff, central logging, alerting and a manual fallback for edge cases. The automation now runs for months without manual intervention.

Why does my no-code automation work 80% of the time but not always?

Because the happy path is easy and the other 20% (errors, exceptions, edge cases) is the real work. In production systems error handling is quickly half the code, and that's exactly what's often missing in no-code flows. For this scale-up that 20% cost more time than the manual work the flow was meant to replace, until we added the robustness layer.

Do I have to throw away my self-built automation when I bring in a developer?

No. Building it yourself has real value: the operations manager understood her own process better than anyone. We kept her logic and professionalized it, moving from Make to n8n with a Python microservice for the complex steps, PostgreSQL for logging and AWS Lambda for the retry queue. What she had already built, we let grow up.

Does an automation like this scale as my team grows?

Yes. When this scale-up hired new salespeople, adjusting all the routing used to mean a week of work. After the professionalization it was: new name in the table, done. The system scaled along without changes to the flow itself.

Let's discuss your project

From AI prototypes that need to be production-ready to strategic advice, code audits, or ongoing development support. We're happy to think along about the best approach, no strings attached.

010 Coding Collective free consultation
free

Free Consultation

In 1.5 hours we discuss your project, challenges and goals. Honest advice from senior developers, no sales pitch.

1.5 hours with senior developer(s)
Analysis of your current situation
Written summary afterwards
Concrete next steps