アクションステップでデータをマップして取得する
学習の目的
この単元を完了すると、次のことができるようになります。
- アクションステップのデータをマップする。
- アクションステップのデータを取得する。
アクションステップのデータをマップする
簡単に言うと、フローは抽出、変換、読み込み (ETL) プロセスです。フローの前ステップで、ソースシステムからデータを抽出します。次に、現在のステップで、データを対象システムで受け入れ可能な形式に変換し、結果を対象システムに読み込みます。
この ETL プロセスの最初のステップとして、フローの前ステップから取得したデータを現在のアクションステップの対象オブジェクトの項目にマップします。次の点に留意してください。
- トリガーまたは前のアクションステップから発生する出力データは、現在のアクションステップの入力データとなる。
- 出力データは、データピルと呼ばれる変数に含まれる。
- 現在のアクションステップの出力データは、次のステップの入力データとなる。
データをマップするには、現在のアクションステップの対象オブジェクトの項目をさまざまなソース値に割り当てます。ソース値には以下のものがあります。
- テキスト文字列
- 数値
- データピル
- データピルからの選択リスト値
ソース値には、テキスト文字列、数値、データピルを組み合わせたり、関数、数式を使用したりすることもできます。関数と数式を使用してデータを変換する方法は、単元 4 で学習します。
ほとんどの場合、データのマッピングは、現在のアクションステップの対象オブジェクトの項目を前のステップからの異なるデータピルに割り当てる方法で行います。
対象オブジェクトの項目をさまざまなソース値にマップする方法は次のとおりです。
項目のマッピング対象値 |
方法 |
---|---|
テキスト文字列または数値 |
項目にテキスト文字列または数値を入力します。 |
データピル |
項目をクリックし、関連するデータピルを選択します。 |
データピルからの選択リスト値 |
項目の検索アイコンをクリックし、[Pick from List (リストから選択)] を選択し、選択リストから値を選択します。 |
では、データをマップする方法の例を見てみましょう。Salesforce のカスタマーサービスケースを Jira の課題に同期するフローを作成したいと考えています。このフローは次のタスクを実行します。
- NTO 組織の Service Cloud で新規作成されたケースを見つける。
- Jira に課題を作成する。
ここでは、「Customer Support」(カスタマーサポート) という Jira プロジェクトが Jira に作成済みであると想定します。このタスクを実行する方法についての詳細は、「Jira Automation with MuleSoft Composer (MuleSoft Composer を使用した Jira オートメーション)」を受講してください。
まず、Service Cloud でケースが新規作成または更新されるたびに開始するトリガーを作成します。このタスクを実行する方法は、単元 1 で学習しました。
次に、Jira に接続して「Create issue with custom fields (カスタム項目を使用した課題作成)」アクションを使用するアクションステップを追加します。このタスクを実行する方法は、単元 1 で学習しました。
次の手順に従ってケースオブジェクトの項目をさまざまなソース値にマップします。
- [Project (プロジェクト)] 項目をクリックし、[CS] を選択します。これは、Customer Support プロジェクトのキーです。
- [Type (種別)] 項目をクリックし、[Bug (バグ)] を選択します。
- [Status (状況)] 項目の検索アイコンをクリックし、[Pick from List (リストから選択)] を選択して、[To Do] を選択します。
- [Priority (優先度)] 項目の検索アイコンをクリックし、[Pick from List (リストから選択)] を選択して、[High (高)] を選択します。
- [Summary (概要)] 項目をクリックし、フローのステップ 1 の [Subject (件名)] を選択します。
- [Description (説明)] 項目をクリックし、フローのステップ 1 の [Description (説明)] を選択します。
- [Reporter (報告者)] 項目の検索アイコンをクリックし、[Pick from List (リストから選択)] を選択して、Jira の任意のユーザー名を選択します。
- [Assignee (割り当て先)] 項目の検索アイコンをクリックし、[Pick from List (リストから選択)] を選択して、Jira の任意のユーザー名を選択します。
アクションステップのデータを取得する
フローを使用して、あるアクションステップから別のアクションステップにデータが流れるときに、フローの前のステップから発生するデータを取得して 1 つ以上の条件に基づいて結果を絞り込むことが必要な場合があります。そのような場合、各ステップで次の作業を 1 つ以上実行します。
- 現在のアクションステップでオブジェクトの項目を選択する。
- 1 つ以上の条件に基づいて、選択された項目の入力データを絞り込む。
- 必要に応じて、絞り込んだデータを昇順または降順で並び替える。
現在のアクションステップでオブジェクトの項目を選択する
現在のアクションステップでオブジェクトの項目を選択する方法は、トリガーでオブジェクトの項目を選択する方法と同じです。このタスクを実行する方法は、単元 1 で学習しました。
1 つ以上の条件に基づいて、選択された項目の入力データを絞り込む
項目を選択したら、1 つ以上の条件を使用して、選択済みの項目の入力データを絞り込めます。通常、各条件は、次の表に示す 3 つのコンポーネントで構成されます。
コンポーネント |
説明 |
---|---|
項目 |
現在のアクションステップでオブジェクトの項目を指定します。 |
演算子 |
項目を値と比較します。次の演算子を使用できます。
|
値 |
テキスト文字列、数値、データピル、またはこれらの値の組み合わせを指定できます。 |
入力データが特定の条件を満たす場合、その条件に基づいて絞り込まれます。以下に条件の例を紹介します。
- Account ID Equals Account ID from step 1 of the flow (取引先 ID 次の文字列と一致する フローのステップ 1 の取引先 ID)
- Account Name Starts with
A
(取引先名 次で始まる A) - Account Rating Equals
Hot
(取引先評価 次の文字列と一致する 見込み有り)
複数の条件を満たす入力データを絞り込むこともできます。複数の条件を組み合わせるには、論理演算子 AND または OR を使用します。次のガイドラインに従ってください。
データの絞り込みで満たす条件 |
用途 |
---|---|
すべての指定された条件 |
All conditions must be met (AND) (すべての条件を満たす必要がある (AND)) |
少なくとも 1 つの指定された条件 |
Any condition can be met (OR) (いずれかの条件を満たす (OR)) |
たとえば、次の条件を満たすすべての取引先を取得するとします。
- トリガー取引先と同じ取引先 ID を持つ。
- 「A」という文字で始まる名前を持つ。
- 評価が「Hot (見込み有り)」である。
次の条件を使用します。
- Account ID Equals Account ID from step 1 of the flow (取引先 ID 次の文字列と一致する フローのステップ 1 の取引先 ID)
OR - Account Name Starts with
A
(取引先名 次で始まる A)
OR - Account Rating Equals
Hot
(取引先評価 次の文字列と一致する 見込み有り)
たとえば、NTO Sandbox 組織で取引先が新規作成または更新されたときに開始するフローがあるとします。次のステップで、取引先オブジェクトからのデータを取得したいと考えています。
トリガー取引先と同じ取引先 ID を持ち、名前が「A」という文字で始まり、評価が「見込み有り」であるすべての取引先を取得するアクションステップを作成、設定する方法は、次のとおりです。
- プラスアイコンをクリックしてステップを追加します。
- [Salesforce] をクリックして、[NTO sandbox org (NTO Sandbox 組織)] をクリックします。
- [Action (アクション)] 項目をクリックし、[Get records (レコードを取得)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Account
(取引先) と入力します。 - [項目を選択] をクリックします。ここで、返されるオブジェクトの項目を選択します。[Get records (レコードを取得)] アクションの出力項目が表示されています。
- [Type (種別)] 列の横にあるチェックボックスをクリックして、すべての項目を選択解除します。
- 検索項目を使用し、任意の項目を見つけて選択し、[Add (追加)] をクリックします。
- [Conditions to filter the objects (オブジェクトを絞り込む条件)] 選択リストで、[Any condition can be met (OR) (いずれかの条件を満たす (OR))] を選択します。
- 項目として [Account ID (取引先 ID)]、演算子として [Equals (次の文字列と一致する)]、およびフローのステップ 1 の [Account ID (取引先 ID)] を選択します。
- [Add a condition (条件を追加)] をクリックします。OR は、条件間の論理演算子です。
- 項目として [Account Name (取引先名)]、演算子として [Starts with (次で始まる)]、値として
A
を選択します。 - [Add a condition (条件を追加)] をクリックします。ここでも、OR は条件間の論理演算子です。
- 項目として [Account Rating (取引先評価)]、演算子として [Equals (次の文字列と一致する)]、値として
Hot
(見込み有り) を選択します。
絞り込んだデータを昇順または降順で並び替える
指定された条件に基づいてデータを絞り込んだら、絞り込んだデータを昇順または降順で並び替えることができます。ステップ内の [Order (順序)] 選択リストで [Ascending (昇順)] または [Descending (降順)] を選択して、[Order by (並び替え基準)] 項目を選択します。
絞り込まれたデータを、[Order by (並び替え基準)] 項目として指定した [Account Name (取引先名)] に基づいて昇順で並び替える例は、次のとおりです。
できました! ここでは、フローのアクションステップでデータをマップして取得する方法を学びました。次の単元では、フローで決定要素を追加して反復アクションを実行する方法を学習します。