SalesforceとGoogleスプレッドシートを連携する方法
スプレッドシートの台帳をSalesforceに反映したい。Salesforceの商談をスプレッドシートで集計したい。どちらも「連携」と呼ばれますが、向きによって、選ぶやり方も、事故の起き方も変わります。やり方を選ぶ前に決めておくことと、4つのやり方の向き不向きをまとめました。
最初に、データの向きを決める
連携の相談で最初に確かめるのは、データがどちらからどちらへ流れるかです。向きは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問・登録不要)で確かめられます。