BigQuery+Hasura+Zapier+Salesforce マーケティングでも自動化できた。
Hasuraのマーケティング、セールスのチームではBigQueryをデータウェアハウスとして使っています。さまざまなとこから、BigQueryに情報をStoreするようにしているのですが、BigQueryのResultからSalesforceをアップデートするというのが、エンジニアではない自分には自動化できず、月々まとめってアップデートしていたのですが、このたびHasura、Zapierを使って自動化できたので、紹介したいと思います。
今回の例はLead to Account Matchingと呼ばれるリードをアカウントに紐づけする作業です。Salesforce内でリードは基本的には、個別の情報で、アカウント=会社に紐づけられていません。なので、月一のアップデートで、リードのカスタムで作ったフィールドに、アカウントを紐づけする作業をしていました。ちなみにHasuraでは、Websiteのドメインと国名を確認するロジックになってます。
自動化した後のデータの流れはこんな感じ。
BigQuery側で、HasuraからDBにアクセスできるように設定。
Google CloudのService Accountを設定して、キーをJSONのファイルとして作成します。
やり方は、こちらから。
Salesforceで、まだ作成していなければ、このマッチしたアカウントの情報を入力するフィールドを作成します。こちらはLookupというタイプのフィールドにします。アップデートする際にはアカウントのIDを入力するか、手動でアップデートする場合には、マッチしたアカウントを会社名などから検索することもできます。
GoogleのBigQuery内でマッチングするQueryを書いてViewとして保存しておきます。
Hasuraだとロジックはこんな感じです。
そしてHasuraの設定。
BigQueryとHasuraのつなげ方は、先週の記事に書いてあります。
そして必要なQueryがでてくるようになったらREST APIのエンドポイントを作ってしまいます。この例ではLead IDとAccount IDが必要になります。
この画面で、RESTというボタンをクリック。
NameにこのEnd Pointの名前を付けます。
Hasura内でしか使わないですが、このQueryの内容にあった名前を付けます。LocationはURLの一部になりますので、こちらもQueryの内容にあったlocation名を付けます。そしてMethodsはGETをチェックマーク。
このURLをZapierでWebhookで使います。
Zapier
そしてその後はZapierの設定
ZapierのWebhookでRetrieve Pollを使います。
Triggerの設定はこんな感じ。
Hasuraで作成したEnd PointのURL
KeyのFieldには、下記のハイライトされている部分を入力します。(Queryの頭の部分?というのでしょうか?)
Duplication Keyというフィールドも必須です。idと入力します。
そしてTriggerのテストをすると、データが表示されます♪
そして次のステップでSalesforceのアップデート。
これでZapierをOnにすれば終了です。
Queryに新しいマッチがある場合のみ、Salesforceがアップデートされます。
No Codeで自動化成功です。
元の記事