Windmill
Workflow orchestration platform that treats scripts (TypeScript, Python, Go, Bash) as first-class primitives with a visual UI on top. Open-source (AGPLv3), self-hostable, Git-native (workflows sync to repo), and built for engineers who want infrastructure-grade orchestration without Temporal complexity. Execution runtime handles retries, parallelism, and error flows. Cloud or self-hosted deployment.
Official site ↗Why it ranks here
Strongest open-source alternative for teams that outgrow n8n or need infrastructure-grade workflows. Scripts are version-controlled in Git, UI generates workflows from scripts, and execution engine handles durability and observability. More resilient than n8n for high-scale or mission-critical automations; less accessible for non-coders.
Where it sits
Ranked fifth because it optimizes for engineering rigor over ease of use. n8n has better visual workflow UX and ecosystem. Pipedream has simpler developer ergonomics. Windmill wins when you need self-hosted orchestration with production-grade error handling, audit logs, and RBAC. For GTM engineering teams with DevOps resources, this competes with n8n; for teams without infra capacity, n8n or Pipedream is easier.
How GTM Engineering teams use it
GTM engineers build data pipelines that orchestrate multiple steps: extract data from CRM via API (Python script), transform it (TypeScript script), load to warehouse (Bash script calling dbt), send success or failure notification (another script). Workflows handle retries per step, run steps in parallel when possible, and surface logs in the UI. Teams use Windmill for internal tools (admin dashboards that trigger workflows) and scheduled jobs (daily CRM hygiene, weekly data syncs). Git-native design means workflow changes go through code review.
In-depth notes
Open-source (AGPLv3) with enterprise features (SSO, audit logs, RBAC) in paid cloud or self-hosted enterprise license. Self-hosted deployment is Docker Compose or Kubernetes. Scripts are written in an online IDE or synced from Git; the UI generates workflow steps from script inputs and outputs. Execution engine handles retries, timeouts, and error flows per step. Built-in secret management and permissioning per script. Learning curve is steeper than n8n: you write scripts first, then compose them into workflows. Observability is strong: logs per step, execution traces, and audit trails. For GTM teams, this is overkill unless you are building mission-critical automations (lead routing that cannot drop records, compliance workflows that need audit trails). Pricing for cloud version is per compute (similar to Pipedream); self-hosted is free or enterprise license for support.
Best for
Engineering teams with DevOps capacity; mission-critical workflows that need audit trails and RBAC
Avoid if
Non-technical users building workflows; small teams without infra to run self-hosted
The rest of Workflow automation
Learning guide
Setup
Deploy Windmill via Docker Compose or Kubernetes, write your first TypeScript script in the web IDE, test it, then compose it into a multi-step flow in the visual UI.
First thing to build
Build a multi-script data pipeline: Python script extracts CRM data via API, TypeScript script transforms and validates records, Bash script calls dbt to load warehouse, final script sends Slack notification on success or failure.
What actually matters
- Script functions (TypeScript, Python, Go, Bash) in web IDE
- Flow composer to orchestrate scripts with retries
- Secret management and RBAC per script or flow
- Execution logs and audit trails per run
Watch out
Steep learning curve if you expect visual-first workflow building.