PaulCLI logoPaulCLI

Concepts

Runs, context, branching, gates, limits and the safety rails built into the engine.

Runs

Each time a trigger matches, the engine starts a run: it walks the graph from that trigger, depth-first, following out from triggers and actions and yes/no from conditions and gates. Several outgoing connections from one output are followed one after another.

Context

A run carries a context assembled from the event: the server, the user and member involved, the channel, the message, the reaction, plus extras such as the giveaway prize or the new level. Not every trigger provides every piece — Member joined has no channel or message; Schedule has no user at all. Actions that need something the context lacks skip silently (DM with no user) or, when the fix is in your hands, make the editor refuse to save with a clear message (“pick a channel in Send message”).

Tip

Every block's reference entry lists what it provides (triggers) or needs (actions). The editor enforces this before you can save.

Branching and gates

Conditions split the run. To combine checks, wire their outputs into a logic gate. A gate collects a signal from each connected input and evaluates once all have reported — a condition whose other output leads to the gate sends false there, so gates never hang. See the gate reference for the truth tables.

Limits and safety

GuardValueWhy
Blocks per workflow120Keeps graphs readable and validation fast
Connections per workflow240
Workflows per server25
Steps per run50Stops accidental loops
Runs per workflow per minute30Protects against event storms; excess runs are skipped and logged
Time budget per run90 sEnough for a 60 s Wait; prevents wedged runs
Wait block≤ 60 s
Schedule interval≥ 5 min
  • Message triggers ignore bots, webhooks and system messages, so a Reply can never re-trigger its own workflow.
  • Member triggers ignore bot accounts.
  • Moderation cases created by a workflow do not fire the Moderation case created trigger (no feedback loops).
  • Role / timeout / kick / ban actions check the bot's permissions and role hierarchy before acting and fail with a readable error if the bot cannot.
  • A failed action stops that run and stores the message as the workflow's last error, shown as an amber strip in the editor and a warning icon in the switcher.

Caching

The bot caches each server's enabled workflows for 30 seconds. After saving or toggling, allow up to half a minute before the change applies to new events.