SlackのWebhookを発行する方法|GASアプリの実装例を紹介

※本サイトにはプロモーション・広告が含まれています。

✔以下のような方におすすめの記事です

「SlackでのWebhook発行方法が知りたい」

「Webhookを活用して何ができるのだろうか?」

「Webhookを活用したアプリ開発のコード例が見てみたい」

✔当記事でお伝えする内容はこちら

  • SlackでWebhookを発行する手順
  • curlを使ったテキスト送信例
  • Google Apps Scriptでのコード実例

当記事では、SlackでWebhookを発行するだけでなく、実際にテキストを送信した際のコード例まで公開・解説しています。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

SlackでWebhook URLを発行する手順

SlackでWebhook URLを発行する手順はこちらです。

  • incoming webhookの発行サイトへアクセス
  • 発行したいチャンネルのあるワークスペースを選択
  • 対象のチャンネルにWebhookのインテグレーションを追加
  • Webhook URLを取得

Slackのincoming webhookの発行サイトへアクセス

以下のSlack公式サイトへアクセスし、先へ進みます。

Slack

対象のワークスペースを選択

発行したいチャンネルのあるワークスペースを選択しましょう。

Incoming Webhook インテグレーションの追加

チャンネルを選択し、「Incoming Webhook インテグレーションの追加」をクリックします。

Webhook URLを取得

Webhook URLが表示されるので、コピーしましょう。

CURLでテキストを飛ばしてみる

ターミナルからCURLコマンドでテキストを飛ばしてみましょう。

curl -X POST --data-urlencode "payload={\"channel\": \"#チャンネル名\", \"username\": \"webhookbot\", \"text\": \"ここにテキスト\", \"icon_emoji\": \":ghost:\"}" https://hooks.slack.com/services/xxxxxx/WebhookURLを入れましょう

「チャンネル名」の箇所を今回設定したチャンネル名に設定しよう。

「ここにテキスト」の箇所に、任意のテキストを入れましょう。

実行後、「ok」という文字が返ってくれば問題ありません。

slackを見てみると、以下のとおり。

Google Apps Script(GAS)でテキストを送信する

Google Apps Scriptで、テキストを送信するアプリを作りました。

実際にSlackへテキストを飛ばすコードはこちらです。

const slack_endpoint = ScriptProperties.getProperty('SLACK_WEBHOOK');

function toSlack(msg) {
    const payload = {
        "channel": "#チャンネル名",
        "username": "任意のボット名",
        "text": msg,
        "icon_emoji": ":ghost:"
    }
    const options = {
        "method": "post",
        "payload": JSON.stringify(payload)
    }
    var response = UrlFetchApp.fetch(slack_endpoint, options);
    Logger.log(response); //成功するとokが返ってくる
}

SLACK_WEBHOOKという名前で、スクリプトプロパティにURLを保存しています。

チャンネル名やボット名には、お好きなものを入れてください。

GASを活用することで、時間によるトリガーやほかのGoogleアプリケーションとの連携が可能になるでしょう。

アプリ開発実例

以下のようなアプリの作り方やコードを公開しています。

SlackのWebhookと連携することで、さまざまなことが可能になるでしょう。

  • ChatGPT搭載のLINEボットGASアプリ
  • スプレッドシートと連携するChatGPT・GASアプリ
  • カレンダーの予定をLINEへ通知するGASアプリ
  • NotionのタスクをLINEへ通知するGASアプリ
  • Googleフォームの値を受け取り、メールで送信するGASアプリ

ChatGPT搭載のLINEボットGASアプリ

LINEにメッセージを送るとChatGPTが答えてくれます。

スプレッドシートと連携するChatGPT・GASアプリ

ChatGPTの回答をスプレッドシートへ出力します。

Googleカレンダーの予定をLINEへ通知するGASアプリ

GoogleカレンダーとGAS、LINEを連携したアプリケーションです。

NotionのタスクをLINEへ通知するGASアプリ

Notion APIと連携する方法を詳しく解説しています。

Googleフォームの値を受け取り、メールで送信するGASアプリ

Googleフォームの値を任意のメールアドレスへ送信するアプリケーションです。

ほかにもさまざまなアプリ開発やそのコードをご紹介しています。

ぜひいろいろとご覧ください。

タイトルとURLをコピーしました