Skip to content

Notification triggers

Notification triggers make the Notification companion proactive without letting it act silently in other apps.

Opt-in and kill switch

Triggers are off by default. Enable them from Settings → Notifications → Event triggers (MVP) after granting Android Notification access.

The kill switch on the same screen pauses every trigger immediately without deleting rules or the activity log.

MVP rule schema

Rules are stored locally on the phone in Android DataStore file notification_triggers.

The first schema is intentionally small:

FieldMeaning
idStable rule id
labelHuman-readable label shown in the activity log
enabledPer-rule on/off flag
app_packageExact Android package match, e.g. com.slack
title_containsOptional case-insensitive title substring
text_containsOptional case-insensitive text/subtext substring
actionMVP supports ask_me
require_confirmationReserved for future action types; ask_me is safe automatic prompting

At least one filter is required. The app refuses empty match-all rules so a first experiment cannot spam every notification on the phone.

Safe trigger path

When a matching notification arrives, Hermes-Relay records an activity-log entry and posts a local Android notification: “Ask Hermes about this?” Tapping it opens chat so the user can decide what to ask.

This path uses the same notification metadata already shared by the Notification companion: app package, title, text, subtext, timestamp, and notification key. It does not send a new Hermes prompt automatically and does not reply in another app.

Activity log

The settings screen shows the latest 25 trigger matches with rule label, package, title/text preview, timestamp, and result. This is local app-private state in DataStore, not a relay-server audit table.

Confirmation policy

Allowed to run automatically after explicit opt-in:

  • Matching a notification rule.
  • Writing the local activity log.
  • Posting a local “Ask Hermes?” prompt.

Requires explicit confirmation first:

  • Sending a message or replying in another app.
  • Routing notification content to another person, channel, or service.
  • Starting bridge gestures, typing, raw intents, SMS/MMS, calls, purchases, deletes, or any other action with side effects outside Hermes-Relay.
  • Any future summarize/route action that would send notification text to a model or external destination without a foreground user gesture.

The MVP chooses ask_me first because it proves event-trigger plumbing while keeping the user in the loop before content leaves the local prompt/log path.