The real difference
Windmill made a clear, defensible choice: a script is the unit of work, and flows are assembled around scripts. For an engineering team whose automations are mostly code anyway, that choice removes a layer rather than adding one. The free self-hosted edition runs unlimited executions. It is a good product and the pricing is honest.
Tray.ai made the opposite choice on purpose. The builder has to be usable by someone in revenue operations who will never open a terminal, while still letting an engineer drop into code or drive the whole thing from Claude Code through Tray Headless. Carrying both audiences costs something in elegance. It buys you an automation programme that does not bottleneck on the engineering backlog.
Neither choice is wrong. They pick different bottlenecks.
Where Windmill wins
If your builders are engineers, Windmill is the better shape. Writing a transformation in TypeScript or Python beats assembling it from nodes, version control works the way you already expect, and there is no visual abstraction between you and what runs.
The free tier is unusually generous: unlimited executions on the self-hosted open-source edition, read 2026-10-08. For a small team with the operational capacity to run it, that is hard to argue with on cost.
And they publish their full prices, where Tray.ai publishes only its starting price, $50 a month. Enterprise from $120 a month, priced by seat and by compute, with a configurator on the page. You can work out your bill before speaking to anyone.
Where Tray.ai wins
- Non-engineers can build. This is the whole difference. Windmill’s builders write code; Tray.ai’s builders include the people who own the process. Engineers still get code steps, a TypeScript CDK, and natural-language building from Claude Code or Cursor via Tray Headless.
- 700+ maintained connectors. Someone else writes and maintains the Salesforce, NetSuite, Workday and Snowflake integrations, and keeps them working when those APIs change. On Windmill the integration is code you own, which is fine until it is forty integrations you own.
- Governance without a tier jump. Windmill’s free edition caps SSO at 10 users, and audit logs, SAML, SCIM and the SOC 2 Type 2 report sit on the Enterprise tier. On Tray.ai those are the product. If you are comparing against Windmill’s free edition, compare against Enterprise instead. That is the honest like-for-like.
- Policy on every agent call. Windmill has an AI agent step and an MCP server, and its MCP tokens can be limited to folders, favourites or read-only. Agent Gateway decides what an agent may call per tool and per user, on every call, and logs each one. Windmill’s MCP page, read 2026-10-08, does not say whether MCP calls are audit-logged.
- No cluster. 1T+ processes a year and 99.99%+ execution uptime as a track record, on infrastructure you do not size, patch or get paged about.
Pricing reality
Windmill publishes its full list pricing. Tray.ai publishes only its starting price, $50 a month, and you should weigh that when reading a page we wrote about them.
Their numbers, from windmill.dev/pricing on 2026-10-08: free and open source at $0 with unlimited executions, up to 50 users and SSO for up to 10 of them; Enterprise from $120 a month, priced at $20 per developer per month and $10 per operator per month, with operators and external JWT users counted at half a developer, plus compute units for the workers you run.
The comparison people get wrong is free-Windmill against quoted-Tray. That is not like-for-like, because the free edition has no audit log, no SAML, no SCIM, no SLA and no SOC 2 report. Compare Windmill Enterprise with a Tray quote, and add your own engineering time for running the cluster to the Windmill side, because that cost is real and does not appear on either invoice.