The notify integration makes it possible to send notifications to a wide variety of platforms. To use it you have to setup at least one notification target (notifier), check the integrations list for one that fits your use case.

If you want to send notifications to the Home Assistant web interface, you may use the Persistent Notification integration. The Persistent Notification integration is also available as an automatically configured notifier. See its documentation for more details.

Building block integration

The notifications integration cannot be directly used. You cannot create your own notify entities using this integration. This integration is a building block for other integrations to use, enabling them to create notify entities for you.


Once loaded, the notify platform will expose a service that can be called to send notifications.

Service data attribute Optional Description
message no Body of the notification.
title yes Title of the notification.
target yes Some platforms allow specifying a recipient that will receive the notification. See your platform page if it is supported.
data yes On platforms who have extended functionality. See your platform page if it is supported.

The notify integration supports specifying templates. This will allow you to use the current state of Home Assistant in your notifications.

In an action of your automation setup it could look like this with a customized subject.

Be aware that you might want to change the actual service to whatever service you are actually using since notify.notify is shorthand for the first notify service the system can find and might therefore not be working as intended.

  service: notify.notify
    message: "Your message goes here"
    title: "Custom subject"

Test if it works

After you setup a notifier a simple way to test if you have set up your notify platform correctly, is to open Developer Tools from the sidebar and then select the Services tab. Choose your service from the Service dropdown menu, enter the sample below into the Service Data field, and press the CALL SERVICE button.

  "message": "The sun is {% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}!"

The automation equivalent would be:

  service: notify.notify
    message: "The sun is {% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}!"