はじめに
Notion Tips の第128回目は Notion Forms を検証します。今日はデータベースとともにフォームを新規作成する部分を解説します。
Notion Forms の利用者
Notion Forms はアカウントを利用してチーム内で情報を収集することができます。また、アカウントがない一般の人からも情報を収集することが可能です。後者の場合には、一部制限が発生します。
Notion Forms の作成
Notion Forms を作成するには、新規データベースも同時に作成する方法と、既存のデータベースから作成する方法の二つがあります。後者は一つのデータベースに複数のフォームが接続できるので、情報を集約することが可能です。今日は前者の新規データベースも一緒に作成する方を解説し、既存のデータベースから作成する方法は明日解説しようと思います。
フォームを何もない状態から作成するには「/form」とすればいいです。「/fo」だけでもフォームが先頭に表示されました。

生成すると以下のようなサンプルフォームが生成されます。フォームビルダーの部分がユーザに見えるフォーム部分で、回答がデータが保存されるデータベースになります。Google Forms や Microsoft Forms などでは単にスプレッドシートのデータになるだけですが、Notion の場合にはデータベースのプロパティになります。プロパティは型を持つので、それに対応した質問のパターンが自動的に用意されます。

実際に「回答」タグに変更すると入力されたデータが表示されます。デフォルトで以下のプロパティが用意されていました。
- 質問1: タイトルプロパティです。データベースなので必ず一つ用意されます。
- 回答者: 作成者プロパティです。アカウントベースのフォームの場合には回答した人のデータが自動的に格納されます。
- 提出日時: 作成日時プロパティです。フォームに回答があるとページが作成されるので、その時刻が自動的に格納されます。
- 質問2: セレクトプロパティです。オプション1 からオプション3 までの 3 つの選択肢が登録されています。
回答データベースは通常のデータベースなので、右上の各種オプションの解説は省略します。

フォーム利用者の設定
デフォルトでは、フォームに記入できるのは作成したワークスペースのメンバーのみとなっています。変更するには以下の「変更」をクリックします。

変更をクリックするとフォームを共有のオプションが表示されます。現在、入力できるユーザは「現在のワークスペースでリンクをする全ユーザ」となっています。また、「匿名の回答」がオフになっているので、上記回答者の部分に回答したユーザが記録されることになります。匿名にしたい場合には、このスイッチをオンにします。

入力できるユーザを変更するには、プルダウンメニューで変更します。選択肢は以下の通りです。
- ワークスペースでリンクを知る全ユーザ
- デフォルトです。回答したユーザを記録することができます。ただし、匿名にすることも可能です。
- Web 上でリンクを知る全ユーザー
- Web 公開してアカウントを持っていないユーザにも回答してもらうにはこれを選択します。ただし、アカウント情報がないので、自動的に匿名で回答がオンになります。
- アクセス不可
- フォームの受付を終了するときにこちらに設定します。

Web 公開に設定した場合には、以下のような表示になります。上に書いたように「匿名の回答」はオンのまま固定になります。Notion ブランドはデフォルトでオンになっているので、右上に made with Notion のブランドロゴが表示されます。それが嫌な場合には、チェックを外してください。また、ページの Web 公開と同様にフォームが Web 公開されている場合にも、警告のメッセージが派手に表示されます。

質問の追加
質問項目を増やすには、フォームの一番下の「+」をクリックするか、質問と質問の間のスペースで表示される「+」をクリックすればいいです。

「+」をクリックするとフォームで利用できるプロパティが一覧で表示されます。これらを選択することで対応する質問が生成されます。ここでは、それぞれのプロパティごとの表示の違いを確認してみます。

テキストプロパティ
テキストを選択するとテキスト用の質問が追加されました。左側には質問のオプションが表示されます。消してしまった場合には、枠の右上にある「…」をクリックすると再度表示されます。質問のオプションはその他のプロパティでも共通のものがあるので、ここでまとめて説明しておきます。

必須オプション
「必須」をオンにすると、タイトルの右に「*」が上付で表示されます。この項目は回答が必須になります。

説明オプション
「説明」をオンにすると、タイトルを補足する説明を記述することができます。

長文の回答
「長文の回答」をオンにすると、回答欄が広がります。

質問の種類
質問の種類をクリックすると、種類を変更することができます。

対象プロパティを表示する
「対象プロパティを表示する」では接続されているプロパティのオプションが表示され、変更することが可能です。もし、プロパティの型を変更してしまった場合には、質問の型も変更になりました。

プロパティ名と同期
デフォルトでは「プロパティ名と同期」がオンになっています。ここがオンになっていると、タイトルを変更するとデータベースプロパティ名も同期して変更されます。

質問を複製
「質問を複製」すると同じ質問項目が二重化されます。

プロパティ名を同期していますが、データベースは同じタイトルを設定できないので、二つ目の方には「テキスト (1)」のように添字がついてしまっています。

質問を削除
「質問を削除」とした場合は単にフォームを削除します。データが入っていない場合には、データベースのプロパティも削除されるようです。確認はしていませんが、データがすでに入っている場合には、問い合わせがあるのではないかと予想します。明日、既存のデータが入っているフォームを作成するので、その際に確認してみましょう。
複数の選択肢
「複数の選択肢」を選択すると、マルチセレクトに対応する質問が用意されました。デフォルトでは、最大選択数が「Unlimited」となっており、チェックボックスで複数選択可となっています。

最大選択数
最大選択数の部分をクリックすると「Unlimited」または「1」を選択できます。

1 に変更するとラジオボタンに変更になります。ただし、プロパティはマルチセレクトのままでした。自動的にセレクトに変わるわけではないようです。

対象プロパティを「セレクト」に変更すると同じラジオボタンのままですが、「回答者は最大1個まで選択可」の表示はなくなりました。手順が面倒なので、データベース側で「セレクト」を作成してから、Form を作成した方が楽そうです。

日付
「日付」を選択すると、日付プロパティに対応する質問が用意されます。こちらも特殊なオプションは以下の二つになります。
- 終了日: オンにすると日付範囲が入力できるようになります。
- 時間を含む: オンにすると時刻情報を入力できるようになります。

ユーザー
「ユーザー」を選択すると、ユーザプロパティに対応する質問が用意されます。ユーザーはアカウントありユーザ向けの質問項目になります。逆に Web 向けのフォームではこの項目は設定できません。こちらも最大選択数のオプションがあり、Unlimited か 1 のどちらかを選べます。

ファイル&メディア
「ファイル&メディア」を選択すると、ファイルをアップロードできるようになります。最大100MB のファイルが10本までアップロードできるようです。

数
「数」を選択すると、数値プロパティに対応した質問が生成されました。こちらは特に設定できるオプションはありません。入力時に数値以外のものが入力されるとエラーになります。

チェックボックス
「チェックボックス」を選択すると、チェックボックスプロパティに対応した質問が生成されました。こちらも特に設定できるオプションはありません。

メールアドレス
「メールアドレス」を選択すると、メールアドレスプロパティに対応した質問が生成されました。こちらも特に設定できるオプションはありません。入力時に有効なメールアドレスの形式になっていない場合には、エラーが表示されます。

URL
「URL」を選択すると、URL プロパティに対応した質問が生成されました。こちらも特に設定できるオプションはありません。入力時に有効な URL の形式になっていない場合には、エラーが表示されます。

電話
「電話」を選択すると、電話番号プロパティに対応した質問が生成されました。こちらも特に設定できるオプションはありません。入力時に有効な電話番号の形式になっていない場合には、エラーが表示されます。

プレビューの確認
右上のプレビューをクリックすると実際のフォーム入力画面が表示されます。実際に入力のテストをしてみるとよいと思います。ここからフォームへのリンクをコピーとするか、元々の編集画面にて「フォームを共有」からリンクをコピーすることで、ユーザに送付する URL が取得できます。

おわりに
今回は、新規にデータベースと同時にフォームを作成した場合のプロパティの追加方法を中心に解説しました。元々のプロパティに合わせて、自動的に質問項目が変更されるのは非常に便利だと思います。Notionフォーム)には以下のように条件付きロジックも今後追加されるとあります。ここができるとほぼ Google Forms の代用になれるのではないかと思います。特にファイルアップロードができるのは便利ですね。