Triggers
Live events from connected integrations (a new Gmail message, a Notion edit, a Stripe charge) arrive as triggers, get classified by a triage agent, and can fire agent actions automatically.
What a trigger is
Integration
Example trigger
Gmail OAuth scopes
Where triggers come from, end to end
ββββββββββββββββββββββ
β third-party API β Gmail / Slack / Notion / GitHub / ...
βββββββββββ¬βββββββββββ
β webhook
βΌ
ββββββββββββββββββββββ
β OpenHuman backend β HMAC-verifies the webhook, normalises the payload
βββββββββββ¬βββββββββββ
β Socket.IO event ("composio:trigger")
βΌ
ββββββββββββββββββββββ
β Rust core β publishes DomainEvent::ComposioTriggerReceived
β (your laptop) β on the in-process event bus
βββββββββββ¬βββββββββββ
β
βΌ
ββββββββββββββββββββββ
β Trigger Triage β classifies: drop / acknowledge / react / escalate
βββββββββββ¬βββββββββββ
β
βΌ
ββββββββββββββββββββββ
β One of: β
β - nothing β β drop
β - memory note β β acknowledge
β - Trigger Reactor β β react (1-2 tool calls)
β - Orchestrator β β escalate (full multi-step planning)
ββββββββββββββββββββββThe triage step
Action
What happens
When to use
When a trigger turns into an agent action
Why a triage step at all
Configuration and opt-out
Privacy boundary
Implementation pointers (for developers)
See also
Last updated