# clickAction / actionable notification buttons not navigating (iOS, HA Core 2026.7.1)

clickAction / actionable notification buttons not navigating (iOS, HA Core 2026.7.1)

I tried with Claude so get actionable notifications to open a live stream of my ring cams when I get a notification but it doesnt works.
Claude gave me these information to post a topic here. I Hope you understand it and I hope you can help me!
Thank you

Summary

clickAction and actionable notification action buttons (action: URI) are
completely non-functional on my iOS device. Tapping a notification, or tapping
an action button inside an expanded notification, always opens the app to the
last-viewed screen instead of navigating to the URL specified in the payload.
No errors are logged on the HA side.

Environment

  • Home Assistant Core: 2026.7.1
  • Install type: Home Assistant OS / Supervised (add-on based setup)
  • Notify target used: notify.mobile_app_<device> (legacy per-device service,
    not the new 2026.5 notify entity)
  • Relevant add-ons: Ring-MQTT with Video Streaming (uses embedded go2rtc),
    HACS AlexxIT/WebRTC custom integration

Steps already taken (troubleshooting checklist)

  • Confirmed app was fully force-quit (not just backgrounded) before testing
  • Reset Push ID via Settings > Companion App > Notifications > Reset,
    force-quit, reopened app, restarted Home Assistant per official docs
  • Checked HA error_log / system log around notification send time — no
    errors logged for the affected test notifications
  • Verified notify.mobile_app_<device> service call itself succeeds
    (success: true in the service response every time)

Payload variants tested (all fail identically)

  1. Relative path to a custom (non-default) dashboard sub-view:
    clickAction: /dashboard-versuch/kamera-haustur
  2. Relative path to a standalone hidden dashboard
    (show_in_sidebar: false): clickAction: /kamera-carport/live
  3. Relative path to the built-in default dashboard
    (a view that definitely exists): clickAction: /lovelace/energie
  4. Same target, with /lovelace/ prefix removed for a non-default dashboard
    (per docs, /lovelace/ should only apply to the default dashboard;
    tested per docs guidance) — no change
  5. Full absolute URL instead of relative path:
    clickAction: http://homeassistant.local:8123/kamera-carport/live
  6. Legacy category + push.actions array with a URI action
  7. Modern inline actions array (2021.5+ syntax) with a URI action,
    testing the actual action button (not just notification tap)

Every single variant produces the same result: the notification is
delivered, but tapping it (or tapping the action button after
expanding/long-pressing) only opens the app to whatever screen was last
open — never the specified path. This includes the officially-documented
/lovelace/<default-dashboard-view> case, which should be the most basic,
guaranteed-to-work case per the docs.

Expected behavior

Per official docs (Introduction | Home Assistant Companion Docs
and .../actionable-notifications), tapping the notification or an action
button with action: URI and a relative /lovelace/... path should navigate
directly to that dashboard view.

Additional notes

  • Found a similar unresolved community report from Jan 2025 with an
    identical symptom description ("opens the app but doesn't navigate to
    the dashboard") after a HA update:
    Notification clickAction stopped working after latest update
  • Aware that HA 2026.5 introduced mobile app notify entities
    (notify.send_message) alongside the legacy notify.mobile_app_*
    service. I am still using the legacy service, but wondering if this
    migration introduced a regression affecting the legacy path's
    clickAction/actions handling as well.

Question

Is this a known regression tied to a specific Companion app or HA Core
version? Is there a diagnostic (e.g. device-side logs, or a way to confirm
the app actually received and parsed the notification payload's URL/action
fields) I can pull to help narrow this down further?

Happy to provide additional diagnostics (HA logs, full automation YAML,
etc.) on request.

Hi @Flash2408,
Did you try to set it up following the documentation?

Edit: I'm reading now that you mentioned that you consulted the docs. Paste the code that you are using.

Thanks for looking into this! Here’s the actual automation YAML I’m using, plus a summary of every variant I’ve already tested (all failing identically).

The automation (current version, using deprecated category/push.actions — see note below)

alias: "Kameras: Bewegung mit Bild-Vorschau (iOS Fix)"
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.carport_motion
      - binary_sensor.haustur_motion
      - binary_sensor.durchgang_fabian_motion
      - binary_sensor.gundlach_motion
      - binary_sensor.holzplatz_motion
      - binary_sensor.terrasse_motion
      - binary_sensor.untergeschoss_motion
    to: "on"
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{ is_state('switch.' ~ trigger.entity_id.split('.')[1]
              .replace('_motion', '_motion_detection'), 'on') }}
        sequence:
          - action: notify.mobile_app_jens_iphone
            data:
              title: "Bewegung erkannt! ⚠️"
              message: >-
                Kamera: {{ state_attr(trigger.entity_id, 'friendly_name')
                | replace(' Motion', '') }}
              data:
                clickAction: >-
                  /dashboard-versuch/kamera-{{ trigger.entity_id.split('.')[1]
                  .replace('_motion', '').replace('_', '-') }}
                image: >-
                  /api/camera_proxy/camera.{{ trigger.entity_id.split('.')[1]
                  .replace('_motion', '_live_ansicht') }}
                entity_id: >-
                  camera.{{ trigger.entity_id.split('.')[1]
                  .replace('_motion', '_live_ansicht') }}
                push:
                  category: camera
                  actions:
                    - action: URI
                      title: "Live-Ansicht öffnen 📺"
                      uri: >-
                        /dashboard-versuch/kamera-{{ trigger.entity_id.split('.')[1]
                        .replace('_motion', '').replace('_', '-') }}
mode: parallel

Rendered example for one specific camera (Carport), so the templates aren’t a mystery:

  • clickAction: /dashboard-versuch/kamera-carport
  • push.actions[0].uri: same value

Environment

  • HA Core 2026.7.1, HA OS/Supervised install
  • iOS Companion app, target device via notify.mobile_app_jens_iphone
  • Dashboard dashboard-versuch is a normal (non-default) Lovelace dashboard with a subview: true view at path: kamera-carport

(Full list of variants I’ve already tested is in my original post above — all fail identically to this one.)

Happy to provide anything else that’d help — full dashboard YAML, more logs, device info, etc.

Did you see these comments in the code example in the documentation?

First try with url instead of clickAction, but I would try this example of an actionable notification. And try a simple example with fixed values before bloating the code with multiple things and dynamic templates, try things one by one and go to the dynamic part when the fixed one is working.