例: 呼び出し可能なアクションのカスタムプロパティエディタ
次の例では、呼び出し可能なアクションとそのカスタムプロパティエディタを作成します。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
の設定ファイルは次のようになります。