{"id":16548,"date":"2024-12-07T23:08:21","date_gmt":"2024-12-07T14:08:21","guid":{"rendered":"https:\/\/84office.jp\/?p=16548"},"modified":"2024-12-07T23:08:22","modified_gmt":"2024-12-07T14:08:22","slug":"googlesheets-slack-linkage","status":"publish","type":"post","link":"https:\/\/84office.jp\/en\/googlesheets-slack-linkage\/","title":{"rendered":"Integrate Google Sheets with Slack Using Google Apps Script: Automate Notifications Easily"},"content":{"rendered":"<div class=\"codoc-evacuations\" style=\"display:none;\" data-shortcode=\"\"><\/div>\n<div class=\"swell-block-capbox cap_box is-style-small_ttl u-mb-ctrl u-mb-50\" data-colset=\"col3\"><div class=\"cap_box_ttl\" data-has-icon=\"1\"><svg height=\"1em\" width=\"1em\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" viewBox=\"0 0 48 48\"><path d=\"M32 46.5H16c-1.1 0-2-.9-2-2s.9-2 2-2h16c1.1 0 2 .9 2 2s-.9 2-2 2zM33.3 18.6c-.7 0-1.3-.5-1.5-1.2-.7-3.2-3.2-5.7-6.4-6.3-.8-.1-1.4-.9-1.2-1.7s.9-1.4 1.7-1.2c4.4.8 8 4.2 8.9 8.6.2.8-.4 1.6-1.2 1.8h-.3z\"><\/path><path d=\"M30 40.5H18c-2.2 0-4-1.8-4-4v-1.6c0-.6-.3-1.1-.8-1.5C8.4 29.8 5.7 24 6 18c.5-9.1 8-16.6 17.1-17C29 .8 34.5 3.2 38.2 8c1.8 2.3 3 5.1 3.5 7.9 1.1 6.8-1.5 13.3-6.9 17.4-.6.4-.9 1-.9 1.7v1.5c.1 2.2-1.7 4-3.9 4zM23.3 5c-7.1.3-12.9 6.2-13.3 13.2-.2 4.7 1.8 9.1 5.6 11.9 1.5 1.1 2.4 2.9 2.4 4.7v.6c0 .6.4 1 1 1h10c.6 0 1-.4 1-1V35c0-1.9.9-3.7 2.5-4.8 4.3-3.2 6.3-8.5 5.3-13.9-.4-2-1.2-3.8-2.4-5.4-3-4-7.4-6.1-12.1-5.9z\"><\/path><\/svg><span>Recommend for:<\/span><\/div><div class=\"cap_box_content\">\n<ul class=\"wp-block-list\">\n<li>Those who want to save time and effort by automating Slack notifications.<\/li>\n\n\n\n<li>Those who want to eliminate manual communication errors.<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<p>If you want to be notified in Slack when you change the input status of a spreadsheet, wouldn&#8217;t it be a hassle to send a notification manually every time?<\/p>\n\n\n\n<p>Even if the work per notification does not take much time, it becomes more difficult as the number of notifications increases.<\/p>\n\n\n\n<p>So, in this article, we will show you how to use Google Apps Script to link spreadsheets and Slack and automate notifications.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-50\">This eliminates the need for manual notification and facilitates information sharing.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">In addition, a Slack webhook URL is required in advance of executing this Google Apps Script.<\/p>\n\n\n\n<p>If you have not yet obtained the URL, please refer to <a href=\"https:\/\/84office.jp\/en\/slack-webhook-url-get\/\" target=\"_blank\" rel=\"noreferrer noopener\">this article<\/a>.<\/p>\n\n\n<div class=\"swell-block-postLink u-mb-ctrl u-mb-60\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img decoding=\"async\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/ac3adde711ac263872eff0561645d815-300x158.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/84office.jp\/en\/slack-webhook-url-get\/\">How to Get Slack Webhook URL: Automate Notifications with External Integration<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">Recommend fo: For those who want to set up a Slack Webhook URL to automate notifications For those who want to integrate Slack using Google Apps Script By us&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\n<h2 class=\"wp-block-heading u-mb-ctrl u-mb-40\">Completed image<\/h2>\n\n\n\n<p><strong>Spreadsheet<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"212\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1024x212.png\" alt=\"\" class=\"wp-image-16549\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1024x212.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-300x62.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-768x159.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1536x317.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-2048x423.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Slack Notification<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full u-mb-ctrl u-mb-40\"><img decoding=\"async\" width=\"814\" height=\"134\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-34.png\" alt=\"\" class=\"wp-image-16556\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-34.png 814w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-34-300x49.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-34-768x126.png 768w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list has-border -border02 u-mb-ctrl u-mb-50 has-swl-pale-03-background-color has-background\">\n<li><strong>Slack notifications when spreadsheet entry status changes<\/strong><\/li>\n\n\n\n<li><strong>Fill in the spreadsheet with Slack notifications<\/strong><\/li>\n<\/ul>\n\n\n\n<p>In this example, the sheet name is \u201cSales Management\u201d and Slack will be automatically notified when the payment status in the spreadsheet is updated.<\/p>\n\n\n\n<p>Payment has been completed for the products ordered by the customer,<\/p>\n\n\n\n<p class=\"has-swl-gray-background-color has-background\">&#8220;Order ID #003, Alex Johnson&#8217;s order has been marked as paid. Please proceed with the shipping preparation.&#8221;<\/p>\n\n\n\n<p>A notification like this will be sent to Slack.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-60\">This notification allows the person in charge to proceed to the next step and prevents manual miscommunication.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Procedure<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Create the Script<\/h3>\n\n\n\n<div class=\"swell-block-step u-mb-ctrl u-mb-60\" data-num-style=\"circle\">\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Preparing Spreadsheets<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"117\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1-1024x117.png\" alt=\"\" class=\"wp-image-16550\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1-1024x117.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1-300x34.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1-768x88.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1-1536x175.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/abad30cc92285e7d5a582bfa1d852bd5-1-2048x234.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>First, open the spreadsheet.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-30\">In this example, the sheet name is \u201c<strong>Sales Management<\/strong>\u201d and is referenced during Apps Script execution.<\/p>\n\n\n\n<p>Example of column input<\/p>\n\n\n\n<figure class=\"wp-block-table is-all-centered\"><table><tbody><tr><td>Column A<\/td><td>Order ID<\/td><\/tr><tr><td>Column B<\/td><td>Customer Name<\/td><\/tr><tr><td>Column C<\/td><td>Order Date<\/td><\/tr><tr><td>Column D<\/td><td>Product Name<\/td><\/tr><tr><td>Column E<\/td><td>Quantity<\/td><\/tr><tr><td>Column F<\/td><td>Amount (USD)<\/td><\/tr><tr><td>Column G<\/td><td>Payment Status<\/td><\/tr><tr><td>Column H<\/td><td>Payment Date<\/td><\/tr><tr><td>Column I<\/td><td>Delivery Status<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Open Apps Script Editor<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"933\" height=\"591\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d.png\" alt=\"\" class=\"wp-image-16537\" style=\"width:447px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d.png 933w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d-300x190.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d-768x486.png 768w\" sizes=\"(max-width: 933px) 100vw, 933px\" \/><\/figure>\n<\/div>\n\n\n<p>Open a Google Spreadsheet and click on \u201c<strong>Extensions<\/strong>\u201d in the menu, then \u201c<strong>Apps Script<\/strong>\u201d to open the Apps Script editor.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\"><strong>Create the Script<\/strong><\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"472\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-1024x472.png\" alt=\"\" class=\"wp-image-16191\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-1024x472.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-300x138.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-768x354.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662.png 1387w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>function myFunction(){<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">is included from the beginning, so delete it and paste the previous script.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"function notifySlack() {\n  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sales Management'); \/\/ Sheet name: Sales Management\n  var range = sheet.getDataRange();\n  var data = range.getValues();\n\n  for (var i = 1; i &lt; data.length; i++) { \/\/ Start from the second row (skip header)\n    var orderId = data[i][0]; \/\/ Order ID (Column A)\n    var customerName = data[i][1]; \/\/ Customer Name (Column B)\n    var paymentStatus = data[i][6]; \/\/ Payment Status (Column G)\n    var notifiedStatus = data[i][9]; \/\/ Notification Status (Column J, mark as &quot;Notified&quot;)\n\n    \/\/ If the payment status is &quot;Paid&quot; and the notification has not been sent yet\n    if (paymentStatus === 'Paid' &amp;&amp; notifiedStatus !== 'Notified') {\n      var message = 'Order ID #' + orderId + ', ' + customerName + '\\'s order has been marked as paid. Please proceed with the shipping preparation.';\n      sendSlackNotification(message);\n\n      \/\/ Mark as notified in the spreadsheet\n      sheet.getRange(i + 1, 10).setValue('Notified');\n    }\n  }\n}\n\nfunction sendSlackNotification(message) {\n  var url = 'https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX'; \/\/ Set your Slack Webhook URL\n  var payload = {\n    'text': message\n  };\n  var options = {\n    'method': 'post',\n    'contentType': 'application\/json',\n    'payload': JSON.stringify(payload)\n  };\n  UrlFetchApp.fetch(url, options);\n}\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">notifySlack<\/span><span style=\"color: #F8F8F2\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> sheet <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> SpreadsheetApp.<\/span><span style=\"color: #A6E22E\">getActiveSpreadsheet<\/span><span style=\"color: #F8F8F2\">().<\/span><span style=\"color: #A6E22E\">getSheetByName<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;Sales Management&#39;<\/span><span style=\"color: #F8F8F2\">); <\/span><span style=\"color: #88846F\">\/\/ Sheet name: Sales Management<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> range <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> sheet.<\/span><span style=\"color: #A6E22E\">getDataRange<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> data <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> range.<\/span><span style=\"color: #A6E22E\">getValues<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #F92672\">for<\/span><span style=\"color: #F8F8F2\"> (<\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> i <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">; i <\/span><span style=\"color: #F92672\">&lt;<\/span><span style=\"color: #F8F8F2\"> data.length; i<\/span><span style=\"color: #F92672\">++<\/span><span style=\"color: #F8F8F2\">) { <\/span><span style=\"color: #88846F\">\/\/ Start from the second row (skip header)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> orderId <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">0<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Order ID (Column A)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> customerName <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Customer Name (Column B)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> paymentStatus <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">6<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Payment Status (Column G)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> notifiedStatus <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">9<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Notification Status (Column J, mark as &quot;Notified&quot;)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ If the payment status is &quot;Paid&quot; and the notification has not been sent yet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">if<\/span><span style=\"color: #F8F8F2\"> (paymentStatus <\/span><span style=\"color: #F92672\">===<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;Paid&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">&amp;&amp;<\/span><span style=\"color: #F8F8F2\"> notifiedStatus <\/span><span style=\"color: #F92672\">!==<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;Notified&#39;<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> message <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;Order ID #&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> orderId <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;, &#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> customerName <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;<\/span><span style=\"color: #AE81FF\">\\&#39;<\/span><span style=\"color: #E6DB74\">s order has been marked as paid. Please proceed with the shipping preparation.&#39;<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #A6E22E\">sendSlackNotification<\/span><span style=\"color: #F8F8F2\">(message);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #88846F\">\/\/ Mark as notified in the spreadsheet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(i <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">10<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;Notified&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">sendSlackNotification<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">message<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> url <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX&#39;<\/span><span style=\"color: #F8F8F2\">; <\/span><span style=\"color: #88846F\">\/\/ Set your Slack Webhook URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> payload <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;text&#39;<\/span><span style=\"color: #F8F8F2\">: message<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> options <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;method&#39;<\/span><span style=\"color: #F8F8F2\">: <\/span><span style=\"color: #E6DB74\">&#39;post&#39;<\/span><span style=\"color: #F8F8F2\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;contentType&#39;<\/span><span style=\"color: #F8F8F2\">: <\/span><span style=\"color: #E6DB74\">&#39;application\/json&#39;<\/span><span style=\"color: #F8F8F2\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;payload&#39;<\/span><span style=\"color: #F8F8F2\">: JSON.<\/span><span style=\"color: #A6E22E\">stringify<\/span><span style=\"color: #F8F8F2\">(payload)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  UrlFetchApp.<\/span><span style=\"color: #A6E22E\">fetch<\/span><span style=\"color: #F8F8F2\">(url, options);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"swell-block-accordion\">\n<details class=\"swell-block-accordion__item\" data-swl-acc=\"wrapper\"><summary class=\"swell-block-accordion__title\" data-swl-acc=\"header\"><span class=\"swell-block-accordion__label\">Script Description<\/span><span class=\"swell-block-accordion__icon c-switchIconBtn\" data-swl-acc=\"icon\" aria-hidden=\"true\" data-opened=\"false\"><i class=\"__icon--closed icon-caret-down\"><\/i><i class=\"__icon--opened icon-caret-up\"><\/i><\/span><\/summary><div class=\"swell-block-accordion__body\" data-swl-acc=\"body\">\n<dl class=\"swell-block-dl\">\n<dt class=\"swell-block-dl__dt\"><strong>notifySlack() function<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"function notifySlack() {\n  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sales Management'); \/\/ Sheet name: Sales Management\n  var range = sheet.getDataRange();\n  var data = range.getValues();\n\n  for (var i = 1; i &lt; data.length; i++) { \/\/ Start from the second row (skip header)\n    var orderId = data[i][0]; \/\/ Order ID (Column A)\n    var customerName = data[i][1]; \/\/ Customer Name (Column B)\n    var paymentStatus = data[i][6]; \/\/ Payment Status (Column G)\n    var notifiedStatus = data[i][9]; \/\/ Notification Status (Column J, mark as &quot;Notified&quot;)\n\n    \/\/ If the payment status is &quot;Paid&quot; and the notification has not been sent yet\n    if (paymentStatus === 'Paid' &amp;&amp; notifiedStatus !== 'Notified') {\n      var message = 'Order ID #' + orderId + ', ' + customerName + '\\'s order has been marked as paid. Please proceed with the shipping preparation.';\n      sendSlackNotification(message);\n\n      \/\/ Mark as notified in the spreadsheet\n      sheet.getRange(i + 1, 10).setValue('Notified');\n    }\n  }\n}\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">notifySlack<\/span><span style=\"color: #F8F8F2\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> sheet <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> SpreadsheetApp.<\/span><span style=\"color: #A6E22E\">getActiveSpreadsheet<\/span><span style=\"color: #F8F8F2\">().<\/span><span style=\"color: #A6E22E\">getSheetByName<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;Sales Management&#39;<\/span><span style=\"color: #F8F8F2\">); <\/span><span style=\"color: #88846F\">\/\/ Sheet name: Sales Management<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> range <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> sheet.<\/span><span style=\"color: #A6E22E\">getDataRange<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> data <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> range.<\/span><span style=\"color: #A6E22E\">getValues<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #F92672\">for<\/span><span style=\"color: #F8F8F2\"> (<\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> i <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">; i <\/span><span style=\"color: #F92672\">&lt;<\/span><span style=\"color: #F8F8F2\"> data.length; i<\/span><span style=\"color: #F92672\">++<\/span><span style=\"color: #F8F8F2\">) { <\/span><span style=\"color: #88846F\">\/\/ Start from the second row (skip header)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> orderId <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">0<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Order ID (Column A)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> customerName <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Customer Name (Column B)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> paymentStatus <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">6<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Payment Status (Column G)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> notifiedStatus <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data[i][<\/span><span style=\"color: #AE81FF\">9<\/span><span style=\"color: #F8F8F2\">]; <\/span><span style=\"color: #88846F\">\/\/ Notification Status (Column J, mark as &quot;Notified&quot;)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ If the payment status is &quot;Paid&quot; and the notification has not been sent yet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">if<\/span><span style=\"color: #F8F8F2\"> (paymentStatus <\/span><span style=\"color: #F92672\">===<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;Paid&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">&amp;&amp;<\/span><span style=\"color: #F8F8F2\"> notifiedStatus <\/span><span style=\"color: #F92672\">!==<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;Notified&#39;<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> message <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;Order ID #&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> orderId <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;, &#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> customerName <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;<\/span><span style=\"color: #AE81FF\">\\&#39;<\/span><span style=\"color: #E6DB74\">s order has been marked as paid. Please proceed with the shipping preparation.&#39;<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #A6E22E\">sendSlackNotification<\/span><span style=\"color: #F8F8F2\">(message);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #88846F\">\/\/ Mark as notified in the spreadsheet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(i <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">10<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;Notified&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span><\/code><\/pre><\/div>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Get sheet and set data range<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>Get the \u201cSales Management\u201d sheet using <code>SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sales Management')<\/code>.<\/li>\n\n\n\n<li><strong>Please change the sheet name as necessary.<\/strong><\/li>\n\n\n\n<li><code>getDataRange()<\/code> retrieves all data ranges in a sheet, and <code>getValues()<\/code> retrieves the values in that range as a two-dimensional array.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Data iteration<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>Use a<code>for<\/code>loop to iterate from the second to the last line (skip the first line because it is a header line).<\/li>\n\n\n\n<li>Get \u201cOrder ID (column A),\u201d \u201cCustomer Name (column B),\u201d \u201cPayment Status (column G),\u201d and \u201cNotified Status (column J)\u201d from each row.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Verify terms and conditions and Slack notifications<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>If the \u201cPayment Status\u201d is \u201cPaid\u201d and not \u201cNotified\u201d, a notification will be sent to Slack.<\/li>\n\n\n\n<li>Create a notification message and call the <code>sendSlackNotification()<\/code> function to send the notification.<\/li>\n\n\n\n<li>After notification, record \u201cNotified\u201d in the \u201cNotified\u201d column of the appropriate line.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>sendSlackNotification(message) function<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"function sendSlackNotification(message) {\n  var url = 'https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX'; \/\/ Set your Slack Webhook URL\n  var payload = {\n    'text': message\n  };\n  var options = {\n    'method': 'post',\n    'contentType': 'application\/json',\n    'payload': JSON.stringify(payload)\n  };\n  UrlFetchApp.fetch(url, options);\n}\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">sendSlackNotification<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">message<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> url <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX&#39;<\/span><span style=\"color: #F8F8F2\">; <\/span><span style=\"color: #88846F\">\/\/ Set your Slack Webhook URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> payload <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;text&#39;<\/span><span style=\"color: #F8F8F2\">: message<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> options <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;method&#39;<\/span><span style=\"color: #F8F8F2\">: <\/span><span style=\"color: #E6DB74\">&#39;post&#39;<\/span><span style=\"color: #F8F8F2\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;contentType&#39;<\/span><span style=\"color: #F8F8F2\">: <\/span><span style=\"color: #E6DB74\">&#39;application\/json&#39;<\/span><span style=\"color: #F8F8F2\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #E6DB74\">&#39;payload&#39;<\/span><span style=\"color: #F8F8F2\">: JSON.<\/span><span style=\"color: #A6E22E\">stringify<\/span><span style=\"color: #F8F8F2\">(payload)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  };<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  UrlFetchApp.<\/span><span style=\"color: #A6E22E\">fetch<\/span><span style=\"color: #F8F8F2\">(url, options);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span><\/code><\/pre><\/div>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Slack Webhook URL Setting<\/strong>s<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>Set the <code>url<\/code>  variable to the Slack webhook URL.<\/li>\n\n\n\n<li>This URL is the URL of the Incoming Webhook configured in Slack.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Creation of notification content<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>Sets the message to be notified to the <code>payload<\/code> object.<\/li>\n\n\n\n<li>The argument <code>message<\/code> is used here to specify the text to be sent to Slack.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Request Option Setting<\/strong>s<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>The <code>options<\/code> variable is used to configure HTTP request settings.<\/li>\n\n\n\n<li><code>method<\/code> is POST, <code>contentType<\/code> is JSON format, and <code>payload<\/code> is the message content converted to a JSON string.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Send request to Slack<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<p>Send notifications to Slack using <code>UrlFetchApp.fetch(url, options)<\/code>.<\/p>\n\n\n\n<p>This function can be used to send an HTTP request to a specified URL.<\/p>\n<\/dd>\n<\/dl>\n<\/div><\/details>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Slack webhook URL settings<\/div><div class=\"swell-block-step__body\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro u-mb-ctrl u-mb-40\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"function sendSlackNotification(message) {\n  var url = 'https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX'; \/\/ Set your Slack Webhook URL\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">sendSlackNotification<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">message<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> url <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX&#39;<\/span><span style=\"color: #F8F8F2\">; <\/span><span style=\"color: #88846F\">\/\/ Set your Slack Webhook URL<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>A webhook URL is required to send notifications to Slack.<\/p>\n\n\n\n<p><code>'https:\/\/hooks.slack.com\/services\/XXXXXXXXX\/XXXXXXXXX\/XXXXXXXXXXXXXXXXXXXX'<\/code><\/p>\n\n\n\n<p>Replace this part with the Webhook URL you obtained yourself.<\/p>\n\n\n\n<p>(<a href=\"https:\/\/84office.jp\/en\/slack-webhook-url-get\/\" data-type=\"post\" data-id=\"16520\" target=\"_blank\" rel=\"noreferrer noopener\">How to get Webhook URL<\/a>)<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\"><strong>Save the Script<\/strong><\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"473\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1024x473.png\" alt=\"\" class=\"wp-image-16553\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1024x473.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-300x139.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-768x355.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1536x709.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d.png 1719w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>After writing the script, name and save it.<\/p>\n\n\n\n<p>(e.g., \u201cSlack Notification\u201d)<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Test Run the Script<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"473\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1-1024x473.png\" alt=\"\" class=\"wp-image-16554\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1-1024x473.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1-300x139.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1-768x355.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1-1536x709.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98ae31771a19b848b7ecd69a7c3d623d-1.png 1719w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"u-mb-ctrl u-mb-50\">Run the script and notify Slack.<\/p>\n\n\n\n<div class=\"wp-block-group is-style-big_icon_memo u-mb-ctrl u-mb-60\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>If you&#8217;re running the script for the first time, you need to authorize it.<\/p>\n\n\n\n<p><strong>Therefore, press &#8220;<strong>Review Permissions.<\/strong>&#8220;<\/strong><\/p>\n\n\n<div class=\"wp-block-image u-mb-ctrl u-mb-50\">\n<figure class=\"alignleft size-full\"><img decoding=\"async\" width=\"882\" height=\"345\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79.png\" alt=\"\" class=\"wp-image-15938\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79.png 882w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79-300x117.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79-768x300.png 768w\" sizes=\"(max-width: 882px) 100vw, 882px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"swell-block-accordion\">\n<details class=\"swell-block-accordion__item\" data-swl-acc=\"wrapper\"><summary class=\"swell-block-accordion__title\" data-swl-acc=\"header\"><span class=\"swell-block-accordion__label\">Detailed Authorization Steps<\/span><span class=\"swell-block-accordion__icon c-switchIconBtn\" data-swl-acc=\"icon\" aria-hidden=\"true\" data-opened=\"false\"><i class=\"__icon--closed icon-caret-down\"><\/i><i class=\"__icon--opened icon-caret-up\"><\/i><\/span><\/summary><div class=\"swell-block-accordion__body\" data-swl-acc=\"body\">\n<p><strong>Press &#8220;Advanced.&#8221;<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full u-mb-ctrl u-mb-50\"><img decoding=\"async\" width=\"1272\" height=\"688\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d.jpg\" alt=\"\" class=\"wp-image-15939\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d.jpg 1272w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d-300x162.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d-1024x554.jpg 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d-768x415.jpg 768w\" sizes=\"(max-width: 1272px) 100vw, 1272px\" \/><\/figure>\n\n\n\n\n\n\n\n<p><strong>Press &#8220;Go to Untitled project (Unsafe).&#8221;<\/strong><\/p>\n\n\n<div class=\"wp-block-image u-mb-ctrl u-mb-50\">\n<figure class=\"alignleft size-full\"><img decoding=\"async\" width=\"1305\" height=\"893\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9.jpg\" alt=\"\" class=\"wp-image-15940\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9.jpg 1305w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9-300x205.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9-1024x701.jpg 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9-768x526.jpg 768w\" sizes=\"(max-width: 1305px) 100vw, 1305px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>After that, press &#8220;Allow.&#8221;<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"955\" height=\"543\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049.jpg\" alt=\"\" class=\"wp-image-15941\" style=\"width:566px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049.jpg 955w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049-300x171.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049-768x437.jpg 768w\" sizes=\"(max-width: 955px) 100vw, 955px\" \/><\/figure>\n<\/div>\n\n\n\n<\/div><\/details>\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Confirm that Slack has been notified<\/div><div class=\"swell-block-step__body\">\n<figure class=\"wp-block-image size-full u-mb-ctrl u-mb-40\"><img decoding=\"async\" width=\"814\" height=\"134\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-33.png\" alt=\"\" class=\"wp-image-16555\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-33.png 814w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-33-300x49.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-33-768x126.png 768w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><\/figure>\n\n\n\n<p class=\"u-mb-ctrl u-mb-50\">Slack will be notified to the channel you specified when acquiring the Webhook URL.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large u-mb-ctrl u-mb-40\"><img decoding=\"async\" width=\"1024\" height=\"127\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b0936ddce38c4bc61c484d27798f633d-1024x127.png\" alt=\"\" class=\"wp-image-16557\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b0936ddce38c4bc61c484d27798f633d-1024x127.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b0936ddce38c4bc61c484d27798f633d-300x37.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b0936ddce38c4bc61c484d27798f633d-768x96.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b0936ddce38c4bc61c484d27798f633d-1536x191.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b0936ddce38c4bc61c484d27798f633d-2048x255.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In column J of the spreadsheet, the word \u201cNotified\u201d is entered.<\/p>\n<\/div><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading u-mb-ctrl u-mb-30\">Trigger settings (e.g., run Apps Script every hour)<\/h3>\n\n\n\n<p class=\"has-border -border02 u-mb-ctrl u-mb-40 has-swl-pale-03-background-color has-background\"><strong>Set up periodic Slack notifications<\/strong><\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">Once the script is working properly, the next step is to set up a trigger to run the notification periodically.<\/p>\n\n\n\n<div class=\"swell-block-step u-mb-ctrl u-mb-50\" data-num-style=\"circle\">\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Select Trigger<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"555\" height=\"648\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b838a6025fa1d70ceb9afbe2274d41cc.png\" alt=\"\" class=\"wp-image-16542\" style=\"width:316px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b838a6025fa1d70ceb9afbe2274d41cc.png 555w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/b838a6025fa1d70ceb9afbe2274d41cc-257x300.png 257w\" sizes=\"(max-width: 555px) 100vw, 555px\" \/><\/figure>\n<\/div>\n\n\n<p>Select \u201c<strong>Triggers<\/strong>\u201d from the \u201cClock Icon\u201d.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\"><strong>Add Trigger<\/strong><\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"518\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/7db9b007dafc23604bfd28ceab4425b7-1024x518.png\" alt=\"\" class=\"wp-image-16543\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/7db9b007dafc23604bfd28ceab4425b7-1024x518.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/7db9b007dafc23604bfd28ceab4425b7-300x152.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/7db9b007dafc23604bfd28ceab4425b7-768x388.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/7db9b007dafc23604bfd28ceab4425b7-1536x776.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/7db9b007dafc23604bfd28ceab4425b7.png 1858w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Press the \u201c<strong>Add Trigger<\/strong>\u201d button and configure as follows<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Select a Function to Execute<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"698\" height=\"274\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/c9b99bead664e74724253cc20846d861.png\" alt=\"\" class=\"wp-image-16559\" style=\"width:437px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/c9b99bead664e74724253cc20846d861.png 698w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/c9b99bead664e74724253cc20846d861-300x118.png 300w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/figure>\n<\/div>\n\n\n<p>Select <code>notifySlack<\/code> as the function to execute.<\/p>\n\n\n\n<p>(The item below it, \u201cChoose which deployment should run\u201d remains Head)<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Select Event Source<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"629\" height=\"235\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/daac6b106c0ed2584432fbbdd4e6c1d8.png\" alt=\"\" class=\"wp-image-16560\" style=\"width:452px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/daac6b106c0ed2584432fbbdd4e6c1d8.png 629w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/daac6b106c0ed2584432fbbdd4e6c1d8-300x112.png 300w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><\/figure>\n<\/div>\n\n\n<p>Select \u201c<strong>Time-driven<\/strong>\u201d as the event source.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\"><strong>\u6642\u9593\u30d9\u30fc\u30b9\u306e\u30c8\u30ea\u30ac\u30fc\u3092\u9078\u629e<\/strong><\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"670\" height=\"491\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/690fef012c3e3cc2a2019b0a304507b1.png\" alt=\"\" class=\"wp-image-16561\" style=\"width:475px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/690fef012c3e3cc2a2019b0a304507b1.png 670w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/690fef012c3e3cc2a2019b0a304507b1-300x220.png 300w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/figure>\n<\/div>\n\n\n<p>In this example, we have set it up so that a check is made in the spreadsheet every hour.<\/p>\n\n\n\n<p>It can be set to minute-based or day-based, depending on your preference.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Save Trigger<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"455\" height=\"201\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/bfa0844ad89ac2480423fbe007060f1b.png\" alt=\"\" class=\"wp-image-16562\" style=\"width:262px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/bfa0844ad89ac2480423fbe007060f1b.png 455w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/bfa0844ad89ac2480423fbe007060f1b-300x133.png 300w\" sizes=\"(max-width: 455px) 100vw, 455px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"u-mb-ctrl u-mb-50\">When settings are complete, click the \u201cSave\u201d button to activate the trigger.<\/p>\n<\/div><\/div>\n<\/div>\n\n\n\n<p>This completes the trigger setup.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-60\">Trigger settings allow for periodic notifications to be sent to Slack when there is an update to the payment status.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<ul class=\"wp-block-list has-border -border02 u-mb-ctrl u-mb-40\">\n<li><strong>Slack Webhook URL is required in advance<\/strong><\/li>\n\n\n\n<li><strong>Slack notification when input status in spreadsheet changes<\/strong><\/li>\n\n\n\n<li><strong>Set triggers to periodically check inside the spreadsheet<\/strong><\/li>\n<\/ul>\n\n\n\n<p>In this article, we showed you how to use Google Apps Script to link a spreadsheet with Slack to automatically notify you of payment status updates.<\/p>\n\n\n\n<p>Automating Slack notifications facilitates information sharing within the team and saves time and effort.<\/p>\n\n\n\n<p>The script can be modified for other notification purposes.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">We hope you will take advantage of it.<\/p>\n\n\n<div class=\"p-postListWrap u-mb-ctrl u-mb-30\"><ul class=\"p-postList -type-card -pc-col3 -sp-col1\"><li class=\"p-postList__item\">\n\t<a href=\"https:\/\/84office.jp\/en\/googlesheets-gas-youtube-data-api\/\" class=\"p-postList__link\">\n\t\t<div class=\"p-postList__thumb c-postThumb\">\n\t<figure class=\"c-postThumb__figure\">\n\t\t<img decoding=\"async\" width=\"1024\" height=\"538\"  src=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/07\/46a990f4f79647e9ab8181ba7df4f5fa-1024x538.jpg\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/07\/46a990f4f79647e9ab8181ba7df4f5fa-1024x538.jpg 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/07\/46a990f4f79647e9ab8181ba7df4f5fa-300x158.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/07\/46a990f4f79647e9ab8181ba7df4f5fa-768x403.jpg 768w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/07\/46a990f4f79647e9ab8181ba7df4f5fa.jpg 1200w\" sizes=\"auto, (min-width: 960px) 400px, 100vw\" loading=\"lazy\" >\t<\/figure>\n\t\t\t<span class=\"c-postThumb__cat icon-folder\" data-cat-id=\"12\">Google Sheets<\/span>\n\t<\/div>\n\t\t\t\t\t<div class=\"p-postList__body\">\n\t\t\t\t<h2 class=\"p-postList__title\">Google Sheets YouTube API: Retrieve and List 500+ Videos with Apps Script<\/h2>\t\t\t\t\t\t\t\t<div class=\"p-postList__meta\">\n\t\t\t\t\t<div class=\"p-postList__times c-postTimes u-thin\">\n\t<time class=\"c-postTimes__posted icon-posted\" datetime=\"2025-07-18\" aria-label=\"\u516c\u958b\u65e5\">2025\u5e747\u670818\u65e5<\/time><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/a>\n<\/li>\n<li class=\"p-postList__item\">\n\t<a href=\"https:\/\/84office.jp\/en\/classification-chatgpt-googlesheets\/\" class=\"p-postList__link\">\n\t\t<div class=\"p-postList__thumb c-postThumb\">\n\t<figure class=\"c-postThumb__figure\">\n\t\t<img decoding=\"async\" width=\"1024\" height=\"538\"  src=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/12d97cd9de79a7e37f9c2c38e4b6ce3d-1024x538.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/12d97cd9de79a7e37f9c2c38e4b6ce3d-1024x538.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/12d97cd9de79a7e37f9c2c38e4b6ce3d-300x158.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/12d97cd9de79a7e37f9c2c38e4b6ce3d-768x403.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/12d97cd9de79a7e37f9c2c38e4b6ce3d.png 1200w\" sizes=\"auto, (min-width: 960px) 400px, 100vw\" loading=\"lazy\" >\t<\/figure>\n\t\t\t<span class=\"c-postThumb__cat icon-folder\" data-cat-id=\"12\">Google Sheets<\/span>\n\t<\/div>\n\t\t\t\t\t<div class=\"p-postList__body\">\n\t\t\t\t<h2 class=\"p-postList__title\">How to Efficiently Organize Business Card Data with ChatGPT API: Leveraging Google Sheets and AI<\/h2>\t\t\t\t\t\t\t\t<div class=\"p-postList__meta\">\n\t\t\t\t\t<div class=\"p-postList__times c-postTimes u-thin\">\n\t<time class=\"c-postTimes__posted icon-posted\" datetime=\"2025-01-24\" aria-label=\"\u516c\u958b\u65e5\">2025\u5e741\u670824\u65e5<\/time><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/a>\n<\/li>\n<li class=\"p-postList__item\">\n\t<a href=\"https:\/\/84office.jp\/en\/cleanup-duplicate-data-removal\/\" class=\"p-postList__link\">\n\t\t<div class=\"p-postList__thumb c-postThumb\">\n\t<figure class=\"c-postThumb__figure\">\n\t\t<img decoding=\"async\" width=\"1024\" height=\"538\"  src=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/5771f735e3f2d309a1082f24328a023d-1024x538.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/5771f735e3f2d309a1082f24328a023d-1024x538.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/5771f735e3f2d309a1082f24328a023d-300x158.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/5771f735e3f2d309a1082f24328a023d-768x403.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/5771f735e3f2d309a1082f24328a023d.png 1200w\" sizes=\"auto, (min-width: 960px) 400px, 100vw\" loading=\"lazy\" >\t<\/figure>\n\t\t\t<span class=\"c-postThumb__cat icon-folder\" data-cat-id=\"12\">Google Sheets<\/span>\n\t<\/div>\n\t\t\t\t\t<div class=\"p-postList__body\">\n\t\t\t\t<h2 class=\"p-postList__title\">How to Easily Remove Duplicate Data in Google Sheets: No Functions Required<\/h2>\t\t\t\t\t\t\t\t<div class=\"p-postList__meta\">\n\t\t\t\t\t<div class=\"p-postList__times c-postTimes u-thin\">\n\t<time class=\"c-postTimes__posted icon-posted\" datetime=\"2025-01-02\" aria-label=\"\u516c\u958b\u65e5\">2025\u5e741\u67082\u65e5<\/time><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/a>\n<\/li>\n<\/ul><\/div>\n\n\n<p class=\"is-style-emboss_box has-swl-pale-02-background-color has-background\">Our company offers support for improving work efficiency through the use of Google Apps Script. <br>If you need assistance with Google Apps Script customization or error resolution, please feel free to contact us. <br>We are fully committed to supporting your business improvements.<br><br><a href=\"https:\/\/84office.jp\/contact\/\">Contact us here<br><\/a><\/p>\n\n\n\n<script src=\"https:\/\/codoc.jp\/js\/cms.js\" data-css=\"rainbow\" data-usercode=\"pQLZofrBiA\" charset=\"UTF-8\" defer><\/script>\n <div id=\"codoc-entry-9lNr9PuMXQ\" class=\"codoc-entries\" data-without-body=\"1\" data-support-button-text=\"Support with a Tip\" data-support-message=\"We will keep offering tools and information to boost work efficiency. Your support helps us provide even better content.\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>If you want to be notified in Slack when you change the input status of a spreadsheet, wouldn&#8217;t it be a  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":16564,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","_locale":"en_US","_original_post":"https:\/\/84office.jp\/?p=15246","footnotes":""},"categories":[12],"tags":[],"class_list":["post-16548","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-12","en-US"],"_links":{"self":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts\/16548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/comments?post=16548"}],"version-history":[{"count":4,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts\/16548\/revisions"}],"predecessor-version":[{"id":16565,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts\/16548\/revisions\/16565"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/media\/16564"}],"wp:attachment":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/media?parent=16548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/categories?post=16548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/tags?post=16548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}