GASでSlack Botを爆速作成!初心者でも簡単解説
/ 初心者向け
GASでSlack Botを爆速作成!初心者でも簡単解説
「もっと業務を効率化したい」「チームのコミュニケーションを円滑にしたい」
そんな悩みを抱えるあなたへ。Google Apps Script (GAS) を使えば、プログラミング初心者でも、あっという間にオリジナルのSlack Botを作成できます。
この記事では、GASの基本からSlack APIとの連携、そして実際に動くBotを作るまでのステップを、画像付きで分かりやすく解説していきます。さあ、あなただけの便利なSlack Botを作りましょう!
なぜGASでSlack Botを作るのか?
GASでSlack Botを作るメリットはたくさんあります。
- 学習コストが低い: JavaScriptの知識があれば、すぐに始められます。GASはGoogle Workspaceとの連携が容易なため、普段からGoogleドキュメントやスプレッドシートを使っている方なら、さらに馴染みやすいでしょう。
- 無料: Googleアカウントがあれば無料で利用できます。
- 手軽さ: 複雑なサーバー構築や環境設定は一切不要。ブラウザ上で完結します。
- Google Workspaceとの連携: Googleカレンダーの予定通知や、スプレッドシートのデータ更新をSlackに通知するなど、Googleサービスと連携させたBotも簡単に作成できます。
準備するもの
1. Googleアカウント: Gmailなどで使用しているアカウントがあればOKです。
2. Slackワークスペース: Botを連携させたいSlackワークスペースが必要です。
ステップ1:Slackアプリの作成とトークンの取得
まず、Slack APIにアクセスして、Botの「顔」となるアプリを作成します。
1. Slack APIサイトにアクセス: https://api.slack.com/ にアクセスし、「Create an App」ボタンをクリックします。
2. 「From scratch」を選択: 「Create an App」画面で、「From scratch」を選択します。
3. アプリ名とワークスペースの設定: アプリ名(例:GAS Slack Bot)と、開発対象のSlackワークスペースを選択して「Create App」をクリックします。
4. 「OAuth & Permissions」へ移動: 作成したアプリの管理画面から、左側のメニューにある「OAuth & Permissions」を選択します。
5. Bot Token Scopes の追加: 「Scopes」セクションにある「Bot Token Scopes」で、「Add an OAuth Scope」をクリックし、chat:write を追加します。これで、Botがメッセージを送信できるようになります。(その他、必要に応じて権限を追加します。)
6. トークンのインストールと取得: 画面上部にある「Install to Workspace」ボタンをクリックし、権限を承認すると、「Bot User OAuth Token」が表示されます。このトークンは 絶対に他人に知られないように 厳重に管理してください。後ほどGASで利用します。
ステップ2:GASスクリプトの作成
次に、取得したトークンを使ってSlackにメッセージを送信するGASスクリプトを作成します。
1. GASエディタを開く: Googleドライブで「新規」>「その他」>「Google Apps Script」を選択して、新しいスクリプトプロジェクトを作成します。プロジェクト名を分かりやすいもの(例:Slack Bot Sender)に変更しましょう。
2. コードの記述: 以下のコードを コード.gs ファイルに貼り付けます。
// Slack Bot Token (取得したトークンに置き換えてください)
const SLACK_BOT_TOKEN = "YOUR_SLACK_BOT_TOKEN";
// メッセージを送信するチャンネルID (例: "C012345ABC")
const TARGET_CHANNEL_ID = "YOUR_CHANNEL_ID";
function sendSlackMessage() {
const message = "GASからこんにちは!"; // 送信したいメッセージ
const options = {
"method": "post",
"contentType": "application/json",
"headers": {
"Authorization": "Bearer " + SLACK_BOT_TOKEN
},
"payload": JSON.stringify({
"channel": TARGET_CHANNEL_ID,
"text": message
})
};
const url = "https://slack.com/api/chat.postMessage";
UrlFetchApp.fetch(url, options);
Logger.log("Slackメッセージを送信しました。");
}
3. トークンとチャンネルIDの置換: 上記コードの YOUR_SLACK_BOT_TOKEN を、ステップ1で取得したBot Tokenに、YOUR_CHANNEL_ID をメッセージを送信したいSlackチャンネルのIDに置き換えます。チャンネルIDは、Slackのチャンネルを開いたときにブラウザのアドレスバーに表示されるURLの末尾(例: C012345ABC の部分)などで確認できます。
ステップ3:スクリプトの実行とテスト
作成したスクリプトを実行して、Slackにメッセージが送信されるか確認しましょう。
1. 関数の選択: GASエディタの上部にある関数選択ドロップダウンで sendSlackMessage を選択します。
2. 実行ボタンをクリック: ▶️ の実行ボタンをクリックします。
3. 初回実行時の承認: 初めて実行する場合、スクリプトが外部サービス(Slack API)にアクセスするための承認を求められます。「権限を確認」をクリックし、アカウントを選択して「許可」をクリックしてください。
4. Slackの確認: Slackワークスペースで、指定したチャンネルに「GASからこんにちは!」というメッセージが届いていれば成功です!
ステップ4:トリガーの設定(自動化)
GASの強力な機能である「トリガー」を使えば、特定のタイミングで自動的にSlackメッセージを送信できます。例えば、毎日決まった時間に挨拶メッセージを送ったり、スプレッドシートの更新を検知して通知したりすることが可能です。
1. トリガー設定画面を開く: GASエディタの左側にある時計アイコン(トリガー)をクリックします。
2. トリガーを追加: 右下にある「トリガーを追加」ボタンをクリックします。
3. トリガーの設定:
- 実行する関数を選択:
sendSlackMessageを選択します。 - 実行するデプロイを選択: 「ヘッド」を選択します。
- イベントのソースを選択: 「時間主導型」を選択します。
- 時間の間隔を選択: 「日タイマー」や「特定の日時」など、目的に合わせて選択します。今回は「日タイマー」で「午前9時~10時」を選択してみましょう。
4. 保存: 設定が完了したら「保存」をクリックします。
これで、指定した時間に自動でSlackメッセージが送信されるようになります。
まとめ
GASを使えば、数ステップで簡単にSlack Botを作成し、自動化することができます。今回ご紹介した内容は、あくまで基本的なメッセージ送信ですが、これを応用すれば、
- Googleカレンダーの予定をリマインドするBot
- スプレッドシートのデータをSlackに定期送信するBot
- 特定のキーワードに反応して定型文を返すBot
など、様々な業務効率化に繋がるBotを開発することが可能です。
ぜひ、この機会にGASとSlack Botの世界に飛び込んでみてください!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。