kintone業務設計研究所 > kintone Webhookの設計方法|通知・外部連携・再実行で詰まらない構成

kintone Webhookの設計方法|通知・外部連携・再実行で詰まらない構成

2026年6月12日

18分で読めます

kintone Webhookを使って外部サービスへ通知するときに、発火条件、送信内容、受信エンドポイント、認証、キュー、冪等性、失敗通知、再実行、Power AutomateやDataCollectとの使い分けを整理します。

kintone
Webhook
外部連携
Power Automate
通知
業務設計
助手
助手

kintoneのWebhookで、レコード追加やステータス変更を外部サービスに通知したいです。Webhookを設定すれば十分でしょうか。

博士
博士

通知だけなら設定で始められます。ただし、業務連携にするなら、どの操作で発火するか、受信側で何を検証するか、二重処理をどう防ぐか、失敗時にどう再実行するかまで決めます。

kintone Webhookは、外部連携の入口として便利です。

レコードが追加されたらチャットへ通知する。

案件が承認済みになったら外部の受注管理へ渡す。

問い合わせが登録されたら担当チームへ知らせる。

ステータスが変更されたら集計サービスを動かす。

コメントが追加されたら外部のチケットに反映する。

こうした処理は、Webhookを使うと作りやすくなります。

ただし、Webhookを「外部サービスに通知する設定」とだけ捉えると、運用で詰まります。

よくある失敗は、次のような状態です。

  • レコード編集のたびに通知が飛び、外部側で同じ処理が何度も走る
  • CSV読み込みや一括REST API操作では通知されないことを知らず、データが抜ける
  • 受信側がすぐ外部SaaSを更新し、外部障害時に処理が失われる
  • Webhookの実行ログだけを見ていて、連携処理の詳細ログがない
  • 通知先URLに認証や署名検証がなく、誰でも叩ける
  • 通知データに個人情報や金額を載せすぎる
  • 1分間の通知量が増え、送信されない操作が出る
  • 失敗通知は届くが、どのレコードを再実行すればよいか分からない
  • Power AutomateやZapierで作ったフローを、誰が保守するか決まっていない

Webhookは、処理の完了を保証する仕組みではありません。

kintoneで起きた操作を外部へ知らせる仕組みです。

外部側で受け取った後に、重複判定、キュー投入、ログ保存、リトライ、手動再実行をどう作るかで、業務連携として使えるかが決まります。

kintone Webhookは「外部処理を直接完了させる仕組み」ではなく、「外部処理を始めるための通知」です。受信側の設計がないと、重要データ連携には使いにくくなります。

この記事では、kintone Webhookを、設定手順ではなく、発火条件、送信内容、受信エンドポイント、認証、キュー、冪等性、失敗通知、再実行、Power Automate・Zapier・DataCollect・個別API連携の使い分けまで含めて整理します。

kintone API連携の設計方法はこちら
kintone外部連携の設計方法はこちら
kintone通知カスタマイズの設計方法はこちら

kintoneのレコード操作、Webhook発火、受信エンドポイント、認証、冪等性チェック、キュー、外部SaaS、処理ログ、失敗通知、再実行の関係を示すkintone Webhook設計図

Webhookは外部連携のトリガー

Webhookは、kintone側で特定の操作が行われたことを、外部サービスへ知らせるための仕組みです。

kintoneヘルプでは、Webhookを利用すると、アプリで特定操作が行われた際に、その内容を指定した外部サービスへ送信できると説明されています。

kintoneヘルプ:Webhookを設定する

Webhookの役割は、外部処理の起動です。

REST APIとは役割が違います。

方式 主な役割 典型的な使い方
Webhook kintoneの変化を外部へ知らせる レコード追加、編集、削除、コメント、ステータス更新を通知する
REST API kintoneのデータを外部から取得・登録・更新する 外部SaaSからkintoneへ登録する、kintoneのレコードを更新する
JavaScript API kintone画面上で操作や表示を変える 保存前チェック、画面表示、入力補助
iPaaS/Power Automate 複数サービスをつなぐ Webhookやコネクタを受けて、メール、チャット、外部SaaSへつなぐ

Webhookは「kintoneから外へ知らせる」向きです。

外部サービスからkintoneへ登録したい場合は、REST APIや連携サービスを使います。

また、Webhookで外部へ通知した後、その外部処理がkintoneを更新する場合は、別途REST APIの認証、権限、API制限も考えます。

たとえば、次のような構成です。

目的 Webhookの役割 受信側の役割
チャット通知 レコード追加を通知する 文面を作ってチャットへ投稿する
請求連携 承認済みになったことを通知する キューへ入れ、会計システムへ送る
集計更新 対象レコードの変更を通知する 集計対象を再計算する
外部チケット更新 コメント追加を通知する 外部チケットに追記する
監査ログ 削除や状態変更を通知する 操作内容を外部ログへ保存する

Webhookで作るべきなのは、外部サービスへ直接書き込む一本線ではなく、通知を受けて安全に処理する入口です。

発火条件と送信内容を整理する

Webhookを設計するときは、まず何で発火するかを確認します。

kintoneヘルプでは、Webhook設定時に通知が送信される操作として、レコード追加、編集、削除、コメントの書き込み、プロセス管理のステータス更新が整理されています。

kintoneヘルプ:Webhookを設定する

操作 発火するか 設計上の注意点
レコードの追加 発火する 新規受付、外部通知、初回同期に使いやすい
レコードの編集 発火する 軽微な修正まで飛ばさない条件設計が必要
レコードの削除 発火する 外部側の削除、取消、監査の扱いを決める
コメントの書き込み 発火する メンション、外部チケット連携で使う
ステータスの更新 発火する 承認済み、送信待ち、完了などの節目に向く

一方で、通知されない操作もあります。

公式ヘルプでは、Excel/CSVファイルを読み込んだレコード操作、複数レコードの一括削除、複数レコードを一括操作するREST APIでのレコード操作ではWebhook通知が送信されないと説明されています。

この制約は実務上かなり重要です。

操作 Webhook通知 代替設計
画面から1件追加 送信される Webhookで受付
画面から1件編集 送信される 条件を絞って受付
CSVで一括更新 送信されない 取込後に対象一覧から別処理を実行
複数レコード一括削除 送信されない 削除前に対象をログ化する
複数レコード一括REST API操作 送信されない API処理側で連携ログを残す

ここを誤ると、「画面で編集したときは通知されるが、CSV更新したデータは外部へ流れない」という状態になります。

Webhookで扱う業務では、操作経路を決めておきます。

画面操作だけを対象にするのか。

CSV更新も対象にするのか。

API一括更新後にも外部へ通知が必要なのか。

必要なら、Webhookとは別に、バッチや手動実行ボタンを用意します。

Webhookの発火条件は、業務の操作経路とセットで確認します。CSV更新や一括API更新を使う業務では、Webhookだけに頼らない設計が必要です。

送信内容も確認します。

kintoneヘルプでは、Webhookを有効にするとJSON形式の通知が送信され、通知ごとの固有ID、操作種別、アプリ情報、レコード情報、レコードURLなどが含まれると説明されています。

kintoneヘルプ:Kintoneの操作で送信されるWebhookの通知内容

送信内容を見るときは、次を設計します。

項目 使い方
通知ID 受信側で二重処理を防ぐ
操作種別 追加、更新、削除、コメント、ステータス更新を分ける
アプリID どのアプリから来た通知か判定する
レコードID kintone側の対象を特定する
レコードURL 業務担当者が確認できるリンクに使う
レコード内容 外部へ送る項目を選ぶ
更新者/削除者 監査や確認依頼に使う

通知データをそのまま外部へ流すのではなく、外部に出してよい項目を選びます。

個人情報、金額、社内メモ、添付ファイル、コメント本文は、通知先によっては出しすぎになります。

kintoneセキュリティ設計はこちら

API連携・JavaScript・Webhookの違い

Webhook、API連携、JavaScriptカスタマイズは混同しやすいです。

それぞれの役割を分けます。

やりたいこと 向いている手段 理由
レコード追加を外部へ知らせたい Webhook kintoneの操作を起点にできる
外部SaaSからkintoneへ登録したい REST API 外部側からkintoneを操作する
画面保存前に入力チェックしたい JavaScript API 保存前イベントで止められる
ステータス更新後に会計へ送信したい Webhook + キュー + REST API 通知後に外部処理を安定して流せる
一括更新後に外部へ反映したい バッチまたはAPI処理側のログ Webhookが発火しない操作がある
外部チャットへ軽い通知を出したい WebhookまたはPower Automate 通知文面だけなら連携サービスで足りる

Webhookは、kintone側の操作を起点にできるのが強みです。

しかし、保存前に入力を止めることはできません。

また、外部システムからkintoneへ値を取りに行く仕組みでもありません。

保存前の確認はJavaScript、外部からの取得や更新はREST API、kintoneの操作通知はWebhookと分けます。

kintone API連携の設計方法はこちら

受信側エンドポイントと認証

Webhookで重要なのは、kintone側の設定よりも受信側です。

受信側では、最低限次を決めます。

設計項目 内容
受信URL 本番、検証、開発を分ける
認証 署名、共有シークレット、IP制限、認可済みURLなどを検討する
メソッド 受け取るHTTPメソッド、Content-Type
入力検証 想定アプリID、操作種別、必須項目を確認する
応答 すぐ成功応答するか、処理完了後に応答するか
ログ 受信時点、キュー投入、処理完了を分けて残す
障害時 外部サービスが落ちたときに通知を失わない構成にする

通知先URLを単に公開するだけでは危険です。

URLを知っている人が任意のJSONを送れる状態になると、外部連携が誤動作します。

少なくとも、受信側で次を検証します。

検証 目的
アプリID 対象外アプリからの通知を弾く
操作種別 対応していない操作を処理しない
通知ID 同じ通知を二重処理しない
レコードID 対象レコードを特定する
状態フィールド 承認済み、送信待ちなど条件を満たすか確認する
必須項目 外部へ送る値が揃っているか確認する

受信した瞬間に外部SaaSを更新する構成は、軽い通知なら成立します。

ただし、重要データ連携では、受信してすぐキューや処理ログへ保存し、その後に別処理で外部更新する方が安定します。

キュー・冪等性・二重処理防止

Webhookは、同じ業務データに対して何度も発火する可能性があります。

レコードを保存した。

担当者を直した。

金額を直した。

コメントを追加した。

ステータスを戻した。

こうした操作が続くと、外部側では同じレコードに対する通知が複数届きます。

そこで、受信側にキューと冪等性を持たせます。

冪等性とは、同じ処理を複数回受けても、結果が壊れないようにする考え方です。

Webhook連携では、次のキーを使って二重処理を防ぎます。

キー 使い方
通知ID 同じ通知を二度処理しない
アプリID + レコードID 同じレコードの最新処理をまとめる
レコードID + ステータス 承認済みになったときだけ処理する
外部ID 外部SaaS側で既存データを更新する
処理ID 1回の連携処理を追跡する

キューを使うと、Webhook受信と外部更新を分離できます。

段階 やること
受信 JSONを受け取り、検証し、ログに残す
キュー投入 処理対象として保存する
ワーカー処理 外部SaaS、チャット、集計サービスへ送る
結果保存 成功、保留、失敗、再実行可否を残す
通知 失敗や確認待ちだけ管理者へ知らせる

この構成にすると、外部SaaSが一時的に落ちても、受信済みの通知を後から処理できます。

また、外部更新に時間がかかっても、kintone側の操作を待たせにくくなります。

kintone API上限の設計方法はこちら

失敗通知と再実行

Webhook連携では、失敗を前提にします。

kintoneヘルプでは、Webhook設定ごとに直近10件までの実行ログを確認でき、通知の成功可否、通知ID、操作種別、操作実行者、実行日時を確認できると説明されています。

kintoneヘルプ:Webhookの実行ログを確認する

同じページでは、1分間に60回を超える通知、通知データの最大サイズ超過、kintoneや受信側Webサービスのタイムアウトなどが失敗原因として整理されています。

公式ログは重要ですが、業務連携ではそれだけでは足りません。

Webhookの実行ログは「通知が送れたか」を見るものです。

受信後に外部SaaSへ登録できたか、外部IDが返ったか、途中で保留になったか、手動で再実行したかは、自分たちの連携ログで持つ必要があります。

ログ 見ること
kintone Webhook実行ログ 通知が送信できたか
受信ログ 受信URLで通知を受け取ったか
キューログ 処理待ちに入ったか
外部処理ログ 外部SaaS、チャット、集計への処理結果
再実行ログ 誰がいつ、どの失敗を再実行したか

失敗通知は、すべての成功を知らせるのではなく、失敗と保留に絞ります。

状態 通知先 対応
成功 通知しない、またはログのみ 通常確認
保留 業務担当者 入力不備、確認待ちを直す
認証エラー 管理者 トークン、接続設定を確認する
外部障害 管理者、保守担当 復旧後に再実行する
二重処理疑い 保守担当 ログを見て外部IDを確認する
送信対象外 業務責任者 条件やステータスを見直す

再実行は、全件ではなく失敗分だけにします。

全件を再実行すると、成功済みの外部登録まで重複する可能性があります。

そのため、処理ログには次を持たせます。

項目 理由
再実行可否 同じ処理をもう一度流してよいか判断する
外部ID 既存データを更新するか、新規作成するか決める
最終エラー 入力不備か外部障害かを分ける
試行回数 無限リトライを避ける
最終実行者 手動再実行の責任を残す

Webhookの失敗対応は、通知の失敗だけでなく、受信後の外部処理まで含めて設計します。再実行は失敗分だけを対象にします。

Power Automate・Zapier・DataCollect連携の使い分け

Webhookの受け先は、個別開発だけではありません。

Power Automate、Zapier、DataCollect、iPaaS、チャット連携なども選択肢です。

手段 向いている用途 注意点
Power Automate Microsoft 365、Outlook、Teams周辺の連携 有償プラン、OAuth許可、ゲストスペース制約を確認する
Zapier 小さな通知、Gmail、SaaS同士の簡易連携 料金、実行履歴、失敗時の再実行を確認する
DataCollect kintoneアプリ間の集計・自動更新 更新条件、履歴、対象アプリの責任分界を決める
iPaaS 複数SaaSをまたぐ定型連携 フロー監視、権限、料金、保守担当を決める
個別開発 重要データ、複雑な条件、監査が必要な連携 キュー、ログ、再実行、テストが必要

kintoneヘルプでは、Microsoft Power Automateを使って、kintoneと他のWebサービスの間でデータをやり取りできること、kintone側のトリガーとしてレコード追加、更新、削除、コメント投稿、プロセス管理のステータス更新を選べることが説明されています。

kintoneヘルプ:Microsoft Power AutomateとKintoneを連携する

DataCollectでは、kintoneアプリへのレコード追加、編集、削除、ステータス更新をきっかけに集計やレコード追加を行うWebhook系の機能が用意されています。

DataCollect:機能一覧

使い分けは、次のように考えます。

要件 推奨
チャットへ軽い通知を出す Power Automate、Zapier、チャット連携
kintoneアプリ間で集計更新したい DataCollect
外部SaaSへ顧客や請求を送る iPaaSまたは個別開発
失敗分だけ再実行したい 個別開発、または再実行管理できるiPaaS
監査ログと外部IDを残したい 個別開発または連携ログアプリ併用
条件が頻繁に変わる kintone側の状態設計と設定運用を分ける

軽い通知なら連携サービスで十分です。

一方、会計、請求、在庫、顧客マスタのような重要データを扱う場合は、ログ、外部ID、再実行、停止手順まで持てる構成を選びます。

kintone連携サービスの選び方はこちら

よくある失敗

kintone Webhookでよくある失敗を整理します。

失敗 原因 対策
通知が多すぎる レコード編集を全部対象にした ステータスや送信フラグで条件を絞る
CSV更新分が外部へ流れない Webhookが発火しない操作を使った CSV取込後のバッチや手動実行を用意する
二重登録される 通知IDや外部IDを見ていない 冪等性キーを持つ
外部障害で通知が消える 受信後すぐ外部更新している キューと処理ログを挟む
誰も失敗に気づかない 実行ログを見に行く運用だけ 失敗通知と失敗一覧を作る
URLが漏れると危険 認証や検証がない 署名、シークレット、アプリID検証を入れる
個人情報を出しすぎる 通知内容をそのまま転送した 外部に出す項目を絞る
保守できない Zapやフローの所有者が個人 管理者、棚卸し、停止手順を決める

特に危ないのは、Webhookの受信先で直接すべての処理を完了させようとする構成です。

軽いチャット通知ならそれでも成立します。

しかし、外部SaaSへの登録、請求連携、在庫反映、マスタ同期のような処理では、途中で失敗したときにどこまで進んだかを追える必要があります。

Webhookを受ける。

検証する。

キューへ入れる。

処理する。

ログを残す。

失敗分だけ再実行する。

この分離があるだけで、障害時の対応が大きく変わります。

実装前チェックリスト

kintone Webhookを設定する前に、次を確認します。

チェック 確認内容
目的 通知だけか、外部更新まで行うか
発火条件 追加、編集、削除、コメント、ステータス更新のどれか
操作経路 CSV、一括削除、一括REST API操作を使うか
送信条件 すべての編集か、状態やフラグで絞るか
送信内容 外部へ出してよい項目だけか
受信URL 本番・検証・開発を分けているか
認証 URLだけに依存していないか
検証 アプリID、操作種別、通知ID、必須項目を確認するか
キュー 外部処理と受信を分けるか
冪等性 二重通知でも結果が壊れないか
ログ 受信、処理、外部ID、結果、エラーを残すか
通知 失敗と保留だけ適切な人に届くか
再実行 失敗分だけ処理できるか
停止 連携を止める手順があるか
保守 フローやURLの所有者が決まっているか

このチェックリストに答えられない状態でWebhookを増やすと、通知先だけが増え、運用が追えなくなります。

Webhookは便利ですが、重要な業務データを扱うほど、設定より受信後の設計が重くなります。

Bitlightに相談できること

Bitlightでは、kintone Webhookを使った外部連携を、設定だけでなく運用まで含めて設計できます。

たとえば、次のような相談に対応できます。

  • Webhookを使うべき処理とREST API・JavaScriptで作るべき処理の切り分け
  • レコード追加、編集、削除、コメント、ステータス更新の発火条件設計
  • CSV更新や一括REST API操作を含む業務の代替連携設計
  • Webhook受信エンドポイント、認証、入力検証の設計
  • キュー、冪等性、二重処理防止、外部ID管理の設計
  • 失敗通知、処理ログ、再実行画面の設計
  • Power Automate、Zapier、DataCollect、iPaaS、個別API連携の使い分け
  • 既存Webhook連携が止まる、重複する、追えない状態の見直し

Webhookは、外部連携を始めるには便利です。

ただし、業務で使い続けるには、通知先URLを設定するだけでは足りません。

発火条件、送信内容、受信側の検証、キュー、ログ、再実行、停止手順まで決める必要があります。

kintone Webhookは、通知を飛ばす設定ではなく、外部連携を止まっても追える形にするための入口として設計します。

kintone業務アプリ設計支援

kintone Webhookを、止まっても追える外部連携として設計します

Power Automate、Zapier、DataCollect、個別API連携を、通知条件、受信認証、二重処理防止、手動再実行まで含めて実装します。

著者
守高 成悟
守高 成悟

代表取締役 CEO

千葉県出身。10歳の頃からプログラミングを始め、ゲーム、Webサイト、ロボット、スマホアプリなどを制作。大阪大学基礎工学部情報科学科で情報工学と統計学を学び、大学時代はAIを研究。大学在学中にWeb広告代理店でのインターンや人材系Webサービスの立ち上げを経験し、卒業後はフリーランスエンジニアとしてGISシステム、データ基盤構築、Webシステムの開発に従事。10年以上のWebアプリ開発・データ分析経験を基に、2023年9月に株式会社ビットライトを設立し、現場業務の仕組み化からデータ基盤構築、データ活用支援までを一気通貫で支援。

運営会社
株式会社ビットライト
株式会社ビットライト

顧客が本当に必要だった価値を、実装する。

現場業務の仕組み化からデータ基盤構築、データ活用支援までを一気通貫で支援しています。

コーポレートサイトを見る
kintone設計相談

アプリ構成・権限・連携範囲を相談できます

Excelからの移行、既存kintoneの見直し、外部サービス連携まで、業務に合わせた設計範囲を整理します。