Deployment & versioning
Deploy in one click. Version with Git.
Every script, flow, and app is versioned on every deployment. Connect a Git repository for full source control and CI/CD.
Deploy in one click
Scripts, flows, and apps can be written, tested, and deployed from the browser. Each deployment creates a new immutable version. All three support draft mode to iterate without affecting production.
Read the docsDeployment history
Every deployment is tracked with a message, a unique hash (similar to a git commit SHA), and a side-by-side diff viewer. Any past version can be forked or restored. Hash-based webhook URLs let you pin integrations to a specific version.
Read the docsGit sync
When connected to a Git repository, every deployment is automatically committed. Changes can also be pulled from Git, making the repository the single source of truth. Works with GitHub, GitLab, Bitbucket, and Azure DevOps.
Read the docsWorkspace forks
Workspace forks (Enterprise) are independent copies of a workspace for parallel development. Scripts, flows, apps, resources, variables, and schedules are all included. Teams can work on features or experiments in a fork without affecting the production workspace. Each fork can track its own Git branch, and changes from the parent workspace can be pulled into the fork to stay up to date.
Read the docsMerge UI
Forks can be merged back to their parent workspace from the UI with conflict detection. For more granular resolution, a Git-based merge workflow is also available.
Read the docsDeploy from the CLI
The Windmill CLI syncs a workspace to a local folder. Push changes from your terminal or deploy from the UI. Either way, changes are committed to your Git repository. See the local development page for the full local workflow.
Read the docsFrom local to production
From UI to local
Frequently asked questions
Build your internal platform on Windmill
Scripts, flows, apps, and infrastructure in one place.