SlackとGoogleAppsScriptを組み合わせて社内業務報告を効率化する~Slack/GAS接続編~

初めまして、新卒のYです。
近年、チームのコミュニケーションツールとしてSlackを良く見かけますよね?
使ってると徐々に、「Slackは、コミュニケーションを取るだけのツール」だけではないという事に気づく人も多いと思います。 たとえば…
  • BOTを導入して毎朝天気を教えてくれる。
  • Slackから送信したスケジュールを自動的にGoogleカレンダーに追加。
  • 本日のゴミ出し当番をSlackがランダムに選出してくれる。etc..
少し調べただけでも上記のようなことを導入することができ、工夫次第では色々なことを効率化できるようになります。
つまり、Slackは何でも屋の素質があるのです。
記念すべき第1回目は、SlackとGoogleAppsScript(以下、GAS)の接続編です。

早速準備に取り掛かりましょう。

目次

  1. 目的
  2. 準備するもの
  3. 接続方法
  4. 次回

1.目的

さて、この連載では「何でも屋のSlackをより活用して社内の業務報告を効率化する」ことが目的です。

業務報告を忘れてしまったり、送信フォームが入力しづらかったりしている現在の状況を、slackと GASと連携させてることで作業効率化を図ります。
(GASを使用する理由としては、連携するslack、Gメール、Googleカレンダー、Googleフォームなど誰でも無料で簡単に始める事が出来るから)

2.準備するもの

・Slack (無料)
・Googleアカウント (無料)
以上!!

3.接続方法

SlackとGas(Google Apps Script)の連携イメージ図
上の図は簡単な全体の流れになります。
今回は赤枠で囲んだSlackとGASのやり取りを行う接続を解説します。

1. はじめに、GASの作成ですが、Googleドライブの「+新規」からGoogle Apps Scriptを選択します。
※一覧にないときは「アプリを追加」で探してください。
Gas(Google Apps Script)の新規作成
まず、こちらのサンプルソースを使ってSlackの接続から行っていきます。
今回は、「’/test’」と入力したら、「”test成功”」と返すところまでやってみましょう。
function doPost(e) {
  if (e.parameter.command == '/test'){
    return ContentService.createTextOutput(JSON.stringify({"text": "test成功。"})).setMimeType(ContentService.MimeType.JSON);
  }
}
GASは、Googleが提供している JavaScript ベースのスクリプト言語です、JavaScriptに似てるから扱いやすいですよね~。 2. 先程のソースをウェブアプリケーションとして保存と公開をします。
公開から「ウェブアプリケーションとして導入」を選択。
Gas(Google Apps Script)をウェブアプリケーションとして導入
アプリケーションにアクセスできるユーザーを「全員」にしておきます。
Gas(Google Apps Script)をウェブアプリケーションとして導入
プロジェクトバージョンに記載をする事で、間違えたときに戻すことも可能
「導入」をクリックすることで、URLを発行してくれました。
このURLは後に必要になってくるので、コピーしておきましょう。
ウェブアプリケーションURL
3. 次に、Slack側でプロジェクトをスラッシュコマンドとして認識させます。
Slackのワークスペース名から「Slackをカスタマイズ」を選択。 左側のアカウント欄に 「API」の項目があるので選択します。
Slackの設定
APIの総合ページに遷移するので、
画面中央の「Start Building」をクリックします。
Slackの設定
ここではAPP(アプリ)の概要を入力します。
「App Name」
→追加するアプリの名前を入力。
「Development slack Workspace」
→追加するAPPをどのワークスペースに追加するか指定。
最後に「Create App」をクリックします。
SlackApp作成
今回はスラッシュコマンドで認識させるので「Slash Commands」を選択します。
表示された画面で「Create New Command」をクリック。
Slack_スラッシュコマンド登録
登録するコマンドに対する中身の記載をしていきます。
Slack_スラッシュコマンド登録
「Save」を押して、successが出ればスラシュコマンドを作成できました。 4. 最後に、「Install App」を選択し、ワークスペースに作ったAppをインストールします!
SlackとGasの紐づけ
このような画面が表示されるので「Install App to Workspace」をクリック。
SlackとGasの紐づけ
遷移先で連携するチャンネルを選択しましょう。
選択後は下のようにアクセストークンが発行されるはずです。
※アクセストークンについては次回以降でお話します。
SlackとGasの紐づけ
アクセストークン
では、実際に打ち込んで見ましょう!
Slackコマンドを用いたGasとの連携
ちゃんと追加したコマンドが認識されてますね。

送信してみましょう。

Slackコマンドを用いたGasとの連携、成功

ちゃんとソースの返り値の”テスト成功”が返ってきました。
そして、無事にGASとSlackの接続をすることができました。
長かった接続編ですが、これにて終了です。

4.次回

次回はソース編。
今回は接続させる為、doPostだけでした。
実際の業務報告の処理の中身を説明していきます。乞うご期待!

投稿者: エムシバ君

エムフィールドのイメージキャラクター えむしば君です。 気になったり、興味が湧いた記事があったら、なんでもコメントしてみてね。 コーポレートサイトの問い合わせ欄からでも大丈夫だよ。