【非エンジニアでもできる】お役立ち情報をつぶやくSlackbotを作ったら、総務問い合わせが減って幸せになった話


# はじめに
企業の総務担当者さんであれば、オフィスのファシリティに関することの問い合わせを毎日のように受けていると思います。
その問い合わせ内容、この間告知したのにな〜〜と思いながら対応するのは、メンタルにもよくありません！笑
このようなことはbotにつぶやかせてしまいましょう。
私はこのbotを作ることによって問い合わせの数が減り、やるべき仕事に集中するようになって、とても幸せになりました♡


今回は非エンジニアの方でもbotが作れるように、必要以上な丁寧さでbotの作成方法を説明していきます！


## 前提
- すでに[Slack](https://slack.com/intl/ja-jp/)を使用している
- Slackの[管理者権限](https://slack.com/intl/ja-jp/help/articles/218124397-%E3%83%A1%E3%83%B3%E3%83%90%E3%83%BC%E7%A8%AE%E5%88%A5%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B)（ワークスペースのオーナー）を持っている
- Googleスプレッドシートの使い方の基本がわかっている

 
# もくじ
1. Slackbotを作成する
2. botにつぶやかせる内容を考える
3. コードをスクリプトエディタにコピペする
4. テストする
5. トリガー設定する
6. 設定を指定のチャンネルに戻す
7. おまけ

# 1. Slackbotを作成する
まず、SlackのWebhook URLを取得。 
 
下記にアクセス
https://slack.com/services/new/incoming-webhook

下記画像のように、まず「自分のDM」に投稿されるように設定する（後ほどテストをするため）。
![qiita_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/f720f630-d951-1f3a-d6c2-03e148acc1f2.png)

### 下記内容を追加する
①URLをコピー
②説明ラベルは空のまま
③適当に名前をつける
④botの画像をアップロードする
![qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/a36806b1-8d7e-d49b-82a2-9204721b0977.png)




botのアイコンは、iPadでお絵かきするのが楽しくておすすめ！！
参考：[いらすとや](https://www.irasutoya.com/)
使用したアプリ：[Procreate](https://apps.apple.com/jp/app/procreate/id425073498)
![お役立ちbot.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/d0aeb0fd-387a-e7b0-55a0-cd61d92de9fa.gif)

# 2. botにつぶやかせる内容を考える
[新規スプレッドシート](sheet.new)を作成する。
シンプルにA列の2行〜から書き込めばOK。

![qiita_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/bc9a113b-dcf2-14a9-6af3-034be3655f11.png)



# 3. コードをスクリプトエディタにコピペする
スプレッドシートの「ツール」→「スクリプトエディタ」を開く
![スクリーンショット 2020-12-15 17.57.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/899e14c0-871b-a096-23df-f163b47cec32.png)


### 下記コードをコピペする
```

function oyakudachibot() {
//取得したwebhookを入力
  var webhook = "●●●●●●●●●●●●●●";
//シートのURLを入力
  var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/●●●●●●●●●●●●●');
//シート名を入力
  var sheet = spreadsheet.getSheetByName('●●●●●●●●●●●●●');



/*
シートの最終行番の読み込みと乱数で行を取得する。
*/
  var maxRow = sheet.getDataRange().getLastRow();
  var numRow = Math.floor(2+Math.random()*(maxRow-1)); 
  
  var bot = sheet.getRange(numRow, 1).getValue();
  
  var jsonData =
      {
        "text": bot,
      };
  var payload = JSON.stringify(jsonData);
  var options =
      {
        "method" : "post",
        "contentType" : "application/json",
        "payload" : payload
      };
  UrlFetchApp.fetch(webhook, options);
}
```
めちゃくちゃ参考にした記事：https://dev-error.hatenablog.com/entry/2019/07/17/104521

**//取得したwebhookを入力**
の部分の●●●には、2.の①でコピーしたURLをペースト。

**//シートのURLを入力**
の●●●部分には下記赤線部分のURLをコピペ
![スクリーンショット 2020-12-15 17.52.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/cfcccb26-490e-2d75-3963-9943af4ca6fc.png)

**//シート名を入力**
の●●●部分には作成したシートの名前を追加
※デフォルトだと「シート1」

## 4. テストする
上記内容を保存し、再生ボタンを押下
![スクリーンショット 2020-12-15 18.02.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/63d956f7-d4f6-250c-978e-b9f7311bf69a.png)
再生ボタン押下後、様々な設定の画面が出てくるがいい感じに切り抜ける。

下記のように自分のDMでbotがスプレッドシートに書いてある内容をつぶやいてくれたら成功！
![スクリーンショット 2020-12-15 18.05.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/15476e2a-0ea1-1b99-d168-38d8300b9a64.png)


## 5. トリガー設定する
指定した曜日・時間にbotが内容をつぶやくように設定する。

スクリプトエディタのタイマーのボタンをクリック。
![スクリーンショット 2020-12-15 18.13.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/5a84e0a9-baf1-306d-cbae-674cd267ac8a.png)

「トリガーを追加」を選択し、下記を参考に設定する。
例）毎週月曜日の午前4〜５時の間でつぶやかれる設定
![スクリーンショット 2020-12-15 18.16.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/4ec1490a-6fee-57e4-60cd-e06ca50a153b.png)



## 6. 設定を指定のチャンネルに戻す
現状、自分のDMにしかつぶやかれない設定になっているので、オープンチャンネルでつぶやかれるように設定し直す。
もう一度Webhookの設定に戻り
https://voicy.slack.com/apps/A0F7XDUAZ--incoming-webhook-?next_id=0

チャンネルの投稿先を、このbotの内容を確認して欲しい人が含まれるチャンネルに設定し直す。
![スクリーンショット 2020-12-15 18.08.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/ee84677c-6c5e-e053-04e4-ec663a862d81.png)

保存を押せば、botの作成は完了！お疲れ様でした！



## 7. おまけ
#### 定期的にメンテナンスしよう
botがつぶやく内容がいつも同じだなーと感じるようになってきたり、botがつぶやく内容について問い合わせが減ってきたなーと感じてきたら、それはメンテナンスのタイミング！！スプレッドシートの内容を新しいものを追加したり、つぶやく頻度を減らしてみたり、その都度メンテナンスをしてみてください。

弊社は1.5ヶ月が経過したところで、つぶやく頻度を毎日→週に2回に変更しました。
つぶやく内容は、随時更新しています。

#### 社内に告知しよう
botの内容が、うるさいと感じる人もいるかもしれません。
そんな時には、[「チャンネルミュート」](https://slack.com/intl/ja-jp/help/articles/204411433-%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB%E3%81%A8%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E3%83%9F%E3%83%A5%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B)を促しましょう。
![スクリーンショット 2020-12-15 18.24.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/e34f18aa-2613-faa5-7b73-bc51fd4384f6.png)


#### 引用記事

https://qiita.com/vmmhypervisor/items/18c99624a84df8b31008![qiita_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/887239/4f54def2-8559-58ae-2675-217d97de3bd0.png)

https://dev-error.hatenablog.com/entry/2019/07/17/104521


# 最後に

今回初めてQiitaにて私が実践してめちゃくちゃよかった「お役立ち情報botくん」の作り方を紹介してみました。いかがでしたでしょうか？
同じようなお悩みを抱えているバックオフィスの方のためになれば幸いです！

株式会社Voicyで働いてみたいあなたはこちら！
https://hrmos.co/pages/voicy/jobs

よろしければTwitterのフォローもよろしくお願い致します！踊っています。
https://twitter.com/minorii_jp