Any Platform Event × Any Filter × Any MCP Tool = Endless Automation.
The Reaction Engine is the configuration layer that wires platform events to AI actions. Subscribe to any of the events Aeion modules emit. Filter with the full Aeion QueryBuilder operator catalog. Dispatch any MCP tool from the registered catalog. All without writing code. Reactions live in the same database as your business data, so the AI agent always reads from live state.
The Reaction Shape
Every reaction has the same anatomy.
Subscribe to Any Platform Event
Every Aeion module emits events to the same Redis bus. Reactions subscribe to any of them — there is no closed event enum.
commerce.order.created
every new order
commerce.subscription.payment_failed
payment retry failed
commerce.cart.abandoned
cart left unfinished
helpdesk.ticket.created
new support ticket
helpdesk.sla.breached
SLA window missed
inbox.message.received
email received
connect.conversation.created
multi-channel conversation
auth.user.registered
new user signup
auth.login.failed
failed login attempt
billing.payment.failed
payment retry failed
crm.deal.stage_changed
pipeline movement
forms.submission.created
new form submission
record.created / record.updated / record.deleted
any collection write
cron.daily / cron.hourly / cron.minute
scheduled
health.alert.rapid_response
clinical NEWS2 alert
sentinel.threat.detected
security anomaly
(custom events)
any event emitted by an integration, webhook, or automation you've configured — there's no closed event list
Filter Operators (Aeion QueryBuilder set)
Reaction conditions reuse the platform's full 30+ filter operator catalog. Sample of the most-used in reaction conditions:
equals / not_equals
exact match
in / not_in
value in / not in array
gt / gte / lt / lte
numeric comparison
contains / starts_with / ends_with
substring matching
between / not_between
numeric ranges
age_older_than / age_newer_than
relative time
contains_pii / contains_phi
auto-detected sensitive content
and / or / not
logical composition
(custom)
register your own operator via the field guard system
Action Types
What a reaction actually does. The 8 in-tree action types ship by default; because `tool_call` and `run_command` can invoke any registered MCP tool, the action surface is effectively unbounded.
tool_call
execute a specific MCP tool with the AI's output as args (in-tree)
notify_user
send an in-app notification to specific user(s) (in-tree)
notify_admins
send a notification to all tenant admins (in-tree)
create_record
create a new record in any collection (in-tree)
update_record
update field(s) on the triggering or related record (in-tree)
run_command
execute a slash command / invoke any MCP tool from the registered catalog (in-tree)
generate_digest
generate an AI summary and store it as a conversation (in-tree)
webhook
call an external webhook URL with the AI's output (in-tree)
Real Reaction Examples
Concrete reactions in production across customer deployments.
Reaction Wins vs Zapier / Make
Why the kernel-level reaction engine beats workflow-automation SaaS.
Same DB, no integration latency
Zapier polls APIs, Aeion fires on the event bus directly
AI-native
`ai_summarize` and `ai_draft` action types built in, not bolted on
Per-tenant cost caps
cost-capped AI doesn't blow your budget
Same audit log
one log across all reactions, not per-zap audit
RBAC scoped
reactions run with user context, not service account
5-reason honest no-op
failures visible, not hidden as "success"
Cooldowns + rate-limits
prevent runaway loops
Approval workflows
high-risk actions surface for human review
Why event-driven AI beats prompt-driven AI for operations.
Most AI deployments wait for a human prompt — "summarize this," "draft this," "analyze this." That model caps throughput at the speed of human attention. The Reaction Engine inverts it. Reactions subscribe to platform events; the AI runs on every order, every ticket, every payment failure, every login, every cron tick. Cumulatively, this is 10-100x more AI inference happening than prompt-driven, but each inference is narrow (one event, one task, one output) and cost-capped. The total cost stays bounded; the operational coverage explodes.
Configure once. Runs forever.
across all platform events + the full QueryBuilder operator catalog + the platform MCP tool registry = millions of reaction combinations. AI-native, cost-capped, RBAC-scoped, audit-logged.