見出し画像

流行りのノーコードツールでGoogleForms×Salesforce 自動販売機をつくった話[2] ZapierでSalesforce連携

第1話はこちら
流行りのノーコードツールでGoogleForms×Salesforce 自動販売機をつくった話[1]

SalesforceアドミンのためのDIYツールキット〜shareware(シェアウェア)〜https://www.shareware.jp/ で利用申し込みから提供までをノーコードツールで自動化してみました。
いい感じで安定運用できていますので ”開発/カスタマイズTipsシェア” の形で書き残しておきたいと思います。
同じような仕組みを考えている方の参考になれば!

ZapierでSalesforce連携

Zapier で作成できる自動化ワークフローを「Zap」と呼びます。 Zap はトリガーとアクションで構成されます。

Salesforceとのインテグレーションにはpremium というタグがついていて、Zapier有償版にしないとpremiumのアプリは使えません。
https://zapier.com/app/pricing

https://zapier.com/app/pricing

実現したいワークフロー

今回実現したいワークフローは次のような感じです。
カスタムオブジェクト「トライアル申込」を、リードと参照関係になるように作成してあります。

  • リードと「トライアル申込」は参照関係で1:n 同一のメールアドレスは同じリードとみなすルール

  • Spreadsheetにトライアル申込があったら

    • リードに同一のメールアドレスがあれば、「トライアル申込」のレコードを作成して、リードと参照関係のリレーションを張る

    • リードに同一のメールアドレスがなければ、リードを作成する。作成したリードと参照関係になるように「トライアル申込」のレコードを作成する

※登録データ不正はフォーム側の入力規則で行っているので考慮していませんが、厳密にはやるべきでしょう。

今回実現したいワークフロー

まずはトリガNew SpreadsheetRow (Spreadsheetに行が追加されたら)と、最後のアクション(Create Recod in Salesforce)を設定します。

続いてZapを分岐させます。
ZapierでSalesforceの特定のレコードを取得する方法は3つあります

FindRecord・・・スプレッドシートの値を1つ使ってデータを1件取得します
Find Record by Query・・・スプレッドシートの複数の値及び条件式を使ってSOQLでデータを1件取得します
FindRecords・・・SOQLで複数のレコードを取得します

FindRecordを使って、リードに「トライアル申し込み」と同じメールアドレスが存在するかどうかのチェックを行い、
存在しない・・・リードを新規作成(Create Recod in Salesforceでリードを選択)して、リードのIdを取得する
存在する・・・リードのId
を取得する

でどちらの場合でもリードのIdを取得し、そのIdを使って「トライアル申し込み」のレコードを新規作成します。(共通処理)

こんな感じで、Google SpreadsheetとSalesforce間のレコードの連携はZapierを使って1行もコードを書かずに作成できました!
すごいですね。
[3]に続きます。

shareware(シェアウェア)は2023年1月から正式に提供を開始しました。
SalesforceアドミンのためのDIYツールキット
というコンセプトで、イマドキSaaSの形ではなく何と買い切り!
100円ショップの製品のように気軽に試してほしいと願って現時点ではこの形をとっています。
どんなツールを提供しているかは
提供ツール一覧
を見てみてください。自動課金や営業は一切行いませんので、30日の無料トライアルもどうぞ。
30日の無料トライアルお申し込みはこちら


もし、sharewareの購入者ではないけれど、応援したい、と思った頂けたらサポートをお願いします! 全額、活動資金に充てさせていただきます。 後ほど運営チームより御礼のご連絡を致します。