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.