見出し画像

Slackからメンバーのカレンダーとタスクを登録し、タスク完了報告まで通知できるアプリ|Slack API

チームで仕事を進めていると、メンバーへのタスク依頼が日々発生しますが、エクセルやスプレッドシートでタスク管理するのは大変な作業です。

  • 依頼するたびにシートを開いて手動で記録する

  • 担当者にSlackで連絡し、本人のカレンダーにも作業時間を確保してもらう

  • 進捗を見るために、シートとカレンダーを行ったり来たりする

  • あのタスク、完了した?を本人に確認しなければならない


Googleタスク連携だけでは解決しない

Google チャットのスペースや Google ドキュメントには、他のメンバーにタスクを割り当てる機能が備わっていますが、既存の機能で解決できないか検証しました。

Googleチャット / スペース内のタスク割り当て

  • ⭕️ 他者へのタスク割り当て

  • ⭕️ 日時指定

  • ❌ 依頼者への完了通知

  • ❌ 複数人へのタスク同時割り当て

  • ❌ カレンダーの開始時間と終了時間

Googleドキュメントのタスク割り当て

  • ⭕️ 他者へのタスク割り当て

  • ⭕️ 日時指定→タスクは日のみ

  • ❌ 依頼者への完了通知

  • ❌ 複数人へのタスク同時割り当て

  • ❌ カレンダーの開始時間と終了時間

「いつ・誰に・何を」は依頼できても、実際のどの時間帯で作業してもらうかまで確保することは出来ません。この痒いところに手が届かない問題が、Slackアプリ開発に至ったきっかけです。

Slack上でコマンドを打つだけで、担当者のGoogleカレンダーへ作業枠が確保し、Googleタスクに依頼内容が登録され、依頼リストがスプレッドシートに記録され、担当者がタスク完了したら自動でスプレッドシートが更新されて、依頼者に通知される一連のワークフローを構築しました。

  • ⭕️ 他者へのタスク割り当て

  • ⭕️ 日時指定→タスクは日のみ

  • ⭕️ 依頼者への完了通知

  • ⭕️ 複数人へのタスク同時割り当て

  • ⭕️ カレンダーの開始時間と終了時間


1. Slackで /task と入力する

チャンネルでもDMでも構いません。
コマンドを送信すると、その場に入力フォームが開きます。

2. フォームに必要事項を入れる

  • タスクのタイトル

  • 詳細メモ

  • 開始日時

  • 終了日時

  • 担当メンバー(複数選択可)

3. 作成ボタンを押す

これだけで、以下がすべて自動で完了し、Slackが通知が返ってきます。

  • メンバー全員のGoogleカレンダーが登録される

  • メンバー全員のGoogleタスクが作成される

  • スプレッドシートに依頼内容が記録される


タスクが完了したかを判定する

依頼を記録するだけでなく、その後の進捗も自動で把握できます。担当メンバーがGoogleタスクで完了操作すると、タイマーで動いているGASのバッチ処理が検知し、スプレッドシートのステータス列を更新します。

完了になった行は自動でグレーに変色し、完了日時も記録され、依頼者のSlackに完了報告のDMが自動で届きます。


仕組みの概要

Slackの「スラッシュコマンド」を起点に、入力された依頼内容をGoogle各種APIへ渡しています。

Slack /task コマンド
  ↓
モーダルで入力
  ↓
Google Calendar API → 各メンバーのカレンダーを作成
Google Tasks API    → 各メンバーのタスクを作成
Google Sheets API   → スプレッドシートに依頼内容を記録
  ↓
Google Apps Script(15分ごと)
  → Tasks API でタスクの完了状況を確認
  → スプレッドシートのステータスを自動更新
  → 全員完了時に依頼者へ Slack DM で完了報告

これは派手な機能ではありません。
ただ、毎日のように発生する「タスクを依頼して、記録して、相手の時間を押さえて、進捗を確認する」という一連の小さな作業をひとまとめにできたことが、想像以上に体感速度を高めてくれました。

業務改善というと大きなシステム導入やツールの刷新を思い浮かべがちですが実際には、アプリ間を行き来していた数分のスイッチングコストを無くすような、小さな自動化の積み重ねが現場には効いている、と感じています。

タスク管理をシートやリストで運用していて、「記録と相手の時間確保が二度手間になっている」「完了確認をいちいち声がけしている」と感じる方は、一度自分のチームの依頼フローを見直してみてください。意外と、自動化できる小さな手間は転がっているはずです。

本記事は所属する法人とは一切関係ない個人利用のブログです。文章や画像等のメディアは生成AIで作成していますが、掲載前に筆者が事前に事実関係を確認し、編集を行っています。筆者:岩崎修 https://note.com/_osamu_iwasaki_

いいなと思ったら応援しよう!