| layout | default |
|---|---|
| title | Windmill Tutorial |
| nav_order | 198 |
| has_children | true |
| format_version | v2 |
Turn scripts into production-ready webhooks, workflows, and internal tools with Windmill -- the open-source alternative to Retool + Temporal.
Windmill occupies a unique position in the developer tooling landscape: it combines the script-first approach of infrastructure-as-code with the visual building capabilities of low-code platforms. Unlike pure low-code tools (Retool, Appsmith) or pure workflow engines (Temporal, n8n), Windmill lets you write real code in TypeScript, Python, Go, Bash, SQL, or any language -- then instantly exposes that code as APIs, scheduled jobs, workflows, and UIs.
This track focuses on:
- Script-to-Production Pipeline -- write a function, get a webhook, UI, and schedule automatically
- Polyglot Runtimes -- use TypeScript, Python, Go, Bash, SQL, and more in one platform
- Flow Builder -- compose scripts into complex DAG workflows with retries and error handling
- App Builder -- drag-and-drop internal tool builder connected to your scripts
- Self-Hosted Control -- run on your own infrastructure with full audit trails
- repository:
windmill-labs/windmill - stars: about 16k
- latest release: check releases
- license: AGPLv3 (Community) / Enterprise license available
flowchart TB
subgraph Authors["Script Authors"]
TS[TypeScript]
PY[Python]
GO[Go]
SH[Bash / SQL]
end
subgraph Windmill["Windmill Platform"]
direction TB
RT[Runtime Executors]
WH[Webhook Endpoints]
FL[Flow Builder]
AB[App Builder]
SC[Scheduler]
VS[Variables & Secrets]
RS[Resources]
end
subgraph Consumers["Consumers"]
API[REST API Callers]
UI[Internal Tool Users]
CRON[Scheduled Jobs]
WF[Workflow Chains]
end
TS --> RT
PY --> RT
GO --> RT
SH --> RT
RT --> WH
RT --> FL
RT --> AB
RT --> SC
WH --> API
AB --> UI
SC --> CRON
FL --> WF
classDef author fill:#e1f5fe,stroke:#01579b
classDef platform fill:#f3e5f5,stroke:#4a148c
classDef consumer fill:#e8f5e8,stroke:#1b5e20
class TS,PY,GO,SH author
class RT,WH,FL,AB,SC,VS,RS platform
class API,UI,CRON,WF consumer
- Chapter 1: Getting Started -- Installation, first script, auto-generated UI
- Chapter 2: Architecture & Runtimes -- Workers, job queue, polyglot execution
- Chapter 3: Script Development -- TypeScript, Python, resources, error handling
- Chapter 4: Flow Builder & Workflows -- DAG flows, branching, retries, approval steps
- Chapter 5: App Builder & UIs -- Drag-and-drop internal tools
- Chapter 6: Scheduling & Triggers -- Cron, webhooks, email, Kafka triggers
- Chapter 7: Variables, Secrets & Resources -- Credentials, OAuth, resource types
- Chapter 8: Self-Hosting & Production -- Docker Compose, Kubernetes, scaling workers
- Deploy Windmill locally with Docker or in production on Kubernetes
- Write Scripts in TypeScript, Python, Go, Bash, and SQL with auto-generated UIs
- Build Workflows using the visual Flow Builder with branching, loops, and error handling
- Create Internal Tools with the drag-and-drop App Builder
- Schedule and Trigger jobs via cron, webhooks, and event streams
- Manage Secrets securely with encrypted variables and resource types
- Scale Workers horizontally for high-throughput job execution
- Integrate Everything via 300+ pre-built resource types and OAuth connectors
- Docker and Docker Compose (for local setup)
- Basic familiarity with TypeScript or Python
- A terminal / command-line environment
# Clone the official docker-compose setup
git clone https://github.com/windmill-labs/windmill.git
cd windmill/docker-compose
# Start Windmill
docker compose up -d
# Open http://localhost:8000
# Default credentials: admin@windmill.dev / changeme| Concept | Description |
|---|---|
| Script | A function in any supported language; auto-generates UI + API |
| Flow | A DAG of scripts with branching, loops, retries |
| App | A drag-and-drop UI connected to scripts and flows |
| Resource | A typed connection to external services (DB, API, etc.) |
| Variable | A key-value pair, optionally encrypted as a secret |
| Schedule | A cron expression that triggers a script or flow |
| Webhook | An HTTP endpoint auto-created for every script and flow |
| Worker | A process that executes jobs from the queue |
| Workspace | An isolated tenant with its own scripts, flows, and permissions |
- Windmill GitHub Repository
- Windmill Documentation
- Windmill Hub (Community Scripts)
- Awesome Code Docs
- n8n AI Tutorial -- Visual workflow automation with AI nodes
- Activepieces Tutorial -- Open-source business automation
- Appsmith Tutorial -- Low-code internal tool builder
- Start Here: Chapter 1: Getting Started
- Back to Main Catalog
- Browse A-Z Tutorial Directory
- Search by Intent
- Explore Category Hubs
- Chapter 1: Getting Started
- Chapter 2: Architecture & Runtimes
- Chapter 3: Script Development
- Chapter 4: Flow Builder & Workflows
- Chapter 5: App Builder & UIs
- Chapter 6: Scheduling & Triggers
- Chapter 7: Variables, Secrets & Resources
- Chapter 8: Self-Hosting & Production
Ready to turn scripts into production infrastructure? Start with Chapter 1: Getting Started.
Generated for Awesome Code Docs
Generated by AI Codebase Knowledge Builder