A Home Assistant custom integration that records all notify.* service calls and persistent notifications in a local store and shows them in a searchable sidebar panel. Never wonder again which notification was sent, when, and to whom.
Disclaimer: This is an independent, community-built integration. It is not affiliated with, endorsed by, or supported by Nabu Casa or the Home Assistant project. The software is provided as-is (see LICENSE).
- Records every
notify.*service call (mobile app push,notify.send_messageentities, and any other notify platform) including title, message, recipient and timestamp. - Records persistent notifications, including ones created programmatically by other integrations.
- Sidebar panel Notifications with:
- Free-text search across title, message, recipient and service.
- Filter by recipient and by date (today / last 7 days).
- Live updates: new notifications appear in the panel instantly, no refresh needed.
- Expandable details per record (service called, extra data payload, triggering user).
- Delete a single notification, with a few seconds to undo it.
- Admin-only "Clear history" action.
- Friendly recipient names:
notify.mobile_app_*services andnotify.send_messageentity targets are resolved to their device or entity names. - Configurable retention: maximum age in days (default 7, up to 365) and maximum number of entries (default 200, up to 5000).
- Ignore list: exclude specific notify services from being recorded.
- Fully local: history is stored in Home Assistant's own storage (
.storage), nothing leaves your machine. - Set up and reconfigured entirely through the Home Assistant UI - no YAML.
- Open HACS in Home Assistant.
- Click the three-dot menu (⋮) in the top right corner.
- Select Custom repositories.
- Add this repository URL:
https://github.com/remmob/notify_history. - Set the category to Integration and click Add.
- Search for Notification History and download it.
- Restart Home Assistant.
See the official HACS documentation for more details.
- Download or copy the
notify_historyfolder from this repository:custom_components/notify_history - Place this folder in your Home Assistant installation under:
config/custom_components/notify_history - Restart Home Assistant.
More info and updates:
Go to the Integrations page in Home Assistant and click on "Add Integration". Search for "Notification History" and select it. There is nothing to configure during setup - confirm, and the Notifications panel appears in the sidebar. Only one instance of the integration can be added.
Open Notifications in the sidebar. The newest notifications are shown at the top; new ones appear in real time.
- Use the search box to filter on any text in the title, message, recipient or service name.
- Use the recipient dropdown to show only notifications sent to a specific device or entity.
- Use the date dropdown to limit the list to today or the last 7 days.
- Click a record to expand it and see the service that was called, the extra
datapayload (capped at 1 kB) and, when available, the user that triggered it. - Administrators can remove a single notification with the bin icon in the top right corner of a card. It appears when you hover over the card, and is always visible on touch screens. An "Undo" bar shows up for a few seconds afterwards, so a misplaced tap is easy to reverse.
- Administrators can wipe the entire history with the "Clear history" button (with confirmation).
The title bar and the filter row stay fixed while the list scrolls, the same way a regular dashboard behaves. This holds on a phone as well, where the browser's own chrome slides away while you scroll and the visible area changes underneath the panel.
The panel follows the active theme. Its background comes from lovelace-background, so it matches your dashboards including a background image; when the theme does not set that variable, primary-background-color is used instead. Cards, inputs and the header pick up ha-card-background, ha-card-border-radius, app-header-background-color and friends.
All settings can be changed after setup, without removing the integration. Open the integration's entry and click the gear icon.
- Maximum age (days): records older than this are pruned automatically (1-365, default 7).
- Maximum entries: when the history grows beyond this, the oldest records are dropped (10-5000, default 200).
- Ignored services: pick (or type) notify services whose calls should not be recorded, e.g. a noisy TTS target.
notify.*service calls are captured from the Home Assistant event bus; calls without amessageare ignored.- Persistent notifications are captured through the persistent notification component itself, so notifications created by other integrations (not via a service call) are recorded too. Duplicates within a 5-second window are suppressed.
- History is persisted to
.storage/notify_history.historywith a debounced write, and pruned on every new record according to your retention settings. - The panel is a self-contained web component served by the integration; it communicates over the Home Assistant websocket API and renders all content XSS-safe. A minimal markdown subset (bold, italic, links) in messages is supported.
Notification content can be sensitive. Everything this integration stores stays on your Home Assistant instance, in a private storage file readable only by Home Assistant. Clearing the history removes the stored records permanently, and so does deleting a single notification once its undo window has passed.