GASでSlack Webhookを使って通知を送る方法

先生

GASとSlack連携で業務効率UP!Webhookを使って簡単通知設定🚀

GASでSlack Webhook通知を送信:初心者向け完全ガイド

SlackのWebhook機能を利用すると、Google Apps Script (GAS) から簡単にメッセージを送信できます。この記事では、GAS初心者でもWebhookを使ってSlackに通知を送る方法をステップバイステップで解説します。設定からスクリプトの作成、デプロイまで、画像付きで丁寧に説明するので、ぜひ参考にしてください。

Slack Webhookの設定方法

まず、SlackでWebhookを設定する必要があります。以下の手順に従ってください。

1. Slackワークスペースにログインし、通知を送信したいチャンネルを選択します。

2. チャンネル名をクリックし、「インテグレーション」タブを選択します。

3. 「アプリを追加する」をクリックし、「Incoming Webhooks」を検索して追加します。

4. Webhook URLが生成されるので、コピーして控えておきます。このURLは後ほどGASで使用します。

5. 必要に応じて、Webhookの設定(名前、アイコンなど)を変更します。

GASでSlack通知を送信するスクリプト

次に、GASでSlackにメッセージを送信するスクリプトを作成します。以下のコードをコピーして、Google Apps Scriptエディタに貼り付けてください。

// スクリプトプロパティにWebhook URLを保存 (初回のみ実行)
function setWebhookUrl() {
  const webhookUrl = 'YOUR_WEBHOOK_URL'; // ここにWebhook URLを貼り付け
  PropertiesService.getScriptProperties().setProperty('SLACK_WEBHOOK_URL', webhookUrl);
}

// Slackにメッセージを送信する関数
function sendSlackMessage(message) {
  const webhookUrl = PropertiesService.getScriptProperties().getProperty('SLACK_WEBHOOK_URL');
  if (!webhookUrl) {
    Logger.log('Webhook URLが設定されていません。setWebhookUrl()を実行してください。');
    return;
  }

  const payload = {
    'text': message
  };

  const options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(payload)
  };

  UrlFetchApp.fetch(webhookUrl, options);
}

// テスト実行
function testSendSlackMessage() {
  sendSlackMessage('GASからテストメッセージを送信しました!');
}

上記のコードでは、YOUR_WEBHOOK_URLの部分を、先ほどコピーしたWebhook URLに置き換えてください。

最初にsetWebhookUrl()関数を実行し、スクリプトプロパティにWebhook URLを保存します。 以降は、sendSlackMessage()関数に送信したいメッセージを渡すだけで、Slackに通知が送信されます。 testSendSlackMessage()関数を実行すると、テストメッセージが送信されます。

スクリプトの実行とデプロイ

スクリプトを保存し、GASエディタの「実行」ボタンをクリックして、testSendSlackMessage関数を実行します。Slackにメッセージが送信されたことを確認してください。

次に、スクリプトをデプロイします。GASエディタの「デプロイ」→「新しいデプロイ」を選択します。

デプロイの設定で、「次のユーザーとして実行」を「自分」に設定し、「アクセスできるユーザー」を「自分のみ」または「全員」に設定します。

「デプロイ」ボタンをクリックして、デプロイを完了します。

これで、GASからSlackに通知を送信する準備が整いました。トリガーを設定して、特定の条件で自動的に通知を送信することも可能です。

参考リンク

まとめ

この記事では、GASを使ってSlackにWebhook通知を送信する方法を解説しました。Webhookの設定、スクリプトの作成、デプロイの手順を理解することで、GASからSlackに簡単にメッセージを送信できるようになります。

Slack通知をGASと連携させることで、スプレッドシートの更新、フォームの送信、カレンダーの予定など、様々なイベントをSlackでリアルタイムに通知できます。ぜひ、あなたの業務に活用してみてください。