チームメンバーの出勤状況を把握したいLINE Bot⇒（訂正）フリーアドレス制の席決め方法がルール化されていないオフィスで自分なりにできることを考えてみたLINEBot

# 作ろうと思ったきっかけ  

私の会社ではコロナが5類に移行されても**フリーアドレス化されたオフィスには従業員全員が座る席数がなく、テレワークが継続されています。**
しかし、以前よりも**確実に出社人数が増えています**。朝出社すると、「今日はあと誰が出社？」「ここの席、空いてますか？」と聞かれた人が**紙のシフト表を広げて**「〇〇さんが出社なのでそこ座らないで」とフリーアドレスの意味がない、**謎の座席の取り合いが発生**しています。
そこで、チームメンバーの出勤状況を把握し、席数の空き状況がわかるLINE Botがあったら便利だと思い、日付を入力したらその日の出勤状況と座席の空き状況がわかるLINE Botを作成しました。
~~また、久しぶりに出社すると天気を確認せずに家を出て「あ～傘忘れた～」ということが多いので、天気も知れたらいいなと思い、当日の天気予報付きのLINE Botを作成しました。~~
また、オフィスは11階でランチの時間になると外にランチに行く人や外出する人が天気を気にすることが多いので、お昼以降の天気も知れたらいいなと思い、当日お昼以降の降水確率付きのLINE Botを作成しました。




https://twitter.com/maminnie1107/status/1677910376892055556?s=20

# 使用したもの
・Make
・LINE Developers
・Googleスプレッドシート


# 手順
**Makeのシナリオ**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/ea2d80fe-aab5-d10e-47b7-0cf1fc848f81.png)

1.Googleスプレッドシートを作成する
　・エクセルで作成したシフト表をコピーしてGoogleスプレッドシートに張り付ける。

　（1）[sheets.google.com](https://docs.google.com/spreadsheets/u/0/) でスプレッドシートのホーム画面を開きます。
　（2）新規アイコンPlusをクリックすると、新しいスプレッドシートが作成されて開きます。
　（3）作成できたら名前を付けて保存
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/96709184-61ff-b8df-b4a7-228f93d89c59.png)

2.GoogleスプレッドシートをMakeに取り込む
　・Make右下の「＋」ボタンを押して「Search modules」に「Google Sheets」と入力し検索
　　「Google Sheets」の中の「Search Row」というアイコンを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/581eff08-bd96-1ac2-4c69-c35f55f25ef9.png)

　・取り込みたいSpreadsheetを選択して条件を設定する
　　「Search Row」を選択した後、アイコンを左クリックし
　　（1）「Spreadsheet」にGoogleスプレッドシートを作成するで作成したファイルを選択
　　　　　（ここでは「スケジュール表0702」）
　　（2）「Sheet Name」シート１に作成したので「シート１」を選択
　　（3）「Filter」にLINEBotからどのようなメッセージが送られてきたら応答するかを設定　
　　　　　（ここではA列のday（日付）がLINEから送られてきたら、テキストで応答する）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/f865ebd9-e839-cea7-8260-c7c84ca7e722.png)

3.[天気予報API](https://weather.tsukumijima.net/)利用して天気情報を取り込む
　・Make右下の「＋」ボタンを押して「Search modules」に「HTTP」と入力し検索、HTTPのアイコンを左クリックし
　　URLに「https://weather.tsukumijima.net/api/forecast/city/130010」と入力　
　　※最後のID（130010）は東京を指定し、固定で設定
　　　他のエリアIDを設定したい方は[こちら](https://weather.tsukumijima.net/primary_area.xml)でIDを検索してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/c10f513c-49b9-ee77-b6e7-d3880a99383d.png)

4.スケジュールの有無でメッセージを変えられるようにルーターで分岐
　・LINEから送られてきた日付に出勤体制の記載がある場合は応答し、設定されていない日付や他の言葉が送られてきた場合は
　　「今月の日付を〇/〇で入力してね」返答するように設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/ce61b712-ed82-e639-be06-88c0a6731f53.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/22efd148-c752-1236-71c7-a5671dc40f4c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477447/b95ffc27-a5d2-12b5-34c0-c674886fda21.png)


# 完成してみて
~~紙のシフトを印刷する、取り出す手間がなくなっていいなと思いました。メンバーのスケジュールは都度変更が発生することがあるので、スプレッドシートで常に最新版に保てるように運用を見直したいです。~~
目先の課題を利用してLINEBotを作成することに必死になり、抜本的な解決策が打ち出せていないことに気づきました。本件の根本的な課題は「フリーアドレス制を導入している企業で席決め方法がルール化されていないこと」であり、対策としては「座席を予約制にする等し、どこの座席に誰が座るか「見える化」すること」や固定席化している従業員（「誰かがいつも同じ席に座ること」「席に自分の荷物を置いたまま退社すること」）のマナー意識の研修を行い、社員全員の認識を一律にする必要があると考えました。
今回はタイトルの通り、フリーアドレス制の席決め方法がルール化されていないオフィスで自分なりにできることを考えてみたLINEBotとし、フリーアドレス化されたオフィスの一画で自部署のメンバーが座れる席に余裕があるのか、ないのか、または不足しているのかを確認するためのLINEBotを作成しました。