Windmill
Turns Python/TypeScript scripts into workflows, UIs, and webhooks — open-source and self-hostable.
Use when
- Engineering teams replacing Airflow, Prefect, or internal cron+Bash systems
- Backend teams who need workflows + admin UIs + webhooks from the same codebase
- Self-hosted shops that will own the runtime instead of using a cloud-only automation SaaS
Operational upside
- True developer-grade workflow engine — write Python/TypeScript/Go/Bash, deploy, schedule
- Self-hostable, AGPLv3 core, with managed Cloud plans available
- Worker-based execution model designed for code-first jobs and flows
- Auto-generates UIs, webhooks, and scheduled jobs from any script
- Native support for flows (DAGs), apps (UI), and scripts in one platform
Tradeoffs to own
- AGPLv3 license has copyleft implications if you embed or redistribute — read carefully
- Steep learning curve for non-developers; the audience is engineers, full stop
- Smaller plug-in catalog than n8n/Make; more "write your own" than "click together"
- Documentation is engineering-first; marketing/ops users will bounce
What it is
Windmill is a self-hostable, open-source platform that turns scripts into runnable, schedulable, observable workflows — and into UIs and webhooks while it’s at it. If n8n is the developer-friendly Zapier, Windmill is the workflow tool for engineers who think n8n still has too much GUI. Its codebase includes a Rust backend and worker-based services and is licensed AGPLv3.
The platform spans three primitives: scripts (any Python/TypeScript/Go/Bash code), flows (DAGs of scripts), and apps (auto-generated UIs that call scripts). Each script becomes a webhook, a CLI command, a scheduled job, and a UI form input — for free, by default.
Who it’s for
Windmill is a candidate when your alternative was Airflow, Prefect, or “we’ll just use cron and Bash”. It fits backend teams running ETL jobs, data engineering teams orchestrating pipelines, and ops teams replacing a sprawl of internal scripts with something observable.
It’s a poor fit for non-developers: the product is designed around engineering-owned scripts, flows, and deployment rather than a non-technical connector canvas.
Strengths
- Execution workers are first-class. Windmill separates server and worker responsibilities and supports worker groups for routing workloads; measured capacity depends on job shape and infrastructure.
- Documented self-hosting. Run it with the documented Docker Compose or Kubernetes deployment paths and operate the required services, including PostgreSQL.
- One platform, three artifacts. Every script becomes a webhook + a schedulable job + a UI. This is closer to what Retool + Airflow + AWS Lambda promise than what they actually deliver together.
- Real OSS roots. The whole codebase is on GitHub, the contribution graph is alive, the maintainers ship.
- Code-native. No “drop into code” mode — code is the mode. Pipedream is closest, but Pipedream is cloud-only.
Weaknesses / Watch out
- AGPLv3 is copyleft. Internal use and product distribution can have different obligations. Review the license and obtain legal advice before embedding, modifying, or offering Windmill as part of a customer-facing service.
- Audience is engineers only. Marketing ops, RevOps, customer success teams should not start here. They will not be productive.
- Catalog is not the primary abstraction. Pre-built integrations exist, but Windmill expects teams to write scripts or API calls when a native integration is unavailable.
- Cloud tier exists but isn’t the focus. Windmill Cloud is a real product, but the energy of the project is on self-hosted. Buy accordingly.
Best paired with
- Postgres + Anthropic Claude — the “self-hosted data agent” stack: scheduled scripts pull data, Claude analyzes it, results land in a Windmill app for review.
- n8n as a comparison anchor for teams deciding between code-first and low-code — compare the code-first and visual authoring models before choosing which team should own the workflows.
- Tailscale or Cloudflare Tunnel for exposing self-hosted Windmill safely without standing up a public ingress.
Verdict
Lean Windmill for engineering-owned, code-first workflows. It fits teams that want scripts, flows, apps, and git-oriented development in one self-hostable platform. Teams that need a non-technical connector canvas should evaluate n8n, Make, or Zapier instead.
Sources
- Official site & pricing: https://www.windmill.dev and https://www.windmill.dev/pricing
- License (AGPLv3): https://github.com/windmill-labs/windmill/blob/main/LICENSE-AGPL
- Source repository: https://github.com/windmill-labs/windmill
FAQ
- Is Windmill free?
- Windmill has a free tier or open-source edition. See pricing details on the official site for paid features and usage limits.
- What is Windmill best for?
- Engineering teams replacing Airflow, Prefect, or internal cron+Bash systems Backend teams who need workflows + admin UIs + webhooks from the same codebase Self-hosted shops that will own the runtime instead of using a cloud-only automation SaaS
- What are the main downsides of Windmill?
- AGPLv3 license has copyleft implications if you embed or redistribute — read carefully Steep learning curve for non-developers; the audience is engineers, full stop Smaller plug-in catalog than n8n/Make; more "write your own" than "click together"
- Who should use Windmill?
- Turns Python/TypeScript scripts into workflows, UIs, and webhooks — open-source and self-hostable. See our review for the full pros and cons.