kintoneでアプリが数本に増えてくると、必ず出てくる悩みがあります。「顧客アプリと案件アプリに、同じ会社名を2回入れている」「案件ごとの対応履歴を、案件の画面から見たい」。つまりアプリ同士をどうつなぐかという話です。検索しても出てくるのは個々の機能の操作手順ばかりで、「自分のケースではどれを使えばよいのか」が分かりません。本記事では、つなぐ手段を3つに分けて性格の違いを整理し、選び方と、つないだ後に決めておくべきことをお伝えします。
アプリを分けた結果、「同じ情報を2回入れる」が起きる
kintoneは業務ごとにアプリを分けて作るのが基本です。顧客、案件、見積、問い合わせ、日報——分けること自体は正しい設計です。ところが分けた途端に、現場では次のことが起きます。
- 顧客アプリにも案件アプリにも、会社名・担当者名・住所を手で入力している
- 顧客側で社名が変わっても、案件側の古い社名がそのまま残る
- 案件の画面を見ても、その案件に紐づく対応履歴が分からず、別アプリを検索し直している
- 月次の集計のために、両方のアプリからCSVを出してExcelで突き合わせている
このうち前半はデータの重複、後半は「見えない」問題です。どちらもアプリを分けたこと自体の失敗ではなく、分けた後につなぐ設計をしていないことから来ています。そもそものアプリの切り方で起きる問題は使われないkintoneアプリの設計ミスで扱いました。本記事はアプリの切り方は決まっている前提で、その間をどうつなぐかに絞ります。
なお、アプリが増えて「どこから入ればよいか分からない」という入口の問題は別の論点です。そちらはkintoneが「アプリの寄せ集め」で終わる会社、「業務ポータル」に育つ会社の違いをご覧ください。
ルックアップ・関連レコード一覧・プラグイン——それぞれ何をつなぐ仕組みか
つなぐ手段は、おおまかに3つに分けて考えると迷いません。それぞれ「何を解決する仕組みなのか」が違います。
- ルックアップ(標準機能)——他のアプリのレコードを検索して、その値を自分のレコードに取り込む仕組みです。案件アプリで顧客を選べば、社名や住所がコピーされます。二重入力をなくすのに向いています。性格として重要なのは、取り込んだ時点の値がコピーされるという点です。元のアプリ側で社名を直しても、すでに作られた案件レコードの値は自動では変わりません(取得し直す操作が必要です)
- 関連レコード一覧(標準機能)——条件に合う他のアプリのレコードを、自分のレコードの画面に一覧で表示する仕組みです。顧客の画面にその顧客の案件を並べる、案件の画面に対応履歴を並べる、といった使い方になります。表示するだけなので、データは増えません。「見えない」問題を解決するのはこちらです
- プラグイン・連携サービス・API開発——標準機能の範囲を超える要求に応えるものです。複数アプリのデータを突き合わせて1つの表にする、片方を更新したらもう片方も書き換える、集計した結果を別アプリに書き戻す、といった処理が該当します。弊社でもアプリ結合プラグインを配布しているのは、この領域に標準機能だけでは届かない場面があるからです
整理すると、値を持ってきたいならルックアップ、見せたいだけなら関連レコード一覧、それ以上ならプラグインや開発という順番です。この順番で考えると、最初の2つで足りる場合も少なくありません。なお、kintoneの機能や制限は提供元の仕様変更で変わりうるため、具体的に設計する段階ではその時点の公式情報をご確認ください。
【判断基準】標準機能で足りる場合・プラグインや連携が要る場合
切り分けの目安は、次のとおりです。
標準機能(ルックアップ・関連レコード一覧)で足りるのは、こういう場合です。
- つなぎたいのが1対多の関係で、親から子を見たい・子に親の値を持たせたい、という素直な形になっている
- 取り込んだ値が、入力時点のもので構わない(契約時の社名を履歴として残したい場合は、むしろこのほうが適切です)
- 見たいのは関連するレコードの一覧表示まで(関連レコード一覧の項目の合計などは、標準機能では集計できません)
- つなぐ相手が、同じkintone内のアプリである
プラグインや連携の検討が必要になるのは、次の場合です。
- 元のアプリの値が変わったら、すでに作られたレコードも追随させたい(ルックアップの性格と合いません)
- 関連レコードの合計を親のレコードに表示したい、複数アプリを横断した1枚の表やクロス集計が必要など、画面上の一覧では用が足りない
- 多対多の関係(1件の案件に複数の商品、1つの商品が複数の案件に)を正面から扱いたい
- つなぐ相手がkintoneの外にある(基幹システム、会計、ファイルサーバーなど)
最後の点は、アプリ間連携とは別の判断が必要な領域です。社内の既存システムとつなぐ話はkintoneと基幹システムのデータ連携で、手段の分類から整理しています。
もう一つ、目安があります。「標準機能で8割の用が足りるなら、残り2割は運用でしのぐ」です。残り2割のためにプラグインや開発を入れると、作った本人以外が触れない部分が増えます。2割の不便と、触れない部分が増える不便を比べて決めてください。
つないだ後に困らないための決めごと
つなぎ方を決めたら、公開する前に3つだけ決めておいてください。これを飛ばすと、半年後に「どちらの数字が正しいのか分からない」という状態になります。
- 1. どちらのアプリが「正」か——顧客情報の正はどのアプリか。両方で直せる状態にすると、必ず食い違います。正でないアプリ側は、その項目を編集できない設定にしておくのが安全です
- 2. つなぐためのキー項目——顧客コードなのか、社名なのか。社名のような変わりうる値をキーにすると、名称変更のたびに関係が切れます。重複を許さない設定にできるコード項目を用意しておくのが基本です
- 3. 更新の向きと、いつ取り直すか——元のアプリが変わったとき、取り込み済みの値をどうするか。放置してよいのか、年に1回取り直すのか、その都度直すのか。決めていないと、誰も触らないまま古い値が残ります
この3つは、アプリを作る前に紙1枚で書けます。つなぐアプリの名前を並べ、矢印を引いて、どちらが正かとキー項目を書き込むだけです。設定を触る前にこれをやるかどうかで、後の手戻りがはっきり変わります。
まとめ——「値を持ってくる」か「見せる」かを先に決める
kintoneのアプリ間連携でつまずくのは、たいてい解きたい問題が「二重入力をなくす」なのか「見えないものを見せる」なのかを分けずに、機能の名前から考えたときです。
値を持ってきたいならルックアップ、見せたいだけなら関連レコード一覧。この2つで足りるケースが実際には多く、足りないと判断するのはその後でよいのです。そして、つなぐ前に「どちらが正か・キーは何か・更新の向きはどうするか」を決めておく。この順番にすれば、アプリが増えても整理のつく状態を保てます。
DX Connectでは、kintoneのアプリ構成の見直しからアプリ間連携の設計、標準機能で足りるかどうかの切り分けまでご相談を承っています。「いま分けているアプリのつなぎ方が適切か見てほしい」という整理だけでも構いませんので、お気軽にお問い合わせください。