こちらの記事ではNotionでWebhook形式のトリガーを設定する方法をご紹介します。
🛠️ 設定方法
1. インテグレーションの作成
Notionのインテグレーションページにアクセスし、「New Integration」をクリックして設定を開始します。
設定項目で下記のように設定を行ってください。
Integration Name: 任意の名称(Yoomなど)
Associated workspace: 任意のNotionワークスペース
Type: Internal
Logo: 任意のロゴ画像(設定なしでも問題ありません)
2. Integrationの設定
設定ページで 「Read Comments」にチェックを入れて保存します。
Webhook タブへ移動し、[+ Create a Subscription] ボタンをクリックします。
Webhook URLにYoomのWebhook URLを設定し、「Select the events to listen to」部分でトリガーを発火させたいイベントを選択し、「Create Subscription」ボタンをクリックします。
⬇️
3. Webhookの検証
Subscriptionの作成後に表示される左下の「Verify」をクリックします。
Yoomに戻り、テストボタンを押すと下記のようなトークン情報が確認できるため、こちらの「secret_」から始まるトークン情報をコピーします。
{ "verification_token": "secret_tMrlL1qK5vuQAh1b6cZGhFChZTSYJlce98V0pYn7yBl" }
⬇️
トークン情報
secret_tMrlL1qK5vuQAh1b6cZGhFChZTSYJlce98V0pYn7yBl
取得したトークン情報をNotionの「Verification token」に入力し、「Verify subscription」をクリックします。
Webhook URL の下に「This subscription is currently active」と表示されれば検証が問題なく完了しています。
4. ページやデータベースにConnectionを追加
Notionの任意のページやデータベースで右上の3点クリックからConnectionsを選択し、検索バーで作成したIntegration名を入力し、Integrationを追加します。
ここで追加したページやデータベースでのイベントがWebhookとして通知されるようになります。
何か発火させたいイベントを実行して、Yoomの画面で問題なくWebhookが受信できたら完了です!🎉
❓Webhoookが受信できない場合のトラブルシューティング
Webhook が期待どおりにイベントを受信しない場合は、次の点を再確認してください。これらは、セットアップ中またはテスト中にイベントを見逃す最も一般的な理由です。
🔒 1. アクセス権限を確認する
作成したインテグレーションがイベントをトリガーしたオブジェクトに追加されていることを確認してください。たとえば、インテグレーションが追加されていないプライベート ページ内に新しいページが作成された場合、イベントはトリガーされません。
✅ 2. 機能を確認する
一部のイベント タイプでは、通知のために特定の機能を有効にする必要があります。
たとえば、イベントを受信するには、インテグレーション作成時に「コメント読み取り(comment.created)」機能を選択する必要があります。これがないと、インテグレーションがページにアクセスできる場合でも、コメントイベントは配信されません。
⏳ 3. 集約されたイベントのタイミングを理解する
すべての Webhook イベントがすぐに送信されるわけではありません。page.content_updated などの一部のイベントは、頻繁な編集 (入力、書式設定、ブロックの移動など) によるノイズを減らすために集約されます。これは正常であり、複数の急速な変更を 1 つの Webhook イベントにグループ化するのに役立ちます。
ヒント: テスト中で即時の応答を期待している場合は、comment.created や page.locked などのイベントを実施してください。
☑️ サブスクリプションのステータスを確認する
他のすべてが正しく構成されている場合でも、サブスクリプションがアクティブでない限り、Webhook はイベントを受信しません。
インテグレーション設定の「Webhooks」タブに移動し、サブスクリプションがアクティブであることを確認します。ステータスが一時停止、検証保留中、またはサブスクリプションが削除されている場合、イベントはエンドポイントに配信されません。