技術ブログ

GASでSlack Botを自作!簡単&無料の始め方

/ 初心者向け

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通知、スプレッドシート連携などを業務に合わせて実装できます。

請求書自動生成ツールを見る / SNS自動投稿ツールを見る