How a flow project reaches the running platform: build, security-scan, deploy — and it goes live on its own.
Getting your flows, scripts and agents into the live platform.
A flow project — your flows and the script code that runs inside them — starts life on your machine. Deployment is how that project reaches the running platform. You build the project and deploy it into a space using that space's deployment token; the platform checks the project, and once it passes, the running system picks it up automatically. There is no restart to schedule and no manual switch to flip — a deployed change goes live within moments.
Deployment is scoped to a space. The space's ID doubles as its project ID, and the deploy client — the Flow Builder extension's Connect → Upload, or the keen-deploy command-line tool from the Keen Mastering Toolkit for headless and CI use — authenticates into that space with the deployment token, so a deploy always lands in exactly one space and can only touch the flows that belong to it.
What happens between your build and a live agent.
flows/ folder of .flow files, the scripts/ folder, and the tool registry keen-tools.json — and uploads it into the target space, authenticated by the space's deployment token. A wrong or retired token is refused, so only someone holding the current token can deploy. (The agents themselves live in the admin console and point at a flow in the project you deploy.)flows/ must exist and hold at least one .flow file and nothing else (no sub-folders, no stray files); every flow and the tool registry must be valid JSON. A project that fails is rejected with the exact reasons and never goes live.The platform tells you exactly why — read the reasons, fix, deploy again.
A deploy is refused, with the reasons, when:
flows/ or no scripts/ folder;flows/ has a sub-folder, a file that is not a .flow, or no .flow at all;A refused deploy leaves the live version exactly as it was. A space accepts one deploy connection at a time: connecting from a second machine takes the connection over, and a connection idles out after a few minutes — the client simply connects again. If two uploads for the same space overlap, the later one wins and the earlier is reported as superseded. Saving a single file after the first deploy pushes just that change; it goes through the same scan, and the platform's own generated files inside the project cannot be edited or deleted by a save.
You deploy from the Flow Builder extension (Connect → Upload), or — for a pipeline or a headless building assistant — with the keen-deploy command-line tool from the Keen Mastering Toolkit, which takes the same three values (instance URL, space id, deployment token) and uploads the same src/ folder. Its companion keen-validate checks a project against the platform's rules before you spend a deploy.
Keen Agents 2026
Documentation
Release 15