Loading
ビジネスプロセスの自動化
目次
絞り込み条件を選択

          結果がありません
          結果がありません
          検索のヒントをいくつかご紹介します

          キーワードの入力ミスがないか確認する。
          より一般的な検索語を使用する。
          絞り込み条件を減らして、検索範囲を広げる。

          Salesforce ヘルプ全体を検索
          フローで Apex アクションを実行

          フローで Apex アクションを実行

          Flow Builder には多くの機能がありますが、フローにデフォルト要素以外の機能が必要な場合があります。その場合は、Apex アクションを使用して、フローから Apex クラスをコールします。

          必要なエディション

          サポートされているエディションを表示する。

          開発者が Apex クラスをフローのアクション要素として使用可能にしようとする場合、2 つのオプションがあります。Process.Plugin インターフェースはパレットでクラスが表示される方法のカスタマイズをサポートしていますが、@InvocableMethod アノテーションにはより多くの機能があります。次の表に、各オプションでサポートされる機能を示します。

          ヒント
          ヒント Process.Plugin インターフェースの代わりに @InvocableMethod アノテーションを使用することをお勧めします。
          重要
          重要 従来の Apex アクションは、Flow Builder の自動レイアウトではサポートされません。従来の Apex アクションは、Flow Builder で自由形式でのみ追加できます。既存のアクションは、自動レイアウトモードと自由形式モードの両方で編集できます。
            Process.Plugin インターフェース @InvocableMethod アノテーション
          Apex データ型のサポート

          未サポート:

          • Blob
          • コレクション
          • sObject
          • Time

          未サポート:

          • 汎用オブジェクト
          • Set
          • Map
          • enum

          Flow Builder は、Apex メソッドの入力または出力パラメーターのレコードコレクション変数への対応付けはサポートしていません。

          一括処理 未サポート サポート
          カスタムアイコン 未サポート サポート
          Flow Builder の要素種別 アクション アクション
          カスタマイズ可能な構成環境 未サポート InvocableActionExtension メタデータでサポートされます。開発者は、入力順序とグルーピングのカスタマイズ、カスタムヘッダーの追加、入力の選択リストの定義、特定の入力パラメーターのカスタムプロパティエディターの作成を行うことができます。
          Flow Builder の要素名 クラス名または name プロパティの値。 クラス名
          再利用性 このインターフェースを実装するクラスはフローで使用可能

          このアノテーションを実装するクラスは、以下で使用可能:

          • フロー
          • プロセス
          • REST API
          『Apex 開発者ガイド』内の詳細 Process.Plugin インターフェースを使用してフローにデータを渡す InvocableMethod アノテーションInvocableVariable アノテーション
          例
          この 2 つの実装方法の違いを説明するために、フローから取引先名を取得してその取引先の ID を返すという同じ動作を行う 2 つのクラスを次に示します。

          このクラスは @InvocableMethod アノテーションを実装します。

          global class lookUpAccountAnnotation {
             @InvocableMethod
             public static List<String> getAccountIds(List<String> names) {
                List<Id> accountIds = new List<Id>();
                List<Account> accounts = [SELECT Id FROM Account WHERE Name in :names];
                for (Account account : accounts) {
                   accountIds.add(account.Id);
                }
                return accountIds;
             }
          }
          メモ
          メモ

          フローから Apex を呼び出すには、実行ユーザのプロファイルまたは権限セットで対応する Apex クラスの割り当てが必要です。

          メモ
          メモ

          API バージョン 66.0 以降、呼び出し可能なアクション パラメータとして使用されるカスタム Apex クラスには、アクセス可能な引数なしコンストラクタが必要です。詳細は、「バージョン管理された更新」の「Spring '26 (API バージョン 66.0)」を参照してください。

          このクラスは Process.Plugin インターフェースを実装します。

          global class lookUpAccountPlugin implements Process.Plugin { 
          
             global Process.PluginResult invoke(Process.PluginRequest request) { 
                String name = (String) request.inputParameters.get('name');
                Account account = [SELECT Id FROM Account WHERE Name = :name LIMIT 1][0];
          
                Map<String,Object> result = new Map<String,Object>();
                result.put('accountId', account.Id);
                return new Process.PluginResult(result);
             }
          
             global Process.PluginDescribeResult describe() { 
                Process.PluginDescribeResult result = new Process.PluginDescribeResult(); 
                result.Name = 'Look Up Account ID By Name';
                result.Tag = 'Account Classes';
                result.inputParameters = new 
                   List<Process.PluginDescribeResult.InputParameter>{ 
                      new Process.PluginDescribeResult.InputParameter('name', 
                      Process.PluginDescribeResult.ParameterType.STRING, true) 
                   }; 
                result.outputParameters = new 
                   List<Process.PluginDescribeResult.OutputParameter>{              
                      new Process.PluginDescribeResult.OutputParameter('accountId', 
                      Process.PluginDescribeResult.ParameterType.STRING)
                          }; 
                return result; 
             }
          }

          lookupAccountAnnotation の長さは、lookupAccountPlugin の半分 (11 行) 未満 (28 行) です。また、アノテーションでは一括操作がサポートされているため、lookupAccountAnnotation はインタビューのバッチごとに 1 つのクエリを実行します。lookupAccountPlugin はインタビューごとに 1 つのクエリを実行します。

           
          読み込み中
          Salesforce Help | Article