みなさんこんにちは〜。
アドベントカレンダー18日目です。
今回はNotion沼をさらに深くするために、自動化について触れていこうと思います。
ちなみに私自動化の実装は全然経験ないんですが、NotionとMakeなら何とかなるか?ってことで勢いでやってみたいと思います。
簡単なお題ではありますが、誰でもできるよーってことでぜひ見てってください!
💡自動化の是非について
ほぼ自動化やったことないのに恐縮ですが、そもそも自動化すべきなのかはどんなときも冷静に考えた方が良いということをお伝えしておきます。
一度自動化すると、仕組みやシステム的な変更があるたびにメンテナンスが必要になります。そのため常に自動化の中身を理解し、管理ができる人材が必要になります。
自動化前提で稼働している環境では、止まったときに破綻してしまいます。安定稼働をさせ、何かあっても素早くリカバリできるように、人材を揃えておくという環境の整備が必要となります。
自動化もあくまでインフラの一部として捉えておくと、仕様を理解している人がいたほうがいいとわかりますよね。
今回の実装プラン
今回はNotionのみの自動化と、Makeを使った自動化の2本立てで作ってみたいと思います。
自動化するお題は「タスク完了時のレビュー依頼とそのレビュータスクの管理通知」です。
一部のタスクにはレビュー工程があり、上司に連絡したり、どっちにボールがあるのか管理する必要があります。
よくある流れですが、連絡やボール管理があると忘れがちになるので人間を挟まずに行うことで、より効率的にしていこうというお話です。
シーケンス図で表すとこんな感じ。
解説は都度やっていくのでじっくりみなくても大丈夫です!

Notion標準機能で構造化する
まずはNotionのみでできる自動化で定型タスクの入力を自動化していきたいと思います。
使うのはボタンプロパティとデータベースオートメーションです。
実装のゴール
この章で実装するのは以下になります
- タスク管理DBを作りレビュー依頼ボタンをプロパティとして配置する
- レビュー依頼ボタンを押すとそのタスクのステータスが「レビュー中」に変更される
- ステータスが「レビュー中」になると、レビュータスクがサブタスクとして作成される
実際に作ってみる
機能さえわかっていれば実装までは簡単です。
最初のタスク管理DBの作成は省略しますが、この辺はNotion AIに頼んじゃいましょう。
DBを新規で作成したらNotion AIが自動で表示されるので、画像のように依頼してみましょう。

出来上がったら、ボタンプロパティを追加して、プロパティの内容は画像のようにします。

ボタンのクリックをトリガーに、押したタスクのステータスを「レビュー中」に編集します。
次にDBのオートメーション機能から、画像のように設定していきます。
ステータスが「レビュー中」に変更されたことをトリガーに、「👀コードレビュー」という名前でサブタスクが作成されます。このサブタスクはレビュー者が実施するものです。

出来上がったDBがこちらです。
レビュー依頼ボタンをクリックすると自動で「レビュー中」にステータスが代わり、サブタスクが追加されます。

担当者も追加されているので、Notionの通知トレイには届いているはずです。
えーNotionの通知見なきゃわからないの?という反応が予想できるので、次はmakeを使ってSlackに送ります。
Makeを使って通知を届ける
Notionの機能だけで作ってみて気になったのは以下です。
- タスクができた通知がNotion内にしか届けられない
- タスク名が一律同じになる(今回ならコードレビュー)
- 柔軟な期日管理ができない(期日が近づくにつれ複数回リマインドを飛ばすなど)
外部との連携はMakeを使って補っていきましょう
今回の記事ではSlackへの通知と、タスク名変更をやってみます。Makeの記事ではないのでエラー処理などは一旦飛ばします。
左から以下のようにモジュールが並んでいます。
- 対象となるタスクDBを一定期間ごとに監視
- 新規で作成された「コードレビュー」というタスクの情報を取得
- 担当者にコードレビューが作成されたことをSlackにて通知
- 対象のタスク名を「コードレビュー:{親タスク名}」に変更する

タスクDBを定期的に確認し、新しいコードレビュータスクが発生していたら通知するという流れにしました。
もし必要であれば通知の条件をつけて、期日が近づいているもののみ通知するなど柔軟に対応できます。
実行するとこんな感じ。
Slackに通知が来て、

タスク名が変更されました。

まとめ
今回のやってみたを通じて、自動化の楽しさを肌で感じることができました。
サブタスクを自分で作成する、レビュワーに連絡してお願いする、などちょっとしたストレスを減らせるようになり、本来の作業に集中できるようになります。
もっと便利な自動化が思いついたらまた投稿しますね。
それではー

