Notion Calendar がリリースされました。これは、Notion の日付のページが表示できるカレンダーであり、Notion が他の Google Calendar などと同期できるようになったわけではありません。ただ、Notion Calendar 自体は Google Calendar も表示ができるので、カレンダーイベントと並べて表示することは可能です。
1. Notion Calendar 自体の機能
1.1 日本語ローカライズ化
左が Cron、右が Notion Calendar です。日本語というだけで安心しますね。

1.2 複数のタイムゾーンの追加
デフォルトではインポートしたカレンダーのタイムゾーンが一つ設定されます。日本の場合には、JST が表示されています。海外の人と頻繁にやり取りをする場合には、JSTの左側の「+」をクリックすることで追加のタイムゾーンが設定できます。この例だと New York の GMT-5 を入れてみました。

1.3 空き予定の共有が可能
空き予定を共有とし、スケジュールの複数箇所を選択すると以下のような形で時間調整を伺う文言が自動生成されます。確保した一覧がこの下に用意されるので、ここからイベントを作成することもできます。スケジュールリンクを

スケジュールリンクを作成して、相手に送信すると以下のような画面が表示されます。

クリックするとメールアドレス入力画面が表示され、主催者に連絡できます。
1.4 利用できるのはブラウザ、Mac用アプリ、Windows 用アプリ、iPhone 用アプリ
ダウンロードはこちらからできます。
残念ながら Android や iPad 版はまだありません。iPad は iPhone 版を拡大した残念な表示になります。こちら対応していただくように要望を出しています。
2. Notion Calendar + Notion の機能
2.1 連携したデータベースビューがカレンダーに描画可能
日付が設定されたカレンダービューを Notion Calendar に描画できます。ここがビューであることが重要です。Filter などでカレンダー描画したくないものなどを制御できるからです。
2.2 ワークスペースの追加方法
設定画面で「Notion」タブを開き、Notion ワークスペースを追加とします。

追加すると左下にワークスペースが見えるようになります。このように複数個のワークスペースを登録可能です。

2.3 Notion カレンダーから Notion への登録方法
カレンダーから登録する場合はワークスペースを開き、「+ Notion データベースを追加」とします。

ダイアログが表示され、カレンダービューまたはタイムラインビューを持つデータベースが表示されます。

2.4 Notion から Notion Calendar への登録方法
Notion Calendar に接続してあるワークスペースのカレンダーまたはタイムラインビューには「カレンダーで開く」というボタンが用意されます。ここをクリックすると自動的に Notion Calendar に表示されるようになります。

2.5 Google イベントから Notion ページ、Notion ページから Google イベントの作成方法
今のところはこんな感じで複製とカレンダー切り替えをするのが一番早い気がします。動画の中でオレンジがカレンダーイベント、水色が Notion ページです。どちらも複製した上でそれぞれのカレンダーに変更する形になります。
ただ、Notion のページは複製処理が入るので、中身が大きいものは無駄な作成・削除が入ります。また同じ内容のカレンダーが二つ表示されるのも残念な感じです。Google の方には他人と共有しなければならないものだけコピーする程度の運用がよさそうです。
2.6 プロパティによる表示の違い
表示の違いを確認するために三つのデータを用意しました。
- 開始時刻のみ (Start date only)
- 日付範囲 (Date range)
- 開始時刻・終了時刻の二つのプロパティ (Two properties)



一番下のプロパティは二つのプロパティから日付範囲を作成する Formula です。
let(ed, prop("End date").empty() ? prop("State date").dateEnd() : prop("End date"), prop("State date").dateRange(ed))
ここでビューを三つ用意しました。
- Start date で表示したもの (View by start date)
- 二つのプロパティをそれぞれ開始・終了時刻に設定したもの (View by two properties)
- Formula を設定したもの (View by formula)



表示的に嬉しいのは formula です。日付範囲でも二つのプロパティでも想定通りの結果になります。
これらを Notion Calendar で表示したものを示します。
- view by start date
タイムラインと同じ表示です。二つのプロパティの終了時刻は無視されます。

- 残念ながら 1 と同じ表示になります。終了日は見てくれません。

- これが一番望むものになります。ただし、こちらは formula なのでカレンダー上で時刻を変更することはできず、表示専用となってしまいます。カレンダーから Notion page を登録することもできません。

Database automation や Button action を考えると 2 のパターンで正しい表示が出るのであればそれが一番嬉しい気がします。これについては、Notion のエンジニアに要望を出しています。
2.7 フィルタを使った動的表示
依存関係でよくあるこんなデータベースを用意しました。
blocked by
ページの Checkbox が全てチェックありになったら、available?
が True になります。すなわち依存関係にあるものが全部完了するとそのタスクが有効になります。
Avaiable? でフィルタしたタイムラインはこんな感じです。わかりやすいように右に Available? を表示しています。

このフィルタしたビューを Notion Calendar に登録します。当然、Card 1 しか表示されていません。

ここで Card1 のチェックを入れると依存関係にある Card 2 が Available になり、表示されます。

Notion Calendar にフォーカスが当たるとこちらにも Card 2 が表示されます。せっかくなので動画にしてみました。