Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Salesforce Starter でビジネスの成長を実現

営業、サービス、マーケティングをカバーする 1 つのアプリで顧客との関係を深める

30 日間の無料トライアルを開始
予想時間

フロー変数について

学習の目的

この単元を完了すると、次のことができるようになります。

  • 変数のしくみを理解する。
  • 多くの異なる変数種別を作成する。
  • さまざまな種別のリソースとその使用方法を挙げる。
メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

変数とは?

変数という言葉が不安を煽ることは承知しています。 

  • 「コードのことですよね? でも、コードなんてわからない!」
  • 「変数って代数の一部じゃないの? そんな数学なんて長いことやってない。」
  • 「変数が何かわからない。これは複雑すぎる。」

そんなあなたのために、変数を理解できるように説明していきましょう。

フローでは、変数とは情報を入れておく容器です。次の動画をご覧になり、変数の概要とそのしくみについて確認してください。

フローでは値は変数に保存されますが、その値はフローによって変化します。それが変数と呼ばれる所以です。つまり、変化させることができるのです。

変数が必要である理由は?

ほとんどのフローのユースケースでは、少なくとも 1 つの変数が必要です。変数にはフローで使用される多くの情報が保存されているため、変数がなければフローはその強力な機能を発揮することはできません。以下に、変数を必要とする一般的なユースケースをいくつか紹介します。

  • 画面フローで、フローが表示されるレコードの ID を保存して、フローの最後にどのレコードを更新するかをフローに指示できるようにする。
  • ユーザーの選択に応じて増減する数値を保存する。
  • 2 つのテキスト文字列を 1 つに結合した結果を保存する。
  • レコードの値を取得して、計算で使用したり、別のレコードにコピーしたり、ユーザーに表示したりする。
  • レコードの作成に使用できる値のコレクションを整理する。
  • 特定の条件を満たすすべてのレコードを変更する。
  • 特定の条件を満たすすべてのレコードを削除する。
  • ループの実行回数の途中集計を継続的に行う。

上記は考えられる例のほんの一部に過ぎませんが、変数なしではどれも実現できません。フローは要素とコネクタで構成されているように見えるかもしれませんが、変数は言うなれば、肉とフローというジャガイモにかけるグレイビーソースです。

料理の皿。肉に「ELEMENTS (要素)」、ジャガイモに「CONNECTORS (コネクタ)」、グレイビーソースに「VARIABLES (変数)」というラベルが付けられている、一皿の料理。

幸い、このようなすべての変数を作成する必要はありません。多くのフロー要素では独自の変数が出力されるため、大抵はその変数を使用するのがよいでしょう。

変数に保存できるものは?

変数を作成するときは、カスタム項目を作成するときと同じように、保存できるデータ型をフローに指示します。それでは、さまざまな種類の変数を確認していきましょう。 

日付/時間、名前、電話番号、通貨の値、Salesforce ID、チェックボックス、いくつかのテキスト値など、それぞれに異なる値が含まれている多数のアイデアの吹き出しに囲まれている Flo Smith。

テキスト: 文字、数字、記号の文字列。レコード全体ではなく、Salesforce ID のみを保存する必要がある場合は、テキスト変数を使用します。次に例を示します。 

  • yes
  • Eight
  • 01ZEE0000004GxOIAU
  • I don’t know

数値、通貨: 数字の値。$ や € などの通貨記号は含めないでください。次に例を示します。 

  • 42
  • 246.01

Boolean: true または false の値。この変数には、グローバル定数である True、False、または空の文字列のみを含めることができます。次に例を示します。 

  • {!GlobalConstant.True}
  • {!GlobalConstant.False}
メモ

必ず True と False のグローバル定数を使用してください。そうしないと、Flow Builder では「true」と「false」が正または負の値ではなく、テキストとして解釈されます。

日付、日付/時間: 特定の日付や特定の日付の特定の時刻を示す、特別に書式設定された値。日付と日付/時間のデータの書式を設定する方法については、「Date および DateTime の有効な書式」を参照してください。次に例を示します。 

  • 2063-04-05
  • 1955-11-12T22:04:00Z

レコード: Salesforce レコードのすべての値。1 つの変数にまとめて保存されます。各値は、Salesforce レコード内と同じように独自のデータ型を保持します。フローでは、各値を個別に取得または更新できます。

他にも変数のデータ型がいくつかありますが、このモジュールでは取り上げません。

なぜ、変数のデータ型が重要なのでしょうか? なぜ、すべてテキストとして保存しないのでしょうか? Salesforce オブジェクト項目と同じように、変数にも他のものとやり取りするための適切なデータ型が必要です。たとえば、テキスト変数に特定の日付があるとします。そのテキストは読み込んで表示することができます。ただし、その日付を調整するフロー (年の追加など) が必要な場合、その変数には日付または日付/時間のデータ型が必要です。

メモ

変数には複数の値を保存できるものもありますが、これが必要になるのは、複数の値を期待するものに値を渡すときのみです。値を 1 つの変数に「積み重ねる」ことで、変数の数を減らそうとする必要はありません。余分な変数があっても、パフォーマンスに影響することも、何かの問題の原因になることもありません。

最後に、値を変数に保存する際の重要なポイントを 1 つ。フローが実行されるたびに、そのすべての変数はデフォルト値を含んで開始されます。デフォルト値が空白である場合、その変数は空白として開始されます。変数値は、ユーザーからユーザーへ、またはフローのあるインスタンスから別のインスタンスへと渡されることはありません。

変数の作成

変数は、使用する必要がある場所で作成することも、ツールボックスで作成することもできます。この単元は、ツールボックスを使用しますが、どちらでもお好きな方法を使用することができます。

では、シンプルなテキスト変数を作成する方法を見てみましょう。

  1. [Setup (設定)] から、[Quick Find (クイック検索)] ボックスに Flows (フロー) と入力し、[Flows (フロー)] をクリックします。
  2. [新規フロー] をクリックします。
  3. [Start from Scratch (最初から開始)] が選択されていることを確認し、[Next (次へ)] をクリックします。
  4. [画面フロー] を選択して、[Create (作成)] をクリックします。
  5. ツールボックスを切り替え をクリックして、[ツールボックス] を表示します。
  6. [新規リソース] をクリックします。ツールボックスは、ツールボックスを切り替え をクリックするといつでも非表示にできます。
    Flow Builder の [ツールボックス] の下にある [新規リソース] ボタン。
  7. [リソース種別] で [変数] を選択します。
  8. 変数の API 参照名と説明を入力します。
  9. [データ型] で [テキスト] を選択します。
    [リソース種別]、[API 参照名]、[説明]、[データ型] を設定するオプションが表示されている [新規リソース] ウィンドウ。
  10. [Done (完了)] をクリックします。

これで完成です。データを保存する容器が設定され、ツールボックスに表示されるようになりました。

Flow Builder の [ツールボックス] の下に表示されている、作成した [contactID] 変数。

変数を作成しているときに、おそらく他の設定があることに気が付いたと思います。安心してください。この設定については他のフローバッジで説明します。原則として、必要であることがわかっている場合を除き、この設定は有効にしないでください。今のところは、最初の変数を作成したことを誇りに思ってください。

変数と類似するもの

変数はフローリソースの一種ですが、他にも使用できるフローリソースがあります。以下に、簡単にまとめて説明します。

定数

定数は変数と似ていますが、その値が変化しない点が異なります。定数と呼ばれるのはこのためです。定数を作成するときには、その値を設定しますが、フローでその値を変更することはできません。

以下の説明に対応する [新規リソース] ウィンドウ。

この例では、リソースの [API 参照名] は [pi]、リソース種別は [定数]、[データ型] は [数値]、[値] は [3.14159] です。

数式

フロー数式は、カスタム数式項目と非常に似ています。構造、形式、データの使用方法はほぼ同じです。数式項目で使用する数式関数のほとんどを使用できます。また、変数と画面コンポーネントを差し込み項目として使用することも可能です。ただし、差し込み項目の形式は異なるため、リソースピッカーを使用して、正しく追加されていることを確認してください。詳細は、「フロー数式ビルダー」を参照してください。

数式の作成が表示されている [新規リソース] ウィンドウ。

メモ

数式項目と同様に、数式リソースもアクセスされるたびに再計算されます。1 つのフローで 2 回使用される数式があり、その数式に変更される変数が含まれている場合、2 回目は異なる方法で計算される可能性があります。

テキストテンプレート

テキストテンプレートの作成が表示されている [新規リソース] ウィンドウ。

時には、より大きなテキストブロックを保存する必要があったり、そのテキストを特定の方法で書式設定する必要があったりします。テキストテンプレートは基本的に定数であり、大量のリッチテキスト (フォント、サイズ、色、リスト、その他の特殊な書式が設定されているテキスト) を保存することができます。テキストテンプレートを使用して、メールの本文や書式設定済みテキストのチャンクを保存し、複数の画面で再利用します。数式と同様に、テキストテンプレートでも変数と画面コンポーネントを差し込み項目として使用できます。

ハンズオン Challenge に取り組んだら、「Flow Builder を使用したフローの作成」トレイルに進んで Flow Builder の学習ジャーニーを続けます。このトレイルでは初めから終わりまで Flow Builder について学習します。このトレイルで推奨されるバッジの順序に従えば、プロセスの自動化に関する確固たるスキルが身に付き、Flow Builder のエキスパートになります。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む