はじめに
Notion Tips の第185回目は、昨日に続いて Notion の自動化の比較を行います。これまで Notion 側にデータを入れるものを解説してきました。先日、Notion のオートメーションにて Webhook が利用できるようになったので、その対象となるサービスを見ていきます。
Zapier
この世界では老舗の Zapier です。
トップページはこんな感じです。
価格体系は以下のようになります。これを見ると Free プランは Webhooks は使えず、Professional プラン以上が必要のようです。Two step だとあまり複雑なことはできないので、どちらにしても有料プランは必要ではないかと思います。
make
make は Zapier よりも後に出てきましたが、意外とユーザが多い気がします。ただ、一般名称なので検索で探すのはちょっと面倒です。
トップページはこんな感じです。
こちらの料金プランは以下のようになります。Webhooks は Free プランでも利用可能なようです。ただし、Free プランは 月に 1000オペレーションしか使えないので、あっという間に使い切りそうです。
Google Apps Script (GAS)
Zapier や make では、Notion から Webhooks の URL を叩くだけで、必要なプロパティデータは GUI で簡単に取得できます。一方、GAS を使うことで、Notion からの Webhooks で渡されるデータを取得することは可能です。お金はかかりませんが、以下の作業を全て自分で記述する必要があります。
- 以下の作業を行う doPost メソッドを記述
- Notion から渡される JSON データを構文解析
- 渡されたデータに対して適切な処理をコードで記述
- doPost を外部から呼び出す Web アプリケーションを作成
- Notion の Webhooks 呼び出しは認証ができないので、認証を伴わない「全員」という設定で作成
- デプロイした URL を Notion のオートメーションに設定
私は Zapier や make を使わず、ほぼ GAS で運用しています。Notion のタスク完了時に Discord に記録をする GAS のWebhooks の例を解説しているので、興味があったらこちらをお読みください。
実際に GAS でデータを取り扱うためには、どんなデータが入ってくるかを知っている必要があります。円谷さんが具体的に中身を確認しています。
ちゃんと検証した人見つけられなかったからやってみた。データベースのボタンプロパティで Webhook 送信した時のリクエストボディはこんな感じでした。ちゃんと他のプロパティの情報も詰めて飛ばしてくれてそう。 pic.twitter.com/vvoa7SWq96
— 円谷 | Notion公式アンバサダー (@___35d) 2024年12月22日
私も上の記事を書くときに確認しましたが、この記事の返信に書いてあるように Notion API で Retrieve page した返り値である Page object の JSON データがほぼそのまま入っている形でした。
基本的に Notion API で retrieve page した内容のサブセットのようです。送信時にプロパティを選択するので、選択したものだけが渡されるという意識です。
— hkob|Notion Ambassador (@hkob) 2024年12月22日
おわりに
これまで Zapier や make は外部のツールから Notion にデータを取り入れる仕組みとして多く使われてきました。今回 Webhooks が利用できるようになったことから、さらにいろいろな使い方が紹介されるのではないかと期待します。