2022/04/10に更新

【GAS - Slack連携】Incoming Webhookの設定をする

SlackAPI

GASからSlackに投稿する時に使用する「Incoming Webhook」の設定方法について解説します。コピペで使える投稿用のサンプルコードもあります。

こんな悩みを解決します


  • Google Apps ScriptとSlackを連携したい。
  • SlackのIncoming Webhook URLを発行したい。

用意するもの


本エントリはSlackのWebhook URLを発行する手順および投稿するためのサンプルコードを紹介しています。
Google Apps ScriptおよびSlackを利用していることが前提になっています。
なお、有償版Slackをお使いの場合は「ワークフロービルダー」からIncoming Webhookを設定することも可能です。

使い方


1.アプリの管理画面を開く

Slackアプリから「ワークスペース名」 -> 「設定と管理」 -> 「アプリを管理する」を押します。

2.アプリの検索

Slack app directoryが開いたら、上部の検索窓に「Incoming webhook」を入力します。
ヒットした「Incoming Webhook」をクリックします。

3.アプリの追加

Incoming webhookの画面が開いたら「Slackに追加」をクリックします。

4.投稿先チャンネルの選択

Incoming Webhook経由で投稿されたメッセージを、どのチャンネルに投稿するのか選択します。
既存のチャンネルでも新しく作っても構いません。
選択したら「Incoming Webhook インテグレーションの追加」をクリックします。

5.Webhook URLの取得

次に表示される画面で、Webhook URLが払い出されているはずです。
このURLに対してGASからメッセージを投稿すると、指定したチャンネルにメッセージが表示されます。

6.サンプルコードの実行

本ページ下部にあるサンプルコードを実行してみます。
GASのエディタにコピペして、払い出されたWebhook URLの部分を書き換えてください。

関数「test」を実行してメッセージが到着すれば成功です!

スクリプト


/**
 * このスクリプトの説明、使い方はこちら。
 * https://myfunc.jp/items/00066/index.html
 */

function test(){
  post_slack('ここにメッセージを入れます');
}

function post_slack(text) {

  // ######### 事前設定ここから ########

  // SlackのWebhook URLを入力してください
  const slack_webhook_url = 'https://hooks.slack.com/services/*****************';

  // ######### 事前設定ここまで ########


  // SlackのWebhook URLに投稿するデータをまとめる
  const json =
  {
    'username': 'GASから送信したよ',
    'icon_emoji': ':smiley:',
    'text': text
  };

  // SlackのWebhook URLに送信するデータをJSONに変換する
  const payload = JSON.stringify(json);

  // UrlFetchAppで使用するメソッドやコンテントタイプを指定
  const options =
  {
    'method': 'post',
    'contentType': 'application/json',
    'payload': payload
  };

  // Slackに送信
  UrlFetchApp.fetch(slack_webhook_url, options);

}

関連するアプリ


【GASで便利に】本日の予定をまとめてSlackに通知する

Googleカレンダーの今日の予定をSlackに通知してくれるGoogle Apps Scriptです。1日分の予定は朝にまとめて知りたいですよね。SlackのIncoming Webhookを使用しています。

【GASで時短】シートの不要な行を削除する

スプレッドシートの不要な行を削除するGoogle Apps Scriptです。行がいつの間にか数万行に増えてしまっている・・・よくありますよね。

【GASで監視】GASのエラー通知をSlackに転送する

トリガーで実行されたスクリプトが失敗したときに送信されるエラー通知メールを、Slackに転送するGoogle Apps Scriptです。メールはトリガーの設定者にしか飛ばないため、他のメンバーに共有したいときにどうぞ。

【GASで自動化】現在の為替レートをSlackに通知する

GOOGLEFINANCE関数を利用して、現在の為替レートをSlackに通知してくれるGoogle Apps Scriptです。張り付くほどじゃないけどレートが気になるときにどうぞ。

【GASで保全】Slackのデータをリアルタイムでスプレッドシートにバックアップする

Slackに投稿したメッセージをほぼリアルタイムにGoogle スプレッドシートにバックアップするGoogle Apps Scriptです。無償版Slackはデータの保存期間が90日に短縮されるので作ってみました。

【GASで便利に】特定のメールが来たらSlackに通知する

Gmailに届いたメールから特定の件名のものをSlackに通知するGoogle Apps Scriptです。Slackが浸透するほどメールをあまり見なくなり、大事なメールを見逃すことが増えてきたので作りました。

タグ一覧

最新のアプリ

人気のアプリ

ページトップに戻る
myfunc.jp