Skip to main content

Triggers

A connected integration is not just a place the agent can read from on demand. It is also a source of live events. When someone sends you an email, edits a Notion page, or charges a card on Stripe, OpenHuman receives that event in near-real-time and can decide whether to do something about it.

What a trigger is

A trigger is an external event published by an integration you've connected:

IntegrationExample trigger
GmailGMAIL_NEW_GMAIL_MESSAGE
SlackSLACK_NEW_MESSAGE
NotionNOTION_PAGE_UPDATED
GitHubGITHUB_ISSUE_OPENED, GITHUB_PULL_REQUEST_OPENED
StripeSTRIPE_CHARGE_SUCCEEDED
CalendarGOOGLE_CALENDAR_EVENT_CREATED

Trigger pipeline

third-party API → webhook → OpenHuman backend → Rust core

Trigger Triage

┌─────────────┬─────────────┬────────────┐
↓ ↓ ↓ ↓
drop acknowledge react escalate

Triage decisions

DecisionWhat happens
dropNothing. Silently logged and discarded.
acknowledgeA short memory note is persisted.
reactTrigger Reactor runs with 1-2 tool calls.
escalateFull orchestrator agent takes over with planning.

Configuration

  • On by default. Once an integration is connected, its triggers feed into the pipeline automatically.
  • Opt-out. Set OPENHUMAN_TRIGGER_TRIAGE_DISABLED to disable agent classification.
  • Audit log. Every trigger is written to trigger history so you can see what arrived and what the classifier decided.

Privacy

  • The third-party token lives on the backend, never on your laptop.
  • Webhook is HMAC-verified by the backend before reaching your machine.
  • Trigger payloads are processed by your local core.

See also