購入した商品をプロジェクトへ漏れなくつなぐフロー事例
ボタンひとつで、商談にひもづく見積の明細をすべて取り出し、プロジェクトの種類ごとに正しくつなぐフローの組み立て方が分かります。2021年に書いた事例を、2026年9月時点のSalesforce公式ヘルプとTrailheadで確かめ直しました。
どういうときに使うのか
当時の私たちは、顧客の解約を予測するために、カスタマーサクセスの活動を「プロジェクト」というカスタムオブジェクトで管理していました。プロジェクトには成功と失敗があり、それを手で入力していました。
手作業のため入力のミスが多く、さらに顧客が購入した商品がプロジェクトへ漏れなくつながっているわけでもありませんでした。この情報が信頼できないせいで、スプレッドシートで確かめ直すといった、本来は要らない作業が増えていました。
そこで、プロジェクトが特定のフェーズに進んだら、次の3つを自動にしました。
- プロジェクトタスクを自動で作る
- プロジェクトの成功と失敗を自動で判定する
- 顧客が購入した商品を、すべてプロジェクトへつなぐ
この記事では3つ目を、フローで作った部分に絞って紹介します。
オブジェクトの関係
商談には、見積の管理に使っていたZuoraの見積がひもづき、その下に料金プランの明細(Rate Plan)が並びます。商談が特定のフェーズまで進むとプロジェクトを作り、そのプロジェクトに判定の対象になる商品をつなぎます。
ポイントは、プロジェクトとRate Planが直接にはつながっていないことです。フローなら、関連の無いオブジェクトのレコードでも、条件を指定して取り出し、更新できます。この性質を使いました。
フローの流れ
3つ目の商品のひもづけは、プロジェクトの画面にボタンを置き、押すと画面フローが動くようにしました。
連携済みかを確かめる
最初に、プロジェクトにつながるRate Planのレコードを取り出します。すでに値が入っていれば「すでに連携済み」として、エラーの画面で知らせて終わります。
進めてよい状態かを確かめる
プロジェクトの状況や種類が対象外のときも、それぞれの理由を画面で知らせて終わります。
見積を取り出す
連携できる状態なら、Zuoraの見積のレコードを取り出します。
明細を1件ずつ見る
ループで明細を1件ずつ見て、プロジェクトの種類(onboarding・adoption など)を判定します。種類ごとに更新する項目を分けることで、どのRate Planがどのプロジェクトにつながっているかを見分けられるようにしました。
連携済みの印を付ける
ループが終わったら、連携フラグをtrueにして終わります。
これで、顧客が購入した商品を取り違えることがなくなりました。
いま作り直すなら
当時のフローには、ループの中で「レコードを更新」する作りが入っています。TrailheadのFlowの制限を扱う単元では、レコードの取得・作成・更新・削除の要素をループの中に置かないよう案内されています。1回ごとにデータベースへの操作が走り、トランザクションの上限に近づくためです。
| 当時の作り | いまの作り |
|---|---|
| ループの中で、明細ごとに「レコードを更新」する | ループの中では値を変えたレコードをコレクション変数へ足し、ループのあとで1回だけ「レコードを更新」する |
| プロジェクトのフェーズの変化はプロセスビルダーで拾う | レコードトリガーフローで拾う |
| 3つの自動化を別々の仕組みに分ける | 同じオブジェクトの自動化はフローにまとめ、動く順番を管理しやすくする |
確認した環境
- 2026年9月時点のSalesforce公式ヘルプ(ワークフロールールとプロセスビルダーのサポート終了)と、Trailhead(フローの制限を避ける方法)で確認しています
- 画像は2020年に作った当時の画面です。画面の端に写っていた別の資料の一部は伏せています
まとめ
- カスタマーサクセスのプロジェクトに、購入した商品を漏れなくつなぐために画面フローを作りました
- フローなら、直接つながっていないオブジェクトのレコードも取り出して更新できます
- 連携済みや対象外のときは、画面で理由を知らせて止めるようにしました
- いま作り直すなら、ループの中の更新をやめ、コレクションにまとめてから1回で更新します
- サポートが終わったプロセスビルダーの部分は、レコードトリガーフローに置き換えます
Salesforceの導入・運用についてご相談ください
導入前の検討から、お使いの環境の改修・運用、AIとの連携まで承ります。状況を伺ったうえで、進め方をご提案します。