Notionの操作を自動化できる「データベースオートメーション」の使い方を徹底解説
今回の記事では、2023 年 8 月末にリリースされた新機能「データベースオートメーション」の基本的な使い方とユースケースについて解説します。
データベースオートメーションは、Notion のデータベース操作を自動化できる機能です。データベースオートメーションを活用すれば、今までは手動で行っていた下記のような操作を自動化できるようになります。
- タスクにかかった時間を自動で計測
- タスクを新規作成したら自動で担当者にアサイン
- 報告書を作成完了したら自動で上司に Slack で通知
今回はデータベースオートメーションでできること、基本的な使い方やいくつかのユースケースを紹介します。また、記事の最後にはデータベースオートメーションを使ってタスクにかかった時間を自動計測できる「プロジェクト・タスク管理テンプレート」も配布しています。
データベースオートメーションでできること
データベースオートメーションでは、ページの追加やプロパティの変更をトリガーとして、① 新規ページを追加、② プロパティの変更、③ Slack で通知を自動で行うことができます。
例えば以下の動画では、タスクのステータスを「Not started」から「In progress」に変更すると、「開始日時」に自動で現在の時間が入力されます。また「In progress」から「Done」に変更すると、同じように「終了日時」に時間が入力され、作業時間の入力が自動化されています。
オートメーションで新規追加するページや編集するページは、トリガーとなるページとは別のデータベースでも可能です。例えば、以下のように「DB_日報」と「DB_上司のタスク」の二つのデータベースがあり、A さんが日報を作成し「作成完了」プロパティにチェックを入れると、「DB_上司のタスク」に「A さんの日報確認」というタスクが登録されます(これと同時に Slack で通知ができたり、ユーザープロパティに上司を設定して Notion で通知を飛ばす事もできます)。
また、オートメーションはビュー毎に設定することができます。例えば、以下の動画のように「DB_日報」の 「A の日報のビュー」で作成完了にチェックを入れると上司のタスクには「A さんの日報確認依頼」が追加され、「B の日報のビュー」で作成完了にチェックを入れると上司のタスクには「B さんの日報確認依頼」が追加されます。
このように、オートメーションを使えばさまざまな自動化を実現することができます。
基本的な使い方
ここからはオートメーションの基本的な使い方を解説します。今回は、タスクのステータスの変更をトリガーとして、タスクの開始時間と終了時間を自動で入力する例を解説します。また、タスクを開始すると同時に担当者のアサインと Slack での通知も設定します。
事前準備として、以下のように「ステータス」プロパティと「日付」プロパティを2つ(開始日時と終了日時)設定したデータベースを用意します。
開始時刻を自動で入力する設定
まずは、ステータスを「In progress」に変更すると、開始日時に今の時間を自動で入力するオートメーションの設定を行います。データベース右上の「⚡」ボタンをクリックします。
続いて、「新規オートメーション」をクリックします。
「トリガーを追加」をクリックします。ここで、オートメーションを起動するための条件を設定します。
今回、オートメーションを起動する対象のデータベースは全てのビューを対象としますが、ビューを限定したい場合は「対象のデータベース」からビューを選択します。
「ステータス」が「In progress」に変更したときにオートメーションを起動したいので、「ステータス」をクリックします。
トリガーとしては、「ステータス」以外の他のプロパティを選択できるのはもちろんですが、「いずれかのプロパティ」を選択すると「プロパティの編集」に表示されているプロパティのいずれかが編集された場合にオートメーションを起動することができます。また、プロパティの編集以外にも、「ページの追加」を選択するとデータベースに新規ページを追加した場合でもオートメーションを起動することができます。
トリガーとして、全てのプロパティの種類を選択できるわけではありません。現状、以下のプロパティはトリガーとして選択不可となっています。特に関数プロパティをトリガーとできれば多種多様なトリガーを設定できるようになりますが、現状はできないのでアップデートに期待です。
- AI プロパティ
- ファイル&メディア
- 関数
- ロールアップ
- 作成日時
- 作成者
- 最終更新日時
- 最終更新者
- ID
また、オートメーションでプロパティを編集した結果をトリガーとして、別のオートメーションを起動することもできないので注意が必要です。
オートメーションを起動する「ステータス」の状態を選択します。今回は「In progress」を選択します。
トリガーの準備ができたので、続いてはステータスが「In progress」になった場合に、「開始時刻」に「今」の時間を入力するアクションを設定します。
「アクションを追加」をクリックします。
「開始日時」をクリックします。
日付だけではなく、時間も入力したいので「今」をクリックします(日付だけでいい場合は「今日」を選択します)。
あとは「作成」をクリックすれば、設定は完了です。「ステータス」プロパティを「In progress」に変更すると、「開始日時」に今の時間が自動で入力されます。
ステータスを「Done」にすると「終了日時」に時刻を入力する設定は、上記と同様の方法で設定可能ですので、ぜひお試しください。もし、タスクにかかった時間を算出したい場合は、「関数」プロパティで以下のような設定をすることで分単位で表示することができます。
dateBetween(prop("終了日時"), prop("開始日時"), "minutes")
担当者をアサインする
ステータスが「In progress」になった場合に、自動で担当者をアサインするオートメーションを設定します。まずはデータベースに「ユーザー」プロパティ(担当者)を準備します。
ステータスを「In progress」に変更した場合の設定は、開始時刻の自動入力の設定ですでに準備してあるので、こちらの設定に担当者のアサインの設定を追加します。
あとは開始日時の場合と同じように、「担当者」プロパティを選択し、任意のユーザーを選択します。これで設定は完了です。
「ステータス」プロパティを「In progress」に変更すると、「開始日時」に今の時間が自動で入力され、担当者には設定した「チャベス」がアサインされます。
Slack で通知する
最後にステータスを「Done」に変更すると Slack で通知するオートメーションを設定します。ステータスを「Done」に変更した場合の設定は、終了時刻の自動入力の設定ですでに準備してあるので、こちらの設定に Slack 通知の設定を追加します。
アクションの設定で「+」ボタンをクリックし、「Slack 通知を送信」を選択します。
Slack との連携設定をしていない場合は、Slack の設定画面に移行するので設定を完了させてください。Slack との連携が完了している場合は、以下のように チャンネルの選択画面となるので、任意のチャンネルを選択します。
ステータスを「Done」に設定すると、 Slack にメッセージが届きます。完了したタスク(ページ)は、Slack から直接開くことができます。
※ Slack の通知は即時ではなく、若干遅れます(約 5分後)。
アクションで他のデータベースのプロパティを編集する
上記では、トリガーとアクションは同じデータベース内で行いましたが、トリガーとアクションが別のデータベースでもオートメーションは実行することができます。
今回は例として、以下のようにタスクのデータベースとプロジェクトのデータベースがあり、タスクのデータベースでタスクが「Done」になったら、プロジェクトのデータベースの「プロジェクト A」のステータスを「Done」にする設定を行います。
Slack の設定と同じように、タスクデータベースでステータスが「Done」になった場合のオートメーション設定を編集します。アクションの設定画面で「ページを編集」をクリックします。
候補のデータベースが複数出てくるので、任意のプロジェクトを選択します(今回はプロジェクトデータベース)。
続いてデータベース内から編集する対象のページを絞り込むためにフィルタ設定を行います。少しわかりにくいですが、以下のピンク色の枠の部分をクリックします。
フィルタ設定が表示されるので、任意のフィルタを設定して下さい。今回は「プロジェクトA」と一致するページを全て編集対象とします。
フィルタ設定は対象のページをしっかりと絞り込むように設定してください。設定が甘いと、意図しないページのプロパティも編集される場合があります。
対象のページを絞り込むフィルタ設定はできたので、対象のページの編集したいプロパティを選択・設定します。今回は、「ステータス」を「Done」に編集するように設定します。
これで設定は完了です。タスクのステータスを「Done」にすると「プロジェクトA」のステータスが「Done」になりました。
無料プランの機能制限
データベースオートメーションは、有料プランでは全ての機能を使用することができますが、無料プランでは使用できる機能が制限されています。無料プランの場合は、アクションにページの追加や編集を設定することができず、Slack 通知のみ設定することができます(有料プランであってもフルアクセス権限を持っていないとオートメーションの編集はできません。ただし、Slack 通知は、オートメーションの作成者のみが編集できます)。
無料プランの場合でもテンプレートから複製したオートメーションは使用可能です。(ページの追加や編集も含めて使用可能、ただしオートメーションの編集は不可)。以下のリンクに今回説明のために使用したテンプレートを公開していますので、無料プランの方も複製してオートメーション機能を試してみてください。
また、記事の最後で実用的な「プロジェクト・タスク管理テンプレート」を配布しています。こちらも無料で複製して使用することができるので、使ってみてオートメーションの便利さを体験してみてください。
ユースケース
X でいくつかのユースケースが紹介されています。
こちらのツイートでは、オートメーションを使った条件分岐の方法が紹介されています。仕組みは記事冒頭で紹介した「日報を書いたら上司に報告」と同様の内容です。
以下のユースケースでは、タスクの中断があった場合に時間計測をストップすることができています。
また、以下のユースケースでは簡易的な承認フローをオートメーションで実現しています。
【テンプレート配布】プロジェクト・タスク管理テンプレート
オートメーション機能を使って、タスクのステータスを変更すれば自動でタスクの実行時間が計測できるテンプレートを作成しました。タスク管理以外にも、プロジェクト管理や振り返りも行うことができる実用的なテンプレートになっています。無料で使うことができるので、ぜひ一度複製して使ってみてください。テンプレートの詳しい使い方はテンプレート内に記載しています。
おわりに
今回は、Notion のデータベースオートメーションについて詳しく解説しました。データベースオートメーションは、一度設定してしまえば手作業で行なっていた作業を自動化することができ、時間や手間を削減、抜け漏れも防止することができます。ぜひ今回の記事を参考に、ご自身の使い方に合わせたオートメーションを使用してみてください。
今回紹介した内容は動画でも解説しています。合わせてご覧いただけるとさらに理解が深まるかと思います。