PanelURL & DashboardURL output incorrect in Notification Template

  • What Grafana version and what operating system are you using?
    RHEL 8 - grafana-12.0.2-1

  • What are you trying to achieve?
    Create a custom notification template

  • How are you trying to achieve it?
    I’m starting with this example template:

{{ define "custom_template" }}
{{ range .Alerts }}
  {{ .Status }}
  {{ .Labels }}
  {{ .Annotations }}
  {{ .StartsAt }}
  {{ .EndsAt }}

  Source: {{ .GeneratorURL }}
  Dash: {{ .DashboardURL }}
  Panel: {{ .PanelURL }}
  Silence: {{ .SilenceURL }}
  Values: {{ .Values }}
  ValString: {{ .ValueString }}
{{ end }}
{{ end }}

And using setting the payload using the “use existing alert instances” option.

  • What happened?

The outputted URLs for “Source” and “Silence” work fine. But if I try to go to the URLs for “Dash” or “Panel” I get a page saying “Dashboard not found”.

Here’s the output I get.
Please note that I’ve replaced the FQDN with “www.example.com”.

resolved
  alertname=Disk Used > 99%, grafana_folder=MyApp, label=host1 /opt/agent (Total: 2 GB)
  summary=One or more of the drive storage areas is full.
  2025-09-09 18:23:20 +0200 +0200
  2025-09-12 12:23:20 +0200 +0200

  Source: https://www.example.com:3000/alerting/grafana/dexkm1g9bvp4wb/view?orgId=1
  Dash: https://www.example.com:3000/d/dashboard_uid?from=1757431400000&orgId=1&to=1757672600000
  Panel: https://www.example.com:3000/d/dashboard_uid?from=1757431400000&orgId=1&to=1757672600000&viewPanel=1
  Silence: https://www.example.com:3000/alerting/silence/new?alertmanager=grafana&matcher=alertname%3DDisk+Used+%3E+99%25&matcher=grafana_folder%3DMyApp&matcher=label%3Dhost1+%2Fopt%2Fagent+%28Total%3A+2+GB%29&orgId=1
  Values: map[B:22 C:1]
  ValString: [ var='B' labels={__name__=go_threads, instance=host.docker.internal:3000, job=grafana} value=22 ], [ var='C' labels={__name__=go_threads, instance=host.docker.internal:3000, job=grafana} value=1 ]
  • What did you expect to happen?
    I expected to see the dashboard and the panel pages.

Does your dashboard_uid exist? Is the dashboard/panel configured on the alert level properly?

Yes. I believe so but feel free to point out the best way to test that.
I created the alert directly from the dashboard.
I’ve just drilled into the alerts to check and can confirm that both of these links work:

Any ideas how I can resolve this or at least diagnose the issue further?
Should i be posting this as a bug in the Grafana Alerting project?
grafana - Projects - Alerting - Bugs

It seems it’s just the simulation that’s supplying the wrong URLs.
I took a punt and published the template and the URLs were correct in a real alert.