Windmill — Open-Source Internal Tool Platform
Windmill is an open-source platform for building internal tools, APIs, and workflows. 16.1K+ GitHub stars. 13x faster than Airflow, multi-language, auto UI. AGPLv3.
What it is
Windmill is an open-source platform for building internal tools, APIs, background jobs, and workflows. You write scripts in Python, TypeScript, Go, Bash, or SQL, and Windmill generates a UI, handles scheduling, manages secrets, and provides approval flows -- all without frontend code.
It targets engineering and operations teams that need to build internal tooling quickly without maintaining a separate web application. Windmill is self-hostable and AGPLv3 licensed.
How it saves time or tokens
Building an internal tool traditionally means writing a script, then building a web UI for non-technical users to trigger it, then adding authentication, secret management, and scheduling. Windmill collapses all of this into a single platform. Write a function, Windmill infers the input schema and generates a form UI.
The platform claims to be 13x faster than Airflow for workflow orchestration, with a focus on developer experience over configuration complexity.
How to use
- Deploy Windmill with Docker Compose:
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
docker compose up -d
- Open
http://localhost:8000and create your first script.
- Write a script in any supported language:
# Windmill auto-generates a UI from this function signature
def main(name: str, count: int = 5):
return [f'Hello {name}' for _ in range(count)]
Windmill creates a web form with a text input for name and a number input for count.
Example
// TypeScript script in Windmill
import { Windmill } from 'windmill-client';
export async function main(
database_url: string,
query: string
): Promise<Record<string, unknown>[]> {
const client = new Windmill();
// Windmill manages the database_url as a secret
const results = await client.runQuery(database_url, query);
return results;
}
Workflows chain multiple scripts together with branching and error handling:
fetch_data -> transform -> if error: notify_slack else: write_to_db
Related on TokRepo
- AI Tools for Automation -- More workflow automation platforms
- AI Tools for No-Code -- Low-code and no-code development tools
Common pitfalls
- The AGPLv3 license requires you to open-source modifications if you offer Windmill as a service to third parties. For internal use only, this does not apply.
- Self-hosted Windmill needs PostgreSQL as its backing database. The Docker Compose file includes Postgres, but production deployments should use a managed database.
- Script dependencies are installed at runtime. Cold starts can be slow for scripts with heavy dependencies. Use Windmill's dependency caching to mitigate this.
Frequently Asked Questions
Retool is a drag-and-drop UI builder for internal tools. Windmill is code-first: you write scripts and Windmill generates the UI from function signatures. Windmill also handles workflow orchestration, scheduling, and background jobs, while Retool focuses on UI building.
The Community Edition is free and open-source under AGPLv3. Windmill also offers a paid Cloud and Enterprise edition with additional features like SSO, audit logs, and priority support.
Windmill supports Python, TypeScript, Go, Bash, SQL, and GraphQL. Each script runs in an isolated environment with its own dependencies.
For internal tool workflows and simple ETL pipelines, yes. Windmill's workflow engine supports branching, retries, and approval steps. For complex data engineering pipelines with deep ecosystem integrations, Airflow's plugin ecosystem is still broader.
Yes. Windmill has built-in approval steps that pause a workflow and send a notification to a designated approver. The workflow resumes only after approval is granted via the web UI or API.
Citations (3)
- Windmill GitHub Repository— Windmill is an open-source platform for internal tools and workflows
- Windmill Documentation— Supports Python, TypeScript, Go, Bash, SQL scripts with auto-generated UIs
- Windmill README— AGPLv3 licensed with Docker Compose deployment
Related on TokRepo
Source & Thanks
Created by Windmill Labs. Licensed under AGPLv3. windmill-labs/windmill — 16,100+ GitHub stars
Discussion
Related Assets
HumHub — Open-Source Enterprise Social Network
A flexible, open-source social networking platform built on Yii2 for creating private communities, intranets, and collaboration spaces within organizations.
Dolibarr — Open-Source ERP & CRM for Business Management
A modular open-source ERP and CRM application written in PHP for managing contacts, invoices, orders, inventory, accounting, and more from a single web interface.
PrestaShop — Open-Source PHP E-Commerce Platform
A widely adopted open-source e-commerce platform written in PHP with a rich module marketplace, multi-language support, and a strong European user base.