Salesforce への書き戻し機能搭載!CData Sync v23.4でReverseETLが実現

by 宮本航太 | 2024年03月11日

SalesforceDestination 機能をサポート

こんにちは、プロダクトチームの宮本です!

先日リリースされた CData Sync v23.4 にて、とうとう Salesforce への書き込みが可能になりました!!これまでのCData Sync で同期先で選択できるコネクタは DB/Cloud DWH or クラウドストレージ、ファイルにしか対応していませんでしたが、Salesforce への同期もサポートしたことで「ReverseETL」構成も組めるようになり、CData Sync だけでSaaS データの集約~書き戻しまでが実現できるようになりました。

それではCData Sync で行うSalesforce への「ReverseETL」をみていきましょう。

本記事の3行サマリー✅

  •  Salesforce への書き込みをサポート
  •  初回リリースでは Snowflake と SQL Server のデータソースが選択可
  •  更新方法は「Insert」、「Upsert」、「Update」の3種類から選択可 

ReverseETL とは

名前の通りでETLの逆、いわゆるデータウェアハウスから SaaS へデータを更新することを指しています。アプリケーション間連携のような EAI とはまた別で、ETLのようにバッチ処理での連携を行います。例えば Salesforce のデータをデータウェアハウスで計算してから書き戻したい場合、①Salesforce → データウェアハウスで連携②データウェアハウスで変換されたデータをSalesforce に書き戻し、と2つのポイントがありますが、後者の構成がReverseETL に当たります。

データドリブン経営を行うために、①の構成で散らばった業務データを集め、BIツールでの可視化や分析、さらにはリアルタイムで可視化できるように整備されてきました。ただ、例えばもっと顧客接点が多いメンバーへ効果的にデータを提供することを検討した場合、②の構成のように普段使っているサービスに変換や計算したデータが取り込まれることで、自分たちが日々使っているアプリケーションで最新の顧客情報を確認することができるようになります。

シナリオ

Salesforce のリード情報に対してスコアリングし、その結果を Salesforce に書き戻すことをやってみます。

ReverseETL のデータソースとなる DB は Snowflake を使い、全体のデータの流れは Salesforce (Lead) → Snowflake (スコアリング) → Salesforce (Lead) となります。なお、Salesforce の Lead オブジェクトには、スコアリング結果を格納するカスタム項目を事前に作成しておきます。

必要なもの

下記だけです。CData Sync はセルフホスティング式なのでとりあえず手元のローカルPCでもOK

  • Salesforce
  • DB:SQLServer or Snowflake
  • CData Sync 

それではさっそくやっていきましょう!

Sync 側の設定~Snowflake への同期

CData Sync のセットアップは割愛しますが、基本的にはインストーラーを実行するだけでOKです!

接続設定の方法や Salesforce → Snowflake のジョブ作成も特に難しい部分はないですが、下記ハンズオン記事などをあらかじめ参照していただくと理解しやすいです。

【2023年最新版】CData Syncハンズオン資料 | CData Software Blog

では、Salesforce → Snowflake のジョブを作成していきます。そのままタスク追加で Lead を選択しただけの状態でも構いませんし、下記のように同期先テーブル名を "Lead_reverse" などのように変更してもOKです。

ジョブ画面



実行し、Snowflake へのレプリケーションが完了したことを確認します。

ジョブ実行結果画面

Snowflake にレプリケーションされたテーブルを見てみると、スコアリング結果を格納する LeadScore_c(カスタム項目)にはまだ何もデータが入っていないことが確認できました。

スコアリング結果登録前のSnowflakeテーブルの状態

リードスコアリング

スコアリングするために必要なデータ(Webサイト上のアクティビティやメール開封率、ダウンロード履歴など)については、CData Sync で用意されてあるコネクタ もしくはカスタムコネクタを用いることで Snowflake に連携することが可能であるケースが多いです。それらでスコアリングすることで製品やサービスなどを購入する可能性を数値化します。

それではSnowflake の Lead_reverse テーブルのLeadScore_c にを参照してみましょう。

本記事ではリードスコアリングの方法は省きますが、既に結果が下記のように入った状態となっています。

スコアリング結果登録後のSnowflakeテーブルの状態
この更新されたリードデータを、もともとあった Salesforce に書き戻します。

Salesforce への書き戻し

書き戻しを行うには、Snowflake → Salesforce というジョブを作成する必要があります。

ただし、作成方法はデータソースと同期先に注意するだけでほとんど同じです。

※v23.4 では、Salesforce への書き込みジョブ作成時に選択可能なデータソースは、Snowflake と SQL Server の2つだけです。とは言え、順に他の DB やクラウドストレージもデータソースとしてサポート予定 


では、ジョブを追加ボタンをクリックしてジョブを作成していきます。

データソース:Snowflake、同期先:Salesforce、転送モードは元あるリードデータにスコアリング結果を加えるだけなので、Update を選択します。

※連携方法は、 Insert、Upsert、Update の3パターンから選択可能です。Upsertの場合は、Salesforce で外部ID として登録している項目のみKey として使用可能 

Salesforce Destination の転送モード選択画面

ここでテーブル同士を紐づけます。

テーブルマッピングの設定画面

次にどの項目をキーにするか、またどのカラム同士をマッピングするかを指定します。今回は LeadScore_ c 同士でマッピングしました。

カラムマッピングの設定画面
設定は以上で、あとは右上の実行ボタンをクリックするだけです。※運用時はスケジュール設定してください

Salesforce Destination モードのジョブ実行画面
実行が完了すると、ステータスや更新した行数が表示されます。

Salesforce Destination モードのジョブ実行結果画面

では、最後に Salesforce のLeadオブジェクトを見てみましょう。

LeadScore 列にSnowflake でスコアリングした結果が取り込まれました!

Salesforceのリード一覧画面

おわりに

いかがでしたでしょうか。Salesforce への書き戻し機能で、簡単にいま話題のReverseETL 構成を実現することができました!選択できるデータソース(DB)や、書き戻し先については、今後拡充していく予定です!


CData Sync は30 日間の無償トライアル利用が可能、かつトライアル中からテクニカルサポートチームに日本語で問合せを行うことができますので、ぜひこの新機能をお試しください!


https://www.cdata.com/jp/sync

関連コンテンツ