diff --git a/hc/api/tests/test_notify_gotify.py b/hc/api/tests/test_notify_gotify.py
index 9dc665c2..29bc7128 100644
--- a/hc/api/tests/test_notify_gotify.py
+++ b/hc/api/tests/test_notify_gotify.py
@@ -1,4 +1,3 @@
-
 from __future__ import annotations
 
 import json
@@ -38,6 +37,7 @@ class NotifyGotidyTestCase(BaseTestCase):
         self.flip.created = now()
         self.flip.old_status = "new"
         self.flip.new_status = "down"
+        self.flip.reason = "timeout"
 
     @patch("hc.api.transports.curl.request", autospec=True)
     def test_it_works(self, mock_post: Mock) -> None:
@@ -52,7 +52,17 @@ class NotifyGotidyTestCase(BaseTestCase):
         payload = mock_post.call_args.kwargs["json"]
         self.assertEqual(payload["title"], "Foo is DOWN")
         self.assertIn(self.check.cloaked_url(), payload["message"])
-        self.assertIn("Last ping was 10 minutes ago.", payload["message"])
+        self.assertIn("grace time passed", payload["message"])
+
+    @patch("hc.api.transports.curl.request", autospec=True)
+    def test_it_handles_reason_fail(self, mock_post: Mock) -> None:
+        mock_post.return_value.status_code = 200
+
+        self.flip.reason = "fail"
+        self.channel.notify(self.flip)
+
+        payload = mock_post.call_args.kwargs["json"]
+        self.assertIn("received a failure signal", payload["message"])
 
     @patch("hc.api.transports.curl.request", autospec=True)
     def test_it_handles_subpath(self, mock_post: Mock) -> None:
diff --git a/hc/api/transports.py b/hc/api/transports.py
index 8bfb99e6..2262de56 100644
--- a/hc/api/transports.py
+++ b/hc/api/transports.py
@@ -1565,9 +1565,9 @@ class Gotify(HttpTransport):
         url += "?" + urlencode({"token": self.channel.gotify.token})
 
         ctx = {
+            "flip": flip,
             "check": flip.owner,
             "status": flip.new_status,
-            "ping": self.last_ping(flip),
             "down_checks": self.down_checks(flip.owner),
         }
         payload = {
diff --git a/templates/integrations/gotify_message.html b/templates/integrations/gotify_message.html
index b3c682d3..d8900e97 100644
--- a/templates/integrations/gotify_message.html
+++ b/templates/integrations/gotify_message.html
@@ -1,6 +1,6 @@
 {% load humanize linemode %}{% linemode %}
 {% if status == "down" %}
-    {% line %}🔴 The check [{{ check.name_then_code }}]({{ check.cloaked_url }}) is **DOWN**.{% if ping %} Last ping was {{ ping.created|naturaltime }}.{% endif %}{% endline %}
+    {% line %}🔴 The check [{{ check.name_then_code }}]({{ check.cloaked_url }}) is **DOWN**{% if flip.reason %} ({{ flip.reason_long }}){% endif %}.{% endline %}
 {% else %}
     {% line %}🟢 The check [{{ check.name_then_code }}]({{ check.cloaked_url }}) is now **UP**.{% endline %}
 {% endif %}
@@ -20,4 +20,4 @@
         {% line %}All the other checks are up.{% endline %}
     {% endif %}
 {% endif %}
-{% endlinemode %}
\ No newline at end of file
+{% endlinemode %}