＼絶対に忘れない‼ ／使い勝手の悪かった制作スケジュール確認表をLINE Bot にしてみた(Make)

# Q.プログラミングができなくても、LINE Botを作れちゃうって本当なの？

**A.本当です。それも1週間でできちゃうんです！**

この記事では、プログラミングを専門的に学んだことのない私が作成した
LINE Botを紹介します。

# 完成したLINE Botはこちら

https://twitter.com/ken378732561655/status/1691114649541103617?s=20


# 作成のきっかけ

私はとある小売業で企画系のお仕事をしています。

以前から対お客さまのツールとしてLINE Botを開発してみたいなあとは思っていたのですが、ネットで調べると、プログラミングが必須の知識ということで避けてきていました。

今回、ノンコードでLINE Botができる「Make」というツールがあることを知り、早速作ってみたんです。
そうしたら、プログラミング未経験の私でも・・・<font color="Red">**作れちゃったんです。**</font>

「プログラミングのハードルが高くてLINE Botは作れないよ・・・」
そう思っていた1週間前の私と同じ境遇の方は特に必見ですよ！


## なぜこのようなLINE Botを作成したのか？

【背景】

私が所属しているチームは企画系の業務に携わることが多いため、「制作物の締切り」を常に意識しながら働いています。
**「誰がどの企画を担当し、いつ締切りか」**を把握し、計画的に作業を進めることができるよう、昨年の春に同じチーム内のメンバーが確認できる、スケジュール管理シートをGoogleSpreadSheet上に作成しました。

しかしながら、計画的な作業進捗に向けて作成したスケジュール管理シートは、現在活用しているメンバーは少数派で、作成前によく発生していた「締切り間際の追い込み」が改善されないままとなっていました。

より効率的な働き方をする上で計画性は最も重要な要素であり、この改善に向けて作成したスケジュール管理シートが形骸化している現状に強い危機感を感じたため、よりスケジュールを簡単に確認できるLINE Botの作成に取り組みました。


# 使用したツールはこちら

・[Make](https://eu2.make.com/)
(今回のメインツール)
・[LINE Developers](https://developers.line.biz/ja/)
(公式LINE Botの作成、APIとの連携設定)
・GoogleSpreadSheet　
(スケジュール管理シート)

参考にした記事

[お酒の種類をつぶやくだけで、適量を教えてくれるLINE Botを作ってみた](https://qiita.com/rbmktst/items/aa3b2862ae2811607e52)
[トレーニングLINE Botで憧れの体型に？！初めてのLINE Bot作成🌟](https://qiita.com/Rs_n_ishii/items/6a8748f0bf4676ca80ab)


# シナリオの構築

こちらが今回Makeで作成をしたLINE Botのシナリオです！

LINE(Watch Events)にGoogle Sheets(Search Roes)をつなぎ、Routerで以下の２つの分岐を作成しました。

「担当者あり」・・・連携したGoogleSpreadSheetの「担当者」の項目にある名前をLINEに入力すれば、該当の担当者の「施策名」「期間」「チラシ作成締切り」「LP作成締切り」を返信する。

「担当者なし」・・・連携したGoogleSpreadSheetの「担当者」の項目にある名前**以外**をLINEに入力すれば、「(入力した名前)さんが担当しているキャンペーンは現在ありません。」というテキストを返信する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/7d2e998a-9942-0c25-b4b8-93b07465a529.png)


このLINE Botで該当の担当者が今どの企画を抱えていて、各種制作物の締切がいつなのか一目でわかるというものになっています。
また入力した名前の担当者が、キャンペーンを現在担当していない場合は業務が逼迫している担当者のフォローに回っていただくなど、実際にキャンペーンを運用している本人以外に、上長も活用できるものを開発しました。

# 各モジュールについて
ここからは各モジュール内の設定についてです。

## 1.LINE(Watch Events)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/df18fa2f-ecd0-842f-f709-2a97918930c4.png)

LINE Official Account Managerとの連携が必須となります。

## 2.Google Sheets モジュール(Search Roes)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/a22c7068-f44d-030b-9a76-f593602b288a.png)

データ量にもよりますが、Column rangeはできるだけ狭めたほうがデータをうめく読み込めるみたいです。(ここで躓きました・・・)
またFilterの項目では担当者を選択しました。

またこのGoogle Sheets モジュールでは、連携したGoogleSpreadSheetに記載されているデータをLINEへ返しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/6eb95c02-f788-1ce7-0634-62fba2dc6eea.png)

## 3.Router

担当者の名前がGoogleSpreadSheet内にあるか、ないかで分岐を作成しました。
【担当者名がある場合】
!![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/426a88c5-41d7-bd22-6faa-1796fb63dc03.png)
【担当者名がない場合】
!![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/912da254-81dd-12bc-d761-19d21fee4839.png)

## 4.Send a Reply Message

担当者の名前がGoogleSpreadSheet内にあれば、該当の担当者の「施策名」「期間」「チラシ作成締切り」「LP作成締切り」を返信、無ければオウム返しを応用したリプライの文章を返信する設定にしました。
※LINE(Watch Events)で設定したWebhookに対応したConnectionを設定することを忘れずに！

【担当者名がある場合】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/c45d732c-64cd-9da6-4cd7-d5e440d1f224.png)

【担当者名がない場合】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517979/197b5a79-84cf-cfd2-28f8-3a87a328b28b.png)





# あとがき
1週間前はMakeというツールの存在を知らなかった私ですが、「業務の効率化」という観点から１つのLINE Botを完成させることができました。

今回は過去にMakeを使って作成してきた方のQiitaの投稿記事を応用して作成していきました。
途中GoogleSpreadSheet連携のエラーで躓き、悩んだ時にも、他の方の記事をみて解決に向けて進めていくことができました。

**「人から学ぶだけではなく、自分で情報を探して学び、自分の力にしていくこと。」**

これはまさにこれまでの私に足りなかった要素であり、今後の制作においても「自分から積極的に情報を探し学んでいくこと」は必ず継続していきます。

# 追記
また早速、会社の同僚にもLINE Botの挙動を見てもらいました。

感想は・・・
<font color="Red">「すごく良いツール！いつでも簡単にスケジュール確認ができそう！」</font>
という良い点を挙げていただいた一方、
<font color="Blue">「返信される文章の段落や、1人の担当者が２つ以上の担当のキャンペーンをもっている場合も1つのキャンペーンのスケジュールしか返信されないのは不便。」</font>
という課題も発見することができました。

この課題に対して、モジュール内の設定やGoogleSpreadSheetへのデータの記入方法などから解決できないか、現在試行錯誤しています。
このような課題1つ1つ乗り越えることで、自分の成長に繋がっていくはずなので、今後も諦めずに取り組んでいきます。