menu
%}

スプレッドシートの連携に便利!無料アドオン「Data connector for Salesforce」を使ってみた!!

 2021.11.02 customer_success

こんにちは、カスタマーコンサルタントのKです。
Salesforce上のデータを一括更新する際やデータ抽出の際にDataLoaderを使用する事があると思いますが、Googleスプレッドシートの無料アドオン「Data connector for Salesforce」はご存知でしょうか。
Data connector for Salesforceは、Salesforce上のレポートやレコードデータをそのまま任意スプレッドシートへ抽出することができます!
また、スケジュール登録をすることで数時間おきにSalesforce上のデータを自動的にスプレッドシートへ落としてくる、なんてことも可能です!

今回はSalesforceでデータを扱う上で非常に便利なData connector for Salesforceの使用方法と注意点についてご紹介します!

なぜData connector for Salesforceを使う?

通常、Salesforce上のデータの抽出や一括登録する際は、Dataloaderを使用するかと思います。
しかしそのDataloaderの使用時に、次のような場面に遭遇したことはないでしょうか?

csvファイルを用意→DataLoaderでインポート→エラー発生→エラー内容確認→csvファイルを修正&保存→Dataloaderでインポート→エラー発生………と何度もcsvファイルを修正しては保存しDataLoaderでインポートするといった場面を…。

Data connector for Salesforceではスプレッドシート上で加工したデータをそのまま閉じることなくSalesforceへのインポートが可能で、エラーが発生してもエラー箇所が一目でわかるためデータの修正が容易です!

他にもData connector for Salesforceは以下のようなことが可能です♪

  • 更新、インポート対象のレコードを任意かつ容易に選択可能
  • オブジェクト、項目のマッピングを表示ラベルで指定可能
  • Salesforceのレポートをスプレッドシートへ抽出可能
  • データの抽出をスケジュール登録可能
  • 同じファイルへ何度も抽出できるため、スプレッドシートの関数と併用することで帳票化が可能
    etc…

このようにData connector for Salesforceを使用することでデータの一括更新や修正の作業効率を飛躍的に向上させることが期待できます!

アドオン取得と認証

Data connector for SalesforceはGoogleスプレッドシートのアドオンですので、まずこちらよりアドオンを取得します。
アドオンを取得できたらスプレッドシートの[アドオン]タブ→[Data connector for Salesforce]→[Click to enable the add-on]とクリックします。
スクリーンショット 2021-08-25 112353 
クリックするとページ下部に「処理しています」と一瞬表示されます。

表示が消えましたら、再度[アドオン]→[Data connector for Salesforce]→[Open]とクリックします。

スクリーンショット 2021-08-25 113551

ページ右部にSalesforce組織への認証画面が表示されます。
[Production](本番環境)または[Sandbox]をプルダウンで選択し、[AUTHORIZE]ボタンを押下します。
スクリーンショット 2021-08-25 113731

Salesforceへのログインが要求されますので、ログインしてください。
スクリーンショット 2021-08-26 143818

ログインが成功すると、Data connector for Salesforceからのアクセスを求める画面が表示されるので、[許可]をクリックしてください。
スクリーンショット 2021-08-26 144027

以下の画面が表示されたら、Data connector for Salesforceを使用することができます。
スクリーンショット 2021-08-26 145230

主な機能

Data connector for Salesforceのメニュー画面では5つの機能があることが確認できます。
スクリーンショット 2021-08-26 145230

  1. Reports
    Salesforce上で作成したレポートをスプレッドシートへ抽出することができます。
  2. Import
    レコードデータをスプレッドシートへ抽出することができます。
    クリック操作で完結しますが、SOQLを発行することで条件を指定した抽出も可能です。
    DataLoadと似ていますが、オブジェクト名や項目をラベル名で検索することができ、非常に便利です。
  3. Update
    スプレッドシート上にあるデータをSalesforceへレコードデータとして作成及び更新することができます。
  4. Delete
    スプレッドシート上にあるデータをSalesforceIDを使用して一括削除することができます。
  5. Refresh
    Data connector for Salesforceを使用してデータ抽出したシートを自動更新または手動更新することができます。自動更新は「4時間・8時間・12時間」の間隔のいずれかで任意のタイミングでスケジュール実行が可能です。

その主な5つの機能の使い方を詳しくご紹介していきます。

Reports

Salesforce上で作成した↓のレポートをスプレッドシートへ抽出してみましょう。
スクリーンショット 2021-08-30 172228-1
作業は以下の通り非常にシンプルです!
画面遷移01
スプレッドシートへ結果が返ってきました。
スクリーンショット 2021-08-30 174223-1
結果は2,000行以上のレポートでしたが、しっかり全件抽出することができました。

レポートがグループ化されており、グループ化状態をそのままスプレッドシートへ抽出したい場合は、レポート選択画面で[Group results if possible]にチェックを入れます。(この場合、結果は2,000行までしか返しません)
また、私の環境では行も列もグルーピングされたマトリックス形式のレポートだと上手く抽出ができなかったので、サマリー形式または[Group results if possible]からチェックを外して抽出を行うといいです。

Import

Salesforce上のレコードデータをスプレッドシートへ抽出する機能が「Import」となります。
※スプレッドシートのデータをSalesforceへインポートする機能は、後述の「Update」となりますのでご注意ください。

「Import」の作業は次のような工程となります。

  1. 抽出対象オブジェクトを指定
  2. 抽出したい項目を指定
  3. 抽出条件があれば条件を指定
  4. [GET DATA]を押下
  5. スプレッドシートに条件に一致したレコードが抽出される

以下の例では「取引先責任者」オブジェクトから住所に「東京都」と含まれるレコードのみを抽出しています。
画面遷移02-1

指定した通り抽出することができました。
スクリーンショット 2021-09-13 110823

さらに細かい抽出条件を指定したい場合は、SOQLを使用して抽出することも可能です♪

Update

「Update」ではデータのInsert(挿入)、Update(更新)またはその両方を行えます。

「Update」の作業は次のような工程となります。

  1. 対象レコードをスプレッドシート上で選択
  2. [Update]を押下
  3. 選択したスプレッドシートのレコード(行)が黄色に変化
  4. 対象オブジェクト、ID列(Updateの場合のみ)、結果を返す列の指定
  5. スプレッドシート上の列とSalesforceのレコード項目のマッピング
  6. Salesforce上のレコードが更新される

以下の例は既存の取引先責任者のレコードに電話番号を上書きする一括更新を行う処理です。
画面遷移03-2

処理が完了したら結果が「Result Column」で指定した列に表示されるので、エラーが起きた際に直接シートを直して、再度Updateし直すこともできるので効率的に作業できます♪

Delete

「Delete」はスプレッドシート上のレコードとSalesforceのレコードをSalesforceIDをキーにしてSalesforceから一括削除を行う機能です。

作業工程は「Update」の作業と基本的には変わりません。次のような工程となります。

  1. 対象レコードをスプレッドシート上で選択
  2. [Deleteを押下(選択したスプレッドシートのレコード(行)が赤色に変化)
  3. 対象オブジェクト、ID列、結果を返す列の指定
  4. Salesforce上のレコードが削除される

※一括削除を行う場合は、指定対象のレコードが正しいか十分にご確認ください。

Refresh

「Refresh」は「Reports」及び「Import」でスプレッドシート上に抽出したデータを再抽出できる機能です。
一度、指定した抽出条件を再度設定し直す必要が無く、スプレッドシート上にあるレコードを新しい状態にリフレッシュできます。

また、「Auto Refresh」を設定することによりデータの抽出をスケジューリングができ、スプレッドシートをより即時性の高い状態に保つことができます。

「Auto Refresh」の頻度は「4時間・8時間・24時間」の3パターンで設定可能です♪

つまずいたところ

最後に私自身がData connector for Salesforceを使用した際につまずいたところを備忘録も兼ねてお伝えいたします。

認証ができない①

Salesforce上でプロファイルの「ログインIPアドレス制限」が設定されている場合、認証の際に出現するポップアップで以下のエラーメッセージが出てきて認証が失敗することがあります。

「Denied, your acess to this addon may be blocked on Salesforce, unblock it to use the addon. You can close this page」

「ログインIPアドレス制限」が原因であることは、Salesforce上の[設定]→[ユーザ]→自身の[ユーザの詳細]を参照→[ログイン履歴]で確認することができます。

Data connector for SalesforceからのログインがログインIP制限により弾かれていることがわかります。

この問題に対処するには、Data connector for Salesforceが使用するIPアドレスを「ログインIPアドレス制限」の設定で許可する必要があります。
※この作業を行う前に必ずSalesforceの管理者や会社のセキュリティ担当に確認を行ってください。

認証ができない②

こちらも認証時の問題についてです。
ポップアップウィンドウではなく、Data connector for Salesforceの画面自体に以下のようなエラーメッセージが表示される場合があります。
スクリーンショット 2021-09-28 214537
エラーメッセージ
Your session with Salesforce has expired and could not be refreshed. If this continues to occur please check your Salesforce settings for "Lock sessions to the IP address from which they originated". This Add-on cannot function with that setting enabled in Salesforce.

この問題に対処するには、「ログイン時の IP アドレスとセッションをロックする」を無効化する必要があります。

無効化の作業は、次の通りです。
[設定]→[セッションの設定]→[ログイン時の IP アドレスとセッションをロックする]のチェックボックスからチェックを外す

詳しくは公式ヘルプ「セッションセキュリティ設定の変更」をご参照ください。


※この作業を行う前に必ずSalesforceの管理者や会社のセキュリティ担当に確認を行ってください。

2,000件以上のレポートが取得できない

「Reports」機能を使ってレポートをスプレッドシートへ抽出しようとした際に、以下のように1件も抽出できないことがあります。
image-png-Sep-28-2021-12-28-54-69-PM
これは「行レベル数式または集計項目を使用している、2,000件以上のレポート」の場合、私の環境で起きました。
環境のよるものか仕様なのかは調査中です。
現状の解決策として「2,000件以上のレポートを抽出したい場合は行レベル数式及び集計項目を使用しない」など工夫を行っております。
※因みに、オブジェクト項目としての数式項目が入っている場合は問題なく抽出できます。
原因について分かりましたらブログを通じて共有させていただきたいと思います!

最後に…

Salesforceの管理をしている場合に、データの抽出や分析を行う際にスプレッドシートを使用することが多々あるかと思います。

もちろんDataloderも非常に便利なツールですが、今回紹介したData connector for Salesforceは無料アドオンながら様々な機能や利便性を有しているため、作業効率化がすこぶる期待できます!

この記事が少しでも皆様の作業のお力になれたら幸いです!

Salesforce運用・保守でお悩みならサークレイス