
目次
Notionのボタンとオートメーションは、よくできた機能です。行を追加する、プロパティを書き換える、別のデータベースに送る。画面の中だけで組めて、コードも要りません。
便利なので、だんだん重要な処理がそこに集まっていきます。そうなったとき、その仕組みを外から触れるのかどうかが効いてきます。バックアップを取るときも、別のワークスペースに移すときも、20個あるボタンをまとめて直したいときもです。
結論から書きます。ボタンとオートメーションは、外から作れませんでした。Notion AIのブロックも同じです。実際に全部試した結果を並べます。
外から作れるものを、全部数えた
まず、何が作れるのかをはっきりさせました。
存在しない種類を投げると、一覧が返ってくる
調べ方は単純です。わざと存在しない種類を指定して送ると、エラーと一緒に有効な種類が全部並んで返ってきます。
ドキュメントを読むより確実です。書き漏れも更新漏れもありませんし、いま動いているものがそのまま出てきます。前に別の記事で「公式ヘルプの一覧が網羅的でなかった」ことがあったので、この方法を使っています。
ブロックは34種類、プロパティは23種類
返ってきた数がこれです。ページの中に置ける部品が34種類、データベースの列が23種類。
| 対象 | 作れる種類の数 |
|---|---|
| ブロック(ページの中身) | 34 |
| プロパティ(データベースの列) | 23 |
段落、見出し、表、トグル、コールアウト、同期ブロック。ふだん使うものはひととおり入っています。データベースのほうも、数式、リレーション、ロールアップ、ステータスまで揃っていました。
ボタンだけ、一覧にいない
ここからが本題です。
ブロックの34種類にもプロパティの23種類にもない
どちらの一覧を見ても、ボタンがありません。ページに置くボタンも、データベースの列としてのボタンも、両方です。
これは「作ろうとしたら失敗した」ではなく、選択肢として存在していないということです。指定する名前そのものが受け付けられません。
オートメーションも同じ扱いだった
データベースに設定する自動化のほうも、指定する場所自体がありませんでした。行が追加されたら、プロパティが変わったら、といった仕掛けを外から組む方法はない、ということです。
つまり、ボタンもオートメーションも、Notionの画面の中で作るしかありません。
名前はあるのに断られる種類がある
一覧に載っていても、実際には作れないものがありました。ここは分けて理解しておくと、エラーの意味が読めるようになります。
3種類が、はっきり断られる
| 種類 | 返ってきたもの |
|---|---|
| Notion AIのブロック | 形式の確認は通るが、作る段階で拒否 |
| ミーティングノート | 「このAPIでは作れない」と明示 |
| テンプレートボタン | 「このAPIでは作れない」と明示 |
AIのブロックが面白い挙動をしていて、形式のチェックは通ります。必要な項目を埋めろ、というエラーが先に返ってくるので、埋めて送り直す。すると今度は「作れません」と断られます。
受け口は用意されているのに、最後で止められている。そういう形でした。
「一覧にない」と「断られる」の違い
ボタンは一覧にありません。AIブロックは一覧にあって、断られます。
実用上はどちらも作れないので同じですが、エラーの文面が変わります。一覧にないものを指定すると有効な一覧がずらっと返り、断られるものは短い拒否のメッセージが返ります。
自動化のプログラムを書いていて長いエラーが出たときは、種類の名前そのものを間違えている可能性が高い、ということです。
データベースにも自動化の情報がない
作る側だけでなく、データベースの情報そのものも見てみました。
返ってくる項目を全部並べた
データベースの情報を取得すると、名前、説明、アイコン、列の定義、作成者、更新日時、URL、ゴミ箱に入っているかどうか。そういった項目が返ってきます。
この中に、自動化・ボタン・きっかけに相当する項目が1つもありませんでした。名前が似ているものすらありません。
設定されているかどうかも分からない
ここが実務で効きます。作れないだけなら「画面で作ればいい」で済みますが、そのデータベースに自動化が設定されているのかどうかも、外からは判別できません。
データベースが50個あって、どれに自動化が入っているかを調べたいとき、一覧を作る手段がない。1つずつ画面で開いて確かめることになります。
図にすると、こういう切れ方です
測れていないことを書いておきます
今回わかったのは作る側だけです。すでにボタンが置いてあるデータベースを外から読んだときに、それが見えるのかどうかは確かめられていません。
外から作れない以上、検証用のボタンを用意できなかったためです。手元のワークスペースにある全データベースの列を調べましたが、ボタンを使っているものが1つもありませんでした。
なので、この記事では「作れない」とだけ書きます。読めるかどうかは、確かめてから別で書きます。
では、何が困るのか
作れないことが、実際にどこで痛むのか。3つあります。
バックアップに入らない
外から定期的に書き出す仕組みを作っている場合、書き出せるのは左側だけです。ページの中身も、データベースの行も、列の定義も取れます。
取れないのが、ボタンとオートメーションです。書き出したデータから元のワークスペースを組み直しても、自動化だけが抜け落ちます。
しかも抜けたことに気づきにくい。データは全部あるので、一見それらしく復元できてしまうからです。
引っ越しが手作業になる
別のワークスペースに移すとき、ページもデータベースも外から作り直せます。数式もリレーションも、定義ごと持っていけます。
ボタンとオートメーションだけは、移した先で1つずつ作り直すことになります。20個あれば20回です。移行の見積もりで、ここが抜けているとそのぶん膨らみます。
まとめて直せない
いちばん地味に効くのがこれだと思います。
運用していると、同じ直し方を何十箇所にも入れたくなる場面があります。列の名前を変えた、飛ばし先のデータベースを分けた、といったときです。
列の定義なら、外から一括で書き換えられます。ボタンの中身は、1つずつ画面を開いて直すしかありません。数が増えるほど、直すのが億劫になって放置されます。
中に置くか、外に出すか
ここまでを踏まえた判断の話をします。全部を外に出す必要はありません。
中に置いていいもの
Notionの中で完結して、壊れても困らないものは、中で組むほうが速いです。
会議メモの行を1つ足すボタン。ステータスを次に進めるボタン。今日の日付を入れるボタン。こういうものは画面から数分で作れますし、作り直すのも同じく数分です。
「壊れたら作り直せばいい」と言えるなら、中で組む。判断はこれで足ります。
外に出したほうがいいもの
逆に、外に出す基準も単純です。次のどれかに当てはまるなら、外側の仕組みで動かすほうが後で楽になります。
- 止まると業務が止まる
- Notion以外のサービスも関わる
- 同じ処理を何箇所にも置いている
- いつ動いたかを記録として残したい
最後の1つは見落とされがちです。オートメーションは、動いた記録が外から取れません。おかしな値が入ったときに、誰かが手で入れたのか自動で入ったのかを切り分けられなくなります。
なお、外の仕組みで動かすということは、外部のツールにトークンを渡すということでもあります。そのときに何が渡るのかはNotionのインテグレーションに渡している権限のほうにまとめました。合わせて読むと、どこまで外に出すかの線が引きやすくなります。
混ぜるときの置き方
全部どちらかに寄せる必要はなくて、混ぜるのが現実的です。そのときに1つだけ決めておくと後が楽になります。
同じデータベースの同じ列を、中の自動化と外の処理の両方から書き換えないこと。どちらが最後に書いたのか分からなくなり、原因の切り分けができなくなります。
列ごとに担当を分けるか、データベースごとに分けるか。どちらでもいいので、決めて書き残しておきます。
そもそも、オートメーションは有料の機能です
ここも一緒に考える価値があります。公式の料金ページによると、データベースのオートメーションはプラスプラン以上の機能です。無料プランには入っていません。
プランを上げると使えるようになりますが、上げて手に入るのは外から触れない自動化です。価値がないという意味ではなく、そういう性質のものだと分かったうえで選ぶ、ということです。
すでに外部のツールで自動化を回しているなら、同じ処理を中に移す理由はあまりありません。逆に、これから自動化を始めるなら、画面から作れる手軽さは大きいです。重要な処理が増えてきたら、外に出す。この順番が無理がないと思います。
よくある質問(FAQ)
ボタンを外から押すことはできますか。
作る手段がないので、押す手段もありません。ボタンが実際にやっている処理(行を足す、プロパティを書き換える)は外から実行できるので、同じ結果を作ることはできます。ボタンそのものを動かすのとは別の道になります。
すでに置いてあるボタンは、外から見えますか。
確かめられていません。外から作れないため検証用のボタンを用意できず、手元のワークスペースにもボタンを使っているデータベースが1つもありませんでした。分かっているのは「作れない」ところまでです。
オートメーションが設定されているかを一覧で確認したいです。
外から取得できる情報の中に、自動化に関する項目がありませんでした。データベースの情報を取っても、設定の有無すら分かりません。数が多い場合は、どこに何を置いたかを別に書き残しておくのが現実的です。
Notion AIで生成した内容は外から扱えますか。
生成された結果がページの本文として入っていれば、ふつうのブロックとして扱えます。扱えないのはAIのブロックそのもので、こちらは作る段階で拒否されました。
バックアップは何を取っておけばいいですか。
ページの中身、データベースの行、列の定義は外から取れます。取れないのがボタンとオートメーションなので、その2つは「どこに何を置いたか」を文章で書き残しておくのが確実です。復元するときは手で作り直すことになります。
テンプレートボタンとボタンは違うものですか。
テンプレートボタンは以前からある機能で、決まった中身をその場に複製します。今回試したところ、こちらも「このAPIでは作れない」と断られました。名前は一覧に載っているのに作れない、という点でAIブロックと同じ扱いです。
壊れたら作り直せるか、で決める
いま置いてあるボタンとオートメーションを数えて、それぞれ「消えたら作り直せるか」を考えてみてください。作り直せないものが出てきたら、そこが外に出す候補です。