Skip to main content


Listing flows

The wmill flow list command is used to list all flows in the remote workspace.

wmill flow

Pushing a flow

Pushing a flow to a Windmill instance is done using the wmill flow push command.

wmill flow push <file_path> <remote_path>


file_pathThe path to the flow file to push.
remote_pathThe remote path where the flow specification should be pushed.


  1. Push the flow located at path/to/local/flow.yaml to the remote path f/flows/test.
wmill flow push path/to/local/flow.yaml f/flows/test

Creating a new flow

The wmill flow bootstrap command is used to create a new flow locally.

wmill flow bootstrap [--summary <summary>] [--description <description>] <path>


pathThe path of the flow to be created.


  1. Create a new flow f/flows/flashy_flow
wmill flow bootstrap f/flows/flashy_flow

Running a flow

Running a flow by its path s done using the wmill flow run command.

wmill flow run <remote_path> [options]


remote_pathThe path of the flow to be run.


-d, --datadataInputs specified as a JSON string or a file using @filename or stdin using @- . Resources and variables must be passed using "$res:..." or "$var:..." For example wmill flow run u/henri/message_to_slack -d '{"slack":"$res:u/henri/henri_slack_perso","channel":"general","text":"hello dear team"}'
-s, --silentDo not ouput anything other then the final output. Useful for scripting.

CLI arguments

Update flow inline scripts lockfile

Flows inline script lockfiles can be also updated locally in the same way as wmill script generate-metadata --lock-only but for flows' inline scripts:

wmill flow generate-locks

Flow specification

You can find the definition of the flow file structure here.

Remote path format