Salesforce キャンペーンの日程: すべての開催日を 1 つのカレンダーで
キャンペーンの開始日と終了日は 1 つずつ。でも、ツアーやウェビナーシリーズ、ボランティアプログラムの日程はたくさんあります。そのすべてを、状況付きの実際のレコードとしてキャンペーンレコードに。Apex は書きません。
「Salesforce のキャンペーンに複数の日付を追加するには?」「ロードショーの各会場はどこで管理する?」「どのウェビナー回が確定している?」キャンペーンが知っているのは始まりと終わりだけ。その間のことは、スプレッドシートか長い説明項目に書かれることになります。
MultiDatePick は、キャンペーンのレコードページにカレンダーを置きます。日をクリックして保存すれば、それぞれがキャンペーンに紐付いた個別の子レコードになり、状況で色分けされます。ほかのオブジェクトと同じく、キャンペーンでも設定だけで動きます。Apex は不要です。
キャンペーンページでできること
すべての日程をひと目で
レコードを開くと、キャンペーンのすべての日付がカレンダーに読み込まれます。関連リストをスクロールする必要はありません。
状況の色分け
Planned、Confirmed、Completed、Cancelled。状況ごとに色が付き、カレンダー上部のボタンで状況ごとに絞り込めます。
ホバーで詳細を表示
日付にカーソルを合わせると、その日のレコードの会場名、場所、状況などがリンク付きで表示されます。
繰り返しパターン
8 週間の毎週火曜も、1 つのパターンとワンクリックで。ウェビナーシリーズや配信スケジュールに便利です。
編集モード
複数の日付を選んで、状況の変更、別の日への移動、削除を一度に。
実際のレコード
日付はそれぞれキャンペーンへの参照関係を持つ子レコードです。レポートもフローも共有も、ほかのレコードと同じように使えます。
3 ステップで設定
コンポーネントはオブジェクトを選びません。親がキャンペーンであることを知る必要もなく、必要なのは保存先の子オブジェクトと、親を指す参照関係だけです。連携はそれで完了です。
- 子オブジェクトを作成します。 オブジェクトマネージャーで Campaign Date などのカスタムオブジェクトを作成します。キャンペーンへの参照関係項目と日付項目を追加し、Status 選択リスト (Planned、Confirmed、Completed、Cancelled) と、会場などホバー時に表示したい詳細項目を追加します。
- セットアップウィザードを実行します。 MultiDatePick セットアップウィザードのタブを開き、Dates コンポーネントを設定します。オブジェクトに Campaign Date、リレーション項目にキャンペーンへの参照関係、そして日付項目を選びます。「状況と表示」で状況項目、値ごとの色、ホバー時の項目を選び、
Campaign_Datesのような名前で設定を保存します。 - キャンペーンページにコンポーネントを配置します。 任意のキャンペーンを開いて [ページを編集] をクリックし、MultiDatePick の Dates コンポーネントをレイアウトにドラッグして、Config Name に設定名を入力します。保存して有効化すれば、すべてのキャンペーンにカレンダーが付きます。
11:00 のウェビナーと 15:00 の再放送のように、日だけでなく時刻も必要ですか? その場合は Date Time コンポーネントを使い、子オブジェクトに開始時刻と終了時刻の項目を追加します。手順は同じです。
画面フローで使いたい場合
同じ設定がフローでもそのまま使えます。Dates コンポーネントを画面に追加して Config Name を設定するだけで、すべての設定は設定から読み込まれ、Flow Builder でチェックボックスを設定する必要はありません。Parent Record Id にキャンペーンの Id を渡せばコンポーネント自身が子レコードを保存します。Selected Dates の出力をループして独自の方法でレコードを作成したい場合は空欄のままにします。両方のパターンは画面フローで複数の日付を選ぶの記事で解説しています。
キャンペーンで管理されているもの
キャンペーンで複数日にわたって行うことなら、何でも同じ子オブジェクトで管理できます。
動作を決める設定
いずれもセットアップウィザードの項目とコンポーネントのプロパティなので、コードは一切不要です。
| 設定 | 機能 | API 参照名 |
|---|---|---|
| 子オブジェクトの API 参照名(Child Object API Name) | 各日付の保存先の子オブジェクト (Campaign_Date__c など)。 | relatedObjectApiName |
| 関連項目の API 参照名(Relationship Field API Name) | そのオブジェクトにある、キャンペーンを指す参照関係項目。コンポーネントがレコードページから値を入れます。 | relationshipFieldApiName |
| 日付項目の API 参照名(Date Field API Name) | 選んだ各日を保存する日付項目。 | dateFieldApiName |
| 状況項目と状況の色(Status Field and Status Colors) | 状況の選択リストと値ごとの色 (例: Confirmed:#22C55E)。 | statusField、statusColors |
| ホバー項目(Hover Popover Fields) | 日付にカーソルを合わせたときに表示する項目 (名前、会場、状況など)。 | hoverFields |
| 繰り返しパターンを表示(Show Recurring Pattern Button) | 毎週や毎月の繰り返し用に「繰り返しパターンを追加」ボタンを表示します。 | showRecurringPattern |
| 編集モードを有効化(Enable Edit Mode) | 複数の日付の状況変更、移動、削除を一度に行う編集ボタンを表示します。 | enableEditMode |
| 設定名(Config Name) | セットアップウィザードで保存した設定。これを設定すれば、ほかは空欄のままで構いません。 | configName |
よくある質問
Salesforce のキャンペーンに複数の日付を持たせられますか?
標準のキャンペーンにあるのは開始日と終了日が 1 つずつだけです。ツアー、ウェビナーシリーズ、ボランティアプログラムの各日を管理するには、キャンペーンへの参照関係を持つ小さな子オブジェクトを追加し、キャンペーンのレコードページに MultiDatePick の Dates コンポーネントを配置します。クリックした日付はそれぞれ個別の子レコードとして保存されます。
キャンペーンに日付を追加するのに Apex や開発者は必要ですか?
いいえ。子オブジェクトとその項目はオブジェクトマネージャーでクリック操作だけで作成でき、カレンダーの設定はセットアップウィザードが書き出し、コンポーネントは Lightning App Builder でページに配置します。キャンペーン専用のコードを書いたりインストールしたりする必要はありません。
キャンペーンの日付はどこに保存されますか?
自社のカスタムオブジェクト (たとえば Campaign Date) に、日付ごとに 1 件、キャンペーンへの参照関係付きで保存されます。通常の Salesforce レコードなので、リストビュー、レポート、フロー、共有もいつもどおり使えます。
キャンペーンの日付ごとに状況を付けられますか?
はい。Planned、Confirmed、Completed、Cancelled などの選択リストを追加し、値ごとに色を選べば、カレンダーが各日付を状況の色で表示します。編集モードでは複数の日付を選んで、状況の変更、移動、削除を一度に行えます。
レコードページではなく画面フロー (Screen Flow) で使えますか?
はい。Dates コンポーネントをフロー画面に追加し、Config Name(設定名) にセットアップウィザードで保存した設定を指定します。Parent Record Id にキャンペーンの Id を渡せばコンポーネント自身が子レコードを保存し、空欄のままなら Selected Dates の出力をループ処理できます。
キャンペーンのすべての日程を、キャンペーン上に。
ライブデモで日付をクリックしてみるか、Config Library の既製の設定から始めましょう。
- $20/ユーザー/月ですべての機能
- 30 日間無料、カード不要
- 100% Salesforce ネイティブ
- Apex 不要
- Salesforce AppExchange で近日公開