Skip to content

Inbox watcher

Background inbox automation polls connected Gmail and Microsoft Outlook accounts while the Liminal sidecar is running.

Pipeline

  1. Pre-harness check (zero LLM) — Gmail historyId or Microsoft Graph deltaLink detects changes.
  2. Fast-model triage — metadata-only classification (completeChatJson on the fast model).
  3. Automatic sort — creates Liminal/* labels (Gmail) or categories (Outlook) on triaged mail.
  4. Auto-process (optional) — urgent/action mail is escalated to the active chat without a manual Process click.

Mail is never auto-sent. Draft tools remain approval-gated.

Enable

  1. Connect Gmail and/or Microsoft in Integrations (Gmail needs gmail.modify — reconnect Google after upgrading).
  2. Under Integrations → Automations → Inbox watcher, enable the watcher.
  3. Keep Sort mail into Liminal labels and Auto-handle urgent mail in chat on (defaults).

Key settings

VariableDefaultPurpose
AGENT_INBOX_WATCH0Master switch
AGENT_INBOX_WATCH_INTERVAL_MS300000Poll interval (5 min)
AGENT_INBOX_WATCH_MIN_INTERVAL_MS60000Minimum time between cycles
AGENT_INBOX_WATCH_WHILE_BUSY0When off, skip cycles while the harness is running
AGENT_INBOX_WATCH_MAX_TRIAGE_PER_CYCLE25LLM triage budget per cycle
AGENT_INBOX_BACKFILL_MAX25Unread/recent mail to import on first connect
AGENT_INBOX_AUTO_LABEL1Apply Liminal/* labels for triaged mail
AGENT_INBOX_AUTO_PROCESS1Auto-escalate urgent/action to the agent
AGENT_INBOX_AUTO_SPAM_LABEL0Label spam (off by default)
AGENT_INBOX_TRIAGE_CONFIDENCE_MIN0.75Minimum confidence to act
AGENT_INBOX_NOTIFY_URGENT1Desktop notify for urgent/action items

Labels

CategoryGmail label / Outlook category
urgentLiminal/Urgent
actionLiminal/Action
fyiLiminal/FYI
newsletterLiminal/Newsletter
automatedLiminal/Automated
spamLiminal/Spam
otherLiminal/Review

Labels are created automatically on first use.

State on disk

~/.liminal/inbox/
  state-gmail-<accountId>.json
  state-microsoft-<accountId>.json
  queue.json
  processed-ids.json
  runs.jsonl
  triage-YYYY-MM-DD.jsonl

Smoke test

bash
node scripts/inbox-watch-smoke.mjs

Runs one poll cycle via createInboxProviderPolls + runInboxWatchCycle without starting the full desktop app.

Liminal AI · Beta docs (v0.1.2) · Marketing: vireondynamics.com/liminal · Compare: vireondynamics.com/liminal/compare