GASでSlack Botを自作!簡単&無料の始め方
/ 初心者向け
GASでSlack Botを自作!簡単&無料の始め方
「もっと便利にSlackを使いたい」「定型的なメッセージを自動化したい」と思ったことはありませんか? そんな願いを叶えるのが、Google Apps Script (GAS) を使ったSlack Botの自作です!
GASは、Google Workspaceの各種サービス(Gmail, Google Sheets, Driveなど)を連携させたり、Webアプリケーションを作成したりできるJavaScriptベースのスクリプト言語です。もちろん、外部サービスとの連携も得意としており、Slack Bot開発も例外ではありません。
この記事では、プログラミング初心者の方でも安心して取り組めるように、GASでSlack Botを作成する手順を、開発環境の準備から基本的な機能の実装まで、ステップバイステップで解説していきます。
1. 開発環境の準備
GASでSlack Botを開発するために、特別なソフトウェアをインストールする必要はありません。すべてブラウザ上で完結します。
- Googleアカウント: GmailなどのGoogleサービスを利用できるアカウントがあればOKです。
- Slackワークスペース: Botを動作させるためのSlackワークスペースが必要です。無料プランでも十分試せます。
2. Slackアプリの作成
まず、Slack側でBotの「器」となるSlackアプリを作成します。
1. Slack APIサイトにアクセス: https://api.slack.com/apps にアクセスし、「Create an App」ボタンをクリックします。
2. 「From scratch」を選択: 「From scratch」を選び、アプリ名と、どのSlackワークスペースにインストールするかを選択します。
3. 「Bot Token Scopes」の設定: 左側のメニューから「OAuth & Permissions」を選択し、「Bot Token Scopes」セクションで、Botが必要とする権限を追加します。最低限、「chat:write」権限(メッセージを投稿する権限)は必要です。
4. Appをインストール: 設定が完了したら、ページ上部にある「Install to Workspace」ボタンをクリックし、Botをワークスペースにインストールします。
5. Bot User OAuth Tokenの取得: インストールが成功すると、「Bot User OAuth Token」が表示されます。このトークンは、GASからSlackにアクセスする際に必要になるので、コピーして安全な場所に保管しておきましょう。
3. GASスクリプトの作成
次に、GASエディタを開いてBotのプログラムを作成します。
1. GASプロジェクトの作成: https://script.google.com/home にアクセスし、「新しいプロジェクト」を作成します。
2. コードの記述: 以下のサンプルコードをGASエディタに貼り付けます。YOUR_SLACK_BOT_TOKEN の部分は、先ほど取得したBot User OAuth Tokenに置き換えてください。
function postToSlack() {
var slackToken = 'YOUR_SLACK_BOT_TOKEN'; // ここにBot User OAuth Tokenを貼り付け
var channel = '#general'; // メッセージを送信したいチャンネル名
var message = 'こんにちは!GASから送信されたメッセージです!';
UrlFetchApp.fetch('https://slack.com/api/chat.postMessage', {
method: 'post',
headers: {
'Authorization': 'Bearer ' + slackToken,
'Content-Type': 'application/json'
},
payload: JSON.stringify({
'channel': channel,
'text': message
})
});
}
4. スクリプトの実行
作成したスクリプトを実行して、Slackにメッセージが投稿されるか確認してみましょう。
1. 関数の選択: GASエディタの上部にある関数選択プルダウンから postToSlack を選択します。
2. 実行ボタンをクリック: 「▶」アイコンの実行ボタンをクリックします。
3. 初回実行時の承認: 初めて実行する際には、GASがGoogleアカウントの権限を求めてきます。「権限を確認」をクリックし、内容を確認して「許可」してください。
5. まとめ
お疲れ様でした!これでGASを使って、Slackにメッセージを投稿する簡単なSlack Botが完成しました。ここからさらに、特定のリクエストに応じて返信したり、Googleカレンダーの予定を通知したりと、様々な機能を追加していくことができます。
GASとSlack APIを組み合わせることで、あなたのチームの業務効率を格段に向上させる可能性を秘めています。ぜひ、色々なアイデアを形にしてみてください!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。