Global workflows
A workflow can live in two places. Inside a project at .zen/workflows/, it only applies when you're working on that project. In your home folder at ~/.zen/workflows/, it applies everywhere.
Use global workflows for routines that aren't project-specific: a morning brief that pulls from your personal Slack and Notion, a content drafting pipeline you use across multiple projects, anything you want available no matter which directory you happen to be in.
Where to put them
~/.zen/workflows/
morning-brief.yaml
research-sprint.yaml
content-pipeline.yamlZ.E.N. discovers both locations at startup and registers everything it finds. A zen workflow list from anywhere on your machine shows global workflows alongside any project-specific ones.
Priority when names collide
If a project workflow and a global workflow share a name, the project wins. The resolution order is:
- Project (
.zen/workflows/) - Global (
~/.zen/workflows/) - Bundled defaults
This means you can shadow a bundled workflow with a project-specific override and keep the bundled version available globally for other projects.
Inputs and outputs
A global workflow gets the same working directory treatment as a project workflow: its own sandbox, its own database row, isolated from other runs. If a global workflow needs to know which project it's running against, it can read $WORKING_DIR or read project state through the connectors it lists.
When to make a workflow global vs. local
A useful rule: if the workflow makes sense in two or more projects, make it global. If it's specific to one project's structure, conventions, or data sources, keep it local.
You can always promote a local workflow to global later. Move the file from .zen/workflows/foo.yaml to ~/.zen/workflows/foo.yaml and Z.E.N. will pick it up at next reload.
Where global state lives
Global workflows still write to the same local database (~/.zen/zen.db) for runs, schedules, and history. The Dashboard, zen run list, and the Schedules tab all show global and project workflows in one unified view, with the source project (or "global") shown as a column.