レコードページにApexアクションボタンを作る方法
いつもご愛読いただきありがとうございます。
本稿では、レコードページにApexアクションボタンを作る方法について、ご紹介させていただきます。
今回作成するのは、取引先のボタンを押下すると、取引先の説明に「test」という値を設定するアクションになります。
では、早速作成してみましょう。
1.Apexクラスの作成
[設定⇒Apex クラス⇒新規]で、フローから呼び出すApexクラスを作成します。
/**
* 取引先
* 説明セットアクション
*/
public with sharing class AccountDescriptionSetAction {
@InvocableMethod(label='説明セット' category='Account')
public static void setDescription(List<Id> accIdList) {
if (accIdList == null || accIdList.isEmpty()) return;
List<Account> updAccList = new List<Account>();
for (Account acc : [SELECT Id FROM Account WHERE Id IN :accIdList]) {
updAccList.add(new Account(
Id = acc.Id,
Description = 'test'
));
}
Database.update(updAccList);
}
}
2.フローの作成
[設定⇒フロー⇒新規フロー]で、アクションボタンから呼び出す自動起動フローを作成します。
種別は、「自動起動フロー(トリガーなし)」を選択してください。

Flow Builderが開いたら、左上の四角いアイコンからツールボックスを開き、新規リソースボタンをクリックします。

以下のように設定して、完了をクリックします。

次にメインのウインドウで+マークをクリックし、アクション要素を追加します。

先に作成したApexアクションを検索し、選択します。

以下のように設定してください。

右上の保存ボタンをクリックし、以下のように入力して保存します。

右上の有効化ボタンをクリックし、有効化します。
3.アクションボタンの作成
[設定⇒オブジェクトマネージャー⇒取引先]を選択し、[ボタン、リンク、およびアクション⇒新規ボタンまたはリンク]から、取引先のボタンを作成します。
以下のように設定してください。

URL
/flow/AccountDescriptionSet?recordId={!Account.Id}&retURL=/{!Account.Id}
4.ページレイアウトの編集
[設定⇒オブジェクトマネージャー⇒取引先]を選択し、[ページレイアウト⇒編集するページレイアウト名]を選択して、取引先のページレイアウトを編集します。
先に作成したアクションボタン「説明セット」を配置します。
取引先の詳細のカスタムボタンに配置するとSalesforce Classicの画面でも利用できます。

5.動作確認
取引先レコードページを開いて、アクションボタンが表示されていることを確認します。
- Lightning Experience

- Salesforce Classic

アクションボタンを実行してみましょう。

説明に値がセットされることを確認できれば、成功です。
まとめ
今回は、レコードページにApexアクションボタンを作る方法を紹介しました。
皆様のご参考になれば幸いです。
サンブリッジは、Salesforceの日本法人設立パートナーであり、国内でも早くからSalesforceの導入・開発支援を行ってきました。
また、自社製品の開発やSalesforceを基盤とした他サービスの導入、Salesforceとの連携なども積極的に行っています。
「既存の環境を改修したいが対応できる人がいない」「もっとSalesforceを活用したいがどの機能から手を付けてよいかわからない」などお困りの際は、ぜひ、サンブリッジにご相談ください!
最後までお読みいただきありがとうございました。
それ、サンブリッジなら実現できます!
Salesforceで解決するビジネス課題
【ダウンロード資料】Salesforce導入・開発を検討されているお客様必見
数あるSalesforceベンダー企業のなかから、サンブリッジが選ばれる理由はなぜか。課題別にどんなソリューションがあるのかといった観点で、実際にサンブリッジが対応した事例やご利用企業様からの評価などをご紹介します。(全16ページ)