turbo-detail-on-car

弊社もご多分にもれずSalesforceが導入されています・・・(ハァ)


ベンダーは「何でも簡単にできますよ!」と口だけ。
相変わらず面倒なところは全部現場に押しつけです。

オンプレだろうがクラウドだろうが同じですね。
カッコイイ事ばかり言うけど、結局全部手入力。クリックが増えて腱鞘炎になりそうです。


苦しめられっぱなしも悔しい。何とかラクできないものか・・・

Salesforceに一括でデータ登録できるデータローダは、日常使いには向きません。
クセがすごくて・・・w
Salesforceに魂売りたくないというのもありますwww


で、調べてみると、
Microsoft Power Automateを使って、Google スプレッドシートの内容をSalesforceに登録する方法がありました。

※Excel Onlineから登録する方法もあるのですが、
OneDrive上のExcelファイルを認識してくれませんでした。
たぶん当社のMicrosoft365プランが Business Basic だからだと思います。
ケチくさいのって嫌ですね・・・


Power Automateはいろんな処理を自動化するサービスです。
たくさんのテンプレートがあるので、ノーコードで効率化を実現できます。
その他詳細についてはググっていただくとして・・・


情シスとしては、見た目だけカッコいいようなツールなど不要で、すぐ効果が出る機能だけが欲しいんですよね。
スプレッドシートにデータをベタっと貼り付けると、そのまま登録してくれるような。

「Salesforceにさっさとデータ登録したい」という要件に、Power Automateは合いそうです。


結果として実現することはできたのですが、
SalesforceやGoogle スプレッドシートなどにたくさんのクセがあり、かなり試行錯誤しました。諦めかけた時もあります。

ネットを見ても、Power Automateの概要についてはたくさんの情報がありますが、実際のドロドロしたところの記載が少ないように思えましたので、情報共有したいと思います。

同じようなところで困っている方のお役に立てればと思います。

※以下、一部画像にモザイクが入っております。ご了承ください。

Google スプレッドシートでの準備作業

まずはGoogleスプレッドシートからです。
Salesforceに登録したいデータを入力する器になります。

※Googleアカウントを持っていない場合は、取得してください。
Google アカウントの作成


Googleドライブを開きます。
GS1


ドライブ内の何もない場所で右クリックし、
「Google スプレッドシート」をクリック。
GS2


ファイルに名前をつけて、
Salesforceに登録したいデータ項目を1行目に入力します。
※固定値はPower Automate側で設定できます。
※後でPower Automateから参照するので、わかりやすいファイル名・項目名にします。
※以下キャプチャの右端にある「__PowerAppsId__」は入力不要です。Power Automateが自動で追加します。
GS3


Salesforceにデータを登録する場合、
 ・日付型は、yyyy-mm-dd形式
 ・Boolean型は、true/falseは小文字
という制約があります。

関連記事:
データローダでサポートされるデータ型

ところがGoogle スプレッドシートにtrue/false(小文字)を入力すると、
TRUE/FALSEと大文字に自動変換してしまいます。
このままではSalesforceに登録できません。

▼ハマりポイント
上記リンク先には、True/Falseは大文字小文字を区別しないとありますが、
私が試した範囲ではうまくいきませんでした。ここで悩みました。

これを回避するため、
入力したテキストそのままの書式を保持するよう、列のプロパティを変更します。

データが入る列を選択した状態で、
 メニュー[表示形式]-[数字]-[書式なしテキスト]
をクリックします。
GS4


これでGoogle スプレッドシートでの準備作業は完了です。

Power Automateでの準備作業

次はSalesforceにデータを登録してくれるPower Automateでの作業です。


Microsoft365のアプリ一覧から、「Power Automate」をクリックします。
PA-1

検索ボックスで「salesforce」と検索します。
PA-2


「Google スプレッドシートから Salesforce 潜在顧客を作成する」のテンプレートをクリックします。
PA-3


GoogleとSalesforceにサインインし、「続行」をクリック。
PA-4


いくつかのアクションが自動で登録されています。
※アクション名は異なる場合があります。

「recurrence」では、
Power Automateが動く間隔を指定します。
この間隔でGoogle スプレッドシートを参照しに行きます。
※あまり短い間隔を指定するとエラーになります。
エラーがあまり多いと、Power Automateが動かなくなるので、
私は長い間隔

「Get rows」では、Google スプレッドシートを指定します。
先ほど作成したスプレッドシートを選択します。
PA-5


「Create objectScope」でSalesforceの各項目に、
Google スプレッドシートのどのデータを登録するかを指定します。

テンプレート名に「潜在顧客」とありましたが、
他のSalesforceオブジェクトも選択できます。
PA-6

ボックスをクリックすると、Google スプレッドシートの項目が右に表示されますので、
そこから選択していきます。
PA-6-1


固定値は、設定したい値をそのまま入力します。
選択リストの項目は、選択肢の内容が表示されますので、その中から選びます。

Salesforceの数値型項目は、クリックしても何故かGoogle スプレッドシートの項目が表示されず、「現在のアイテム」と表示されます。
PA-6-2

が、「動的なコンテンツの検索ボックスで項目名を検索すると出てきますので、それを選択します。
PA-6-3

マスタデータを参照して登録したい場合(Salesforce項目名にIDと表示されている項目)、
参照先オブジェクトのレコードID(15 or 18桁の文字列)を指定する必要があります。

関連記事:
リストビュー・レポートでIDを調べて、
その値を固定値にするか、スプレッドシートから指定するようにします。
※リストビュー・レポートでIDが分からない場合は、データローダでエクスポートして確認します。
▼ハマりポイント
最初、マスタ参照した名称などをそのまま登録しようとしました。
そりゃ無理ですよね(笑)
Salesforce初心者なのでレコードIDの存在を知りませんでした。


「Delete rowScope」では、登録完了したGoogle スプレッドシートの行を消す設定をします。

この設定がないと、何度も同じデータをSalesforceに登録しに行ってしまうリスクがあるので、必ず設定します。
上で設定した「Get rows」と同じ設定にすれば大丈夫です。

フローを複写した場合、この部分の変更をし忘れると、
他のスプレッドシートシートの行を削除しに行ってしまうのでご注意下さい。
PA-7


フローを保存した後は、オンにする必要があります。
オンにすると、Power Automateが、Google スプレッドシートを定期的に監視し始めます。
PA-8


これでPower Automateでの準備作業は完了です。

Salesforceへのデータ追加

私はExcelでデータを準備し、それをGoogleスプレッドシートにコピペしてからPower Automateを実行する運用にしています。
Googleスプレッドシートに直接入力していると、その間にPower Automateが作動してしまい、中途半端な状態でデータ登録されるのが怖いからです。
Power Automateのフローを毎回オン/オフする運用なら直接入力で問題ないと思います。

準備ができたので、Salesforceへデータ追加していきます。

1.Google スプレッドシートに登録したいデータを入力(または貼り付け)します。

2.Power Automateのフローに設定した時間待つか、手動でフローを実行すると、
__PowerAppsId__」列が自動で追加され、その下に長い文字列が表示されます。
(Power Automateから認識された印です)
U1


3.Google スプレッドシートに入力したデータ行が削除されます
U2

4.Salesforceを確認してみると、データが登録されているはずです。


Googleスプレッドシートのデータが自動で削除されない場合は、
Power Automate側でエラーが出ているので修正します。

エラー表示されず、ずっとリトライし続けることも多いです。
そうなると地味~なトライ&エラーが必要です。これが辛い・・・


また、最初は数件くらいの登録で様子を見てください。
間違ったデータを大量に登録すると、後が大変ですので…



Googleスプレッドシートに入力した内容がスルスルと入っていくのは、
最高に気持ちがいいです。


ただ、最初から100点満点を目指す必要はないと思います。

全部固定値でも良いので、まずはきちんと動く形に持っていき、
そこから少しずつブラッシュアップしていくほうがいいと思います。


Power Automateはちょっとしたことで動かなくなるので、
試行錯誤する際はフローをコピーしておくのをお忘れなく。