KOTOFORIO
← 仕組みの設計:連携

SalesforceとGoogleスプレッドシートを連携する方法

スプレッドシートの台帳をSalesforceに反映したい。Salesforceの商談をスプレッドシートで集計したい。どちらも「連携」と呼ばれますが、向きによって、選ぶやり方も、事故の起き方も変わります。やり方を選ぶ前に決めておくことと、4つのやり方の向き不向きをまとめました。

この記事の現在地8つの要素のうち「連携」。線は、ズレが起きやすいつなぎ目です
データプロセスツールと構成連携測定と因果AIへの委任体制と評価定着と変革

最初に、データの向きを決める

連携の相談で最初に確かめるのは、データがどちらからどちらへ流れるかです。向きは3つあります。

Salesforce → スプレッドシート(読み出し)
商談やリードをシートに出して、集計・加工・共有に使う。Salesforceのデータは変わらないので、失敗しても被害は小さい
スプレッドシート → Salesforce(書き込み)
シートで管理している台帳や、外部から受け取ったリストをSalesforceに反映する。Salesforceのデータが書き換わるので、設計を誤ると重複や上書きの事故が起きる
双方向
両方で編集し、互いに反映する。どちらの値が正しいかの決まりがないと、更新のたびに値が行き来して壊れる。できるだけ避け、どちらかを正にする

読み出しだけなら、どのやり方でもたいてい困りません。慎重に選ぶ必要があるのは、書き込みを含むときです。

4つのやり方

1. スプレッドシートのアドオン
Googleの「Data connector for Salesforce」や、Coefficientなどの有料アドオン。画面の操作だけで、Salesforceのレポートやオブジェクトをシートに取り込める。定期更新や書き戻しに対応するものもある。読み出し中心で、まず試したいときに向く。書き戻しの条件や料金はアドオンごとに違うので、導入前に確かめる
2. iPaaS(MakeやZapierなど)
「シートに行が増えたら、Salesforceに作成・更新する」のような流れを、画面でつないで作る。ほかのSaaSも同じ流れに入れたいときに向く。実行回数で料金が増えるので、件数が多いと費用がかさむ
3. Salesforceのデータローダー
CSVを手で取り込む。月に1回の一括更新なら十分。定期実行にするにはサーバーと設定が要る
4. Google Apps Script(GAS)で組む
シートに付いているスクリプトから、SalesforceのAPIを呼ぶ。追加の費用がかからず、項目の変換やエラー通知を自由に書ける。コードを持ち続ける人が要る

迷ったら、読み出しはアドオン、書き込みを定期的に回すならGASかiPaaS、と分けて考えると選びやすくなります。

どのやり方でも、先に決める3つのこと

書き込みを含む連携でつまずく原因は、ツールの選び方より、次の3つが決まっていないことにあります。

正しい値の持ち主
会社名や担当者は、シートとSalesforceのどちらが正しいのか。項目ごとに決めて、表にしておく。決めないまま両方で直すと、同じ顧客の情報がシステムごとに食い違う
突き合わせのキー
シートの1行が、Salesforceのどのレコードに当たるか。会社名で突き合わせると、表記ゆれで重複が増える。Salesforceに外部ID(シートの行IDなど)を持つ項目を作り、それをキーに「あれば更新、なければ作成(upsert)」にする
失敗したときの扱い
1,000行のうち3行だけ失敗したとき、どう気づき、どう直すか。失敗した行を通知し、キーで突き合わせていれば、もう一度流しても重複しない作りにしておく

この3つは、仕組みの設計の「連携」で扱っている論点そのものです。1本の連携でも、決めておくと作り直しが減ります。

GASで定期的に書き込むときの構成

シートからSalesforceへ、毎時や毎日、無人で反映する場合の構成です。

認証
SalesforceのConnected Appで、Client Credentials Flowを使う。ブラウザでのログインが要らず、連携専用のユーザーの権限で動くので、定期実行に向く
書き込み
REST APIのcomposite/sobjectsで、外部IDをキーに200件ずつupsertする。数千件を超えるならBulk API 2.0に切り替える
実行
GASの時間主導トリガーで定期実行する。1回の実行は6分までなので、件数が多いときは分けて流す
権限
連携専用のユーザーに、更新する項目だけを編集できる権限セットを付ける。「すべてのデータの編集」は付けない。Consumer Secretはスクリプトのプロパティに置き、コードに直接書かない
通知
失敗した行と理由をメールで送る。誰が受け取り、誰が直すかも決めておく

設計の進め方は「連携は、コードを書く前に9割決まる」にまとめています。

問い

いまスプレッドシートとSalesforceの両方にある項目を1つ選んでください。値が食い違ったとき、どちらを正しいとするかを、チームの全員が同じように答えられるでしょうか。答えが分かれるなら、連携を組む前に、その決まりを1行で書くところから始めるのがよいと思います。

この記事のテーマを、自社で確かめる

「連携」の状態を、5問で確かめる

システムのあいだで、どう渡すか。登録不要で、約2分です。続けて残りの要素にも答えると、8要素の結果と、要素のあいだのズレの兆候がわかります。

連携の5問に答える →

この記事は、営業の仕組みを8つの要素で整理したナレッジベースの一部です。全体像は仕組みの設計:8つの要素にまとめています。自社の状態は仕組みの自己診断(40問・登録不要)で確かめられます。