Separate the builder from the operator
Distinguish people changing the code from those running and checking its output. Official pricing also distinguishes building from operating roles; do not assume everybody needs an identical seat. Map access and handoff information before matching the actual offer to the team.
Specify input and side effects
For a script reading a file, changing a register and sending an alert, define inputs and destinations first. Separate repeatable work from side effects that must not recur. Technical execution success is not sufficient evidence that every resulting business record is correct.
Do not confuse allowance with capacity
A documented free Community deployment still requires infrastructure and an operator. Unlimited execution wording does not remove compute capacity or upstream API limits. Define ordinary and concentrated arrivals separately and state how much queuing delay the business can tolerate.
Choose the operating boundary
For a hosting-location requirement, inspect self-managed needs and assign upgrades, recovery and connections. For managed operation, verify the Cloud offer’s access and compute scope. Neither choice transfers responsibility for correct business logic or separate upstream service contracts.
A hypothetical month-end reconciliation
Consider a hypothetical month-end comparison of two CSV files. Include missing columns, repeated IDs and an empty file in acceptance inputs. Begin by reporting differences without mutating the register. Add authorized writes only after the operator can explain the reconciliation output and identify exceptions.
State adoption and exit conditions
Keep Windmill on the shortlist when maintained logic and inspectable results have owners. Retain inputs, dependencies, execution order and connection ownership for a future move. Stopping execution should not be assumed to reverse completed external work; cancellation and reconciliation need distinct procedures.
Test the job without its original builder
In a handover rehearsal, withhold one required input file while another operator runs the job. Acceptance requires the operator to identify the missing material and stop the intended mutation, not merely receive an error alert. Record the unprocessed period, the person authorized to correct the problem and the legitimate restart operation after the complete input arrives. This tests continuing ownership without turning a successful run by the original developer into evidence of team readiness.
Estimate costs for your workload
Enter monthly jobs, billable steps and retries to see how different billing units affect your estimate.
Open cost calculatorOfficial sources
Pricing, availability and feature limits can change. Check the linked official pages before subscribing.
- Windmill pricing and computeInformation checked: 2026-10-28
- Windmill plans and upgrade scopeInformation checked: 2026-10-28
- Windmill jobs and cancellationInformation checked: 2026-10-28