
kintoneのWebhookを設定したものの、「実際にどんなデータが送信されているのか、一度この目で確認したい」と思ったことはないでしょうか。
kintone標準の管理画面には、Webhookで送信された内容(ペイロード)を確認する機能がありません。本記事では、ペイロードの基本構造をサンプルとともに解説し、実際に中身を確認する具体的な方法を紹介します。
kintone Webhookのペイロードの基本構造
kintoneのWebhookは、レコードの追加・更新・削除といった操作をトリガーに、対象のURLへJSON形式のデータをPOSTで送信します。主なフィールドは次のとおりです。
| フィールド | 内容 |
|---|---|
| type | 発生したイベントの種類(例: ADD_RECORD, UPDATE_RECORD, DELETE_RECORD) |
| app | 対象アプリのID |
| id | 対象レコードのID |
| record | 操作時点のレコードの内容(フィールドコードごとの値) |
| url | 該当レコードの詳細画面へのURL |
レコード追加時のペイロードサンプル
レコードが追加されたときは、次のようなJSONが送信されます(フィールド構成は実際のアプリ設計によって異なります)。
{
"type": "ADD_RECORD",
"app": "123",
"id": "45",
"record": {
"会社名": { "type": "SINGLE_LINE_TEXT", "value": "株式会社サンプル" },
"担当者名": { "type": "SINGLE_LINE_TEXT", "value": "山田太郎" },
"ステータス": { "type": "DROP_DOWN", "value": "対応中" }
},
"url": "https://sample.cybozu.com/k/123/show#record=45"
}record の中は、フィールドコードをキーとして「type(フィールドの種類)」と「value(値)」を持つオブジェクトになっています。連携先でこのデータを扱う場合は、フィールドごとにこの構造を踏まえて値を取り出す必要があります。
レコード更新・削除時の違い
更新時は type が "UPDATE_RECORD" になり、record の中身は更新後の最新状態を反映します。削除時は type が "DELETE_RECORD" となり、レコードがすでに存在しないため、record の内容は追加・更新時に比べて簡略化されます。連携先の実装では、type の値によって処理を分岐させる必要があります。
なぜ標準機能だけでは中身が確認できないのか
kintoneの管理画面には、Webhookの送信履歴やペイロードの中身を表示する画面がありません。設定できるのは送信先URLと通知条件のみで、「実際に何が送られたか」を確認する手段は用意されていないのです。
そのため、連携先の開発・デバッグ時には、Webhookを受け取る側で意図的にログを残す仕組みが必要になります。
ペイロードを確認する3つの方法
1. 汎用のHTTPキャッチャーツールを使う
webhook.siteのような汎用ツールに一時的なURLを発行してもらい、それをkintoneのWebhook送信先に設定する方法です。開発初期に「どんなJSONが飛んでくるか、まず一度見てみたい」という場面では手軽です。
ただし、ログの保持期間が短い、URLが第三者にも推測されうる、本番運用を前提にした権限管理ができないといった制約があるため、開発時の一時利用にとどめるのが安全です。
2. 自分で受信用のエンドポイントを立ててログ出力する
Lambdaなどのサーバーレス環境に簡単な受信エンドポイントを立て、受け取ったJSONをログやデータベースに保存する方法です。柔軟に確認できますが、実装・運用のコストがかかります。
3. kintone Webhook中継サービスを使う
kintoneとの間にSureHookなどの中継サービスを挟み、送信されたペイロードを保存した上で連携先に転送する方法です。開発中の確認だけでなく、本番運用に入ってからも「あの時どんなデータが送られたか」を後から遡って確認できる点が、前述の2つの方法と異なります。
私たちが開発している「SureHook」は、この用途のために作ったkintone Webhook中継SaaSです。エンドポイントを発行してkintoneのWebhook送信先に登録するだけで、送信されたペイロードをダッシュボードから確認できます。自動リトライやDLQ(失敗イベントの退避)機能も備えているため、開発時の確認用途から、そのまま本番運用へ移行できます。
「SureHook」は、kintone標準Webhookにはない自動リトライ・失敗時のログ保存・手動再送を追加するkintone Webhook中継SaaSです。
kintoneへのポーリングや認証情報の預かりは一切なく、Webhookの送信先URLを差し替えるだけで導入できます。
Webhookが「届かない」「失敗する」という症状でお困りの場合は、原因と対処法をまとめたチェックリスト記事もあわせてご覧ください。