アプリ間連携
kintoneで別アプリのレコードを保存時に自動更新する方法
「案件アプリを保存したら、顧客マスタの最新ステータスも一緒に書き換えたい」「進捗アプリの値を、別の管理アプリへそのまま反映したい」。kintone を使い込むほど、こうしたアプリ間でデータを更新したい場面が増えてきます。ところが標準機能だけだと、別アプリの値を見ることはできても、書き込んで更新するのは思った以上に難しいのです。この記事では、その理由と、JavaScript を書かずに解決する方法を整理します。
ルックアップと関連レコードでできること
kintone には、別のアプリと連携するための標準機能が 2 つあります。関連レコード一覧とルックアップです。どちらも便利ですが、役割はあくまで「参照」に限られます。
- ルックアップ: 別アプリのレコードから値を取り込む。たとえば顧客コードを入力すると、顧客マスタから会社名や住所をコピーしてくる。
- 関連レコード一覧: 条件に合う別アプリのレコードを、詳細画面に一覧として差し込んで表示する。
注意したいのは、これらが取り込んだ側のアプリに値を表示するだけだという点です。ルックアップで顧客マスタの名前を取り込んでも、それは「今のアプリ」に名前を表示しているだけで、顧客マスタ側のレコードは一切変わりません。関連レコードも同様に、相手アプリを読み取って見せているだけです。
標準では「別アプリを更新する」のが難しい理由
つまり、kintone の標準機能は「別アプリから読む(参照する)」方向には強い一方で、「別アプリへ書く(更新する)」方向の仕組みを持っていません。プロセス管理やアクションも、操作の対象は基本的に今開いているアプリのレコードであって、別アプリのレコードを保存と同時に書き換えることはできないのです。
そのため、これまでは API を叩く JavaScript カスタマイズを書くしかありませんでした。レコード保存イベントを拾い、検索キーで相手アプリを問い合わせ、ヒットしたレコードを更新する——という処理を自前で組む必要があり、非エンジニアには手が出しにくい領域でした。入力チェックのカスタマイズと同じく、「やりたいことは単純なのにコードが要る」典型例です。
JavaScript なしでアプリ間更新を自動化する
この「保存時に別アプリの 1 件を更新する」処理を、設定だけで実現できるのがアプリ間レコード更新プラグイン(cross-app-updater)です。コードは書きません。
設定するのは大きく 3 つです。まず、現在のアプリ側と更新先アプリ側で「どのフィールドを突き合わせ鍵にするか」を決めます。たとえば両アプリの顧客コードどうしを鍵にします。次に、更新先アプリの ID を指定します。最後に、現在レコードのどの値を相手のどのフィールドへ反映するか、項目の対応づけ(たとえばステータス → 最新ステータス)を登録します。これで、レコードを保存するたびに、鍵が一致する相手アプリのレコードへ必要な値だけが自動で書き込まれます。
マスタや進捗管理アプリへ「現在レコードの値を 1 件だけ確実に反映したい」というケースに向いており、初期設定はおよそ 12 分が目安です。
知っておきたい制約(正直なところ)
便利な反面、向き不向きははっきりしています。このプラグインは鍵で一致したレコードがちょうど 1 件のときだけ更新します。安全のための割り切りで、次の点は事前に理解しておいてください。
- 0 件のとき: 更新先が見つからなければ保存を止めて知らせます。新規に作成したりはしません。
- 複数件のとき: 鍵で複数ヒットすると、どれを書き換えるべきか決められないため、誤更新を防ぐために保存を止めます。
- 一括更新には不向き: 一度の保存で複数のレコードをまとめて書き換える用途には向きません。あくまで「1 対 1 の確実な反映」が得意分野です。
裏を返せば、鍵が一意になるよう設計されたマスタ更新や進捗反映では、誤った相手を書き換える心配が少なく、安心して自動化できます。まずは小さなアプリで鍵と項目対応を試し、運用に合うか確かめてから本番に広げるのがおすすめです。
よくある質問
ルックアップや関連レコードで別アプリを更新できますか?
できません。ルックアップは別アプリの値を取り込む、関連レコード一覧は別アプリのレコードを一覧表示する機能で、どちらも参照(読み取り)専用です。相手アプリのレコードに書き込んで更新する仕組みは標準にはありません。
JavaScript を書かずにアプリ間更新を自動化できますか?
できます。アプリ間レコード更新プラグインなら、検索キーと反映する項目の対応を画面で設定するだけで、保存時に別アプリの対象レコードへ値を反映できます。コードは不要です。
更新先が見つからない、または複数あるとどうなりますか?
鍵で一致したレコードがちょうど 1 件のときだけ更新します。0 件や複数件がヒットした場合は、誤った相手を書き換えないよう保存を止めて知らせます。複数件の一括更新には向きません。
kintone 活用のヒントをメールで
新しい使い方の記事や新プラグインのお知らせを月数回お届けします(配信解除はいつでも)。
この課題を解決するプラグイン
アプリ間レコード更新(保存時に別アプリを更新)
保存時に、鍵が一致する別アプリのレコード 1 件へ必要な値だけを反映。JavaScript を書かず、参照だけでは届かなかったアプリ間のデータ更新を自動化できます。まずは無料で試せます。
全10種を定額でまとめて使うなら Pro プランも。料金プランを見る