Help us understand the problem. What is going on with this article?

SalesforceのFlowBuilderで出来ることをまとめた

0.この記事を書こうと思ったきっかけ

最近何かとClassicからLightningに移行しようと盛り上がっているように感じますが、私がLightningに移行しようとして当初一番ネックに感じたのがLightningではJavascriptボタンが使えないということでした。

私のようにシステム管理者の経験が長くまだApexなどのプログラミングがおぼつかない人にとってはJavascriptボタンが使えないことが大きなネックになってしまいます。

以前の会社で何とかLightningに移行するにあたって、利便性を保つためには簡単に入力をしなければいけませんでした。あれこれ情報を集め、Flow Builder(旧クラウドフローデザイナ)であれば何とかなるかもしれないと思い勉強をつづけた結果そこそこFlow builderを使えるようになったのでそれをまとめたいと思います。

javascriptボタンでLightningの移行に苦労している人や、Flow Builderを使おうと思って上手く使いこなせていない人に役立ててもらえればと嬉しいです

1.FlowBuilerとは

一言で言ってしまえばFlowBuilderはプロセスビルダーの拡張+@といった感じでしょうか。

①プロセスビルダーを介してフローを呼び出して使う(自動起動フロー)だけでなく、Javascriptボタンの代替するために②アクションボタンとしてフローを呼び出してレコードの作成・更新(画面フロー)、③レポートからレコードを作成・更新(画面フロー)、④ホーム画面やレコード画面からフローを呼び出してレコードの作成・更新(画面フロー)、⑤アプリケーションのユーティリティーバーからフローを呼び出してレコードの作成・更新するためにFlow Builderを活用することができます。

詳細はまた別の記事として詳しくまとめようと思いますがここでは大まかにできることをまとめてFlow Builderのイメージを感じ取ってもらえればと思います。

2.FlowBuilderで出来ること

①プロセスビルダーを介してフローを呼び出して使う

プロセスビルダーも入力の自動化に役立ちますが、指定したオブジェクトに関連していないオブジェクトはそもそも更新が出来ませんし、レコードを作成後、作成したレコードの操作が上手くできないといった欠点があります。

Flow Builderはプロセスビルダーを介してレコードIDさえ渡せればアイデア次第で自由自在といっても過言ではないぐらい高い自由度でレコードの作成・更新を行うことができます。

プロセスビルダー.png

以下が詳細に解説した記事となります。
プロセスビルダーとFlowBuilderを組み合わせた(基礎)
プロセスビルダーとFlowBuilderを組み合わせた(応用)

②アクションボタンとしてフローを呼び出してレコードの作成・更新

Javascriptボタンの代替としてFlow Builderを使うこともできます。

ここで大きな問題としてどうすれば動的にレコードIDをフローに渡すことができるかということです。簡単にいえば変数名「recordId」を作成してレコードIDが一致するものとして「recordId」を指定すればレコードIDを渡すことができます。Salesforceのヘルプにもある通りなのですが、当初は何を言っているのかピンときませんでした。

フローアクションの考慮事項

フローに recordId というテキスト入力変数があれば、アクションの実行時にレコードの ID がその変数に渡されます。

ちなみに「recordid」や「RECORDID」ではフローにレコードIDを渡すことができません。。。

Id equal recordId.png

詳細に解説した記事は以下になります。
SalesforceからJavascriptボタンを追放する!アクションボタンとフロービルダーを組み合わせた(前編)
SalesforceからJavascriptボタンを追放する!アクションボタンとフロービルダーを組み合わせた(後編)

③レポートからレコードを作成・更新

Lightningではリストビューを活用してレコードの編集を一括で行えるので便利です。しかし複数のレコードタイプがリストビューにあるときやレポートの機能にあるクロス条件を使えないので時々不便に感じることがあります。またそもそもSalesforceの仕様でこの条件に該当せずとも編集できないときもあります。

Lightning Experience でのリストビューのインライン編集の考慮事項

そういったときはフローとHYPERLINK関数を用いたカスタム項目を活用してレポート上からレコードを編集することができます。

Opp update from report.png
*上記画像は見やすいように画像を編集しています。

レポート用フロー項目.png

以下が詳細に解説した記事となります。
Lightningのレポートからレコードの作成・更新をしてみた

④ホーム画面やレコード画面からレコードの作成・更新

Lightningではホーム画面やレコード画面の構成もLightningアプリケーションビルダーを使えば編集可能です。特にレコード画面の一部にフローを加えると利便性が格段に向上します。

時々アクションボタンからフローを使うかレコード画面にフローを加えるか悩みますが、一つの基準としてフローの画面に多くの項目を使う場合はレコードにフローを加えたほうが便利が良いことが多いです。2列の表示ができるため、コンパクトになり見栄えもすっきりすることが多いです。

アプリケーションビルダー.png

⑤アプリケーションのユーティリティーバーからレコードの作成・更新

フローは各アプリケーションのユーティリティバーに加えることもできます。タブの一番左にある点々をクリックすると「サービス」とか「セールス」とかいろいろ出てきますが、あれがアプリケーションになります。

こちらも2列の表示が出来ますが、動的なレコードの取得が出来ないようです。
頻繁に使うフローのうち、最初に動的なレコード取得が必要でないフローであればこういった使い方も良いかと思います。

一括ToDoのフローサンプル.png

以下が詳細に解説した記事になります。

Lightningで使える一括ToDo作成フローを作ってみた

DEKA_PIYO
にわとりになりきれなかったおおきなひよこ。Salesforceのアドミン歴1年半の経験の後派遣のエンジニアとして働いています。最近認定アドミンをとりました。今年のうちに資格もとって経験も積みたい
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away