スプレッドシート連携 for kintone
シートと kintone、二重の入力をやめる。
スプレッドシート連携 for kintone は、Google スプレッドシートと kintone アプリを双方向に同期する kintone プラグインです。社外の方はシートのまま入力し、社内は kintone のまま管理できます。両方で入力した値は、前回同期したときの値と比べてそろえます。中継サーバーも GAS も要りません。
社外とはスプレッドシート、社内は kintone。二重に入力していませんか
販売代理店・協力会社・取引先とは、Google スプレッドシートで進捗や実績を共有している。けれど社内の管理は kintone。すると、相手がシートに書いた内容を kintone に打ち直し、kintone で決まったことをまたシートに書き写すことになります。どちらが新しいのか分からなくなり、CSV を往復させれば、相手が同時に直した値を上書きして消してしまいます。
スプレッドシート連携は、シートと kintone の両方を正として扱います。相手に kintone のアカウントを配る必要はなく、シートの使い方も今のままです。変わった側の値だけを、もう片方へ反映します。
しくみ
行とレコードを番号で結ぶ
シートの右端に「kintoneレコード番号」の列を置きます。行番号は使わないので、並べ替え・行の挿入・フィルタをしても結び付きは崩れません。
前回の値と比べる
前回同期したときの値をレコードに控えておき、シートと kintone のどちらで変わったかを列ごとに判定します。片方だけの変更は、そのまま反映します。
列ごとに入力する側を決める
「シート専用」「kintone専用」「両方可」を列ごとに選べます。kintone専用の列はシート側で保護し、社外の方が書き換えられないようにします。

読み書きは ブラウザから Google へ直接行います。当社のサーバーはデータの経路に入りません。Google に求める権限は drive.file の 1 つだけで、Picker で選んだスプレッドシート以外は読み書きできません。
Google につなぐのは、アプリ管理者が一度だけ
設定画面の「① Google 接続」で、アプリ管理者が一度だけ Google に接続します。接続するのはシートを編集できるアカウントです。レコードを見る一般の利用者が Google にログインする必要はありません。同期は、接続したアカウントの権限で動きます。
![プラグイン設定画面の「① Google 接続」。接続方式として KIZUNA Works の接続を使うか自社の Google Cloud を使うかを選べ、その下に接続中のアカウントと接続日時、[Google に接続し直す][接続を解除]のボタンが並んでいる](/images/sheets-sync-config-01.png)
- 求める権限は
drive.fileの 1 つだけです。Google Picker で選んだファイルしか読み書きできず、ドライブの他のファイルは見えません。 - スプレッドシートの ID を手で入力する欄はありません。Google の選択画面(Picker)から選びます。「マイドライブ」「共有ドライブ」のどちらからも選べます。
- 接続は設定画面の[接続を解除]でいつでも切れます。
- Google のリフレッシュトークンは 6 か月間まったく使われないと失効します(Google の仕様)。日常的に同期していれば起きません。
設定は、シートを選んで表を確かめるだけ
シートを選ぶと 1 行目を見出しとして読み取り、見出しとフィールド名が一致する列は自動で対応づけます。当たらなかった列だけ、表で選び直してください。左の「シートの見え方」で、シート側でどの列が保護され、どの列を社外の方が入力するかを色で確かめられます。



- 見出しに
会社名 [company]のように角かっこでフィールドコードを書いておくと、それを最優先で使います。全角半角・空白・記号の違いは無視して照合します - ユーザー選択・組織選択・計算・ルックアップなどは kintone専用です(kintone からシートへ書き出すだけ)
- 「(同期しない)」にした列は、読みも書きもしません
必要なフィールドは、ボタン 1 つで

フィールドがまだ無いアプリでも始められます(プレミアム)。「見出しからフィールドを作成」で、シートの先頭 200 行から種類(入力規則のリスト→ドロップダウン、数字だけ→数値、日付の書式→日付、改行あり→文字列(複数行)など)を推定し、確認の表で選び直してからフィールドを作ります。
同期は、一覧を開いたときと[同期]を押したとき
レコード一覧画面のツールバーに[⇄ 同期]が出ます。押すと、シートと kintone の両方で変わったものを反映します。プレミアムでは、一覧を開いたときに裏で自動同期し、レコードを保存したときにその 1 件をすぐシートへ書き戻します。
![kintone の案件管理アプリのレコード一覧。ツールバーの右側に紺色の[同期]ボタンがあり、一覧には会社名・先方担当者・見込み時期・確度・製品名・単価・ユーザー数・小計・案件担当者名と、同期状態の列(同期済み)が並んでいる](/images/sheets-sync-action-01.png)



[同期]ボタンは、名称・色・形・置き場所を変えられます
![設定画面の「[同期]ボタンの見た目と配置」。ボタンの名称に「シートと同期」、色見本から緑、カラーコード欄に #2E8B2E、形に丸(両端が丸い)、置く場所にアプリ名の帯・右を選び、下の見本に緑の丸いボタン「シートと同期」が表示されている](/images/sheets-sync-config-11.png)

- 自動同期は一覧の表示を待たせません。変わったものが無ければ何も出しません
- 保存時の書き戻しに失敗しても保存は成功し、同期状態を「未反映」にして次の同期で反映します
- 1 回に処理する件数(既定 500 件)を超えた分は、次回に回します(取りこぼしません)
- [同期]ボタンの見た目と置き場所の設定は無料でも使えます。アプリ名の帯では、テーマスタイラーなど同じ帯にボタンを置くプラグインと同じ位置を選んでも、重ねずに横に並べます
- 中継サーバーを持たないため、リアルタイムの同期や時刻を決めた自動実行はできません。シートの変更は、誰かが一覧を開いたとき(または[同期]を押したとき)に反映します
シートで入力した方にも、何が起きたかが分かる
シートは自由に書けるぶん、「120名」のように数値として読めない値や、選択肢に無い値も入ります。そうした値はその列だけ取り込まず、ほかの列は取り込みます。そして、シートの「同期状態」の列に、列名と理由を出します。入力した方がシートを見れば、自分で直せます。


- シートの同期状態の列には、ほかに必須未入力・取り込み失敗・kintoneから削除済み・重複番号の印が出ます
- kintone でレコードを削除しても、シートの行は消しません(「kintoneから削除済み」と印を付けます)
- シートから行を削除したレコードは、kintone で「シートから削除済み」になります。詳細画面の[シートに再追加]で、末尾に行を戻せます
両方で変えたとき、相手ごとに分けたいとき
競合したとき
前回の同期のあと、シートと kintone の両方で同じ列が変わったときだけ競合になります。「kintone 優先」ならシートを kintone の値で、「シート優先」なら kintone をシートの値で上書きします(無料プランは kintone 優先で固定・シート優先はプレミアム)。上書きされた側の値は、同期ログに残せます。
振り分け(プレミアム)
取引先コードなどの振り分けフィールドの値ごとに、行き先のファイルを分けられます(最大 10 シート)。取引先ごとに別のファイルで共有すれば、ほかの取引先の情報は見えません。シートから取り込んだレコードには、そのシートの値が振り分けフィールドへ自動で入ります。
- 列の構成は全シート共通です(対応づけは 1 回だけ)
- シートと紐付いたレコードは、振り分けフィールドを変えられません(別のシートへ移ってしまうのを防ぐため)
- 同じファイルのほかのタブは共有相手に見えます。相手ごとに見せる範囲を分けたいときは、別のファイルにしてください
共有相手と共有ドライブ
- シートを編集してもらう社外の方に必要なのは Google アカウントだけです。Gmail でなくても、会社のメールアドレスで作った Google アカウントで構いません。kintone のアカウントは要りません
- 共有は Google スプレッドシートの[共有]で通常どおり行ってください。このプラグインは共有の設定を変えません。取引先の情報を扱うときは、「リンクを知っている全員」ではなく相手のアカウントを指定して共有してください
- 保護範囲(番号・同期状態・kintone専用の列)は、接続した Google アカウント以外は編集できません。ただしシートの持ち主には保護が効かないため、持ち主が kintone専用の列に書き込んだ場合は kintone に入れず、kintone の値へ戻して「確認:」の印を出します
- 同期中のシートを共有ドライブへ移動しても、ファイルの ID は変わらないのでそのまま同期できます。コピーしたファイルは別のファイルなので、設定画面で選び直してください
Google の読み取りの上限と、kintone の API 回数の目安
Google スプレッドシートの読み取りは 1 分あたり 60 回までで、接続したアカウント 1 つをアプリを使う全員で分け合います。同期 1 回で 1 シートにつき 1 回(書き込みがある回は 2 回)読むため、目安はアプリ全体で 1 分あたり「60 ÷ シート数」回の同期です。
| 場面 | kintone の API 回数の目安 |
|---|---|
| 変化のない自動同期 | 1 回 |
| 自動同期の間隔内に一覧を開き直した | 0 回 |
| 1 行ぶんの反映 | 3 回(レコード数に比例しません) |
| 端末ごと 1 日 1 回の全件照合 | 上記+紐付いたレコード 500 件ごとに 1 回 |
- プラグインの通信も、kintone の「1 アプリ 1 日 10,000 回」に数えます
- Google の上限に当たったとき、自動同期は何も言わずに見送り、その端末は 1 分間自動同期を止めます。[同期]ボタンでは「1 分ほど待ってから、もう一度お試しください。」と出ます
- 多くの人が同じアプリを頻繁に開く場合は、自動同期の間隔(端末ごと・一覧を開くたび/1/5/10/30 分)を長めにしてください
- KIZUNA Works の接続は、当社の Google Cloud を全ご利用者で共有しています。日常的に上限に当たる場合は、自社の Google Cloud に切り替えてください
記録と、失敗の知らせ
同期ログを記録する設定(プレミアム・既定 OFF)を有効にすると、保管アプリ「スプレッドシート連携ログ」を自動で作ります。失敗したときだけ、指定したユーザーへ kintone の通知が届きます。同じ失敗は、端末ごとに初回だけ知らせます。

主な機能
双方向の同期
シートの行は kintone のレコードに、kintone で変えた値はシートの同じ行へ。kintone で作ったレコードはシートの末尾に追加します。
列ごとの持ち主と保護
シート専用/kintone専用/両方可を列ごとに。kintone専用の列はシート側で保護します。
値エラーの表示
読めない値はその列だけ取り込まず、シートの同期状態の列に列名と理由を出します。
自動の対応づけ
見出しとフィールド名/フィールドコードが一致する列は自動で対応づけ。角かっこでの明示指定にも対応します。
ボタンの見た目と置き場所
[同期]ボタンの名称・色・形を変え、ツールバーかアプリ名の帯(左・中央・右)に置けます。
自動同期と即時書き戻し 🔒
一覧を開いたときに裏で同期し、保存したレコードはその場でシートへ書き戻します。
振り分け 🔒
振り分けフィールドの値ごとに別のファイルへ(最大 10 シート)。相手ごとに見せる範囲を分けられます。
見出しからフィールドを作成 🔒
シートの中身から種類を推定し、確認してから kintone のフィールドを作ります。
競合ルール・ログ・通知 🔒
列ごとにシート優先も選べます。同期ログの保管アプリと、失敗したときの kintone 通知も使えます。
インストール手順
- 上の「無料でダウンロード」から
kw-sheets-sync-v1.0.0.zipを保存します。 - kintone の「kintoneシステム管理」→「プラグイン」を開き、「読み込む」から zip を読み込みます。
- 同期したいアプリで「アプリの設定」→「プラグイン」→「プラグインの追加」から追加します。
- 歯車アイコンから設定画面を開き、[Google に接続]でシートを編集できるアカウントを選んで許可します。接続するのはアプリ管理者だけで、一般の利用者に Google ログインは要りません。
- 「② シート」でスプレッドシートとタブを選び、「③ 列の対応づけ」で対応づけと持ち主を確かめ、[必要なフィールドを作成する]を押します。
- [保存]を押してアプリを更新すると、一覧のツールバーに[同期]ボタンが出ます。最初の同期で、シートに「kintoneレコード番号」「同期状態」の列が追加されます。
プランについて
無料のままでも、1 シートを[同期]ボタンで双方向に同期できます(列ごとの持ち主と保護範囲・値エラーの表示・[シートに再追加]・専用フィールドの作成は、すべて無料の範囲です)。自動同期と保存時の書き戻し、振り分け、見出しからフィールドを作成、競合ルールの選択・同期ログ・失敗通知が、プレミアム年間サポーターで解放されます(単品販売はありません)。
無料プラン
- ✅ 1 シートの双方向同期
- ✅ 一覧のツールバーの[同期]ボタンから実行
- ✅ 列ごとの持ち主と保護範囲
- ✅ 値エラー・確認の印(シートの同期状態の列)
- ✅ [シートに再追加]と専用フィールドの作成
- ✅ [同期]ボタンの名称・色・形・置き場所の変更
- ✅ 利用期限なし(設定画面に控えめな広告あり)
プレミアム年間サポーター
- ✅ 一覧を開いたときの自動同期と保存時の即時書き戻し
- ✅ 振り分け(値ごとに別のファイルへ・最大 10 シート)
- ✅ 見出しからフィールドを作成
- ✅ 競合ルールの選択(シート優先)と未反映の再送
- ✅ 同期ログの保管アプリと失敗したときの kintone 通知
- ✅ プレミアム全製品と、ちょこっとプラグイン全製品が使えます(設定画面の広告なし)
動作環境と制約
- kintone(PC のレコード一覧・詳細・追加・編集画面)。スマートフォンアプリでは同期しません(スマホでの変更は、次に PC で同期したときに反映します)
- ゲストスペース内のアプリに対応しています
- サブテーブル(表)と添付ファイルの同期は v1.0.0 では非対応です
- ユーザー選択・組織選択・計算・ルックアップなどは、kintone からシートへ書き出すだけです(シートから kintone へは書き込みません)
- リアルタイムの同期・時刻を決めた自動実行はできません(一覧を開いたとき/[同期]を押したとき/保存したときに同期します)
- 接続は KIZUNA Works の接続とお客様ご自身の Google Cloud のどちらでも動きます(自社の Google Cloud で使う設定手順・所要 15 分・費用なし)
よくある質問
kintone と Google スプレッドシートを双方向に同期できますか?
シートを編集する社外の方に、kintone のアカウントは必要ですか?
どのタイミングで同期されますか?
シートと kintone の両方で同じ値を変えたらどうなりますか?
kintone の値をシートで書き換えられたくない列はどうすればいいですか?
シートに kintone で扱えない値が入力されたらどうなりますか?
行を並べ替えたり、途中に行を挿入したりしても大丈夫ですか?
Google にどこまでの権限を渡すことになりますか?
kintone のデータが Google へ送られますか?
取引先ごとに別のシートで共有できますか?
フィールドをまだ作っていないアプリでも使えますか?
共有ドライブのスプレッドシートでも使えますか?
Google の利用上限や kintone の API 回数は大丈夫ですか?
自社の Google Cloud で使えますか?
無料プランではどこまで使えますか?
セキュリティ・データの取り扱い
このプラグインは、設定した内容を外部のチャットサービスへ送信します。何が・どこへ送られるかを正確にご説明します。気になる方はブラウザの開発者ツール(F12)で通信内容をご確認いただけます。
- 対応づけた列の値を、選んだ Google スプレッドシートへ書き込みます
このプラグインは「Google スプレッドシートと kintone アプリを双方向に同期する」ことが目的のため、kintone の値がシートへ出ます。送信先は、アプリ管理者ご自身が Google の選択画面で選んだスプレッドシートだけです。送られるのは、設定画面で列と対応づけたフィールドの値と、行とレコードを結ぶレコード番号・同期状態だけで、対応づけていないフィールドの値は送信しません。通信は利用者のブラウザから Google へ直接行い、当社のサーバーは経路に入りません(中継サーバーはありません)。
何を送るかは列の対応づけで、どの列を kintone から書き出すかは列ごとの持ち主で管理者が決められます。「(同期しない)」にした列は読み書きしません。kintone で作ったレコードをシートへ追加するかどうかも設定で切り替えられます。設定画面の「接続を解除」で、保管している接続情報を削除できます。
- ライセンス認証で当社へ送るのは ID とドメイン名だけ
ライセンスの確認のため、プラグイン ID と利用ドメイン名だけを当社サーバー(Google Apps Script)へ送信します。通信は kintone のプロキシ経由で行われます。通知の本文が当社サーバーを通ることはありません。
- スプレッドシートの読み書き:Google Sheets API(sheets.googleapis.com)へ、選んだスプレッドシートの読み取り・書き込み・保護範囲の設定を行います。ファイルがゴミ箱に入っていないかの確認に Google Drive API(www.googleapis.com)を使います。要求するアクセス権は drive.file スコープのみで、これは「利用者が選択したファイル」に限られます。ドライブ内のその他のファイルは参照できません(すべてのスプレッドシートを読み書きできる spreadsheets スコープは使用していません)。
- シートを選ぶ画面(Google Picker):アプリ管理者がスプレッドシートを選ぶときだけ、設定画面に Google のファイル選択画面(Google Picker)を表示します。このとき Google のスクリプト(apis.google.com/js/api.js)を設定画面に読み込みます。レコード画面では読み込みません。選択の結果としてプラグインが受け取るのは、選んだファイルの ID と名前だけです。
- Google の認可(OAuth 2.0):アプリ管理者が接続するときだけ、Google の認可画面(accounts.google.com)と当社の静的な受け取りページ(kizuna-works.jp/sheets-sync/callback.html)を使います。受け取りページは認可コードをブラウザ内で受け渡すだけで、認可情報がサーバーに保存されることはありません。更新用トークン(リフレッシュトークン)は kintone のプロキシ設定(setProxyConfig)に保管され、レコード画面の JavaScript からは読み出せません。同期に使うアクセストークンはブラウザのセッション(sessionStorage)にだけ置き、タブを閉じると消えます。
- 下記の処理は、お客様の kintone ドメイン内で完結します
いずれもご利用中の kintone ドメイン内の API 呼び出しだけで動作し、外部の第三者へは送信しません。
- レコードの作成・更新と専用フィールドの用意(自ドメイン内):シートの行をレコードにし、シートで変わった値を反映するため kintone REST API(/k/v1/records.json・/k/v1/record.json)を、同期に使う専用フィールドと一覧の作成のため /k/v1/preview/app/form/fields.json・/k/v1/preview/app/views.json・/k/v1/preview/app/deploy.json などを呼びます。いずれも自ドメイン内で完結します。
- 同期ログの記録と失敗時の通知(自ドメイン内):同期ログを有効にしたときだけ、結果を保管アプリ「スプレッドシート連携ログ」へ記録し、失敗したときは指定のユーザーへ kintone の通知を出します(/k/v1/record.json ほか)。いずれもご利用中の kintone ドメイン内で完結します。
- レコード画面では、実行時に外部ライブラリ(CDN)を読み込みません
第三者製ライブラリは同梱しておらず、改ざんリスクのある外部 CDN への依存もありません。設定画面で Google に接続し、スプレッドシートを選ぶときだけ、Google 公式のスクリプト(apis.google.com)を読み込みます。レコード画面では読み込みません。
- 設定情報は kintone の暗号化領域に保存
API キー等の秘匿情報をコードに直書きせず、設定は kintone 標準の暗号化された設定領域に保存します。
シートと kintone の二重入力を、やめる
スプレッドシート連携はプレミアム年間サポーター(税込 ¥16,500/年)に含まれます。単品販売はありません。無料のままでも、1 シート・[同期]ボタンでの双方向同期までお使いいただけます。
プレミアム年間サポーターを見る →