kintoneのデータ加工やアプリ間のデータ連携を行いたい時にkrewDataを活用するシーンは多いかと思います。
バッチ処理的にスケジュール実行する以外にもkintoneにレコードが追加されたり、レコードの編集やプロセスが回ったときにもkrewDataのジョブが実行できるリアルタイム実行機能がついたことでますます利用シーンが増えました。
データ連携には大将軍級の働きをしてくれるkrewDataですが一つ注意点があります。
krewDataでレコードを作成した場合にWebhookの通知が動きません。
たとえば、案件管理で受注レコードが追加されたら発注管理にレコードを追加し、さらに発注管理から請求管理にレコードを追加するといった連携を行いたいとします。
その際、以下のような形でリアルタイム実行単位を2つ追加し、発注管理から請求管理への実行を発注管理のレコード追加時のWebhookを利用して連携しようとしても発注管理にレコードが追加されたタイミングでWebhookが動かず、請求管理にレコードが追加されません。
これはkrewDataの仕様で、krewDataでレコードを作成する処理がkintoneのレコード一括登録APIを使用しているからのようです。
kintoneのWebhookはAPIからの登録時も動くのですが、1件登録用のAPIのときにだけ動き、一括登録用のAPIのときは動きません。
※「Webhookを設定する」(Webhookのヘルプページ)の補足欄にも記載されています。
なので、この場合は、1つの実行単位で2つのアプリにレコードを追加する処理にするか、リアルタイム実行で作成された後にスケジュール実行で別のアプリにレコードを追加するといった処理にする必要があります。
また、krewDataで作成されたらkintone以外の別システムにデータ連携したいといった場合もWebhookは利用できないのでご注意ください。