> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myzendo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Link from notifications

> Send push notifications that open a specific screen in Zendo when tapped.

export const MenuButton = ({badged = false}) => <div className="bg-[#a8c8b9] w-[36px] h-[36px] rounded-[10px] p-[6px] justify-center items-center aspect-square inline-flex relative">
    {badged && <div className="absolute top-[-3px] right-[-3px] w-[12px] h-[12px] rounded-[12px] bg-[#417777]"></div>}
      <svg width="22px" height="22px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <g fill="#417777"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0m0 22a10 10 0 1 1 10-10 10 10 0 0 1-10 10"></path><path d="M10 12a2 2 0 1 0 4 0 2 2 0 1 0-4 0m5.5 0a2 2 0 1 0 4 0 2 2 0 1 0-4 0m-11 0a2 2 0 1 0 4 0 2 2 0 1 0-4 0"></path></g>
      </svg>
  </div>;

## Intro

Push notifications can open a specific screen in the Zendo app when tapped. For example, a notification about your doorbell can open its live stream directly so you can see who's there.

***

## Set up

Before you start, make sure you have [push notifications](/automate/push-notifications#configure-home-assistant) set up.

If push notifications are already configured, open the Zendo iOS/Android app, tap <MenuButton /> > **Settings** > **Property** > **Push Notifications** and tap **Refresh Settings** to make sure Home Assistant has the latest list of available destinations.

***

## List available destinations

To see which destinations are available, call the `list_deep_link_destinations` service.

1. Go to **Developer Tools > Services** in Home Assistant.
2. Select **Zendo: List deep link destinations**.
3. Click **Call Service**.
4. The response panel shows the available destinations.

### Response format

```yaml theme={null}
destinations:
  - id: "securityCamera_abc123"
    destination: "security_camera"
    title: "Front door"
    subtitle: "Camera/Doorbell"
    entityType: "security_camera"
  - id: "securityCamera_def456"
    destination: "security_camera"
    title: "Back garden"
    subtitle: "Camera/Doorbell"
    entityType: "security_camera"
```

| Field         | Description                                                                              |
| ------------- | ---------------------------------------------------------------------------------------- |
| `id`          | The identifier you use in automations. This is what you pass to `deep_link_destination`. |
| `destination` | The type of destination (e.g. `security_camera`).                                        |
| `title`       | The name of the destination (e.g. the camera's label).                                   |
| `subtitle`    | Secondary description (e.g. "Camera/Doorbell").                                          |
| `entityType`  | The entity category.                                                                     |

***

## Send a notification that opens a destination

Use the `zendo.send_notification` service with the `deep_link_destination` field set to the `id` of the destination you want to open.

<Info>
  Opening a destination from a notification bypasses [Family Sharing (Access Control)](/share/acl). The receiver can view and control the accessory even if they wouldn't normally have access. Make sure you're sending the notification to the right person.
</Info>

### Example: doorbell notification

A doorbell press is the ideal use case - the notification tells you someone is at the door, and tapping it opens the doorbell camera stream so you can see who it is.

```yaml theme={null}
automation:
  - alias: "Doorbell pressed - notify household"
    trigger:
      - platform: state
        entity_id: binary_sensor.doorbell_press
        to: "on"
    action:
      - service: zendo.send_notification
        target:
          entity_id:
            - notify.zendo_owner
            - notify.zendo_bob
        data:
          message: "Someone is at the door"
          interruption_level: "time_sensitive"
          deep_link_destination: "securityCamera_abc123"
```

When the doorbell is pressed, both people receive a time-sensitive notification. Tapping it opens the Zendo app directly to the doorbell camera's live stream.

### Without a destination

The `deep_link_destination` field is optional. Omitting it sends a normal notification that opens the default notification view when tapped.

```yaml theme={null}
- service: zendo.send_notification
  target:
    entity_id: notify.zendo_owner
  data:
    message: "Someone is at the door"
```

***

## What happens when a destination can't be found

The notification always arrives, even if the destination can't be resolved. The destination is best-effort.

| Scenario                                     | What happens                                                                                  |
| -------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `deep_link_destination` ID not found         | Warning logged, notification sent without a destination.                                      |
| Camera removed after the destination was set | Notification sends with the destination. The Zendo app handles the missing camera gracefully. |
| `deep_link_destination` field omitted        | Normal notification, no destination.                                                          |
