Automations
When something happens inside the workspace, do something deterministic inside the workspace. No model call, no agent wake, no token spend.
What it is for
Automations fill the cell the other engines leave open: an event fires inside agensis and the response should be internal and predictable. Example: when a message in #ops matches "deploy failed", post to #urgent or create an unassigned task.
Authoring needs the manage role. Definitions are validated on dedicated routes and written to the audit log on create, update, enable and disable.
Actions in v1
- Post a message — inserts a message and notifies subscribers. It does not call the conversation orchestrator, so it wakes nobody and spends no tokens.
- Create a task — raises an unassigned task. A rule cannot assign work to an agent; assignment is what starts paid agent work, so that stays a human (or later explicit) step.
There is deliberately no "dispatch agent" action. Unbounded model spend from a rule is impossible by construction, not merely rate-limited.
Conditions
Conditions are a closed field allowlist with a small set of string operators — no regex, no OR trees, no arithmetic. User regex over user content is a denial-of-service primitive; this feature does not add one.
Why automations do not chain
A message an automation produced is marked as automation-authored. The matcher skips those messages, so two rules cannot form a cycle by posting at each other. Relaxing that rule would reintroduce cycle risk and would need deeper schema on the hottest table in the product.
Feature flag
Execution is gated by AGENSIS_AUTOMATIONS on the server. When the flag is off, the engine does not run — hiding a button alone would still leave rules live.