にメンテナンス済み

アプリ間連携プラグイン

アプリのレコードが更新された際に、関連する他アプリのレコードを更新します。アプリ間の同期や、ルックアップフィールドの最新化に活用できます。

アプリ間連携プラグイン

プラグインの主な機能

当プラグインをインストールすることで、以下の機能が利用可能になります。

🔗

アプリ間の自動データ連携

レコードの作成・更新・削除・プロセス変更を起点に、関連する他アプリのレコードを自動的に更新します。複数の連携先を同時に設定することも可能です。

📋

4種類のフィールドバインディング

フィールドのコピーだけでなく、固定値の設定、複数フィールドの文字列結合、四則演算に対応した計算式による値の設定ができます。

プロセス管理にも対応

kintoneのプロセス変更イベントにも対応。対象とするアクション名や変更後のステータス名を絞り込んで、特定のプロセス操作のみ連携を実行できます。

🎯

柔軟な実行条件

フィールドの値に基づいた条件を設定し、プラグインの実行を制御できます。条件を満たすレコードのみ連携対象とすることで、意図しない更新を防ぎます。

レコードの自動作成

連携先アプリにマッチするレコードが存在しない場合でも、自動的に新規レコードを作成するオプションを提供しています。

🗑️

関連レコードの削除

レコードの削除イベントに連動し、連携先の対象レコードを自動的に削除する機能を搭載。関連データを一括で整理できます。

kintone では複数のアプリを連携させてデータを管理するケースが多くありますが、アプリ間のデータ同期はノーコードで実現するのが難しい課題です。

例えば「受注管理アプリ」でレコードを更新したら「在庫管理アプリ」の在庫数も自動的に減らしたい、「プロジェクト管理アプリ」のステータスが変わったら「タスク管理アプリ」の関連タスクも更新したい、といった要件はよくあります。

kintone の標準機能だけではこうした自動連携を実現することはできず、JavaScript カスタマイズを書くか、外部ツールを使う必要がありました。

当プラグインを使用することで、こうしたアプリ間のデータ連携をノーコードで設定できます。

プラグインが提供する機能

アプリ間の自動データ連携

kintone のレコードに対して以下の操作が行われたとき、設定に従って連携先アプリのレコードを自動的に更新します。

  • レコードの作成
  • レコードの更新時(詳細画面・一覧画面のインライン編集)

これらのトリガーイベントは設定ごとに個別に選択できます。例えば「作成時のみ連携する」といった細かい制御が可能です。

トリガーイベントの選択画面

4 種類のフィールドバインディング

連携先のフィールドに書き込む値のソースとして、以下の 4 種類から選択できます。

タイプ説明
フィールドコピー元アプリのフィールド値をそのままコピー顧客名 → 連携先の 取引先名
固定値常に同じ値を設定"確認待ち" → 連携先の ステータス
文字列結合複数フィールドの値を組み合わせて1つの文字列にする{{fieldCode:姓}} {{fieldCode:名}}田中 太郎
計算式四則演算で計算した結果を設定{{fieldCode:単価}} * {{fieldCode:数量}} * 1.1 → 税込み合計

フィールドコピー時は、元フィールドと連携先フィールドの型が異なる場合でも自動的に型変換を行います。例えばテキストフィールドの値を数値フィールドへコピーする、といったことが可能です。

トリガーイベントの選択画面

プロセス管理との連携

プロセス管理のアクション実行時に連携を行う場合、さらに細かい絞り込みが可能です。

  • アクション名でフィルタリング: 特定のアクション(例: 「承認する」)のときのみ実行
  • ステータス名でフィルタリング: 特定のステータス(例: 「承認済み」)に遷移したときのみ実行

これにより「承認されたときだけ請求書アプリにレコードを作成する」といった複雑なワークフロー連携が実現できます。

柔軟な実行条件の設定

連携を実行する条件をフィールドの値で細かく設定できます。

複数の条件を AND で組み合わせることも可能で、例えば「優先度が”高”、かつステータスが”対応中”のときのみ連携する」といった設定ができます。

条件を設定しない場合は、対象のトリガーイベントが発生するたびに無条件で連携が実行されます。

レコードが存在しない場合の自動作成

連携先アプリにキーフィールドがマッチするレコードが見つからない場合の挙動を選択できます。

「連携先にレコードが存在しない場合は作成する」オプションをオンにすると、連携先アプリに新しいレコードを自動的に作成します。これにより、元アプリで初めてレコードが作成されたときに連携先アプリのレコードも同時に作成させる、といった使い方が可能です。

関連レコードの削除

削除イベントをトリガーにした際、連携先の該当レコードも一緒に削除するオプションを提供しています。

「条件を満たすとき連携先の対象レコードを削除する」をオンにすると、キーフィールドがマッチするすべての連携先レコードが削除されます。

削除操作は取り消しできません

このオプションを有効にすると、連携先アプリのレコードが完全に削除されます。削除されたレコードを復元する方法はありません。設定前に動作を十分確認してください。

処理結果のダイアログ表示

設定で「更新結果をダイアログで表示する」をオンにすると、連携処理が完了した後に結果をダイアログで確認できます。

  • ✓(緑): 正常に更新できた設定
  • –(グレー): 実行条件を満たさずスキップされた設定
  • ✗(赤): エラーが発生した設定

処理が複数の設定にまたがる場合も、それぞれの結果が分かりやすく表示されます。

プラグインが活きるシーン

受注・在庫・請求を自動で連携したい場面

受注アプリでレコードを作成したとき、在庫管理アプリの在庫数を自動で減算したり、請求管理アプリへ請求レコードを自動作成したりといった複合的な連携が1つのプラグインで実現できます。

ステータス変更を他アプリに反映したい場面

プロジェクト管理アプリのプロセスが「承認済み」になったとき、関連する複数のタスク管理アプリのレコードのステータスを一括で更新する、といった使い方に最適です。

マスタデータの変更を子アプリへ伝播したい場面

取引先マスタアプリで担当者が変更されたとき、その取引先に紐づく別アプリのレコードの担当者フィールドも自動更新するといった、マスタデータ管理の場面で活躍します。

データの正規化・変換が必要な場面

文字列結合や計算式を使うことで、連携元の複数フィールドを組み合わせた値を、連携先の1つのフィールドに設定することができます。手作業での転記ミスを防ぎつつ、データの整合性を保てます。

設定手順

1. 連携先アプリを選択する

「連携先アプリ」のドロップダウンから、更新対象のアプリを選択します。

ゲストスペース内のアプリとも連携できます。アプリを選択すると、プラグインが自動的にゲストスペースかどうかを判断します。

2. キーとなるフィールドを設定する

元アプリと連携先アプリを紐づけるためのキーフィールドを両方のアプリで選択します。

元アプリのキーフィールドの値と一致するレコードを連携先アプリから検索し、そのレコードを更新対象とします。

3. トリガーイベントを選択する

どのタイミングで連携を実行するかを選択します。

  • レコード作成時: レコードが新規作成されたとき
  • レコード更新時: レコードが編集・保存されたとき
トリガーイベントの選択画面

4. フィールドバインディングを設定する

連携先のどのフィールドに、どのような値を書き込むかを1行ずつ設定します。

バインディングタイプを「フィールドコピー」「固定値」「文字列結合」「計算式」から選び、連携先フィールドと組み合わせて設定します。

5. 実行条件を設定する(任意)

特定の条件を満たすレコードのみ連携を実行したい場合は、実行条件を設定します。

複数の条件をすべて満たす場合のみ連携が実行されます(AND 結合)。

6. オプションを設定する

以下のオプションを必要に応じて設定します。

  • 連携先にレコードが存在しない場合は作成する: キーフィールドがマッチするレコードが見つからない場合に自動作成します
  • 条件を満たすとき連携先の対象レコードを削除する: 連携先のレコードを更新ではなく削除します
  • 更新結果をダイアログで表示する: 処理完了後に結果を確認できるダイアログを表示します

7. 設定を保存して動作確認する

設定を保存した後、実際にレコードを操作して連携が正しく動作することを確認してください。

「更新結果をダイアログで表示する」をオンにしておくと、最初の動作確認がスムーズです。

安全な計算式エンジン

計算式バインディングで使用される計算エンジンは、evalFunction を使用しない独自の再帰降下パーサーで実装されています。

これにより、Content Security Policy(CSP)が有効な環境でも安全に動作し、任意のコードが実行されるセキュリティリスクもありません。

対応している演算: +(加算)、-(減算)、*(乗算)、/(除算)、()(括弧)、単項マイナス

// 式の例
{{fieldCode:単価}} * {{fieldCode:数量}} * 1.1
({{fieldCode:金額A}} + {{fieldCode:金額B}}) / 2
-{{fieldCode:調整額}} + {{fieldCode:合計}}
設定画面でリアルタイム検証

設定画面で計算式を入力すると、式が有効かどうかがリアルタイムで検証されます。無効な式は保存前に確認できます。

注意事項

サポートされていないフィールドタイプ

キーフィールドとして「カテゴリー」「グループ」「関連レコード一覧」「テーブル」は使用できません。これらのフィールドタイプは kintone の仕様上、検索クエリの対象外となっているためです。

大量のレコードが連携先に存在する場合

キーフィールドでマッチするレコードが連携先アプリに大量に存在する場合、処理に時間がかかることがあります。連携先の検索条件(dstQuery)を活用して、対象を絞り込むことをお勧めします。

お問い合わせ

プラグインの不具合や、機能追加のご要望などがあれば、画面上部のナビバーからお問い合わせください。

プラグインのソースコード

本プラグインはオープンソースです。 ソースコードは GitHub で公開されており、どなたでも自由に確認できます。

詳細な実装内容や構成に興味がある方は、ページトップの「ソースコードを確認する」ボタンからリポジトリにアクセスしてください。

よくある質問

  • 複数のアプリへ同時に連携できますか?

    はい。プラグインの設定を複数追加することで、1回のレコード操作で複数のアプリを同時に更新できます。

  • 連携先にレコードが存在しない場合はどうなりますか?

    デフォルトでは何も行いません。「連携先にレコードが存在しない場合は作成する」オプションをオンにすることで、自動的に新規レコードを作成します。

  • ゲストスペースのアプリとも連携できますか?

    はい。連携先アプリの選択時に、ゲストスペース内のアプリも選択できます。プラグインが自動的にゲストスペースかどうかを判定し、適切なAPIを使用します。

  • プロセス管理の特定のアクションのみ連携できますか?

    はい。トリガーイベントに「プロセス変更時」を選択した場合、対象とするアクション名や変更後のステータス名を個別に設定できます。空のままにするとすべてのアクション・ステータスが対象になります。

  • 計算式ではどのような演算ができますか?

    加算(+)、減算(-)、乗算(*)、除算(/)および括弧による演算順序の制御に対応しています。フィールドコードは「{{fieldCode:フィールドコード}}」の形式で式内に埋め込むことができます。

リリースノート

バージョン3.0.0
2026/04/13

計算式バインディング(calc)の実装
文字列結合バインディング(concat)の実装
固定値バインディング(fixed)の実装
トリガーイベントの個別指定に対応
実行条件をフィールド条件で設定できるモダン形式に対応

バージョン1.2.0
2025/04/01

更新結果をダイアログで表示する機能を追加
連携先にレコードが存在しない場合に作成するオプションを追加

🎉
バージョン1.0.0
2024/07/29

初回リリース