~/tools/windmill
Windmill
tool

Windmill

Windmill is an open source developer platform for orchestration — a code-first alternative to Retool and AWS Step Functions that turns scripts in Python, TypeScript, Go, and more into APIs, scheduled jobs, workflows, and internal UIs.

What is Windmill?

Windmill is an open source developer platform that turns scripts into production infrastructure. You write code in Python, TypeScript, Go, Bash, SQL, and more, and Windmill automatically wraps each script as an API, a schedulable job, and an auto-generated UI — then lets you chain those scripts into workflows or assemble them into internal apps.

What is Windmill best for?

Windmill fits engineering teams that want to build internal tools, automations, and data pipelines in real code instead of a purely visual builder. It’s a strong pick when you’d otherwise glue together a Retool app, a cron server, and an orchestrator — and want all three in one self-hostable platform with Git-based version control.

What can Windmill do?

  • Turn scripts in 12+ languages (Python, TypeScript, Go, Bash, SQL, PHP, Rust, C#, and more) into APIs and triggerable jobs
  • Auto-generate an input UI and a webhook for every script and flow
  • Compose scripts into workflows (DAGs) with retries, branching, and step dependencies
  • Build internal apps with a low-code drag-and-drop editor backed by your own code
  • Trigger jobs from schedules, HTTP routes, webhooks, Kafka, WebSockets, MQTT, and email
  • Manage secrets, resources, and granular path-based RBAC across workspaces
  • Develop locally with a CLI, VS Code extension, and GitHub sync

Where does Windmill fall short?

  • The Community Edition binaries are proprietary and quota-limited. The free self-hosted edition caps you at 50 users (10 with SSO), 3 workspaces, and 10 GiB object storage, and it withholds audit logs, external secret backends, agent workers, and staging/prod deployment UI — all Enterprise-only.
  • It’s code-first, not no-code. Unlike a pure visual tool, Windmill expects you to write scripts; non-developers can run and trigger flows but won’t build much without engineers.
  • The project isn’t seeking outside code contributions. Per its own contributing notes, Windmill Labs steers development, so it’s less of a community-driven codebase than some open source peers.

Is Windmill free?

Partly — Windmill is free to self-host under the AGPLv3, and the free tier allows unlimited executions with no time limit. But the free Community Edition enforces built-in quotas (50 users, 3 workspaces, 10 GiB storage) and locks enterprise features behind a paid license. The Enterprise Edition starts around $120/month, billed roughly $20/month per developer plus compute charges, and is available self-hosted or as Windmill Cloud.

What does Windmill replace?

Windmill stands in for several paid products at once. Its app builder is a self-hosted Retool alternative; its DAGs and scheduling replace managed orchestrators like AWS Step Functions; and its trigger-based automation overlaps with Zapier for developer-led workflows. Among open source tools it’s often compared to Apache Airflow, Prefect, and Temporal, and it benchmarks its execution engine as faster than Airflow.

FAQ

Is Windmill open source? Yes — the source is AGPLv3 on GitHub and free to self-host. Note that the prebuilt Community Edition binaries are proprietary and carry usage quotas, so building from source is the fully open path.

Can I self-host Windmill for free? Yes. The self-hosted Community Edition costs nothing to run beyond your own server, with unlimited executions but capped users, workspaces, and storage. You only pay when you need Enterprise features or higher limits.

Is Windmill a good Retool alternative? For engineering teams, yes — you get a self-hosted app builder plus orchestration and scheduling in one platform, with everything defined in code and versioned in Git. It’s less friendly for non-developers than a hosted low-code tool.

What do I need to run Windmill? A PostgreSQL database and Docker (Compose or Kubernetes via Helm). Windmill’s backend is written in Rust; plan roughly 1–2 GB RAM per worker and one worker per vCPU.