フォーム連携 for kintone アイコン
PREMIUM PLUGIN v1.0.0

フォーム連携 for kintone

打ち直しは、もういらない。

無料の Google フォームが、そのまま kintone の入力窓口になります。回答は回答スプレッドシート経由で取り込むので、中継サーバーも GAS も API トークンも要りません。列とフィールドの対応づけは、設定画面の表だけで終わります。

社外から集めた回答を、手で打ち直していませんか

申込・問い合わせ・アンケートを Google フォームで受けるところまでは簡単です。困るのはその先で、 kintone へ載せるには CSV を書き出して貼り付けるか、1 件ずつ入力するしかありません。 GAS を書く手もありますが、作った人しか直せないものを業務の真ん中に挟むのは、あとが続きません。

このプラグインは、kintone の側から回答スプレッドシートを読みに行きます。 Google 側に kintone への書き込み口を開ける必要がないので、 フォームの作り方も、回答を受け取る仕組みも、今のまま変えずに済みます。

しくみ

Google フォームは、[回答]タブから回答スプレッドシートを作れます。 本プラグインが読むのは、この 1 枚だけです。

STEP 01

Google フォーム

いつもどおり回答を受けます。フォームの作り方も、配布のしかたも変えません。

STEP 02

回答スプレッドシート

回答が 1 行ずつ溜まります。Google 側に手を入れる作業はここまでで終わりです。

STEP 03

kintone

kintone の側からこのシートを読み、まだ取り込んでいない行だけをレコードにします。

読み取りは ブラウザから Google へ直接行います。当社のサーバーはデータの経路に一切入りません。 Google に求める権限は drive.file の 1 つだけで、Picker で選んだ回答シート以外は読めません

Google につなぐのは、最初の一度だけ

設定画面の「① Google 接続」で、アプリ管理者が一度だけ Google に接続します。 レコードを見る一般の利用者が Google にログインする必要はありません。 取り込みは、接続したアカウントの権限で動きます。

プラグイン設定画面の「① Google 接続」。接続方式として KIZUNA Works の接続を使うか自社の Google Cloud を使うかを選べ、その下に接続中のアカウントと接続日時が表示されている
接続は 1 回だけ。更新用のトークンはプラグイン内に保管され、レコード画面の JavaScript からは読み出せません
  • 求める権限は drive.file の 1 つだけです。Google Picker で選んだ回答シート 1 枚しか読めず、ドライブの他のファイルは見えません。書き込みも行いません。
  • スプレッドシートの ID を手で入力する欄はありません。Google の選択画面(Picker)から選びます。そのファイルにだけアクセス権が付く仕組みのためです。
  • 接続は設定画面の[接続を解除]でいつでも切れます。解除すると保管していた接続情報も消えます。
  • Google のリフレッシュトークンは 6 か月間まったく使われないと失効します(Google の仕様)。日常的に取り込んでいれば起きません。
本番運用では、お客様ご自身の Google Cloud をおすすめします。 利用枠が自社専用になり、第三者の都合で止まることもありません。費用はかかりません。 → 自社の Google Cloud で使う設定手順(所要 15 分)
まず試したいだけなら、KIZUNA Works の接続のままで構いません。あとから設定画面で切り替えられます(切り替え後は回答シートを選び直して再接続します)。

設定は、表を埋めるだけ

回答シートを選ぶと見出し行を読み取り、見出しとフィールド名が一致する列は自動で対応づけます。 当たらなかった列だけ、表で選び直してください。

フォーム連携の設定画面の全体。上に製品名とバージョン、左に設定の目次(① 接続/② 連携フォーム/③ 動作と準備)、中央に 4 つのタブと設定項目、右に KIZUNA Works のサイドバーが並んでいる
設定画面の全体。左が目次、中央が設定、右はサイドバーです。タブは① Google 接続 → ② 連携フォーム → ③ 動作 → ④ 必要なフィールドの順に進みます。
プラグイン設定画面の「② 連携フォーム」の回答シート設定。選んだスプレッドシート「お問い合わせフォーム(回答)」、対象シート「フォームの回答 1」、このフォームの表示名「Web からのお問い合わせ」、初回の取り込み範囲の選択が並んでいる
連携フォームは 1 本につきこの 1 枚。表示名は取り込んだレコードの「取り込み元フォーム」に入ります。既存の回答もすべて取り込むか、これ以降だけかも選べます。
フォーム連携の設定画面。シートの列(タイムスタンプ・メールアドレス・会社名・ご担当者名・問い合わせ種別・お問い合わせ内容)と kintone フィールドの対応づけを表で指定している
列とフィールドの対応づけ。この例では 6 列のうち 4 列が自動で当たり、「会社名 → 顧客名」「お問い合わせ内容 → 詳細」の 2 列だけを選び直しています。
  • 見出しに お名前 [氏名] のように角かっこでフィールドコードを書いておくと、それを最優先で使います
  • 全角半角・空白・記号の違いは無視して照合します
  • Google フォームが必ず付ける「タイムスタンプ」列は、まだ使っていない日時フィールドがちょうど 1 つあるときだけ自動で割り当てます
  • 列に依らない固定値の行も足せます(「このフォームから来た回答はすべて Web 申込」など)

取り込みは、押すか、開くか

レコード一覧画面のツールバーにボタンが出ます。押すと差分だけを取り込みます。 プレミアムでは、一覧を開いたときに自動で取り込むこともできます。

レコード一覧画面のツールバー。「Google フォームの回答を取り込む」ボタンが、レコード追加の+ボタンの左に表示されている
ボタンはレコード一覧のツールバーに出ます。名前は設定画面で変えられます。
取り込む内容の確認画面。15 件の回答が、フォーム・行・受付日時・メールアドレス・顧客名・ご担当者名・問い合わせ種別の列で一覧表示されている
取り込む前に内容を確認できます(プレビュー)。どの値がどのフィールドへ入るかが、押す前に分かります。
取り込み中の進捗表示。「Web からのお問い合わせ:Google から回答を読み込んでいます…」と 20% の進捗バーが表示されている
いま何をしているかが分かる進捗表示。フォームが複数あるときは「何本目か」も出ます。
フォーム連携の設定画面の「③ 動作」タブ。取り込みのタイミング(自動取り込み)、手動取り込みのプレビュー、1 回あたりの上限、選択肢に無い値の扱いが並んでいる
2 つの経路の設定は「③ 動作」でまとめて決めます。自動取り込みの入/切、プレビューの有無、1 回あたりの上限。
  • 自動取り込みは一覧の表示を待たせません。裏で実行します
  • 取り込めたら一覧を更新して「◯ 件を取り込みました」と伝えます。新しい回答が無ければ何も出しません
  • 1 回あたりの上限を超えた分は次回に持ち越します(取りこぼしません)
  • レコードを追加する権限が無い方の画面には、ボタンを出しません

同じ回答が、二度入らない

取り込み位置を「何行目まで読んだか」だけで覚えると、回答シートから 1 行消えただけで以降がずれます。 本プラグインは行番号を目安にしつつ、同一性の判定には 回答の内容から作った回答ID(フォーム+タイムスタンプ+行内容のハッシュ)を使います。

設定画面の「このプラグインが使うフィールド」。回答ID・取り込み元フォーム・取り込み元フォームキー・取り込み元の行番号の 4 つが作成済みと表示されている
必要なフィールドはボタン 1 つで作れます。回答IDには[値の重複を禁止する]が付きます。

取り込む前に登録済みの回答IDを調べて除外し、最後は kintone の[値の重複を禁止する]が止めます。 複数の人が同時に一覧を開いても、同じ回答が二度入ることはありません。

複数のフォームを、1 つのアプリへ

会場別・部署別・年度別にフォームが分かれていても、1 つの kintone アプリにまとめられます(プレミアム)。 取り込んだレコードには「取り込み元フォーム」が入るので、一覧で絞り込めます。

  • フォームごとに別々の対応づけを持てます。設問の並びや言い回しが違っていても構いません。
  • フォームごとに固定値を足せるので、「このフォームから来た回答は〈東京会場〉」のような区別を自動で付けられます。
  • 取り込みは1 本ずつ順に行い、進捗に「何本目か」を表示します。1 本が失敗しても、残りのフォームは続けて取り込みます。
  • 無料プランでは連携フォームは 1 本までです。2 本目以降はプレミアムで解放されます。

選択肢が合わなくても、回答は失いません

Google フォームの「その他」や、フォーム側だけで増やした選択肢は、kintone の選択肢と一致しません。 そのときどうするかを選べます。

  • 退避する:レコードは作り、合わなかった値だけを別のフィールドへ 【設問名】値 の形で記録します
  • その行をスキップする:その行を失敗として記録します(どの行が、なぜ入らなかったかが残ります)

どちらを選んでも、黙って空欄で登録することはありません。 取り込めなかった回答は、原因を直してもう一度取り込めば登録されます。

記録と、失敗の知らせ

取り込みの履歴を残す設定(プレミアム・既定 OFF)を有効にすると、 同じスペースに保管アプリ「フォーム連携ログ」を自動で作ります。 実行日時・実行者・件数・失敗理由・元の回答内容が、1 回につき 1 レコード残ります。

失敗した回答があったときだけ、指定したユーザーへ kintone のベル通知が飛びます。 通知そのものは kintone 本体の「レコードの条件通知」が担うので、外部へメールを送る仕組みは入っていません。

主な機能

回答の取り込み

回答スプレッドシートの差分を読み、kintone のレコードにします。中継サーバー・GAS・API トークンは不要です。

自動の対応づけ

見出しとフィールド名/フィールドコードが一致する列は自動で対応づけ。角かっこでの明示指定にも対応します。

二重登録の防止

回答の内容から作る回答IDと、kintone の[値の重複を禁止する]の二段構えで止めます。

取り込みプレビュー

押す前に、どの値がどのフィールドへ入るかを確認できます。取り込めない行も一緒に見えます。

自動取り込み 🔒

一覧を開いたときに裏で取り込み、入ったら一覧を更新します。表示は待たせません。

複数フォームの集約 🔒

会場別・部署別に分かれたフォームを 1 つのアプリへ。取り込み元で絞り込めます。

取り込みログ 🔒

保管アプリを自動生成し、実行履歴・失敗理由・元の回答内容を残します。

失敗通知 🔒

取り込めなかった回答があったときだけ、選んだユーザーへ kintone の通知を飛ばします。

インストール手順

  1. 上の「無料でダウンロード」から kw-form-connect-v1.0.0.zip を保存します。
  2. kintone の「kintoneシステム管理」→「プラグイン」を開き、「読み込む」から zip を読み込みます。
  3. 回答を取り込みたいアプリで「アプリの設定」→「プラグイン」→「プラグインの追加」から追加します。
  4. 歯車アイコンから設定画面を開き、[Google に接続]で回答スプレッドシートを選びます。接続するのはアプリ管理者だけで、一般の利用者に Google ログインは要りません。
  5. 列とフィールドの対応づけを確認し(多くは自動で当たります)、[必要なフィールドを作成]を押してから保存します。
  6. アプリを更新すると、一覧のツールバーに取り込みボタンが出ます。
すでにお使いの場合は、同じ手順で新しい zip を読み込むと上書きされます。アプリごとの設定と Google との接続は保持されます

プランについて

無料のままでも、連携フォーム 1 本まで使えます(列の対応づけ・プレビュー・二重登録の防止・選択肢のずれの扱いは、すべて無料の範囲です)。一覧を開いたときの自動取り込み複数フォームの集約取り込みログと失敗通知が、プレミアム年間サポーターで解放されます(単品販売はありません)。

無料プラン

¥0/ 完全無料
  • ✅ 連携フォーム 1 本の取り込み
  • ✅ 一覧のツールバーのボタンから実行
  • ✅ 取り込む前のプレビュー
  • ✅ 回答IDと[値の重複を禁止する]による二重登録の防止
  • ✅ 選択肢に無い値の退避/スキップ
  • ✅ 利用期限なし(設定画面に控えめな広告あり)
無料でダウンロード
単品販売はありません。プレミアムに加入すると、保存済みの設定のままそのまま動きます。

動作環境と制約

  • kintone(PC のレコード一覧画面)。スマートフォンアプリでは動きません(何も差し込みません)
  • ゲストスペース内のアプリに対応しています
  • Google フォームのファイルアップロード(添付)とサブテーブルへの取り込みは v1.0.0 では非対応です
  • 取り込みは一方通行です。kintone で値を直しても Google フォームの回答には反映されません
  • Google との接続はアプリ管理者が一度だけ行います。一般の利用者に Google ログインは不要です
  • 接続は KIZUNA Works の接続お客様ご自身の Google Cloud のどちらでも動きます。本番運用では後者を推奨しています(自社の Google Cloud で使う設定手順・所要 15 分・費用なし)

よくある質問

kintone で Google フォームの回答を取り込めますか?
はい。フォーム連携 for kintone は、Google フォームの回答を「回答スプレッドシート」経由で kintone アプリのレコードにする kintone プラグインです。中継サーバー・GAS(Google Apps Script)・API トークンのいずれも不要で、列とフィールドの対応づけは設定画面の表だけで完結します。
Google フォームそのものを読むのですか?
いいえ。フォームの[回答]タブから作成する「回答スプレッドシート」を読みます。フォーム本体には触れません。回答シートへの書き込みも行わず、読み取りだけです。フォームの作り方や回答を受け取る仕組みは、いまのまま変えずに使えます。
GAS(Google Apps Script)は必要ですか?
不要です。中継サーバーも API トークンも要りません。kintone の側から Google へ読みに行く作りなので、Google 側に kintone への書き込み口を開ける必要がありません。
Google にどこまでの権限を渡すことになりますか?
drive.file というスコープ 1 つだけです。Google Picker で選んだ回答シート 1 枚しか読めず、ドライブにある他のファイルは見えません。接続はアプリ管理者が一度だけ行い、設定画面からいつでも解除できます。一般の利用者に Google ログインは不要です。
自社の Google Cloud で使えますか?
使えます。設定画面の「① Google 接続」で接続方式に「自社の Google Cloud を使う」を選び、クライアント ID・クライアント シークレット・API キーを入力してください。本番運用ではこちらをおすすめします(Google の利用枠はプロジェクト単位で決まるため、枠が自社専用になり、第三者の都合で止まることもありません)。有効にする API は Google Sheets API と Google Picker API の 2 つで、費用はかかりません。所要 15 分の手順は製品ページからリンクしている「自社の Google Cloud で使う設定手順」をご覧ください。ドライブ連携 for kintone と同じ Cloud プロジェクトを共用することもできます。
kintone のデータが Google へ送られることはありますか?
ありません。データの向きは外から kintone への一方通行です。Google へ渡すのは、選んだスプレッドシートの ID と読む範囲の指定だけで、レコードの値・フィールド名・アプリの構成は送りません。
回答シートの行を消したら、取り込みがずれませんか?
ずれません。同一性の判定は行番号ではなく、回答の内容から作る回答ID(フォームキー+タイムスタンプ+行内容のハッシュ)で行います。行が消えて番号が繰り上がっても、取りこぼしにも二重登録にもなりません。最後は kintone の[値の重複を禁止する]も効きます。
フォームの設問を増やしたらどうなりますか?
取り込み時に保存済みの見出し行と毎回照合し、変わっていたらそのフォームの取り込みを中止して「設問が変更されています」とお伝えします。黙って別の列を取り込むことはありません。設定画面でシートを選び直すと、見出しを読み直して対応づけをやり直せます。
取り込みは誰が、いつ実行するのですか?
レコード一覧画面を開いた方のブラウザが実行します。ツールバーのボタンを押す方法と、一覧を開いたときに自動で取り込む方法(プレミアム)の 2 つがあります。中継サーバーを持たないため、誰も一覧を開かない間は取り込みは行われません。レコードを追加する権限が無い方の画面にはボタンを出さず、自動取り込みも動きません。
フォームの選択肢が kintone の選択肢と合わないときはどうなりますか?
「合わなかった値だけを別のフィールドへ退避する」か「その行をスキップして失敗として記録する」かを選べます。どちらを選んでも、黙って空欄で登録することはありません。原因を直してもう一度取り込めば登録されます。
既にある回答も取り込めますか?
取り込めます。連携フォームごとに「これ以降の回答だけ」と「既存の回答もすべて」を選べます。件数が多い場合は 1 回あたりの上限ずつ複数回に分けて取り込み、超えた分は次回に持ち越すので取りこぼしません。
ゲストスペースのアプリでも使えますか?
使えます。ゲストスペース内のアプリに対応しています。なお対応しているのは PC のレコード一覧画面で、スマートフォンアプリでは動作しません(画面に何も差し込みません)。
無料プランではどこまで使えますか?
連携フォーム 1 本まで使えます。列とフィールドの対応づけ、取り込む前のプレビュー、回答IDによる二重登録の防止、選択肢が合わないときの退避/スキップは、すべて無料の範囲です。プレミアム年間サポーター(税込 ¥16,500/年)の対象は、連携フォームの複数本(複数フォームの集約)・一覧を開いたときの自動取り込み・取り込みログの保管アプリ・失敗したときの kintone 通知・広告非表示です。期限が切れても設定は消えず、先頭 1 本が手動で動く状態に戻ります。

セキュリティ・データの取り扱い

KIZUNA Works のプラグインは、お客様のデータを社外に持ち出さない設計です。気になる方はブラウザの開発者ツール(F12)で通信内容をご確認いただけます。

  • Google から取り込むだけで、kintone の値を Google へ送りません

    このプラグインは「Google フォームの回答スプレッドシートを読んで kintone のレコードにする」ことが目的です。データの向きは外 → kintone の一方向で、レコードやフィールドの値が Google や当社へ送られることはありません。Google へ出るのは、アプリ管理者ご自身が選んだ回答シートの ID と読み取り範囲(例:フォームの回答 1!A1:Z1000)だけです。回答シートへの書き込みも行いません。

  • 外部への通信は、ライセンス認証と下記の機能だけ

    ライセンスの確認のため、プラグイン ID と利用ドメイン名だけを当社サーバー(Google Apps Script)へ送信します。通信は kintone のプロキシ経由で行われます。

    • 回答スプレッドシートの読み取り:Google Sheets API(sheets.googleapis.com)へ、選んだ回答シートの指定範囲を読み取る要求を送ります。要求するアクセス権は drive.file スコープのみで、これは「利用者が選択したファイル」に限られます。ドライブ内のその他のファイルは参照できず、本プラグインは読み取りしか行いません(すべてのスプレッドシートを読める spreadsheets.readonly は使用していません)。
    • シートを選ぶ画面(Google Picker):アプリ管理者が回答シートを選ぶときだけ、設定画面に Google のファイル選択画面(Google Picker)を表示します。このとき Google のスクリプト(apis.google.com/js/api.js)を設定画面に読み込みます。レコード画面では読み込みません。選択の結果としてプラグインが受け取るのは、選んだファイルの ID と名前だけです。
    • Google の認可(OAuth 2.0):アプリ管理者が接続するときだけ、Google の認可画面(accounts.google.com)と当社の静的な受け取りページ(kizuna-works.jp/form-connect/callback.html)を使います。受け取りページは認可コードをブラウザ内で受け渡すだけで、認可情報がサーバーに保存されることはありません。取り込みのたびに使う更新用トークン(リフレッシュトークン)は kintone のプロキシ設定(setProxyConfig)に保管され、レコード画面の JavaScript からは読み出せません。取り込みに使うアクセストークンは設定画面のセッション(sessionStorage)にだけ置き、閉じると消えます。
  • 下記の処理は、お客様の kintone ドメイン内で完結します

    いずれもご利用中の kintone ドメイン内の API 呼び出しだけで動作し、外部の第三者へは送信しません

    • レコードの作成と必要なフィールドの用意(自ドメイン内):取り込んだ回答をレコードにするため kintone REST API(/k/v1/records.json)を、二重登録を防ぐフィールド(回答ID など)の作成・確認のため /k/v1/preview/app/form/fields.json・/k/v1/preview/app/deploy.json などを呼びます。いずれも自ドメイン内で完結し、外部へは送信しません。
    • 取り込みログの記録と失敗時の通知(自ドメイン内):取り込みの結果を保管アプリへ記録し、失敗したときは指定のユーザーへ kintone の通知を出します(/k/v1/record.json ほか)。いずれもご利用中の kintone ドメイン内で完結します。
  • レコード画面では、実行時に外部ライブラリ(CDN)を読み込みません

    第三者製ライブラリは同梱しておらず、改ざんリスクのある外部 CDN への依存もありません。設定画面で Google に接続し、回答シートを選ぶときだけ、Google 公式のスクリプト(apis.google.com)を読み込みます。レコード画面では読み込みません。

  • 設定情報は kintone の暗号化領域に保存

    API キー等の秘匿情報をコードに直書きせず、設定は kintone 標準の暗号化された設定領域に保存します。

セキュリティ・データの取り扱いについて詳しく見る

回答の打ち直しを、やめる

フォーム連携はプレミアム年間サポーター(税込 ¥16,500/年)に含まれます。単品販売はありません。無料のままでも、連携フォーム 1 本・ボタンからの取り込みまでお使いいただけます。

プレミアム年間サポーターを見る →