17
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Salesforce PlatformAdvent Calendar 2018

Day 19

Data connector for Salesforceを試してみた(GoogleSpreadSheetとSalesforceを連携)

Last updated at Posted at 2018-12-18

皆さんはSalesforceを導入する際に、お客様から「Excelみたいな入力がしたい」
と要望を受けたことはありませんか?

Data connector for Salesforce(ベータ)を利用すると、その要望を実現することができてしまうかも?!
しれません。
このアドオンを利用すると、任意のデータ出力やレポートをベースにデータの読み込み、データを登録・更新・削除ができます。
##インストール手順
Data connector for Salesforce(ベータ)にアクセスし、「無料」ボタンをクリック。
アドオンはGoogleアカウントごとにインストールする必要があります。

image.png

#アドオンの有効化&認証
新規スプレッドシートを開き、
アドオン → Data Connector for Salesforce → Click to enable the addon をクリック
image.png

アドオン → Data Connector for Salesforce → Open をクリックし、接続したい組織のID/PWを入力します。
(アプリケーション接続の許可を求められますので許可してください)
image.png

準備完了!
image.png

##データの取得
データ取得には3つの方法が用意されています。

  1. レポート
  2. オブジェクト、項目を指定
  3. SOQL

1.のレポートはSalesforce上に作成したレポートを指定し、データを表示できます。
・サマリ、マトリックスレポートは利用できません(取得できますが崩れます)
・更新に利用する際は、キー情報(Id、外部Id)もレポートに追加しておきましょう。
・レポートの検索もできるのですが、なぜか出てこない、、

2.はオブジェクト、項目の指定をし、データを取得します。
DataLoaderと同じような流れで選択でき、なんとオブジェクト名、項目名はフィルターを利用し選択できます(ラベル・API参照名両方に対応!)
個人的にはオブジェクト名選択時にフィルターがあるだけでも価値ありと思ってしまいます(笑

3.のSOQLはクエリを書いてデータを取得できます。
開発者コンソールのQueryEditorのようなイメージですね。開発者コンソールは結果をコピペできないので、
コピペ目的で利用するのもありかもしれません。

今回は2.の方法でデータを取得します。
Import → オブジェクト選択 → 項目選択 → 検索条件(上限件数) といった流れで設定をします。
ここでは、商談オブジェクト、すべての項目、作成日が2018年1月1日以降の商談を100件上限で取得します。
image.png

GET DATAをクリックすると、一覧が表示されます
(Activeシートに上書きするか、新規シートにするかは選択できます)
image.png

##データの登録・更新
登録・更新したい行を選択し、REFRESH SELECTED RANGE をクリックします。
そうすると、更新対象行に背景色が付きます。
※ちなみに複数選択(A行とC行といった選択)はできません
image.png

次に、更新したいオブジェクト(今回は商談)を選択し、操作(Insert/Update/Insert or Update)を選択します。またどの列の情報をキー(SalesforceId or 外部Id)にするか、と結果を出力する列も設定します。
image.png

次の画面では、各項目のマッピングを設定します。
今回はSalesforceから取得したデータをそのまま更新に利用しているためほぼマッピング済みですが、既存システムから出力されたCSVをアップロードする際は、この設定をしっかりする必要がありますね。
image.png
※Insertの場合、ReadOnly項目をマッピングしているとエラーが発生します。Insertの場合はマッピングは必要最低限にしておいたほうがよさそうです。Updateでは特にエラー発生せずでした。
※マッピング情報の保存はできなさそうです

最後に「EXECUTE」で完了です。
Insertの場合、結果列にSalesforceIdが出力されます。

操作感はDataLoaderと大きな差異はないので、違和感なく使えると思います。

##限界に挑戦?!
とりあえず10000レコードInsertしてみました。
image.png

結果は、、
image.png

ちゃんと登録されました!
Dev環境のため、データストレージが5MBしかないため、4000件以降LimitExceedが出てしまっていますが、きちんとレスポンスが返ってきました。所要時間は約5分ほどなので、DataLoaderと大きな差はなさそうです。もちろんカラム数などには依存するかもしれませんが、ある程度のデータ量には耐えられそうですね。
※バッチサイズは「200」固定のようです

#マクロとの組み合わせ
アドオンの実行をマクロに組み込めると、非常に強力だと思うのですが、現状(2018/12/19時点)うまくできず。。
アドオンのメニューオープンが定義されていないというスクリプトエラーが発生します。。
image.png

##まとめ
できることはDataLoaderとさほど変わらずですが、DataLoaderでよく実施する、Export→Excelで編集→Insert/Updateのような操作を、画面の切り替えをせず作業できるのはなかなか便利なのかなと思います。Nextなど画面遷移が発生する場面はDataLoaderに比べてちょっともっさりしていますが、そこまで気にはならないかと。

マクロも組み合わせて利用できると、できることの幅が一気に広がるのですが、現状できないので、今後のアップデートに期待です。単純にデータを入出力する、というだけでもなかなか便利だと思いますので、ぜひ利用してみてください。

Lightning Object Creatorやこのアドオン以外のGoogleSpreadSheet連携も発表されていますので、
今後もSalesforce + Google Cloudには注目していきたいですね!

17
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?