Triggers
Every way to start a script or flow
Schedules, webhooks, Kafka, Postgres CDC, WebSockets, emails, and more. No extra configuration needed.
Schedules
Run any script or flow on a cron schedule. Use the visual cron builder to set intervals from every minute to custom expressions. Schedules can be toggled on or off, have error handlers, and support recovery flows for missed runs.
Read the docsWebhooks and HTTP routes
Every script and flow automatically gets a webhook endpoint (sync and async). For more control, HTTP routes let you define custom REST endpoints with path parameters, method routing, and preprocessors to transform incoming requests before execution.
Read the docsMessage queues and streaming
Consume events from message brokers and streaming platforms. Each message triggers a script or flow execution with the message payload as input.
Database triggers
Postgres triggers let you run a script or flow whenever a row is inserted, updated, or deleted. Windmill uses logical replication (CDC) to capture changes in real time without polling. Configure which tables and operations to watch from the UI.
Read the docsMore trigger types
Beyond the core trigger types, Windmill supports several additional ways to start executions.
All trigger types at a glance
Frequently asked questions
Build your internal platform on Windmill
Scripts, flows, apps, and infrastructure in one place.