【GAS】その場しのぎ的にメール配信へ切り替えた:その1(全体像)

以前、作ったMS Teamへ予定を流してくれるBot(=毎週月曜日に次の1週間・30日分の予定を通知)。かなり融通の利かない代物で、早急な改良が必要だったのだけど、優先度の高い業務が複数あったため、ずっと先延ばしにしていた。 とはいえ、先延ばしにしすぎるのも問題なので、その場しのぎにこんな解決策を試していた。

  • 毎朝、今日の予定をメールで送信。
  • 毎夕、明日の予定をメールで送信。

私は何でもメールな今の会社の仕事の方法が苦手で、「どうにかしてメール依存度を少しでも低くしたい」という非常に個人的で後ろ向きな動機が、MS Teams Bot作成の裏にあったのだが、私の知識不足で、結局、達成できず。それどころか、更にメール依存度を高めるかもしれない対応策を提案するはめに。 Botの改良は、夏の仕事量のやや少ない時期まで、再度先延ばしするしかない。 最終的には、外出予定の登録くらいは、MS TeamでBotに話しかけたらできるようにしたいんけど、いつになったらできることやら。ちなみに目指すところは、以下のような感じ。 LINEのチャットbotでスケジュール管理ができる「bot for cal」 LINEで簡単Salesforce KITEN ただ、私の携帯操作能力の低さが問題なのだろうとは思うものの、それでも、予定を登録するのに、会話の往復多くないだろうか?面倒くさい。 閑話休題、今回改良(?)した予定通知メールについて、その全体像をまずは説明したい。(次回、実際のコードと苦労した部分を載せたい。)

意外に役に立っていたらしいことが判明

先延ばしにしてきたBotの改良に手をつけようと重い腰をあげたのは、他の業務が一段落したからではない。とりあえず文句も出てないわけだから、放置しておいてもいいか、という考えで、優先度を下げまくっていた。 そんな私を動かしたのは、定例打ち合わせで、他のチームから出た、「今の方法になって助かっている。だから、スタッフの外出予定だけじゃなくて、こういった打ち合わせ(会議室)の予定とかも通知してほしい。」というコメント。

通知している内容

  • 上司の予定
  • スタッフの外出・休暇予定
  • 本社・地域本社のイベント
  • 事務所のイベント
  • 〆切日(提出物など)
  • オフィスの休業日

打ち合わせの現在の運用は、Outlookの予定表で会議室の予約がされ、参加者には依頼が送信される。ただ、会議依頼のリマインダーだけでは足りない、ということらしい。何となく言わんとすることは分かる。 不満ではなかったわけだけど、この打ち合わせで、思っていた以上にみんなが朝夕の通知メールを見ているらしいことを知った。このあたりで利用者の希望を聞いておかねば、またアナログなやり方に戻したい、と言いかねない。このタイミング、きっと重要。

改良すべきポイントはどこか(予定登録は除く)

すぐに、打ち合わせの予定も予定表に組み込んだ。これは簡単。でも、これだけでいいのだろうか、と思ってしまう。 すでにわかっているものの、私の知識不足で先延ばしにしているのが予定登録の部分。これは、私のレベルでは、ちょっと考えればできるという範疇から大きく外れたところにある。なので、今回も先送り。 ただ、予定登録をすることはできないけど、「リクエストに応じて、最新の予定を渡す」ことができれば、使い勝手が向上するのではないか。 現状、今日・明日の予定は最新のものが朝夕に手に入る一方、週間・月間予定は、毎週月曜日にしか見ることができない。月曜の通知後、予定が大幅に変更となっても、前日のメールで知るだけだ。 そこで、今回、「リクエストに応じて最新情報を渡す」という機能をつけることにした。

スマホでも操作が簡単なしくみを考える

理想は「最新の予定教えて」と言えば教えてくれるものだけど、AIスピーカーとかを使う気はない。 そこで考えたのが以下のようなしくみ。

当初案(→ボツ)

  1. (依頼者)Teamsのチャンネルに空メールを送信
  2. (自動)Flowを使ってFormへのリンクの付いたメールを返信
  3. (依頼者)Formに必要事項を入力して提出
  4. (自動)Formの回答内容に応じて適切なスケジュールを送信

Teams Channel EmailだとFlowを考えるのが面倒

最初の最初は、配信リストを作成して、そこにTeamsのメールアドレスを登録ようと考えていたのだけど不可。次に、Teamsのメールアドレスをそのまま使うことを検討。だけど、Flowの設定がややこしくなることに気がついて断念。 自分のメールアドレスとFlowを組み合わせる方法もあるが、それをする場合には、空メールではなく件名を入れてもらう必要がある。→面倒くさい(気がする、私だったら)。 このような理由から、そもそもの空メール案を廃止。毎朝・毎夕メールを送信しているのだから、そこにFormのURLを貼っておくだけで十分でしょう、と自分に言い聞かせて、断念した。プラスTeamsにもリンク情報を記載してダメ押し。

最終案

  1. (依頼者)メールに記載されているURLからFormへアクセス。
  2. (依頼者)Formに必要事項を入力して提出
  3. (自動)Formの回答内容に応じて適切なスケジュールを送信

Formの回答をシンプルに:クリックだけで完了

Formの回答は、全部がクリックで済むようにした。自分がスマホからの入力が苦手なこともあって、ここは一番気をつけたポイント。しかし、この入力者の作業量を減らすことに重点をおいた結果、その後、やや苦労することとなった。

メールアドレスの入力 → 名前を選択

依頼者にメールが送信されるようにするには、メールアドレスを入力してもらう必要があるが、コレ面倒。いくら辞書登録してても、ないに越したことはない。そこで、自分の名前をドロップダウンから選択してもらうことにした。

選択肢が10以上になると使いにくい → 質問を増やす

10人位まではドロップダウンでなんとかなりそうだったのだけど、それ以上となると、やや「めんど・・・」という言葉が出てきそうになる(私が)。 そこで、名前を選択する前に、チームを選択してもらうことにした。画面遷移のあるFormになってしまい、やや私の考えるシンプルさからは外れてしまったが、致し方ない。 最初の考えでは、(1)情報の種類(明日・今後7日間・今後30日間)と(2)依頼者の名前の2つの質問でおしまい、とする計画だったのだが、(1)情報の種類、(2)所属チーム、(3)依頼者の名前の3つになってしまった。

初心者は使いやすさよりも作りやすさ

すでにあるコードの修正だけだったけど、自分のできることと、やりたいことの差を考えないまま進めた結果、作業に1日もかかってしまった。 一応とはいえ、仕事で使うものだったので、どんなにコードが汚くても最後まで続けたけど、これがプライベートだったら、1時間くらいで止めていたと思う。 自分に合ったレベルのものをきちんと作れるようになってからじゃないと、使いやすさとか下手に考えちゃダメだと思った。作る前に諦めちゃう。次回はそのあたりに気をつけて進めたい。

Advertisements