例: 呼び出し可能なアクションのカスタムプロパティエディタ

次の例では、呼び出し可能なアクションとそのカスタムプロパティエディタを作成します。Flow Builder で、システム管理者は呼び出し可能なアクション「Send HTML Email (HTML メールを送信)」の入力値を設定します。ユーザがフローを実行すると、呼び出し可能なアクションでメールが送信されます。

この Apex クラスファイルは、呼び出し可能なアクションとして実行できる sendEmails メソッドとその入力変数を定義します。@InvocableMethod アノテーションは、呼び出し可能なアクションとして実行できる呼び出し可能なメソッドを識別します。@InputVariable アノテーションは、呼び出し可能なメソッドによって使用される変数を識別します。

呼び出し可能なメソッドは、configurationEditor 修飾子でカスタムプロパティエディタを登録します。組織にカスタム名前空間がなければ、名前空間は c になります。組織にカスタム名前空間があれば、その名前空間を使用してカスタムプロパティエディタを登録します。この例では、カスタムプロパティエディタの名前は c-html-email-editor になっています。

次の HTML、CSS、JavaScript、設定ファイルは、アクションのカスタムプロパティエディタを定義します。

HTML テンプレートは、Flow Builder のカスタムプロパティエディタの UI を定義します。

次の例は、カスタムプロパティエディタの UI を示しています。

カスタムプロパティエディタを使用するカスタムアクション

カスタムプロパティエディタが初期化されると、JavaScript クラスは Flow Builder からフローメタデータのコピーを受信します。システム管理者がカスタムプロパティエディタで値を変更すると、カスタムプロパティエディタはイベントをディスパッチして変更を Flow Builder に反映します。

@api プロパティを使用して、フローのデータを取得します。イベントを使用して、実行時のフローの変更をレポートします。

Flow Builder には、カスタムプロパティエディタと通信するための JavaScript インターフェースがあります。この JavaScript クラスは、inputVariables および validate インターフェースを使用します。

カスタムプロパティエディタが初期化されると、inputVariables は、Flow Builder から呼び出し可能なアクションの入力変数の値を受信します。

inputVariables データ構造には、各入力変数の名前、値、データ型が含まれます。

get メソッド (get senderName() および get replyToEmail()) は、カスタムプロパティエディタで使用する各入力変数の value を取得します。

システム管理者が Flow Builder の画面エディタ UI で [完了] をクリックすると、Flow Builder はカスタムプロパティエディタの validate 関数を評価します。関数で key および errorString データ構造が返されると、画面エディタにエラー数が表示されます。これにより、システム管理者が画面エディタで変更を保存することを回避できます。

Flow Builder には、エラー数のみが表示されます。エラー文字列を表示するには、validate メソッドでコードを記述します。詳細は、「カスタムプロパティエディタの JavaScript インターフェース」を参照してください。

システム管理者がカスタムプロパティエディタで入力の値を入力すると、handleChange メソッドは configuration_editor_input_value_changed イベントを Flow Builder にディスパッチします。Flow Builder は、フローでイベントを受信して値を更新します。

htmlEmailEditor の設定ファイルは次のようになります。