---
schema_version: "1"
id: 8af54fd75498525fd27bb86c4a9881ac4fb78dfda8bda0920993af54d064a5e7
title: コンポーザーのしくみ
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/composer/ms_composer_about_flows.md
canonical_url: https://docs.mulesoft.com/jp/composer/ms_composer_about_flows
source_site: docs.mulesoft.com
content_type: documentation
content_hash: d94a7d0261fc2a1b05cf8f442e9a744f58f309957f81efc4c2f8f2ba8406c97d
description: MuleSoft Documentation Site
latest: true
---
# コンポーザーのしくみ

フローでは、2 つ以上のシステム間の自動化プロセスを定義します。自動化プロセス全体のスキーマと考えてください。たとえば、コンポーザーを使用して次のアクションを自動化できます。

- すべての新しいレコードを 1 つの Salesforce 組織にコピーし、別の組織に複製する。
- Workday で従業員レコードまたは求職票を作成し、一部の項目に別のシステムのデータを入力する。
- 15 分ごとにデータ取得元を確認し、データが変更された場合は、それらの変更を Tableau データ取得元にコピーする。

また、Salesforce レコードを複製してから、レコードタイプに基づいて特定のチャネルに Slack メッセージを送信するなど、複数のアクションを 1 つのフローに組み合わせることができます。フローの基本的な構成要素がどのように連携するかを理解すると、自信を持って容易にフローをビルドおよびテストできます。フローのビルドは、トリガー、および自動化プロセスを完了するために実行するすべてのアクションを追加するだけです。

## [](#トリガー)トリガー

フローの最初のステップは常にトリガーです。使用可能なオプションは、選択した接続またはスケジュールによって異なります。

- イベントの代わりに期間を選択した場合、オプションは表示されません。トリガーが終了し、このフローの動作を定義するアクションを作成できます。
- 接続を選択する場合は、フローをトリガーして取得するデータの種類を定義し、次に定義するアクションで使用できるようにします。

次の例は、接続を使用するトリガーを示しています。

![Salesforce トリガーの設定例](/mulesoft/current/ja-jp/composer/_images/trigger-example.png)

- **\[Trigger (トリガー)\]**​ はトリガーの名前で、ユーザーが指定した名前です。
- **\[Salesforce Org HQ (Salesforce 組織 HQ)\]**​ は、このトリガーがデータ取得元として使用する接続の名前です。 トリガーはデータ取得元をリスンし、次の項目で指定されたイベントが発生したとき、または期間に達したときに開始します。
- **\[Start this flow when: (このフローを開始する条件:)\]**​ は、選択した接続のフローを開始できるアクションのリストです。テキストボックスをクリックして、オプションのリストを表示します。
- **\[Object type (オブジェクト種別)\]**​ は、Salesforce 接続の取引先や商談など、選択できるオブジェクトのリストです。ここでの表示ラベルと提供される選択肢は、接続によって異なります。
- **\[Result fields (結果項目)\]**​ には、デフォルトでフローがトリガーされるたびにフローで使用できる項目の数がリストされます。一部のレコード項目のみを操作するには、​**\[Select Fields (項目を選択)\]**​ をクリックします。
- **\[Sample Output (サンプル出力)\]**​ には、接続したデータ取得元の実際のレコードから取得した項目名とサンプル値が表示されます。サンプル出力をチェックして、正しいアカウントに接続していることを確認します。また、操作できるデータを理解するのにも役立ちます。
    
    項目の API 参照名を表示するには、各項目名の横にある情報バブルにマウスポインターを置きます。

トリガーをテストし、必要に応じて調整できます。​**\[Test (テスト)\]**​ をクリックするだけで、システムイベントが発生します。この例では、新しい Salesforce 取引先責任者を作成します。テストがエラーなしで完了した場合、次のステップに進むことができます。トリガーされた後にこのフローで実行するアクションを定義します。

### [](#接続またはスケジューラーのどちらを使用するかの選択)接続またはスケジューラーのどちらを使用するかの選択

フローを作成して名前を付けたら、Salesforce や Workday などのシステムのイベント (接続の作成)、または「every fifteen minutes (15 分ごと)」などのスケジューラーによって指定された期間のどちらでフローをトリガーするかを選択します。

イベントによるフローのトリガーは接続を使用して行われ、時間のスケジュールによるトリガーはスケジューラーを使用して行われます。

![フローをトリガーできるシステムのリストを表示する接続ダイアログ](/mulesoft/current/ja-jp/composer/_images/connection-example.png)

#### [](#接続を使用したフローのトリガー)接続を使用したフローのトリガー

接続を使用してフローをトリガーすると、ログイン情報が保護され、データ取得元に簡単にアクセスできます。

- 自分で作成した接続は自分にのみ表示されます。
- 接続を作成してログイン情報を置き換えた後は、そのログイン情報が公開されたり、アクセスされたりすることはありません。
- デプロイされたフローで使用された後に接続の名前を変更することはできません。

フローをトリガーする最初のステップは、トリガーが発生するシステムに接続することです。​**\[What Should Start This Flow (このフローの開始元)\]**​ ダイアログで、トリガー作成の最初のステップとして接続を選択または作成します。

- リストから既存の接続を選択します。
- **\[Add New Connection (新しい接続の追加)\]**​ をクリックして、作成後に自動的に選択される新しい接続を作成します。
- 接続名を変更したり接続を削除したりして、接続を管理します。

#### [](#スケジューラーを使用したフローのトリガー)スケジューラーを使用したフローのトリガー

接続を使用してフローをトリガーする代わりに、​**\[Scheduler (スケジューラー)\]**​ コントロールを使用して、フローをトリガーする期間を作成できます。

![15 分、30 分、45 分、1 時間、5 時間、1 日などの時間間隔のリストが表示されているドロップダウンメニュー](/mulesoft/current/ja-jp/composer/_images/connection-scheduler.png)

## [](#アクション)アクション

アクションはフロー内のステップです。トリガーの直後にフローの最初のアクションを作成し、トリガーと同様に接続を選択できます。トリガーによって取得されたデータと、以前のアクションにもアクセスできます。

ただし、アクションの前にフローコントロールを開始することもできます。

![アクションを追加するダイアログ](/mulesoft/current/ja-jp/composer/_images/create-an-action.png)

次の例では、アクションの上部のバナーに表示されているように、Salesforce システム管理者がアクションを作成して名前を付け、Google スプレッドシートへの接続を選択しています。システム管理者はアクションも定義しました。この場合、スプレッドシートに新しい行を作成し、フロートリガーからいくつかの項目を入力します (各新規取引先責任者レコード)。

![スプレッドシートの新しい行を作成するためのサンプルアクション設定のステップ](/mulesoft/current/ja-jp/composer/_images/action-step1.png)

- **\[Action (アクション)\]**​ は、実行するタスクです。選択できるアクションは、選択した接続によって異なります。
    
    このセクションの残りの項目は、接続種別と選択したアクションによって異なります。
- **\[Spreadsheet ID (スプレッドシート ID)\]**​ は、このアクションが使用するスプレッドシートの名前です。接続の作成に使用したログイン情報を使用してアクセスできる、任意のスプレッドシートを検索および選択できます。
- **\[Worksheet (ワークシート)\]**​ は、行を追加するワークシートの名前です。
- **\[Columns (列)\]**​ は、トリガー項目をスプレッドシートの列にマップする領域です。他の領域と同様に、この領域はシステムによって異なります。この例では、​**\[Add Columns (列を追加)\]**​ をクリックして、リストされたスプレッドシートのすべての列を表示し、ここで操作する列を選択します。
    
    ![スプレッドシート列の項目を入力するためのサンプルアクション設定のステップ](/mulesoft/current/ja-jp/composer/_images/action-step2.png)
    
    操作する列を選択し、トリガーで取得した項目または前のアクションを次のようにマップします。
    
    ![項目をマップするためのサンプルアクション設定のステップ](/mulesoft/current/ja-jp/composer/_images/action-step3.png)
    
    トリガーによって提供された項目を選択したスプレッドシートの行にマップします。この例では、​**\[Email\]**​、​**\[FirstName\]**​、​**\[LastName\]**​ が Google スプレッドシートの列 ​**\[Email (メール)\]**​、​**\[First Name (名)\]**​、​**\[Last Name (姓)\]**​ にマップされます。アクションまたはトリガー接続で取得されたすべての項目をマップする必要はありません。
    
    選択ペイン (​**\[Columns (列)\]**​) は、このアクションの接続と他の選択肢によって異なる点に注意してください。各接続での有効なアクションのリストについては、関心のあるシステムのリファレンストピックを参照してください。

これは完全なアクションで、テストする準備ができています。

![サンプルアクション設定のすべてのステップ](/mulesoft/current/ja-jp/composer/_images/action-overview.png)

Google スプレッドシートの項目にマップされる Salesforce の項目は、項目 (または接続によっては他のリソース) に含まれる可能性があるすべてのコンテナであるデータピルです。

## [](#データピル)データピル

データピルには複雑なデータ構造が含まれるため、トリガーや以前のアクションからのデータを簡単にマップできます。データピルを使用して、必要に応じてデータマッピングをシンプルにすることも複雑にすることもできます。

- 2 つ以上のデータピルを同じ項目、列、または他のデータ取得先にマップすることで、連結できます。
- **\[Custom Express fx (カスタム式 fx)\]**​ を選択すると、単純にデータピルをデータ取得先にマップする代わりに、カスタム式を作成できます。たとえば、検査用にフラグを設定するために、データピルの後にテキスト (​`Copied from Salesforce`​ など) を追加できます。
- 複数のカンマ区切りのデータピルと手動で入力した文字列値を使用して、文字列のリストを作成できます。1 つのデータピルを入力すると、コンポーザーによってそのデータピルが自動的にリストに変換されます。​`list of strings`​ データピルを使用するときに、データ型 ​`string`​、​`number`​、​`boolean`​、または ​`date`​ のデータピルも選択すると、それらのデータピルは既存のリストに追加され、文字列以外のデータピルは ​`string`​ データ型に変換されます。

データピルが null または空白の値を含む項目であり、それを省略可能な項目にマップすると、コンポーザーによってその項目がフローから削除されます。必須項目にマップすると、値は必須であるためエラーが発生します。

## [](#フローコントロール)フローコントロール

基本アクション以外のロジックをフローに追加する必要がある場合は、For Each ループまたは If/Else ブロックを使用できます。フローコントロールを定義し、以前に取得したデータに適用されるロジックに基づいて実行するアクションを指定します。

### [](#for-each-ループ)For Each ループ

For Each ループは、リスト内の各レコードに対して実行されます。たとえば、フローが Salesforce から一連の取引先責任者を取得する場合、リスト全体をループして各レコードを Google スプレッドシートの行にコピーできます。

![For Each ループが含まれるサンプルアクション設定](/mulesoft/current/ja-jp/composer/_images/for-each-example.png)

**\[Input list (入力リスト)\]**​ は、前のアクションで使用可能なレコードのリストから選択されます。この例では、前のアクションで 1 つの取引先に関連付けられたすべての取引先責任者レコードが取得されました。

残りのステップは、リスト内の各レコードに対して実行されるアクションです。この例では、アクションは取引先責任者を Google スプレッドシートに 1 行に 1 レコードずつ書き込みます。

### [](#ifelse-ブロック)If/Else ブロック

If/Else ブロックは 1 つのレコードを取り、指定した条件を満たしているかどうかを確認します。満たしている場合、実行するアクションを定義します。

![If Else ブロックが含まれるサンプルアクション設定](/mulesoft/current/ja-jp/composer/_images/if-else-example.png)

この例では、1 つの If 分岐のみが示されています。レコードの電話番号が ​`702`​ で始まる場合、名と姓が Google スプレッドシートの行にコピーされます。レコードが条件を満たさない場合、1 つの分岐しかないため、アクションは実行されず、フローは次のアクションに進みます。

分岐ごとに最大 20 個の条件と、分岐ごとに必要な数のアクションを追加できます。​**\[Add If (If を追加)\]**​ をクリックして分岐を追加します。必要な分岐をすべて指定したら、​**\[Add Else (Else を追加)\]**​ でフォールスルーアクションを指定できます。

If ステートメントの順序に注意してください。条件が満たされた最初の分岐によって指定されたアクションは、If/Else ブロックで実行される唯一のアクションです。

## [](#テスト)テスト

すべてのトリガーとアクションの後に作業をテストできます。テストするときに、トリガー、アクション、フローコントロールを追加または削除できます。トリガーまたはアクションで使用する接続を同じシステム種別の別の接続に変更することもできます。

テストが完了したら、フローをアクティブ化できます。

## [](#関連リソース)関連リソース

- [MuleSoft Composer: 概要](https://docs.mulesoft.com/jp/composer/ms_composer_overview)
- [MuleSoft Composer: はじめに](https://docs.mulesoft.com/jp/composer/ms_composer_prerequisites)
- [フローの設定と管理](https://docs.mulesoft.com/jp/composer/ms_composer_flows)
- [フローのアクティブ化](https://docs.mulesoft.com/jp/composer/ms_composer_activation)
- [フローの監視](https://docs.mulesoft.com/jp/composer/ms_composer_monitoring)