Clients ask us "which automation tool?" the way people ask "which laptop?" — expecting one answer. There isn't one. There are five we actually reach for, all free to self-host on your own infrastructure, and the shape of the work picks the tool. Here is the map we use.
The map
n8n — business glue
The default when a workflow crosses many SaaS tools and needs an occasional AI step. Visual editor, hundreds of integrations, an agent node when a step genuinely needs a model. One caveat worth reading before you build a business on it: the license is fair-code, not OSI open source — free to self-host, restricted if you resell it.
Activepieces — for the team that lives in a browser
The one we hand to non-engineers. Smaller catalog than n8n, MIT-licensed core, and the cleanest editor of the five. If the people who own the workflow do not open a terminal, start here and they will still own it after we leave.
Windmill — code-heavy pipelines
Scripts in Python or TypeScript become workflows with approvals, retries, and a UI wrapped around them. When the logic is real code, wrapping a workflow around it beats faking code inside drag-and-drop boxes. This is where our engineer-built automations land.
Kestra — data orchestration
Declarative flows, schedules, and backfills for moving and transforming data. When the job is "load this nightly, and a half-loaded table is a five-alarm failure," you want an orchestrator that treats state and retries as the whole product. That is Kestra's shape.
Node-RED — event wiring
The veteran. MQTT, webhooks, sensors, on-prem hardware — events routed in milliseconds on a box the size of your palm. It predates the current automation wave and it will outlive it. For physical-world and event-driven glue, nothing else on this list is even trying.
How we actually choose
- Who maintains it after we leave? The tool has to match the team, not our taste. A perfect Windmill pipeline is a liability in a company with no one who reads Python.
- Where does the logic live? Clicks for glue, code for code. Automations rot fastest where someone forced one side to imitate the other.
- What breaks, and how loudly? Same bar as the rest of our stack: it ships with dashboards and a runbook, or it does not ship.
Where AI fits
Every one of these tools can call a model mid-workflow, and that is exactly where AI belongs in automation: a classification here, a drafted reply there, an extraction step in the middle — places where the cost of a wrong answer is a keystroke, not an outage. We hold automation AI to the same standard we learned running it in our own ticket queue: humans stay on the steps that carry consequences.
The tool is not the automation. The automation is the workflow you understood well enough to write down — the tool just runs it.
The self-hosted part is the point
All five run on your infrastructure. Your data does not transit a third-party automation cloud, there is no per-task metering on your invoice, and the workflows are yours in a repository — not trapped in a vendor account. That is the same reason our AI infrastructure work defaults to self-hosted where the data is sensitive: the boundary stays yours.