{"id":2994,"date":"2025-08-27T12:39:54","date_gmt":"2025-08-27T07:09:54","guid":{"rendered":"https:\/\/blog.spike.sh\/?p=2994"},"modified":"2025-08-27T16:43:40","modified_gmt":"2025-08-27T11:13:40","slug":"introducing-resolved-by-timer","status":"publish","type":"post","link":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/","title":{"rendered":"Introducing \u201cResolved by Timer\u201d"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Today, we are introducing <strong>Resolved by Timer<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is a timer you can set on your incidents. When the timer runs out, the incident resolves on its own.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Not all incidents need manual attention. Sometimes they just sit on dashboards, adding noise long after they have stopped mattering. And when that happens, Spike also treats them as \u201copen incidents,\u201d which can end up suppressing new alerts if the same problem re-triggers later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resolve Timer solves both problems. It clears out stale incidents so dashboards stay clean, and it prevents old incidents from blocking new alerts that should reach your on-call responder.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"681\" data-attachment-id=\"3004\" data-permalink=\"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/3-states-paint-a-picture\/\" data-orig-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture.png\" data-orig-size=\"1073,714\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"3 states paint a picture\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;3 different states of Resolved on Spike&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture-1024x681.png\" src=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture-1024x681.png\" alt=\"\" class=\"wp-image-3004\" style=\"border-radius:6px\" srcset=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture-1024x681.png 1024w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture-300x200.png 300w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture-768x511.png 768w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-paint-a-picture.png 1073w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">3 different states of Resolved on Spike<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With Resolve Timer, incidents in Spike now have three clear resolution states:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Resolved<\/strong> \u2013 closed by someone on your team.<br><\/li>\n\n\n\n<li><strong>Auto-Resolved<\/strong> \u2013 closed automatically when the integration reports recovery.<br><\/li>\n\n\n\n<li><strong>Resolved (Timer)<\/strong> \u2013 closed after a set timer runs out.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This clarity makes it easier to see at a glance how an incident was resolved, whether you\u2019re browsing dashboards or looking back through timelines.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why we built it<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When we dug into how teams were using Spike, one thing stood out: open incidents pile up <em>fast<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We found teams with thousands of incidents still marked \u201copen.\u201d One team had more than 14,000 open incidents, some untouched for over three years. Another had 5,700. Even smaller teams had hundreds. At that scale, dashboards stop being useful and they look like never-ending backlogs instead of a live view of which incidents matter now.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"724\" data-attachment-id=\"3001\" data-permalink=\"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/open-incidents-1\/\" data-orig-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1.png\" data-orig-size=\"2000,1414\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Open Incidents (1)\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;This is what we saw when we dug into open incidents across teams.&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1-1024x724.png\" src=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1-1024x724.png\" alt=\"\" class=\"wp-image-3001\" style=\"border-radius:12px\" srcset=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1-1024x724.png 1024w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1-300x212.png 300w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1-768x543.png 768w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1-1536x1086.png 1536w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/Open-Incidents-1.png 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">This is what we saw when we dug into open incidents across teams.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And it isn\u2019t just clutter. In Spike, if an incident stays open, it\u2019s still treated as triggered. That means if the same issue shows up again weeks or months later, Spike can suppress the new alert. No one gets notified, even though the problem is back.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resolve Timer was built to fix both. It closes out stale incidents automatically so dashboards stay clean, and it makes sure old incidents don\u2019t block new alerts from reaching your on-call responders.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This wasn\u2019t just our idea. We\u2019ve been seeing more and more teams migrate from PagerDuty and OpsGenie, and Resolve Timer came up as a customer request in that process. It fit naturally into their workflow,&nbsp; and we felt this was the right time to bring it to Spike.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>We also explored other options like reminders, but decided against them because they risked adding more noise.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How it works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once a Resolve Timer is set, every new incident from that integration, alert rule, or playbook step starts counting down the moment it\u2019s triggered. You\u2019ll see a small, non-intrusive timer next to the incident in your dashboard so it\u2019s clear when it will resolve.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"330\" data-attachment-id=\"3000\" data-permalink=\"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/resolve-timer\/\" data-orig-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolve-timer.png\" data-orig-size=\"1024,330\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"resolve-timer\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;A clear timer on every incident \u2014 with the option to cancel anytime.&lt;\/p&gt;\n\" data-large-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolve-timer.png\" src=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolve-timer.png\" alt=\"\" class=\"wp-image-3000\" srcset=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolve-timer.png 1024w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolve-timer-300x97.png 300w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolve-timer-768x248.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">A clear timer on every incident \u2014 with the option to cancel anytime.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If the timer runs out, the incident\u2019s status automatically updates to <strong>Resolved by Timer<\/strong>. No extra clicks, no manual cleanup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And you\u2019re always in control. If you decide to work on the incident, you can cancel the timer at any time and keep it open as long as you need.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">More Ways to Use Resolve Timer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When we designed Resolve Timer, we didn\u2019t want it to be hard-bound to integrations. Sure, you can attach it at the integration level and have every incident from that source resolve on a timer, but that felt too rigid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our thinking was simple: not every alert deserves the same treatment. Some alerts are noise, some are meaningful, and some you only want to keep open if someone actually takes action on them. So we built Resolving with Timer to work inside <strong>Alert Rules<\/strong> and <strong>Playbooks<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With <strong>Alert Rules<\/strong>, you can say: \u201cIf this type of alert comes in and matches these conditions, add a Resolve Timer.\u201d With <strong>Playbooks<\/strong>, you can make it part of your automation chain \u2014 create a Jira or Linear ticket, trigger a script, notify a channel, <em>and<\/em> add a timer to resolve the incident after 48 hours or a week if no one touches it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This way, Resolve Timer isn\u2019t just a cleanup tool. It\u2019s part of your workflow design. You choose where timers make sense, and you\u2019re never forced into an all-or-nothing setup.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How To Set It Up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can add a Resolved by Timer in three different places:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Integration settings<\/strong> \u2013 Apply a timer to all incidents from a specific integration.<br><\/li>\n\n\n\n<li><strong>Alert Rules<\/strong> \u2013 Apply a timer only to alerts that match certain conditions.<br><\/li>\n\n\n\n<li><strong>Playbooks<\/strong> \u2013 Add a timer as part of a set of automated actions.<br><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">To set it up for an integration:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to your service\u2019s <strong>Integration settings<\/strong><strong><br><\/strong><\/li>\n\n\n\n<li>Find the <strong>Resolve Timer<\/strong> option<br><\/li>\n\n\n\n<li>Set your desired time and save changes<br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s it. New incidents from that source will now include the timer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.spike.sh\/incidents\/resolve-timer\" target=\"_blank\" rel=\"noreferrer noopener\">Read the docs for full instructions \u2192<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Closing Thoughts<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"474\" data-attachment-id=\"3002\" data-permalink=\"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/3-states-of-resolved\/\" data-orig-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved.png\" data-orig-size=\"1200,555\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"3 states of resolved\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved-1024x474.png\" src=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved-1024x474.png\" alt=\"\" class=\"wp-image-3002\" srcset=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved-1024x474.png 1024w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved-300x139.png 300w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved-768x355.png 768w, https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/3-states-of-resolved.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We didn\u2019t build the Resolve Timer just to close old incidents. We built it to make incident response workflows smarter. From integrations to alert rules to playbooks, it fits wherever you need it&nbsp; without adding noise or complexity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We think you\u2019ll appreciate this feature more and more as you use it. Over time, it makes dashboards lighter, keeps alerts flowing when they should, and frees up your on-call team to focus on the incidents that really matter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And because we believe every team should have it, <strong>Resolve Timer is available on all Spike plans<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Try it out today and see how it changes the way your team works with incidents.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spike\u2019s Resolve Timer clears cluttered dashboards by auto-resolving stale incidents. Prevent suppressed alerts, keep incidents fresh, and give on-call responders more focus.<\/p>\n","protected":false},"author":191914268,"featured_media":2999,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_lmt_disableupdate":"","_lmt_disable":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false},"categories":[1442,1424],"tags":[1379],"class_list":["post-2994","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-building-spike","tag-announcements"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Introducing &quot;Resolved by Timer&quot;<\/title>\n<meta name=\"description\" content=\"Learn about what &quot;Resolved by Timer&quot; is, why we built it, how it works, and how you can set it up.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing &quot;Resolved by Timer&quot;\" \/>\n<meta property=\"og:description\" content=\"Learn about what &quot;Resolved by Timer&quot; is, why we built it, how it works, and how you can set it up.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/\" \/>\n<meta property=\"og:site_name\" content=\"Spike&#039;s blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-27T07:09:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-27T11:13:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"555\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kaushik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kaushik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/\"},\"author\":{\"name\":\"Kaushik\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/#\\\/schema\\\/person\\\/b137e57ace218547f02b86fdcb2d0e64\"},\"headline\":\"Introducing \u201cResolved by Timer\u201d\",\"datePublished\":\"2025-08-27T07:09:54+00:00\",\"dateModified\":\"2025-08-27T11:13:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/\"},\"wordCount\":921,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.spike.sh\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/resolved-by-tmer-cover.png\",\"keywords\":[\"announcements\"],\"articleSection\":[\"Announcement\",\"Building Spike\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/\",\"url\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/\",\"name\":\"Introducing \\\"Resolved by Timer\\\"\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.spike.sh\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/resolved-by-tmer-cover.png\",\"datePublished\":\"2025-08-27T07:09:54+00:00\",\"dateModified\":\"2025-08-27T11:13:40+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/#\\\/schema\\\/person\\\/b137e57ace218547f02b86fdcb2d0e64\"},\"description\":\"Learn about what \\\"Resolved by Timer\\\" is, why we built it, how it works, and how you can set it up.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.spike.sh\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/resolved-by-tmer-cover.png\",\"contentUrl\":\"https:\\\/\\\/blog.spike.sh\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/resolved-by-tmer-cover.png\",\"width\":1200,\"height\":555},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/introducing-resolved-by-timer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.spike.sh\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing \u201cResolved by Timer\u201d\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/#website\",\"url\":\"https:\\\/\\\/blog.spike.sh\\\/\",\"name\":\"Spike&#039;s blog\",\"description\":\"Learnings and opinions in a changing world\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.spike.sh\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.spike.sh\\\/#\\\/schema\\\/person\\\/b137e57ace218547f02b86fdcb2d0e64\",\"name\":\"Kaushik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c7ec6b633161978fc09ed325cefde9061797a65a730e4b98c0eb26bc6925bc81?s=96&d=robohash&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c7ec6b633161978fc09ed325cefde9061797a65a730e4b98c0eb26bc6925bc81?s=96&d=robohash&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c7ec6b633161978fc09ed325cefde9061797a65a730e4b98c0eb26bc6925bc81?s=96&d=robohash&r=g\",\"caption\":\"Kaushik\"},\"description\":\"Founder of Spike. I like sharing how we are building Spike and the intricacies of building a startup by waking people up for critical incidents.\",\"url\":\"https:\\\/\\\/blog.spike.sh\\\/author\\\/spikehq\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introducing \"Resolved by Timer\"","description":"Learn about what \"Resolved by Timer\" is, why we built it, how it works, and how you can set it up.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/","og_locale":"en_GB","og_type":"article","og_title":"Introducing \"Resolved by Timer\"","og_description":"Learn about what \"Resolved by Timer\" is, why we built it, how it works, and how you can set it up.","og_url":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/","og_site_name":"Spike&#039;s blog","article_published_time":"2025-08-27T07:09:54+00:00","article_modified_time":"2025-08-27T11:13:40+00:00","og_image":[{"width":1200,"height":555,"url":"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png","type":"image\/png"}],"author":"Kaushik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kaushik","Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#article","isPartOf":{"@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/"},"author":{"name":"Kaushik","@id":"https:\/\/blog.spike.sh\/#\/schema\/person\/b137e57ace218547f02b86fdcb2d0e64"},"headline":"Introducing \u201cResolved by Timer\u201d","datePublished":"2025-08-27T07:09:54+00:00","dateModified":"2025-08-27T11:13:40+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/"},"wordCount":921,"commentCount":0,"image":{"@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png","keywords":["announcements"],"articleSection":["Announcement","Building Spike"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/","url":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/","name":"Introducing \"Resolved by Timer\"","isPartOf":{"@id":"https:\/\/blog.spike.sh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#primaryimage"},"image":{"@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png","datePublished":"2025-08-27T07:09:54+00:00","dateModified":"2025-08-27T11:13:40+00:00","author":{"@id":"https:\/\/blog.spike.sh\/#\/schema\/person\/b137e57ace218547f02b86fdcb2d0e64"},"description":"Learn about what \"Resolved by Timer\" is, why we built it, how it works, and how you can set it up.","breadcrumb":{"@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#primaryimage","url":"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png","contentUrl":"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png","width":1200,"height":555},{"@type":"BreadcrumbList","@id":"https:\/\/blog.spike.sh\/introducing-resolved-by-timer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.spike.sh\/"},{"@type":"ListItem","position":2,"name":"Introducing \u201cResolved by Timer\u201d"}]},{"@type":"WebSite","@id":"https:\/\/blog.spike.sh\/#website","url":"https:\/\/blog.spike.sh\/","name":"Spike&#039;s blog","description":"Learnings and opinions in a changing world","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.spike.sh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/blog.spike.sh\/#\/schema\/person\/b137e57ace218547f02b86fdcb2d0e64","name":"Kaushik","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/c7ec6b633161978fc09ed325cefde9061797a65a730e4b98c0eb26bc6925bc81?s=96&d=robohash&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c7ec6b633161978fc09ed325cefde9061797a65a730e4b98c0eb26bc6925bc81?s=96&d=robohash&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c7ec6b633161978fc09ed325cefde9061797a65a730e4b98c0eb26bc6925bc81?s=96&d=robohash&r=g","caption":"Kaushik"},"description":"Founder of Spike. I like sharing how we are building Spike and the intricacies of building a startup by waking people up for critical incidents.","url":"https:\/\/blog.spike.sh\/author\/spikehq\/"}]}},"modified_by":"Sreekar","jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/blog.spike.sh\/wp-content\/uploads\/2025\/08\/resolved-by-tmer-cover.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfMe4Q-Mi","jetpack-related-posts":[{"id":292,"url":"https:\/\/blog.spike.sh\/we-built-a-days-without-an-incident-timer-for-software-teams\/","url_meta":{"origin":2994,"position":0},"title":"Introducing Incident Timer","author":"Kaushik","date":"3rd March, 2021","format":false,"excerpt":"We\u2019re excited to announce Incident Timer - a \u201cdays without an incident\u201d timer for software teams to keep track of major engineering incidents. As the people behind Spike.sh, we keep discussing how to build a culture of reliability with our customers. We loved the idea of safety\/accident timers in factories\u2026","rel":"","context":"In &quot;Announcement&quot;","block_context":{"text":"Announcement","link":"https:\/\/blog.spike.sh\/category\/announcement\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2021\/03\/cover-6.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2021\/03\/cover-6.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2021\/03\/cover-6.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2021\/03\/cover-6.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":370,"url":"https:\/\/blog.spike.sh\/2024-recap\/","url_meta":{"origin":2994,"position":1},"title":"A recap of 2024","author":"Kaushik","date":"11th January, 2025","format":false,"excerpt":"Spike\u2019s 2024 highlights: 691 deployments, 165,000 alerts sent, and AWS leading integrations. Critical incidents tripled to 9,200, with 1.4M incidents suppressed and 132K auto-resolved. Seamless on-call management: 53K shifts rotated, 8K overrides logged.","rel":"","context":"In &quot;Recap&quot;","block_context":{"text":"Recap","link":"https:\/\/blog.spike.sh\/category\/recap\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2025\/01\/2024-recap.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2025\/01\/2024-recap.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2025\/01\/2024-recap.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2025\/01\/2024-recap.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2025\/01\/2024-recap.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2025\/01\/2024-recap.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":335,"url":"https:\/\/blog.spike.sh\/getting-started-on-alerts-with-escalation-policy\/","url_meta":{"origin":2994,"position":2},"title":"Getting Started on Alerts with Escalation Policies","author":"Gurneet Kaur","date":"23rd October, 2023","format":false,"excerpt":"Discover the key to effective incident management \u2013 setting up alert escalation policies. Learn how to get started with our step-by-step guide to ensure timely responses and minimal downtime during critical incidents.","rel":"","context":"In &quot;Alerts&quot;","block_context":{"text":"Alerts","link":"https:\/\/blog.spike.sh\/category\/incident-management\/alerts\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2023\/10\/Getting-started-on-alerts-with-Escalation-Policies.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2023\/10\/Getting-started-on-alerts-with-Escalation-Policies.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2023\/10\/Getting-started-on-alerts-with-Escalation-Policies.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2023\/10\/Getting-started-on-alerts-with-Escalation-Policies.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5273,"url":"https:\/\/blog.spike.sh\/understading-l1-l2-l3-escalation-policy\/","url_meta":{"origin":2994,"position":3},"title":"Understanding L1, L2, L3 escalation policy","author":"Sreekar","date":"27th February, 2026","format":false,"excerpt":"This guide breaks down the L1, L2, L3 escalation structure, how incidents move through each level, and what it looks like in practice.","rel":"","context":"In &quot;Guides&quot;","block_context":{"text":"Guides","link":"https:\/\/blog.spike.sh\/category\/guides\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/02\/Basics-of-Incident-Management-8.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/02\/Basics-of-Incident-Management-8.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/02\/Basics-of-Incident-Management-8.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/02\/Basics-of-Incident-Management-8.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/02\/Basics-of-Incident-Management-8.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/02\/Basics-of-Incident-Management-8.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":322,"url":"https:\/\/blog.spike.sh\/what-is-an-incident\/","url_meta":{"origin":2994,"position":4},"title":"What the Heck is an Incident?","author":"Kaushik","date":"19th September, 2022","format":false,"excerpt":"Incident management is all about incidents but what the heck is an incident anyway?","rel":"","context":"In &quot;Incident Management&quot;","block_context":{"text":"Incident Management","link":"https:\/\/blog.spike.sh\/category\/incident-management\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2022\/09\/INCIDENT-MEME-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2022\/09\/INCIDENT-MEME-1-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2022\/09\/INCIDENT-MEME-1-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2022\/09\/INCIDENT-MEME-1-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2022\/09\/INCIDENT-MEME-1-1.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2022\/09\/INCIDENT-MEME-1-1.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":5677,"url":"https:\/\/blog.spike.sh\/how-to-handle-midnight-incidents\/","url_meta":{"origin":2994,"position":5},"title":"How to handle midnight incidents without waking everyone up","author":"Sreekar","date":"29th March, 2026","format":false,"excerpt":"A midnight incident should wake one person, not the whole team. This guide covers how to set that up with routing rules and escalation policies.","rel":"","context":"In &quot;Guides&quot;","block_context":{"text":"Guides","link":"https:\/\/blog.spike.sh\/category\/guides\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/03\/OpsGenie-Shutdown_-Everything-You-Need-To-Know-6.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/03\/OpsGenie-Shutdown_-Everything-You-Need-To-Know-6.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/03\/OpsGenie-Shutdown_-Everything-You-Need-To-Know-6.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/03\/OpsGenie-Shutdown_-Everything-You-Need-To-Know-6.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/03\/OpsGenie-Shutdown_-Everything-You-Need-To-Know-6.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.spike.sh\/wp-content\/uploads\/2026\/03\/OpsGenie-Shutdown_-Everything-You-Need-To-Know-6.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/posts\/2994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/users\/191914268"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/comments?post=2994"}],"version-history":[{"count":7,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/posts\/2994\/revisions"}],"predecessor-version":[{"id":3010,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/posts\/2994\/revisions\/3010"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/media\/2999"}],"wp:attachment":[{"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/media?parent=2994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/categories?post=2994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.spike.sh\/wp-json\/wp\/v2\/tags?post=2994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}