{"id":81097,"date":"2026-09-07T11:29:13","date_gmt":"2026-09-07T05:59:13","guid":{"rendered":"https:\/\/2thenew.today\/blog\/?p=81097"},"modified":"2026-09-09T10:43:42","modified_gmt":"2026-09-09T05:13:42","slug":"automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers","status":"publish","type":"post","link":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/","title":{"rendered":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers"},"content":{"rendered":"<h1>Introduction<\/h1>\n<p>When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person&#8217;s name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds real delay to incident response.<\/p>\n<p>This blog covers an automation built in order to remove that lookup step entirely. When an alert ticket is created, the system now automatically finds the right person and posts that information as a private note directly on the ticket. so that the on-call team members already know exactly who to tag in Slack, without opening anything else.<\/p>\n<h1><strong>Goal of this automation<\/strong><\/h1>\n<p>When an alert is triggered by monitoring tool, a ticket is created in Freshservice. And the team had to refer sheet to find out who owns that alert type and what is the priority of that alert. The process was clear. But it was entirely manual and time consuming.<\/p>\n<p>After automating this process, when an alert ticket is created, a private note is automatically added in the ticket saying who to tag and at what priority.<\/p>\n<h1>Step by step Setup<\/h1>\n<h2>Step 1 &#8211; Alarm Creates a Ticket<\/h2>\n<p>When a monitoring tool detects an issue, a ticket is created in Freshservice. The subject line looks like:<\/p>\n<pre>\u00a0\r\n<strong>ALARM: CPU high in US West (Oregon)<\/strong><\/pre>\n<h2>Step 2 &#8211; Freshservice fires a webhook<\/h2>\n<p>An automator rule in Freshservice watches for ticket. When the ticket is created, it automatically sends ticket id and ticket subject to a Cloudflare Worker:<\/p>\n<pre><strong>{<\/strong>\r\n<strong>\"ticket_id\": \"12345\",<\/strong>\r\n<strong>\"ticket_subject\": \"ALARM: CPU high in US West (Oregon)\"<\/strong>\r\n<strong>}<\/strong><\/pre>\n<h2>Step 3 &#8211; The Cloudflare Worker passes the information<\/h2>\n<p>The Worker takes the exact same data and passes it to the Google Apps Script.<\/p>\n<h3>Why does this relay exist ?<\/h3>\n<p>Google Apps Script don&#8217;t respond to requests directly. When called, Google first sends back a redirect (HTTP 302) pointing to a separate link, and the real response lives there. Freshservice&#8217;s webhook caller doesn&#8217;t know how to follow that kind of redirect, it would just report the call as failed.<\/p>\n<p>The Worker fixes this by:<\/p>\n<ul>\n<li>Calling Google Apps Script<\/li>\n<li>Receiving the redirect<\/li>\n<li>Following it to the real response<\/li>\n<li>Returning a response &#8220;OK&#8221; back to Freshservice<\/li>\n<\/ul>\n<h2>Step 4 &#8211; Google Apps Script Does the Real Work<\/h2>\n<p>This is where the logic lives. The script does three things:<\/p>\n<p>1. Cleans up the subject line<\/p>\n<p>Alert names from monitoring tools are messy and inconsistent. The same alert might arrive as:<\/p>\n<p>ALARM: CPU high in US West (Oregon)<br \/>\n&#8220;CPU High&#8221; in EU West<br \/>\nCPU high<br \/>\nA direct match would fail on all of these. So the script normalizes everything first \u2014 stripping the ALARM: prefix, removing quote characters, and cutting off region suffixes:<\/p>\n<pre><strong>function normalizeSubject(subject) {<\/strong>\r\n<strong>return subject<\/strong>\r\n<strong>.toLowerCase()<\/strong>\r\n<strong>.replace(\/alarm:\\s*\/i, \"\")<\/strong>\r\n<strong>.replace(\/['\"\u00ab\u00bb\"\"''`]\/g, \"\")<\/strong>\r\n<strong>.replace(\/\\sin\\s+(us|eu|ap)\\s+.$\/i, \"\")<\/strong>\r\n<strong>.replace(\/\\s+\/g, \" \")<\/strong>\r\n<strong>.trim();<\/strong>\r\n<strong>}<\/strong><\/pre>\n<h2><\/h2>\n<p>All three examples above become cpu high \u2014 which is what the sheet row says too.<\/p>\n<p>2. Searches the Google Sheet<\/p>\n<p>The sheet has multiple tabs, one per alert category. Each row has three columns:<\/p>\n<p>Column A \u2014 Alert name<br \/>\nColumn B \u2014 Who to tag in Slack<br \/>\nColumn C \u2014 Priority<br \/>\nThe script searches every tab, normalizes each row&#8217;s alert name the same way, and checks if the ticket subject and the sheet row contain each other (a fuzzy two-way match). The first match wins.<\/p>\n<p>3. Posts the note on the ticket<\/p>\n<p>Once a match is found, the script calls the Freshservice API and posts a private note directly on the ticket:<\/p>\n<pre>Alert Type: Server Alerts\r\nTag in Slack: @John\r\nPriority: High\r\nPlease tag the above person(s) in Slack when posting the alert and findings.<\/pre>\n<p>What if there&#8217;s no match?<\/p>\n<p>The script posts a different note instead:<\/p>\n<pre>\u26a0\ufe0f No match found in tagging sheet.\r\nTicket Subject: ALARM: CPU high in US West (Oregon)\r\nNormalized: cpu high\r\nPlease check the sheet manually.<\/pre>\n<p>This is just as important as the match case. Without it, unmatched alerts would fail silently. With it, gaps show up clearly and the sheet can be updated to fix them.<\/p>\n<h2>Step 5 &#8211; A Person Tags Slack<\/h2>\n<p>Whoever picks up the ticket reads the note and tags the right person in Slack by hand. The automation stops at writing the note \u2014 the actual Slack message involves context and judgment, so that part stays manual.<\/p>\n<p>What the Full Flow Looks Like<\/p>\n<p>Alarm fires<br \/>\n\u2192 Freshservice ticket created<br \/>\n\u2192 Automator rule fires webhook<br \/>\n\u2192 Cloudflare Worker receives it<br \/>\n\u2192 Passes it to Google Apps Script<br \/>\n\u2192 Script cleans up subject line<br \/>\n\u2192 Searches Google Sheet<br \/>\n\u2192 Posts private note on ticket<br \/>\n\u2192 Person reads note \u2192 Tags Slack<\/p>\n<p>Current Status and Open Items<br \/>\nThe automation is built but not yet live. Two things need to be addressed before switching it on:<\/p>\n<p>API key exposure \u2014 The Freshservice API key is currently hardcoded in plain text inside the script. It needs to be moved to Script Properties (Google&#8217;s built-in secret store) and the current key should be rotated.<br \/>\nAutomator rule is off \u2014 The Freshservice rule is currently set to Inactive. It gets turned on once the API key issue is resolved.<\/p>\n<h1>Conclusion<\/h1>\n<p>What started as a small, annoying five-step manual task turned into a clean end-to-end automation using tools the team already had \u2014 Freshservice, Google Sheets, and a lightweight script.<\/p>\n<p>The biggest lesson? The normalization step made or broke the whole thing. Alert names from monitoring tools are never clean or consistent, and a direct string match would have failed most of the time. Getting that cleanup logic right was the difference between an automation that works on paper and one that works in the real world.<\/p>\n<p>The no-match note was the second key decision. It&#8217;s easy to only think about the happy path \u2014 but surfacing gaps clearly, rather than letting them fail silently, is what makes a system trustworthy over time.<\/p>\n<p>If your team is dealing with a similar problem \u2014 alert routing, ticket tagging, on-call lookups \u2014 this same pattern applies. No new infrastructure or expensive tools are needed. A spreadsheet, a script, and a webhook can go a long way.<\/p>\n<p>Does your team still handle this manually? Or have you built something similar? Drop a comment below \u2014 it would be great to hear how others are approaching alert routing.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person&#8217;s name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds [&hellip;]<\/p>\n","protected":false},"author":1873,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":8,"footnotes":""},"categories":[5877],"tags":[8799,8798,3812],"class_list":["post-81097","post","type-post","status-publish","format-standard","hentry","category-msp","tag-cloudflareworkers","tag-freshservice","tag-slack"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person&#039;s name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Ritika Chauhan\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person&#039;s name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person&#039;s name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#article\",\"name\":\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog\",\"headline\":\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/ritika-chauhan\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2026-09-07T11:29:13+05:30\",\"dateModified\":\"2026-09-09T10:43:42+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#webpage\"},\"articleSection\":\"MSP, CloudflareWorkers, Freshservice, SLACK\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/msp\\\/#listItem\",\"name\":\"MSP\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/msp\\\/#listItem\",\"position\":2,\"name\":\"MSP\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/msp\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#listItem\",\"name\":\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#listItem\",\"position\":3,\"name\":\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/msp\\\/#listItem\",\"name\":\"MSP\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/ritika-chauhan\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/ritika-chauhan\\\/\",\"name\":\"Ritika Chauhan\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/e5747d42-1817-4e9b-af54-b2134126c91e_Ritika-Chauhan-Profile-Pitcure.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Ritika Chauhan\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/\",\"name\":\"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog\",\"description\":\"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person's name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/ritika-chauhan\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/ritika-chauhan\\\/#author\"},\"datePublished\":\"2026-09-07T11:29:13+05:30\",\"dateModified\":\"2026-09-09T10:43:42+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog","description":"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person's name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds","canonical_url":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#article","name":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog","headline":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers","author":{"@id":"https:\/\/2thenew.today\/blog\/author\/ritika-chauhan\/#author"},"publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"},"datePublished":"2026-09-07T11:29:13+05:30","dateModified":"2026-09-09T10:43:42+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#webpage"},"articleSection":"MSP, CloudflareWorkers, Freshservice, SLACK"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.today\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/msp\/#listItem","name":"MSP"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/msp\/#listItem","position":2,"name":"MSP","item":"https:\/\/2thenew.today\/blog\/category\/msp\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#listItem","name":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#listItem","position":3,"name":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/msp\/#listItem","name":"MSP"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.today\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.today\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.today\/blog\/author\/ritika-chauhan\/#author","url":"https:\/\/2thenew.today\/blog\/author\/ritika-chauhan\/","name":"Ritika Chauhan","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/e5747d42-1817-4e9b-af54-b2134126c91e_Ritika-Chauhan-Profile-Pitcure.jpeg","width":96,"height":96,"caption":"Ritika Chauhan"}},{"@type":"WebPage","@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#webpage","url":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/","name":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog","description":"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person's name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.today\/blog\/author\/ritika-chauhan\/#author"},"creator":{"@id":"https:\/\/2thenew.today\/blog\/author\/ritika-chauhan\/#author"},"datePublished":"2026-09-07T11:29:13+05:30","dateModified":"2026-09-09T10:43:42+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.today\/blog\/#website","url":"https:\/\/2thenew.today\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog","og:description":"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person's name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds","og:url":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/","og:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers | TO THE NEW Blog","twitter:description":"Introduction When an alarm triggers, a ticket is created in Freshservice, and the on-call team member has to stop everything, open a spreadsheet, find the right person's name, head to Slack, and tag them. Every single time.It becomes very difficult specially when the team is dealing with multiple alerts, that five step manual process adds","twitter:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"81097","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"created":"2026-08-22 05:51:16","updated":"2026-09-09 05:13:44","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\/category\/msp\/\" title=\"MSP\">MSP<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAutomating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.today\/blog"},{"label":"MSP","link":"https:\/\/2thenew.today\/blog\/category\/msp\/"},{"label":"Automating Alert Tagging in Freshservice Using Google Sheets, Apps Script, and Cloudflare Workers","link":"https:\/\/2thenew.today\/blog\/automating-alert-tagging-in-freshservice-using-google-sheets-apps-script-and-cloudflare-workers\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/81097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/users\/1873"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/comments?post=81097"}],"version-history":[{"count":1,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/81097\/revisions"}],"predecessor-version":[{"id":81098,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/81097\/revisions\/81098"}],"wp:attachment":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/media?parent=81097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/categories?post=81097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/tags?post=81097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}