# Action Flows (/features/flows)



<Callout title="Being written">
  This page is a stub.
</Callout>

A flow is a graph: nodes wired together, running from a trigger to an end, built
by dragging in a window of its own. It is the answer to "one shortcut that does
four things in order, with a condition in the middle".

The rule the whole thing rests on is that a node returns *items* per output
port, and a port that comes back **empty** kills that branch. There is no
separate control token — which is why `If`, `Switch` and `Filter` are all the
same mechanism seen from different angles.

## Flows are files [#flows-are-files]

Each flow is its own file, so one can be handed to somebody else. An imported
flow is reviewed before it runs: the screen lists every capability it wants —
the clipboard, Accessibility, the network, running commands — worked out from
the nodes actually in the document rather than from anything the file claims
about itself.

A flow whose nodes this version does not understand opens **read-only** and
cannot be armed. A flow half of whose steps were silently skipped would do
something nobody wrote.

## To write [#to-write]

* The node catalogue
* Triggers: shortcuts, manual, and running one from the Shortcuts pane
* Editing, testing with Run, and what the editor asks before closing
* How many flows a free copy may arm — see [Pro](/pro)
