
Actions show up next to the thing they act on, filtered by their appliesTo:
Activating any of them opens the action popup for that action and context.
The popup is resizable and shows the action label, its description, run controls, live status, the log for the current phase, and previous runs. Linked onBefore and onAfter actions appear as chips — click one to open it with the same context.
For agent actions you also get:
{{card-prompt}});phrases;Buttons: Run starts the chain. Cancel stops the running process and the rest of the chain. Schedule runs it later (see below).
While an action runs for a card, that card’s entry points are disabled — one action at a time per card. This state is in memory only, so nothing is left disabled after a restart.
In list view, the conversation panel attaches to the active file or card, opened from the editor toolbar. It shows the same run history as the popup, streams the agent’s output, reasoning, tool activity, and commits, and lets you send the next turn.
Command actions show status and log output, without chat controls.
| Field | When it runs |
|---|---|
onBefore |
Before the action, in order. |
on |
After the action succeeds, for every rule whose regular expression matches the action’s output, in order. |
onAfter |
After the action and all matching on actions succeed, in order. |
Failure rules:
| What failed | Result |
|---|---|
An onBefore action |
Chain stops, main action never starts, run is failed. |
| The main action | Chain stops, run is failed, no on or onAfter. |
An on action |
Chain stops, run is failed, remaining on and onAfter skipped. |
An onAfter action |
Later onAfter actions skipped, run is okButNotAfter. |
The failure stays attached to the phase that produced it, so the log tells you which link broke.
An action with onState starts when a card enters that state — for example dragging a card to ready can fire a push action. State-triggered runs use the same runner, logs, and cancellation as manual ones.
Limitation: state changes are detected in the app. A card edited to a new status by an external process or another agent does not trigger the action.
Schedule in the popup runs the action later. Pick a trigger:
| Trigger | Fires |
|---|---|
| Set date and time | At the chosen moment. |
| When account usage resets | When the chosen agent’s usage limit window resets. Pick the agent, then the limit and window. |
| When another card enters state | When the chosen card reaches the chosen column. |
The schedule is stored as JSON in the repository, and the desktop app registers it when the project loads. When it fires, the same runner executes the same chain. Schedule state is tracked separately from execution state, and the desktop app watches the schedule file so external edits are picked up.
View active schedules on the Run tab of the menu lists every pending schedule and sequence with its trigger. Open jumps to the target; Delete removes the schedule after confirmation.
A sequence runs one action on several cards, one card at a time. Open it with New sequence on the Run tab of the menu.
| Field | Meaning |
|---|---|
| Action | Only actions that apply to every card in the list are offered. Built-in actions are excluded. |
| Cards | Active cards, in run order. Add them with Add cards or by dragging from the board; drag to reorder; Delete removes the selected card. |
| Ready state | The column a card must reach before the sequence moves to the next card. |
| Schedule trigger | Now, or one of the schedule triggers above. A trigger card cannot also be in the sequence. |
Start (or Schedule) registers it. For each card the action runs unattended. The sequence advances only when the run completed and the card is in the ready state, in either order. A failed run fails the sequence; a cancelled run cancels it. After the last card, the sequence is completed.
Finish ends the conversation and lets the chain continue. Ctrl+click or long-press Finish to choose between stopping the remaining linked actions and finishing only this conversation.
Running requires a desktop execution backend. In web-only GitHub mode the run controls are disabled with an explanation; editing definitions still works. A browser connected through remote control does have a backend — the desktop machine’s.
See also: Action definition, Diagrams, Agent setup, Worktrees.