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公式サイトへアクセスし、先へ進みます。

Login
Log in to Slack, or try for free with your teammates. All it takes is an email address to get started.

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

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

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をコピーしました