🎯 目的
Salesforceで「商談」と「商談商品」の内容を元に、注文確認用の本文を自動生成し、
画面フロー上で確認・修正した上で、そのままメール送信を行う最小構成の実装手順を解説します。
Flow(フロー)だけで完結するシンプルな構成です。
インストール URL:https://login.salesforce.com/packaging/installPackage.apexp?p0=04tIS000000U1R8
🧩 フロー構成概要
- フロー種別:画面フロー(Screen Flow)
- 起動方法:レコードページボタンなど(商談画面から起動)
- 対象データ:商談 + 商談商品(Opportunity + OpportunityLineItem)
-
主な構成:
- 商談商品の取得(Get Records)
- 商品一覧テキスト生成(ループ+数式)
- 本文テンプレート作成(テキストテンプレート)
- ユーザーによる修正画面(ロングテキストエリア)
- メール送信
フロー全体
🔧 準備するリソース
変数
API名 | 種別 | 内容 | 入力で使用可能 |
---|---|---|---|
recordId |
レコード(Opportunity型) | 起動元の商談ID | TRUE |
var_ProductListText |
テキスト | 商品リスト保管用 | FALSE |
商談商品を取得
商談商品でループ
※後の数式をコピペしたい方はAPI名をLoopedItem
にしておいてください
数式リソースを作成する
fx_ItemLine
{!var_ProductListText} & BR() &
"- " & {!LoopedItem.Product2.Name} & " × " & TEXT({!LoopedItem.Quantity}) & "個 提供予定日:" &
IF(
ISBLANK({!LoopedItem.ServiceDate}),
"調整中です。最新状況はお問い合わせ番号XXXXからご確認ください",
TEXT({!LoopedItem.ServiceDate})
)
割り当てする
ここでの仕組みは、
- 1つめの商談商品レコードの内容を文字列で繋げる
- 変数に格納する
- 2を先頭にして改行し、2つ目の商談商品レコードの内容をーーー
とループさせています。
テキストテンプレート(FAX本文雛形)
tt_FaxBody
【注文内容 確認のご連絡】
{!Opportunity.Account.Name} 御中
以下の内容にて注文を承りました。
ご確認のほど、よろしくお願いいたします。
【商談名】
{!Opportunity.Name}
【ご注文内容】
{!var_ProductListText}
────────────────────
株式会社△△
営業担当:{!$User.FullName}
TEL:{!$User.Phone}
🖥️ 画面コンポーネント構成
ここは特に工夫していません。
ユーザーがメールを送信するのにあたって必要な情報を並べているだけです。
テキストエリア(ユーザー確認用)
設定項目 | 内容 |
---|---|
ラベル | FAX送信用本文(修正可能) |
デフォルト値 |
tt_FaxBody (テキストテンプレート) |
保存先 |
var_UserEditedBody (テキスト変数) |
フッターボタン |
Next を「このまま送信」に変更(ボタンラベルのカスタマイズ) |
📤 メール送信アクション設定
項目 | 内容 |
---|---|
アクション |
Send Email (標準のメール送信アクション) |
宛先 | FAXサービスのメールアドレス(例:03xxxxxxx@fax.example.com ) |
件名 |
注文内容の確認 (任意、定型文でOK) |
本文 |
var_UserEditedBody (ユーザーが修正済みのFAX本文) |
📝 次フェーズへの拡張余地(今回は未対応)
-
下書き保存
商談レコードにロングテキストフィールド(例:InitialFaxBody__c
)を追加し、
ユーザーが修正した本文を保存できるようにする。
次回Flow起動時にその内容を初期表示することで再利用可能に。 -
QRコード対応
文中に表示したいURLなどをQRコード化し、
PDFに埋め込んで送信する。QR生成には外部サービス or Apexが必要。 -
PDF生成対応
Flowから直接PDFを生成して送信する構成。
Apexまたは外部連携サービス(DocuSign, Conga, PDFMonkey など)との連携が必要。
✅ まとめ
- ✅ Apexなし、FlowだけでFAX送信用本文を構成・送信可能
- ✅ 商談商品が複数あってもループ+数式+テンプレートで対応可能
- ✅ 画面でのユーザー修正も可能なため、柔軟な運用に対応
- ✅ 最小構成で構築し、将来的な拡張(QR、PDF、下書き保存)も容易!