フォーム初期値の設定方法: Notion Tips (138)

はじめに

Notion Tips の第138回目はフォームで初期値を設定する仕組みを解説します。ネタは本日の Make with Notion Showcase Tokyo での相談からアレンジしてみました。少し相談内容とはズレるかもしれませんが、Form とオートメーションの結合の例としても参考になるかと思い、記事にしました。

前提条件

以下のようなデータベースを準備しました。このデータベースはタスク管理をするためのデータベースであり、授業の進捗を管理するステータスと試験の進捗を管理するステータスの二つが用意されています。

データベースのプロパティ

これまでは、授業用の Linked view と試験用の Linked view を用意しており、それぞれのステータスを表示する仕組みで登録する形を取っていました。このようにステータスが複数ある場合には、それぞれの Linked view をメンテする必要がありました。また、一般のユーザに Linked view を正しく選択させるのは面倒です。

このような場合にうまくフォームで入り口を一つにすることができればいいのですがというのが相談内容でした。この選択のために、一つ選択というセレクトプロパティを用意しました。どちらのステータスを使うかを選択するものです。

セレクトプロパティ

フォームの作成

フォームは以下のようになりました。今回は最小限の項目だけになっています。タスク名だけですね。ラジオボタンで「授業」または「試験」を選択します。

作成したフォーム

オートメーションの設定

このままではセレクタが設定されるだけです。そこで、ステータスの値を自動更新するためにオートメーションを設定します。名前は Set statuses by select としました。ページが追加された時にオートメーションが発動し、授業と試験のステータスを適切に設定します。

作成したオートメーション

授業の式は以下のようになっています。

授業の式

同様に試験の式は以下のようになっています。

試験の式

式はそれぞれ以下のようになります。

授業の式: prop("トリガーページ").prop("選択") == "授業" ? "処理開始" : "未着手"
試験の式: prop("トリガーページ").prop("選択") == "試験" ? "処理開始" : "未着手"

動作確認

いつものように動作画面は X でリークしました。

おわりに

Notion Forms では初期値を指定したフォームが作成できないので、オートメーションで値に従ってうまく初期値を設定するのがよさそうです。

hkob.notion.site