The OPM language
Processes
A process is something that happens: a step of the flow. Every process has a name and a kind, which says who or what carries it out. Its icon colour on the board tells the kinds apart.
| On the board | Carried out by | Typical use |
|---|---|---|
| An AI coding agent in the worker, optionally in git checkouts of the flow’s repositories and with MCP servers. | Write, analyse and fix code; research; draft; decide; review. | |
| A bash script in the worker, with curl and jq. | Call an API, run a build, transform JSON: the same way every time. | |
| A person, in the Spoletta UI. | Approve or send back work; fill in what a run starts from. | |
| Spoletta itself, calling Sentry’s issues API. | Fetch the issues a flow works through. | |
| A board of processes of its own, zoomed into. | Group steps; run steps once per item of a list. | |
| Another flow, a procedure, run as a run of its own. | Reuse a flow across jobs. |
Change a process's kind under Type in its settings: Agent, Script, Human, Flow, Procedure or Sentry. Links that no longer fit the new kind are dropped. A flow process is drawn with a double border, a procedure with a dashed one, as it runs a flow kept elsewhere.
What a process does to objects
A process acts only through its links. It takes objects (input links, into the top of its card) and yields them (output links, from the bottom). What it takes, it is given as input; what it yields, it must hand back. The exact meaning of each link is on the next page, Procedural links.
Settings every process shares
| Setting | Applies to | Effect |
|---|---|---|
| Needs (quorum) | every kind but human | Run once this many of its inputs exist and hold their conditions, rather than all of them. See Branches. |
| Timeout (s) | agent, script, Sentry | The step fails after this many seconds (1 to 86400). |
| Retries | agent, script, Sentry | How many more times a failed step is tried (0 to 5), each try a step of its own. |
| Rounds | agent reviewers | How often it may send work back before that fails it (1 to 20, default 3). See Review loops. |
Each kind has settings of its own (an agent's prompt and model, a script's code, a Sentry query): see Scripts, Sentry and tools.
Fix is an agent process, which an AI agent carries out.
Fetch ticket is a script process.
Approve is a human process, which a person carries out.
Each exception is a flow process, made of processes of its own.
Fetch is a Sentry process, which fetches issues.
Tell the team is a procedure, which runs the flow Announce change.