Dynamic attachments

iOS iOS Specific

Dynamic content such as maps and camera streams can be displayed as part of a notification without needing to open an app.


Will show a centered map with a red pin at the given coordinates.

service: notify.mobile_app_<your_device_id_here>
message: Something happened at home!
category: map
latitude: "40.785091"
longitude: "-73.968285"

Be aware, that to send a map you must send a push category which has to be called map, map1, map2, map3 or map4 otherwise you won't get the map delivered.

You may also use a device_tracker for the latitude and longitude coordinates like so: "{{states.device_tracker.<your_device_id_here>.attributes.latitude}}" but make sure to use data_template in that case.

Showing a second pin

You can use the following properties under action_data to display a second pin. If used, the first pin will be red and the second pin green.

second_latitude:stringThe latitude of the second pin.
second_longitude:stringThe longitude of the second pin.
shows_line_between_points:booleanDisplays a line connecting the first and second pin.

Extra configuration

You can also pass the following option properties under action_data to modify the map in various ways. All options listed here accept boolean (true / false) values.

shows_compass:booleanDisplays a compass control on the map.
shows_points_of_interest:booleanDisplays point-of-interest (POI) information on the map.
shows_scale:booleanShows scale information on the map.
shows_traffic:booleanDisplays traffic information on the map.
shows_user_location:booleanAttempts to display user's location on the map.

An example of the map dynamic content.

Camera Stream

The preview thumbnail of the notification will display a still image from the camera. When expanded, the notification content displays a real time MJPEG stream if the camera supports it.

You can use the attachment parameters content-type and hide-thumbnail with camera to control the thumbnail.

service: notify.mobile_app_<your_device_id_here>
message: Motion Detected in the Living Room
content-type: jpeg
category: camera
entity_id: camera.living_room_camera

Be aware, that to send a camera image you must send a push category which has to be called camera, camera1, camera2, camera3 or camera4 otherwise you won't get the camera image delivered.

You can view an example here.

Combining with actionable notifications

As you can see the category key is used to tell the device what kind of content extension to use. You can use the same category identifiers in your own custom actions to add actions to the content extension.

For example this configuration adds actions to a camera content message.

- name: Camera With Actions
identifier: 'camera'
- identifier: 'OPEN_COVER'
title: 'Open Cover'
activationMode: 'background'
authenticationRequired: true
destructive: no
- identifier: 'CLOSE_COVER'
title: 'Close Cover'
activationMode: 'background'
authenticationRequired: true
destructive: true


If you are having problems with receiving these special notifications, try restarting your phone first. The extensions sometimes fail to register properly until a restart.