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

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

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

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

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

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

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

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

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

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

運営者プロフィール

運営者プロフィールアイコン

現在はIT企業のプロダクトマネージャーとして、個人向け/社内向けシステムなど、複数のシステム開発・運営に携わっています。

Webサイト構築やECサイトの開発経験に加えて、PythonなどのプログラミングやSalesforceなどのクラウドアプリケーションに関する幅広い知識・経験を活かして「プログラミング初心者がスムーズに学べるサイト」を目指しています。

Githubでは、趣味で作成したアプリなどを公開しています。

https://github.com/Yulikepython/

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

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

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

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

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

SlackでWebhook URLを発行する手順

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

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

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

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

Find your workspace | Slack
Find and sign in to your Slack workspace.

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

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

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