フォローする

2024.3.8 「Salesforce - Spring '24 でさらに強化された "画面フロー" でコード不要の高度な画面構築にトライしてみましょう」

お世話になっております。
ウフル カスタマーサポートでございます。

 

Spring '24 がリリースされて一ヶ月弱になります。
新機能については事前にリリースノートで告知はありましたが、実際に使ってみた上でのレビューがそろそろ出揃ってきている模様です。

Salesforce 公式「サクセスナビ」でも Spring '24 についての記事が公開されています。

 

Spring '24リリース 注目の新機能
https://successjp.salesforce.com/security-operation/spring24

Spring '24 リリースノート斜め読み
https://successjp.salesforce.com/article/NAI-000887

 

重要なリリースについてはこちらの「斜め読み」にまとめられております。
主だったところは

  • 多要素認証(MFA)に関する機能改善とアプリケーションのバージョン更新
  • Sales Cloud と Account Engagement (旧 "Pardot")の Einstein AI による機能追加
  • 拡張ドメインのリダイレクトが Winter '25 で終了する際の事前対処
  • (開発者向け)API の旧バージョン廃止

といったところで、機能面での追加と改善については「3月のページ更新をお楽しみに!」と書いてあります。

なので、こちらでリリースノートを「もう少し斜め読み」してみたところ、ちょっとした傾向が見えてきました。

 

ノーコード / ローコード開発の潮流に合わせ、フローの機能追加と改善が今回も顕著です。

 

今、アプリケーション開発のトレンドと言えば「ノーコード / ローコード開発」です。

業務フローの構築にスピードが求められるようになった今、以下のような潮流の変化が発生しています。

  • プログラマー以外がアプリケーション開発の場に参入できるようにする
  • 属人性を排除し、担当者間の引継ぎを容易にする
  • メンテナンスに掛かる労力を最小限にする

その結果、各 Web サービスにおいて、従来はプログラム言語による開発が必要だった領域を、新たに「コードを記述することなく、画面上の操作と最小限のテキスト設定(クリック&タイプ)による "宣言型アプリケーション開発" の機能」が置き換える傾向になっています。
そして、この「クリック&タイプによる宣言型アプリケーション開発」を今風の言い方をすると「ノーコード / ローコード開発」となります。

 

Salesforce における「ノーコード / ローコード開発」を支援するツールが、[フロー] になります。

 

「え、[フロー] って今までの [ワークフロールール] や [プロセスビルダー] を置き換えるものじゃないの?」とお思いの方、半分正解で半分誤りです。

以前から Salesforce を利用されているシステム管理者(Not 開発者)の方にとっては、レコードを保存したタイミングで条件によってネクストアクションを実行させるワークフロールールがなじみ深いもので、フローは「ワークフロールールの高度なことができる版」という認識かと思います。

一方、フローは、リリースの当初こそ文字通りの「ワークフローの高度版」程度のものでしたが、その後のバージョンアップの度に機能の改善や拡張が行われ、今まで Apex トリガや Visualforce を使わないとできなかった高度な開発の領域にも徐々に進出してきたという経緯があります。

その代表的なものが、今日ご説明させていただく [画面フロー] になります。

 

Salesforce のプロセス自動化ツールの歴史については、4年ちょっと前の記事ですが、既にふれておりますので、お時間ございます際にご覧いただけると幸いです。

 

2019.11.22 「Salesforce ビジネスプロセス自動化ツールを活用しよう(1) - どのような自動化ツールがあるかを再確認してみましょう」
https://csminfo.uhuru.jp/hc/ja/articles/900000072003

 

上記記事にも記載のある通り、最初は [自動起動フロー(トリガなし)] しかなく(それしかないのでそのような名前もついてませんでした)、次のバージョンでようやく [レコードトリガフロー] が追加され、[画面フロー] は後から追加されたものですが、この [画面フロー] の追加によって、フローは単なる「ワークフロールールの高度なもの」から、「ノーコード / ローコード開発の潮流に対応すべく、Apex や Visualforce が必要だった高度な開発の領域を、コードの作法を知らないシステム管理者にも開放するもの」に進化したのです。
([画面フロー] だけではなく、Apex バッチ処理に近いことができる [スケジュールトリガフロー] などもありますが、それは別の機会に・・・。)

そして、その潮流に沿う形で、メジャーバージョンアップのほぼ毎回ごとに、[画面フロー] の機能強化は継続して実施されているのです。

 

システム管理者は案外知らない「画面フロー」。

 

Salesforce を以前からお使いの方、特に Classic 時代(Lightning Experience デフォルト化以前)からお使いの「古参」な方は、恐らく画面インターフェースについておおよそ以下の認識かと思われます。

  • ページレイアウト設定は比較的容易、但し自由度は低い
  • 自由にページを設定するには、Visualforce による開発に頼るしかない

Lightning Experience にて、従来の Classic のページレイアウトを "部品のように" 扱うことができる Lightning アプリケーションページが利用できるようになり、自由度はある程度向上しましたが、それでも「画面を一から設計する」には程遠いものではあります。

それを「ある程度望みどおりに」実現できるのが、[画面フロー] になります。

 

フロー新規作成画面を見ると、以下のようになっています。

 

先述の通り、「ワークフロールール ~ プロセスビルダーの延長」としてのフローは、[レコードトリガフロー] になります。文字通りの「レコードを編集したら裏で自動で動く」ものです。

一方、[画面フロー] は、ユーザがアクセスできる画面を構築し、その画面上での操作によって、新規レコードを作成する、条件に合致するレコードを更新する、もしくは削除するといった機能を実現します。ユーザが画面にアクセスする動線は、Lightning アプリケーションページや Experience Cloud サイトページに埋め込む、カスタムリンクや Web タブから遷移する、クイックアクションから遷移するといった方法があります。

 

実例として、現在弊社のお客様に実装構築中の画面フローについてご紹介をさせて頂きます。
ここまで複雑なことをノーコードで実現できるという例です。

 

<概要>

「パートナーユーザが、Experience サイトから見積依頼が自動で作成できるようにしたい」

 

<要件>

  • パートナーユーザは画面から見積に関係する商品のスペックを入力する
  • 賞品スペック以外にも入力する項目はあり、[次へ] ボタンで遷移できるようにする
  • スペックに合致する商品が価格表マスタに存在する場合は価格を自動入力する(しない場合はゼロを返す)
  • パートナーユーザごとに、納入先エンドユーザによって変化する割引率が存在する
  • パートナーユーザごとに、納入先エンドユーザ一覧を有効なものだけ表示する
  • 割引率は年ごとに変更になる可能性がある(原則変更が発生する前提で構築が必要)
  • 見積依頼を自動作成するタイミングで、社内稟議用の子オブジェクト「見積回答」レコードも同時に作成する
  • 社内稟議が完了したタイミングで見積書を自動で PDF 化しパートナーユーザに共有する

上記の要件を見た限りでは、多くの方が「これは Visualforce 使わないと駄目なんじゃないの?」と思ったのではないでしょうか。
これが画面フローを使えば、コードを一切記述することなく、要件をほぼ満たすアプリケーションの開発ができました。
(※ 勿論出来ないことは幾つかあります、例えば最後の「稟議終了時に PDF 自動生成」は、対応する AppExchange 帳票サービスが自動生成には機能面で対応しておらず、Apex トリガの構築が必要とのことだったので、お客様に「最後の PDF 出力はボタンを手で押して対応してください」とご案内することになりました。)

 

注)
当該のお客様のパートナー向け Experience サイトは Classic ベースのサイトテンプレート(Salesforce と Visualforce)を使っているので、一部機能で Lightning でしか使えないコンポーネントを選択していることから、フロー設定で Lightning ランタイムを有効化し、Web タブからアクセスする形をとっています。

↓ 開発中の画面イメージ

参考:
フローの Lightning ランタイムと Classic ランタイムの比較
https://help.salesforce.com/s/articleView?id=sf.flow_distribute_runtime.htm&type=5

 

↓設定画面イメージ

 

 

Spring '24 で追加 / 強化された画面フロー関連の機能

 

では、今回のリリースで、どれだけの機能強化がされたのか、リストアップしてみました。

 

新しい繰り返しコンポーネントを使用した項目セットの複数のインスタンスの作成 (ベータ)
https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_add_a_reusable_set_of_components_to_a_screen_with_the_new_repeater_component.htm&release=248&type=5

同じ画面の変更に反応するコンポーネントの増大 (正式リリース)
https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_use_more_components_to_react_to_changes_on_the_same_screen_generally_available.htm&release=248&type=5

テキストテンプレートを使用した同じ画面の変更への反応
https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_use_text_templates_to_react_to_changes_on_the_same_screen.htm&release=248&type=5

ユーザー入力の検証の対象となる画面コンポーネントの増大
https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_validate_user_input_for_more_screen_component.htm&release=248&type=5

 

画面フローに直接関わるものだけでも4つもあります。
その他、フロー全体に関係するものも含めれば全部で10個以上の機能追加 / 強化になります。
(中には「AI 予測モデルからの値のフローへの取り込み」なんていうものもあります、いったいどう使いこなせるか・・・)

「繰り返しコンポーネント」と「入力の検証の対象となるコンポーネントの増大」はユーザビリティに大きくかかわってくると思います。前者は一つの画面で指定した入力項目を「追加」ボタンを押して再度呼び出すことで、一回のアクションで複数のレコードを作成することができるというもので、後者は「フロー上で動く(レコードを保存しなくても途中で発動できる)入力規則」の対象コンポーネントが、今まではテキストと数値しか対象でなかったものが、より多くのコンポーネントで設定可能となり、検証プロセスを裏側に持たせる必要がなくなったという、より「Salesforce 標準のお作法」にフローが近づいたと言えそうです。

これらの機能は深堀りするだけで単独記事になりそうなので次回以降時間を掛けて取り上げてみたいと思います。

 

↓ 繰り返しは Spring '24 ではまだ「ベータ」の扱いです。
ユーザからフィードバックを募って Summer '24 以降のリリースに反映するので、気づいた点があれば Trailblazer Community にコメントをするのが推奨されています。
興味深い新機能ですので、使用インプレッションは今後の記事で取り上げます。

 

 

 

Spring ’24 新機能を絡めた画面フローの記事、如何でしたでしょうか。

ノーコード / ローコード開発の潮流は今後も引き続き強まっていくと思われます。
システム管理者の皆様は今まで社内からの機能改善の要望についても「開発絡むから無理」とお断りされていたことも多かったと思いますが、Salesforce もフローの機能強化をリリースの度に進めていますので、これを機に「これはフローで実現できそう、よし頑張ってみよう」とお考えいただけたら幸いです。

 

今後ともウフル カスタマーサポートを引き続きご愛顧いただきますよう、 何卒よろしくお願い申し上げます。

 


Salesforce・Googleの運用・サポートでお困りなら

 カスタマーサポートへお問合せください。


コメント

 
 
この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています