コンポーザーフローの構築

準備チェックリスト​に記載された情報を収集したら、フローを構築、​アクティブ化​、​監視​できます。フローの構築には、新しいフローを作成したり、既存のフローを複製したり、トリガーを追加してテストしたり、フローによって実行される各アクションを実行順序で追加してテストしたり、アクティブ化する前に最終的に新しいフローをテストして完了したりする作業が含まれます。

各トリガーおよびアクションをフローに追加するときに​テスト​します。

フローの詳細ページ

[Flow Details (フローの詳細)]​ ページにアクセスして、フローの詳細を確認します。

*フローの詳細*ページ
1 フローの名前。
2 フローの詳細:
  1. Created On (作成日)​: ブラウザーで設定されているタイムゾーンでの、フローが作成された日付。

  2. Flow ID (フロー ID)​: フローの ID。

  3. Flow Owner (フローオーナー)​: フローのオーナー。

  4. Last Modified (最終更新日)​: ブラウザーで設定されているタイムゾーンでの、フローが最後に更新された日付。

  5. Status (状況)​: フローの状況。状況は [active (アクティブ)] または [inactive (非アクティブ)] です。

  6. Last Triggered (最終トリガー)​: フローが最後にトリガーされた日付。この項目には、イベントポーリングまたはスケジューラーによって最後にフローがトリガーされた時間が表示されます。

3 フローの​実行履歴​。コンポーザーはフローあたり最大 1000 件のレコードを保存します。含めることができるのは過去 2 週間のデータのみです。たとえば、1 日あたり 10 件のレコードを生成するフローの場合、過去 2 週間のデータの実行履歴 (14 x 10 = 140 件のレコード) を表示できます。1 時間あたり 100 件のレコードを生成するフローの場合、10 時間までの実行履歴を表示できます。スケジューラーでフローをトリガーすると、常に実行履歴にエントリが作成されます。実行履歴のエントリは、レコードが作成または更新されて検索条件が渡されたときにのみイベントトリガーによって追加されます。
  1. Start Date (開始日)​: ブラウザーで設定されているタイムゾーンでの、フローが開始された日付。

  2. End Date (終了日)​: ブラウザーで設定されているタイムゾーンでの、フローが終了した日付。

  3. Status (状況)​: フローの状況。状況は ​[SUCCESS (成功)]​ または ​[FAILED (失敗)]​ です。

  4. Reference ID (参照 ID)​: フローをトリガーしたレコードまたは実行の ID。イベントトリガーでは、この項目の値は対応する ​[Record ID (レコード ID)]​ になります。スケジューラーによってトリガーされたイベントでは、実行インスタンスの ​[Execution ID (実行 ID)]​ の一意の値が作成されます。

  5. Error (エラー)​: フローが失敗した場合は、失敗の内容を示すエラーメッセージが返されます。

4 フローのアクション。アクティブなフローは削除、複製、または表示できます。非アクティブなフローは編集できませんので注意してください。
5 [Run History (実行履歴)]​ アクション。​[Run History (実行履歴)]​ セクションを更新したり、指定した条件でセクションを絞り込んだりできます。

フローを作成する

新しいフローを (最初からまたはテンプレートから) 作成したり、既存のフローを複製したりできます。

新しいフローを最初から作成する

新しいフローを最初から作成する手順は、次のとおりです。

  1. コンポーザーの ​[Home (ホーム)]​ ページで、​[Create new flow (新規フローを作成)] > [Create Flow from Scratch (フローを最初から作成)]​ をクリックします。
    自動的にフローに名前が付けられます。

  2. 自動的に作成された新しいフローの名前を変更するには、​[Untitled Flow (タイトル未定のフロー)]​ の横にある鉛筆アイコンをクリックし、A-Z、a-z、0-9、スペース、ハイフン ( - )、ドット ( . )、アンダースコア ( _ ) の任意の文字を使用してカスタム名を作成します。

  3. [Save (保存)]​ をクリックします。

これでフロートリガーを作成する準備ができました。

テンプレートから新しいフローを作成する

テンプレートから新しいフローを作成する手順は、次のとおりです。

  1. コンポーザーの ​[Home (ホーム)]​ ページで、​[Create new flow (新規フローを作成)] > [Create Flow from Template (テンプレートからフローを作成)]​ をクリックします。

  2. テンプレートオプションを調べて、使用するテンプレートを選択します。

  3. 前提条件を満たしていることを確認し、満たしている場合は、​[Use this Template (このテンプレートを使用)]​ をクリックします。

  4. フローに必要な接続と情報を設定します。

  5. [Create flow (フローを作成)]​ をクリックします。

これでフローを使用する準備ができました。テンプレートについての詳細は、​「テンプレートを使用したフローのビルド」​を参照してください。

既存のフローを複製する

既存のフローを複製する手順は、次のとおりです。

  1. サイドバーから、​[Flows (フロー)]​ をクリックします。

  2. [Flows (フロー)]​ ページで、複製するフローの名前をクリックします。

  3. [Clone (複製)]​ をクリックします。

    コンポーザーは、既存のフローをコピーして、[Flow Details (フローの詳細)] ページで開きます。フローの名前は ​[Copy of ​original flow name​ (​元のフロー名​のコピー)]​ となります。

  4. フローの名前を変更するには、​[Copy of original flow name (​元のフロー名​のコピー)]​ の横にある鉛筆アイコンをクリックし、A-Z、a-z、0-9、スペース、ハイフン ( - )、ドット ( . )、アンダースコア ( _ ) の任意の文字を使用します。

  5. [Save (保存)]​ をクリックします。

フローをエクスポートする

フローを JSON ファイルとしてエクスポートする手順は、次のとおりです。

  1. 既存のフローを開きます。
    [<フロー名>]​ ページが表示されます。

  2. [View (表示)]​ をクリックします。

  3. レンチアイコン > ​[Export (エクスポート)]​ をクリックします。
    フローが JSON ファイルとしてエクスポートされます。

フローをインポートする

フローを JSON ファイルとしてインポートする手順は、次のとおりです。

  1. 新しいフローを作成​するか、または既存のフローを開きます。
    [<フロー名>]​ ページが表示されます。

  2. [View (表示)]​ をクリックします。
    [<フロー名>]​ ページが表示されます。

  3. レンチアイコン > ​[Import - Beta (インポート - ベータ)]​ をクリックします。
    [Select Flow (フローを選択)]​ ダイアログボックスが表示されます。

  4. [Select flow (フローを選択)]​ をクリックします。
    ファイルが表示されます。

  5. アップロードする JSON ファイルを探して選択し、​[Open (開く)]​ をクリックします。
    選択したファイルが ​[Select Flow (フローを選択)]​ ダイアログボックスに表示されます。

  6. [Connect with <Connector Name> (<コネクタ名> で接続)]​ ドロップダウンリストから既存の接続を選択するか、または新しい接続を作成します。

    • 既存の接続をクリックして選択します。

    • [Add new <Connector Name> Connection (新しい <コネクタ名> 接続を追加)]​ をクリックし、新しい接続を作成して選択します。

  7. [Import Flow (フローをインポート)]​ をクリックします。フローをインポートすると、既存のフローが上書きされます。
    フローがインポートされて ​[<フロー名>]​ ページに保存されます。

  8. [Save (保存)]​ をクリックします。
    フローがインポートされます。

フローを更新する

フローを構築するときにオブジェクトレベルまたは項目レベルで更新されたデータを表示するには、フローの更新が必要になる場合があります。

オブジェクトを更新する手順は、次のとおりです。

  1. フローを開きます。

  2. 更新するトリガーまたはアクションカードの右上隅にある更新アイコンをクリックします。

    オブジェクトの更新 オブジェクト種別のキャッシュがクリアされて、新しいデータが取得されます。

項目を更新する手順は、次のとおりです。

  1. フローを開きます。

  2. トリガーまたはアクションカードの左下隅にある更新アイコンをクリックします。

    項目の更新 項目のキャッシュがクリアされます。項目の新しい値プロバイダーが取得されます。

フロートリガーを作成する

フローを作成または複製したら、トリガー (フローを開始するイベントまたは時間間隔) を定義します。フローをテストまたはアクティブ化するには、トリガーステップが必要になります。

イベントに基づいてトリガーを定義する手順は、次のとおりです。

  1. フローを開きます (まだ開いていない場合)。​[What Should Start This Flow? (このフローを開始する要素)]​ ダイアログが表示されます。

  2. トリガーイベントが発生するコネクタを選択します。既存の接続が表示されます。

    既存の接続を選択するか、新しい接続を作成できます。

    • 既存の接続をクリックして選択します。

    • [Add new ​connector name​ Connection (新しい_コネクタ名_接続を追加)]​ をクリックし、新しい接続を作成して選択します。
      このダイアログの歯車アイコンをクリックして、接続の名前変更や削除を行うことができます。

  3. 接続を選択したら、トリガーステップが表示されます。

    トリガーステップ

    自動的にトリガーに名前が付けられます。どのトリガーも、イベントまたは操作とシステム名を組み合わせて名前が付けられます。たとえば、[On new record in Salesforce (Salesforce の新規レコード)] のようになります。

    • 必要に応じて、トリガーの名前を変更できます。有効な文字: A-Z、a-z、0-9、スペース、ハイフン ( - )、ドット ( . )、アンダースコア ( _ )。

    • フローを開始するイベントを選択します。必要に応じて、追加情報を入力します。

    • [Save (保存)]​ をクリックします。

[Connections (接続)] ページへのアクセス

[Connections (接続)]​ ページでは、次の操作を実行できます。

  • 接続を選択し、現在その接続を使用しているすべてのフローを表示する。

  • 接続を削除する​。

  • 接続の名前を変更する。

[Connections (接続)]​ ページにアクセスするには、​[Composer (コンポーザー)]​ ホームページのナビゲーションペインで ​[Connections (接続)]​ をクリックします。

接続を変更する

トリガーやアクションの接続は、すべてのステップ (フローレベル) または個別のステップで変更できます。たとえば、Salesforce Sandbox 組織への接続を使用してフローを作成し、フローのテストが完了した後で本番組織を使用するようにトリガーやアクションの接続を変更できます。

同じシステム種別にアクセスする接続のみを変更できます。たとえば、Workday 接続を Google スプレッドシート接続に変更することはできません。

接続を変更する手順は、次のとおりです。

  1. フローを開きます。

  2. Sandbox に接続するトリガーやアクションの変更アイコンをクリックします。

    接続コントロールの変更
  3. 接続を既存の接続または新しい接続に変更します。

    • 接続を既存の接続に変更する場合、次の操作を実行します。

      1. 変更先の接続を選択します。

      2. この特定の接続を使用するすべてのステップの接続を変更する場合、​[Change all instances of XXX to XXX in this flow (XXX のすべてのインスタンスをこのフローの XXX に変更)]​ を選択します。

      3. [Change (変更)]​ をクリックします。

      4. [Confirm (確認)]​ をクリックします。

    • 接続を新しい接続に変更する場合、次の操作を実行します。

      1. [Add New (Connector Name) Connection (新しい (コネクタ名) 接続を追加)]​ をクリックします。

      2. [Connection Display Name (接続表示名)]​ 項目の値を入力します。

      3. この特定の接続を使用するすべてのステップの接続を変更する場合、​[Change all instances of current connection to the new connection in this flow (現在の接続のすべてのインスタンスをこのフローの新しい接続に変更)]​ を選択します。

      4. [Connect (接続)]​ をクリックします。

      5. ダイアログボックスで、システムにログインしてアクセスを許可します。

接続を修正する

OAuth 接続が失われた場合、アクセストークンを更新して接続を修正できます。

接続を修正する手順は、次のとおりです。

  1. フローを開きます。

  2. [Edit (編集)]​ をクリックします。

  3. 修正が必要なトリガーやアクションの変更アイコンをクリックし、​[Change Connection (接続を変更)]​ をクリックします。

  4. [Repair (修正)]​ をクリックします。

接続の削除

特定の接続が不要になった場合、削除できます。

接続を削除する手順は、次のとおりです。

  1. 新しいフローを作成​するか、既存のフローにステップを追加します。

  2. 新しいフローを作成する場合、次の操作を実行します。

    1. フローを起動するコネクタまたはシステムを選択します。

    2. [What Should Start This Flow? (このフローを開始する要素)]​ ウィンドウで、歯車アイコンをクリックします。

  3. 既存のフローにステップを追加する場合、次の操作を実行します。

    1. フローを起動するコネクタまたはシステムを選択します。

    2. [Next Step (次のステップ)]​ ウィンドウで、歯車アイコンをクリックします。

  4. [Manage <Connector Name> Connections (<コネクタ名> 接続を管理)]​ ウィンドウで、削除する接続の横にあるゴミ箱をクリックします。
    選択した接続を削除することを確認するメッセージが表示されます。ウィンドウが表示され、現在その接続を使用しているフローのリストが表示されます。接続の状況に応じて、実行する操作が異なります。

    • どのフローでも使用されていない場合、接続を削除できます。

    • 非アクティブなフローで使用されている場合、この接続を使用している非アクティブなフローの名前と数が記載されたリストが表示されます。この接続を削除すると、リストに記載されたフローの影響します。非アクティブなフローを再び開いた場合は、​新しい接続を選択​する必要があります。

    • アクティブなフローと非アクティブなフローで使用されている場合、この接続を使用しているアクティブなフローと非アクティブなフローの名前、数、状況が記載されたリストが表示されます。接続を削除することを選択すると、再度の確認が表示されます。接続を削除する前に、コンポーザーで最初にフローの停止が試みられます。

  5. [Delete (削除)]​ をクリックします。
    接続が削除されます。

フローをスケジュールする

接続を選択しない場合、一定間隔で開始するようにフローをスケジュールできます。

フローコントロールを作成する手順は、次のとおりです。

  1. 新しいフローの ​[What Should Start This Flow? (このフローを開始する要素)]​ ダイアログから、[Flow Control (フローコントロール)] セクションを確認して、​[Scheduler (スケジューラー)]​ をクリックします。

  2. いずれかの時間間隔 (15 分~ 30 日) を選択します。

    期間を使用した新しいトリガー
  3. [Save (保存)]​ をクリックします。
    トリガーを作成したら、1 つ以上のアクションをフローに追加します。アクションにロジックを適用するには、​If/Else ブロック​または ​For Each​ ループを追加します。

フローの呼び出し

外部システム (Flow Builder、フローオーケストレーション、別のコンポーザーフロー、Apex コールアウト、cURL コマンドなど) からコンポーザーフローを呼び出して、Salesforce 全体で深い相互運用性と統合された機能を実現できます。詳細は、​「コンポーザーフローの呼び出し」​を参照してください。

フローのアクセス権のオープン

すべてのユーザーは組織内のすべてのフローを表示または管理できます。

この機能は新規顧客ではデフォルトで有効になっており、既存の顧客ではデフォルトで無効になっています。組織レベルでこの機能を無効にするには、コンポーザーサポートにお問い合わせください。

制限事項

  • フローのオーナーで絞り込むには、最初に ​[Owner (オーナー)]​ 項目ではなく ​[Flow Owner (フローオーナー)]​ 項目を使用する必要があります。

  • [Flow Owner (フローオーナー)]​ 項目を使用して絞り込む場合、使用できる演算子は​「次の文字列で始まる」​、​「次の文字列と一致する」​、​「次の文字列を含む」​のみです。​「次の文字列で始まる」​、​「次の文字列と一致する」​、​「次の文字列を含む」​演算子はいずれも、​「次の文字列を含む」​演算子の機能を模倣します。

  • 既存の顧客の組織では、​[Flow Owner (フローオーナー)]​ はデフォルトで ​[Composer Flows (コンポーザーフロー)]​ タブのリストビューに表示されません。ただし、新規の顧客には、​[Flow Owner (フローオーナー)]​ がデフォルトで ​[Composer Flows (コンポーザーフロー)]​ タブのリストビューに表示されます。

    • [Flow Owner (フローオーナー)]​ を ​[Recently viewed (最近参照したデータ)]​ リストに追加する手順は、次のとおりです。

      1. [Composer Flows (コンポーザーフロー)]​ タブから、​[Recently viewed (最近参照したデータ)]​ を選択します。

      2. [Setup (設定)] > [Search Layouts (検索レイアウト)] > [Composer Flow (コンポーザーフロー)] > [Default Layout (デフォルトのレイアウト)]​ の順に進みます。

      3. [Flow Owner (フローオーナー)]​ を追加します。

    • [Flow Owner (フローオーナー)]​ を ​[All (すべて)]​ (または他の任意のビューリスト) に追加する手順は、次のとおりです。

      1. [Composer Flows (コンポーザーフロー)]​ タブから、​[All (すべて)]​ を選択します。

      2. [List View Controls (リストビューコントロール)] > [Select Fields to Display (表示する項目を選択)]​ の順に進みます。

      3. [Flow Owner (フローオーナー)]​ を ​[Available Fields (使用可能な項目)]​ から ​[Visible Fields (参照可能項目)]​ に移動します。

  • 一括所有権移行や自分以外のユーザーへのオーナーの変更はサポートされません。

フローを参照する

組織内のすべてのフローを参照し、状況などのフローの詳細を参照してフローがアクティブであるか非アクティブであるかを確認して、最終更新日を参照してフローの変更 (アクティベーションや非アクティベーション以外)、フローオーナー、実行履歴を確認できます。

組織内ですべてのフローを参照する手順は、次のとおりです。

  1. [Composer Flows (コンポーザーフロー)]​ タブに移動します。組織内のすべてのフローを参照し、​フロー名​、​状況​、​最終更新日​などのフローの詳細を参照できるようになりました。

フローを管理する

組織内のすべてのフローを管理できます。組織内のすべてのフローをアクティブ化または非アクティブ化し、組織内のすべてのフローを削除して、組織内のすべてのフローを編集し、組織内のエラーメール通知フローの所有権を変更できます。

組織内ですべてのフローを管理する手順は、次のとおりです。

  1. [Composer Flows (コンポーザーフロー)]​ タブから、フローを選択します。

  2. 目的のボタンをクリックします。たとえば、​[Delete (削除)]​ をクリックしてフローを削除したり、​[Transfer ownership (所有権の移行)]​ をクリックしてフローの所有権を変更したりします (エラーメール通知フローの場合のみ)。

アクションを作成する

アクションを作成する手順は、次のとおりです。

  1. フローのトリガーの後にある大きなプラス記号をクリックして、​[Add Action (アクションを追加)]​ ダイアログを開きます。

  2. アクションの接続をクリックまたは作成します。

    たとえば、トリガーが「new records created in Salesforce」で、アクションを「copy new record to a Google Sheet」にする場合、Google スプレッドシート接続を選択または作成します。

  3. アクションと表示されるその他の値を選択します。アクションで何を指定する必要があるのかは、アクションで接続するシステム種別によって異なります。

  4. 編集する項目が​カスタム式​で有効になっている場合、鉛筆アイコンをクリックします。
    可能な操作は、テキストを入力すること、または項目の 1 つのデータピルを選択することだけです。(関数、算術演算子、テキストの連結、特殊なトークンが含まれる) 複雑な式を入力する場合、​カスタム式エディター​を使用する必要があります。

  5. [Save (保存)]​ をクリックします。

カスタム式に null 値がある場合、次のようになります。

  • 属性のない項目があると、null 値は無視される。必須項目に値がある場合、エラーメッセージが表示されます。省略可能な項目に値がある場合、値は無視され、コネクタに送信されません。

  • 属性のある項目があると、値は無視され、コネクタに送信されない。

変数の定義

コンポーザーフローで変数を定義できます。変数を定義することで、特定のユースケース (計算を集計して値を保存するなど) を実行できます。フロー内でローカルに変数を定義し、そのフロー内の任意の場所で使用します。

[Variable (変数)] ステップにアクセスする

[Variable (変数)]​ ステップにアクセスする手順は、次のとおりです。

  1. 新しいフローを作成​するか、または既存のフローを開きます。

  2. [<フロー名>]​ ページで ​[Edit (編集)]​ をクリックします。

  3. [Variable (変数)]​ ステップにアクセスするフローの位置を探し、プラスボタンをクリックします。

  4. [Next Step (次のステップ)]​ ウィンドウで、​[Variable (変数)]​ をクリックします。
    [Variable (変数)]​ ステップが表示されます。

ビジュアルエディターを使用して変数を作成する

[Visual Editor (ビジュアルエディター)]​ ウィンドウを使用して 1 つ以上の新しい変数を作成する手順は、次のとおりです。

  1. [Variable (変数)]​ ステップにアクセスします​。

  2. [Action (アクション)]​ > ​[Create Variable (変数を作成)]​ を選択します。

  3. [Variable (変数)]​ セクションから、​[Add Variable (変数を追加)]​ をクリックします。

  4. [Label (表示ラベル)]​ 項目に、変数の一意の名前を入力します。

    入力された名前は、このステップに対してのみ一意になります。異なる [Variable (変数)] ステップ間で ​[Label (表示ラベル)]​ 項目の値を複製できます。

  5. [Data Type (データ型)]​ ドロップダウンで、変数で使用するデータ型を選択します。サポートされている​データ型​は、​[String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Date (日付)]​、​[DateTime (日時)]​、​[List (リスト)]​ です。​[List (リスト)]​ を選択した場合、​[List Item Type (リスト項目種別)]​ 項目で以下を選択します。

    • プリミティブデータ型が含まれるリストを返す ​[String (文字列)]​、​[Number (数値)]​、または ​[Boolean (ブール)]

    • [Get Records (レコードの取得)]​ アクションの出力など、オブジェクトのリストを返す ​[Object (オブジェクト)]

    [Variable (変数)] ステップに必要なすべての項目を追加するまでステップ 4 とステップ 5 を繰り返します。

  6. ビジュアルエディターで変数を追加するには、​[Add Variable (変数を追加)]​ をクリックします。各 [Variable (変数)] ステップで複数の変数を作成できます。

  7. [Apply (適用)]​ をクリックします。

  8. 新しい変数を変更するには、​[Manage Variables (変数を管理)]​ をクリックしてビジュアルエディターを開くか、​[Edit Schema (スキーマを編集)]​ クリックして JSON スキーマを開きます。

JSON スキーマを使用して変数を作成する

[JSON Schema (JSON スキーマ)]​ ウィンドウを使用して 1 つ以上の新しい変数を作成する手順は、次のとおりです。

  1. [Variable (変数)]​ ステップにアクセスします​。

  2. [Action (アクション)]​ > ​[Create Variable (変数を作成)]​ を選択します。

  3. [Variable (変数)]​ セクションで、​[Create Schema (スキーマを作成)]​ をクリックします。

  4. [JSON Schema (JSON スキーマ)]​ ウィンドウで、作成する変数のプロパティを入力します。

    各変数は、​[Variable Unique ID (変数の一意の ID)]​ を使用して ​[Properties (プロパティ)]​ オブジェクト内で定義されます。 ​[Variable Unique ID (変数の一意の ID)]​ により、変数をフロー内で追跡できるようになります。​[Variable Unique ID (変数の一意の ID)]​ に使用できるのは、英数字、ハイフン、およびアンダースコアのみです。ビジュアルエディターを使用する場合、この ID は自動的に生成されます。 各変数でタイトルとデータ型を指定する必要があります。変数定義のプロパティを設定するには、以下を指定します。

    • Variable Label (Title) (変数の表示ラベル) (タイトル)​: 変数の表示ラベルが表示されます。(必須)

    • Type (型)​: 変数のデータ型。サポートされている​データ型​は、​[String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Array (配列)]​ です。

      日付​変数や​日時​変数を定義するには、データ型を ​[String (文字列)]​ に設定して ​[Format (形式)]​ プロパティを定義します。(必須)

    • Format (形式)​: JSON でネイティブにサポートされていない追加のデータ型を指定できる ​[String (文字列)]​ プロパティの修飾子。​日付​変数を ​[date (日付)]​、​日時​変数を ​[date-time (日時)]​ として定義する場合、変数にこの値を設定します。(省略可能)。

    • Items (項目)​: リスト​変数の項目種別。 [Items (項目)]​ はオブジェクトで、次の子プロパティ (リスト変数を定義する場合にのみ必要) を受け入れます。

      • Type (型)​: 変数のデータ型。リスト項目でサポートされているデータ型は、​[String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Object (オブジェクト)]​ です。​オブジェクト​を定義する場合、その​オブジェクト​のプロパティも定義する必要があります。(必須)

      • Properties (プロパティ)​: オブジェクトの子プロパティ。 [List Item Type (リスト項目種別)]​ が ​[Object (オブジェクト)]​ に設定されている場合、​[Properties (プロパティ)]​ は必須です。​[Properties (プロパティ)]​ オブジェクトでは、各プロパティキーは ​[Object List Item (オブジェクトリスト項目)]​ のプロパティの名前で、そのデータ型を定義するオブジェクトに設定されます。オブジェクトの子プロパティのデータ型の定義についての詳細は、​[Type (型)]​ (ステップ 4b) と ​[Format (形式)]​ (step 4c) を参照してください。(省略可能)。

      プロパティと値は ​[JSON Schema (JSON スキーマ)]​ ウィンドウに表示されます。

    例: [JSON Schema (JSON スキーマ)]​ ウィンドウのプロパティと値
    {
    "properties": {
    "var-01": {
    "type": "string",
    "title": "My String"
    },
    "var-02": {
    "type": "number",
    "title": "My Number"
    },
    "var-03": {
    "type": "boolean",
    "title": "My Boolean"
    },
    "var-04": {
    "type": "string",
    "title": "My Date",
    "format": "date"
    },
    "var-05": {
    "type": "string",
    "title": "My Datetime",
    "format": "date-time"
    }
    }
    }
  5. JSON スキーマに変数を追加するには、このウィンドウで入力します。

  6. [Apply (適用)]​ をクリックします。

  7. 新しい変数を変更するには、​[Manage Variables (変数を管理)]​ をクリックしてビジュアルエディターを開くか、​[Edit Schema (スキーマを編集)]​ クリックして JSON スキーマを開きます。

変数を初期化する

変数を作成したら、初期化します。

  1. ビジュアルエディター​または​JSON スキーマ​を使用して、新しい変数を作成します。

  2. 各変数の初期値を入力します。変数のデータ型が

    • [String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Date (日付)]​、​[DateTime (日時)]​ の場合、デフォルト値は各変数で定義されます。項目が空の場合、値はそのデータ型のデフォルト値に設定されます。手動で値を入力したり、フローから既存データピル (変数など) を選択したり、​選択リストマッピング​ (​文字列​変数の場合) を選択したり、​カスタム式エディター​を選択してカスタム式を作成したりできます。

    • [List (リスト)]​ の場合、デフォルト値は各変数で定義されます。項目が空の場合、値はそのデータ型のデフォルト値に設定されます。値を手動で入力できます。プリミティブリスト型 (​[String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Date (日付)]​、または ​[DateTime (日時)]​) の場合、​カスタム式エディター​または​リストデータピルのマップ​を使用して静的にリストを作成できます。List<Objects> の場合、次のいずれかを選択します。

      • リストの複数の項目を作成するための ​[Dynamic List (動的リスト)]​。リストピルを使用して、作成された項目の数を参照します。次に、リストの要素の項目をマップします。

      • [Static List (静的リスト)]​。その後、必要な数の項目が含まれるリストを初期化します。項目を追加しない場合、デフォルトでリストは空になります。

    変数が初期化されます。

変数を更新する

始める前に

別の変数で作成された値で変数を更新するには、同じステップで更新しないでください。変数は、リストされている順序で更新する必要はありません。予期しない動作を回避するには、各変数を個別のステップで更新します。

1 つ以上の変数を更新する手順は、次のとおりです。

  1. [Variable (変数)]​ ステップにアクセスします​。

  2. [Action (アクション)]​ > ​[Update Variable (変数を更新)]​ を選択します。

  3. [Variable (変数)]​ セクションで、​[Select Variables (変数を選択)]​ をクリックします。
    [Select Variables (変数を選択)]​ ウィンドウが表示されます。このウィンドウには、このステップの前にフローに含まれていたすべての変数のリストが表示されます。

  4. 1 つ以上の変数の横にあるチェックボックスをオンにするか、​[Select all <Number> variables (<Number> 個のすべての変数を選択)]​ をクリックしてリストのすべての変数を選択します。

  5. [Apply (適用)]​ をクリックします。
    [Update Variable (変数を更新)]​ ステップが表示されます。

  6. 各変数の値を更新します。選択した変数のデータ型が

    • [String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Date (日付)]​、​[DateTime (日時)]​ の場合、手動で値を入力したり、フローから既存データピル (変数など) を選択したり、​選択リストマッピング​ (​文字列​変数の場合) を選択したり、​カスタム式エディター​を選択してカスタム式を作成したりできます。

    • [List (リスト)]​ の場合、項目をリストの最初または最後に追加したり、既存のリストを新しいリストに置き換えたりできます。プリミティブリスト型 (​[String (文字列)]​、​[Number (数値)]​、​[Boolean (ブール)]​、​[Date (日付)]​、または ​[DateTime (日時)]​) の場合、​カスタム式エディター​または​リストデータピルのマップ​を使用して静的にリストを作成できます。List<Objects> の場合、次のいずれかを選択します。

      • リストの複数の項目を作成するための ​[Dynamic List (動的リスト)]​。リストピルを使用して、作成された項目の数を参照します。次に、リストの要素の項目をマップします。

      • [Static List (静的リスト)]​。その後、必要な数の項目が含まれるリストを初期化します。項目を追加しない場合、デフォルトでリストは空になります。

選択リストマッピングの作成

選択リストマッピングを使用すると、あるアプリケーションのデータを別のアプリケーションで必要な対応するデータにマップし、それらのマッピングを組織内のさまざまなフローで再利用できます。これにより、類似した項目で異なる値が含まれる 2 つのアプリケーションを接続し、それらの項目の値をアプリケーション間で調整できます。その後、出力項目 (データピル) の可能な値が入力項目の可能な値にどのようにマップされるかを決定できます。

たとえば、Salesforce レコードの ​[Country (国)]​ 項目からデータピルをマップし、NetSuite レコードの ​[Country (国)]​ 項目に同じ値を指定できます。

Country (国) (Salesforce) Country (国) (NetSuite)

US

_unitedStates

CA

_canada

DE

_germany

AR

_argentina

この例では、Salesforce のケースの ​[Status (状況)]​ 項目が Zendesk のチケットの ​[Status (状況)]​ 項目にマップされ、システム間で項目値の継続性が作成されます。

Status (状況) (Salesforce) Status (状況) (Zendesk)

New

New

Working (処理中)

オープン

Waiting on Customer (顧客待機中)

On-Hold (保留中)

Escalated (エスカレーション済み)

オープン

クローズド

クローズド

ソースデータ項目をマップする場合、次の点に留意してください。

  • ソース項目は、値の固定リストを含むデータピルである必要がある。

  • 対象項目は、列挙​データ型​項目または文字列項目である必要がある。

  • ソースシステムからマップされていない他の値が見つかった場合、デフォルトのマッピングで対象システムの値が指定される。デフォルト値を指定しない場合、ソース項目の元の値が対象項目に渡される。

  • マッピングは組織レベルで保存され、フロー間で再利用できる。

  • マッピングには一意の名前が必要。

  • 組織内の全員がマッピング可能。

ソースデータ項目を対象項目にマップする手順は、次のとおりです。

  1. [Composer Flows (コンポーザーフロー)]​ タブから、フローを開いて ​[Edit (編集)]​ をクリックします。

  2. アクションカードの ​[Pick from List (リストから選択)]​ をサポートする項目または任意の文字列項目で、メニューから ​[Picklist Mapping (選択リストマッピング)]​ を選択します。
    [Picklist Mapping (選択リストマッピング)]​ ウィンドウが表示されます。

  3. [Picklist Source (選択リストソース)]​ セクションの ​[Source (ソース)]​ 項目で、​[Target (対象)]​ 項目の値にマップする値をリストから選択し、​[Next (次へ)]​ をクリックします。

  4. [Global Picklist Selection (グローバル選択リストの選択)]​ セクションで、新しい選択リストを作成するか、既存の選択リストを選択します。

新しい選択リストを作成する

新しい選択リストを作成する手順は、次のとおりです。

  1. [Create new picklist (新規選択リストを作成)]​ をクリックします。

  2. [Global picklist name (グローバル選択リスト名)]​ 項目に、選択リストの一意の名前を入力します。

  3. 必要に応じて、​[Description (説明)]​ 項目に選択リストの説明を入力します。次の説明は、ソースシステムと対象システムに基づいて自動的に入力されます。
    This maps [Source Field Name] from [Source Connection Name] to [Target Field Name] from [Target Connection Name] (これは、[ソース接続名] からの [ソース項目名] を [対象接続名] からの [対象項目名] にマップします)

  4. テーブルで、ソース項目とその対象マッピングを選択します。

  5. 項目マッピングを追加するには、​[Add Row (行を追加)]​ をクリックし、追加の項目マッピングが

    1. [Pick from List (リストから選択)]​ 項目の場合、ソース項目の値を手動で入力し (各値を表す行を使用)、ドロップダウンから対象マッピングを選択します。

    2. 文字列項目の場合、対象項目の値を手動で定義します。

  6. 該当するすべての項目マッピングを追加したら、​[Create Picklist (選択リストを作成)]​ をクリックします。

  7. [Apply (適用)]​ をクリックします。
    [<選択リスト名>]​ セクションが表示され、値とそのマッピングのテーブルが表示されます。

既存の選択リストを選択する

既存の選択リストを選択する手順は、次のとおりです。

  1. リストから選択リストを選択します。既存の選択リストに加えられたすべての編集は、その選択リストが現在使用されているすべてのフローに影響します。

  2. 必要に応じて、​[<選択リスト名>]​ セクションで値を編集するには、鉛筆をクリックします。値を編集したら、​[Save Picklist (選択リストを保存)]​ をクリックして、​[Apply (適用)]​ をクリックします。

  3. 必要に応じて、​[<選択リスト名>]​ セクションで選択リストを削除するには、ごみ箱をクリックします。グローバル選択リストを削除すると、その選択リストを現在使用しているすべてのフローに影響します。

  4. [Apply (適用)]​ をクリックします。
    アクションカードが表示されます。

フローコントロールを作成する

アクションの前にロジックを実行する必要がある場合、まずフローコントロールを選択します。

  1. フローのトリガーの後にある大きなプラス記号をクリックして、​[Add Action (アクションを追加)]​ ダイアログを開きます。

  2. [If/Else Block (If/Else ブロック)]​ または ​[For Each]​ のいずれかをクリックします。1 つ以上の条件に基づいて異なるアクションを実行する必要がある場合、If/Else ブロックが適しています。レコードセットを処理する場合、For Each ループが適しています。

  3. フローコントロールを完成させます。通常、この作業にはアクションの追加が含まれます。

  4. [Save (保存)]​ をクリックします。

If/Else ブロックを追加する

If/Else ブロックを作成して条件を設定し、特定の条件を満たした場合にのみアクションを実行できます。これにより、複数の線形分岐をカバーするフローを作成できるようになり、個別のフローを作成する必要がなくなります。

分岐は、フローで垂直方向に実行されるロジックベースのステップです。各分岐内に複数のステップを追加できます。その後、各分岐が順次実行されます。

決定ステップを追加すると、フローの前のステップを指定するときに選択された値に基づいて ​[Field (項目)]​ リストの値が入力されます。​[Field (項目)]​ の値が選択されると、すべての互換性のある値のオプションが​演算子​リストに表示されます。選択された ​[Operator (演算子)]​ で条件を完成させるために 2 番目のデータピルが必要な場合、​[Value (値)]​ 項目が有効になり、トリガーを定義するときに選択した値に基づいてリストが入力されます。​[Value (値)]​ 項目では、値を手動で入力するか、フローの既存のデータを使用して設定できます。

フローを構築するときにいずれかの日付項目に値がない状態で日付の比較を開始すると、フローを比較できるように欠落値はデフォルトで ​0001-01-01​ に更新されます。

If/Else ブロックで条件を構築する場合、次の演算子がサポートされます。

関数 サポートされるデータ型 値は必須? 注意事項

Equals (次の文字列と一致する)/Does not equal (次の文字列と一致しない)

すべて

はい

この項目の値の文字列は大文字と小文字が区別されます。

Contains (次の文字列を含む)/Does not contain (次の文字列を含まない)

Array、String

はい

なし

Greater than (次の値より大きい)/Less than (次の値未満)

Date、Number

はい

[Date (日付)]​ 項目の ​[Greater than (次の値より大きい)]​ の値は後の日付と等しくなり、​[Less than (次の値未満)]​ の値は前の日付と等しくなります。

Greater than or equal (以上)/Less than or equal (以下)

Date、Number

はい

[Date (日付)]​ 項目の ​[Greater than or equal (以上)]​ の値は現在の日付または後の日付と等しくなり、​[Less than or equal (以下)]​ の値は前の日付または現在の日付と等しくなります。

Is empty (空)/Is not empty (空でない)

Array、String、Object

いいえ

なし

Starts with (次の文字列で始まる)/Ends with (次の文字列で終わる)

String (文字列)

はい

この項目の文字列値は必須です。

Is true (true)/Is false (false)

Boolean (ブール)

いいえ

なし

Is present (存在する)/Is not present (存在しない)

すべて

いいえ

この項目の値が null の場合や、値が選択されていない場合、この項目の値はデフォルトで ​[Not present (存在しない)]​ に設定されます。

If/Else ブロックを作成する手順は、次のとおりです。

  1. フローのトリガーまたは最後のアクションの後のプラス記号をクリックします。

  2. [Add Action (アクションを追加)]​ をクリックします。

  3. [If/Else Block (If/Else ブロック)]​ をクリックして最初の分岐を定義します。

  4. 要求条件を入力します。​すべての条件が満たされる必要がある (AND)​、​いずれかの条件が満たされる必要がある (OR)​ ことを指定するか、条件の順序とグループ化を​カスタマイズ​できます。

  5. [+]​ をクリックして、その分岐にアクションを追加します。各分岐には、アクション (​ステップ​とも呼ばれる) が必要です。

  6. 別の分岐を追加する場合、​[Add If (If を追加)]​ をクリックして、作成する If/Else 分岐ごとに前のステップを繰り返します。

  7. 既存の分岐のどの条件も満たされないときにフローをどのように実行するのかに関する条件を設定する場合、​[Add Else (Else を追加)]​ をクリックして、最後の分岐について前の手順を繰り返します。

  8. If/Else ブロックに他の条件を追加する場合、​[Add condition (条件を追加)]​ をクリックします。

  9. すべての分岐を追加したら、​[Save (保存)]​ をクリックします。

カスタムロジックを使用する

カスタムロジックは、If/Else ステートメントの If ステートメントブロック内の各条件の行番号と、​OR​、​AND​、​NOT​ を使用して、複雑な式を作成します。カスタムロジックオプションを選択すると、各条件に番号が割り当てられ、その番号を使用して条件の操作の順序をカスタマイズできます。

カスタムロジックを使用する場合、式を検証するには、定義されているすべての条件が式で参照されている必要があります。たとえば、3 つの条件が定義されている場合、「1 and (2 or 1)」と入力すると、「3」は参照されないため、式は無効になります。

カスタムロジックを使用すると、最大 20 個の条件を設定でき、条件を複数回参照できます。

For Each ループを作成する

For Each ループを作成する手順は次のとおりです。

  1. フローのトリガーまたは最後のアクションの後のプラス記号をクリックします。

  2. [Add Action (アクションを追加)]​ をクリックします。

  3. [For Each]​ をクリックします。

  4. [Input list (入力リスト)]​ からデータピルを選択します。レコードセットを返すトリガーまたはアクションが必要です。それらがない場合、ここでは何も選択できません。

  5. プラス記号をクリックして、アクションを追加します。

  6. アクションが完了したら、​[Save (保存)]​ をクリックします。

フローで何を実行する必要があるのかに応じて、異なるパターンでロジックおよびアクションを追加できます。

エラーハンドラーの設定

フローの実行時にフローの特定のステップで接続エラーやロジックエラーを監視して、エラーを処理するためのロジックを指定できます。また、エラーが発生した場合に追加のアクションを実行したり通知を送信したりするためのステップも設定できます。

エラーハンドラーにアクセスする

エラーハンドラーにアクセスする手順は、次のとおりです。

  1. 新しいフローを作成​するか、または既存のフローを開きます。

    1. 新しいフローを作成する場合、次の操作を実行します。

      1. フローを起動するコネクタまたはシステムを選択します。

      2. トリガーを選択して設定します。

      3. アクションを選択して設定します。

      4. 監視するステップの直前にエラーハンドラーを追加して、プラスボタンをクリックします。

      5. [What Should Start This Flow? (このフローを開始する要素)]​ ウィンドウで ​[Error Handler (エラーハンドラー)]​ をクリックします。

    2. 既存のフローにステップを追加する場合、次の操作を実行します。

      1. フローを開きます。

      2. 監視するステップの直前にエラーハンドラーを追加して、プラスボタンをクリックします。

      3. [Next Step (次のステップ)]​ ウィンドウで、​[Error Handler (エラーハンドラー)]​ をクリックします。

ステップを監視する

特定のステップで接続エラーやロジックエラーを監視することができます。エラーが発生すると、フローが通常の処理を停止して、エラーハンドラーのステップの処理を開始します。このセクションでは、1 つ以上のステップを追加できます。

ステップを監視する手順は、つぎのとおりです。

  1. フローのエラーハンドラーにアクセスします​。

  2. [Error Handler (エラーハンドラー)]​ カードの ​[Watch (監視)]​ セクションで、プラス記号をクリックして、監視するアクションを選択します。または、監視するステップを ​[Watch (監視)]​ セクションにドラッグします。
    選択したアクションが ​[Watch (監視)]​ セクションに表示されます。エラーが発生すると、フローが ​[On Error (エラー発生時)]​ セクションで選択されているアクションに移行します。

  3. 監視するアクションを追加するには、前の手順を繰り返します。

コンポーザーでのエラー処理の設定

[Watch (監視)]​ セクションで遭遇したエラーを処理するようにコンポーザーを設定できます。監視対象のアクションでエラーが発生すると、設定に応じて ​[On Error (エラー発生時)]​ セクションの処理にフローが移行します。​[On Error (エラー発生時)]​ セクションには、実行するステップを 1 つ以上追加できます。

エラー処理の動作

  • デフォルトでは、​[On Error (エラー発生時)]​ セクションでは 1 つの条件のみを指定できますが、複数の条件を追加することもできます。

  • 新しい条件を追加すると、​[On Error (エラー発生時)]​ 条件項目の値はデフォルトで ​[None (なし)]​ に設定されます。この値を ​[None (なし)]​ のままにすると、​[Watch (監視)]​ セクションで発生したすべてのエラーが返され、この ​[On Error (エラー発生時)]​ セクションのすべてのステップが実行されます。

  • [On Error (エラー発生時)]​ セクションの条件と一致すると、エラーハンドラーは条件を順に処理して、最初に一致した条件のステップを実行します。最初の条件と一致した後は、残りのステップはスキップされます。​[On Error (エラー発生時)]​ セクションの分岐を既存の ​[On Error (エラー発生時)]​ セクション内に追加することで、処理を続行させることができます。

  • フローをテスト​すると、エラーハンドラーが捕捉したエラーがアクションカードの右側のペインに表示されます。正常に実行されたステップには緑のチェックマーク、失敗したステップには赤の X でマークされます。

  • 監視対象のアクションでエラーが発生すると、エラー情報がデータピルとして保存されます。データピルは、以降の通知アクションやレコード更新アクションで使用できます。たとえば、エラーが発生した場合に、データピルのエラー情報を含めたメールをチームに送信するためのアクションを実行するように指定できます。

  • エラー処理を設定するときに、要件に合わせて別のシーケンスを確立できます。次の作業を行うことができます。

    • 1 つのエラーハンドラーにすべてステップを追加する。
      どのエラーの ​On Error​ プロセスも同じである場合や、特定のエラー種別を処理するエラー条件が含まれる ​On Error​ プロセスを複数設定できる場合、1 つのエラーハンドラーにすべてのステップを追加します。これにより、​[Watch (監視)]​ セクション内のステップでエラーが発生すると、同じ ​[Watch (監視)]​ セクションの残りのステップが停止します。

    • 複数のエラーハンドラーをフローに追加する。
      ステップを個別のエラーハンドラーにグループ化したり、各ステップに独自のエラーハンドラーを設定したりできます。これにより、エラー発生時の各種ステップを柔軟に設定できます。

    • For Each ループ内にエラーハンドラーを配置する。
      For Each ループ内でエラーが発生しても、For Each ループにエラーハンドラーを追加しておけば、エラーの発生後もループを続行できます。エラーの発生後も続行するようにエラーハンドラーを設定するには、​[After running (実行後)]​ ドロップダウンで、​[Continue (続行)]​ を選択します。 エラーをさらに明確化するには、トラブルシューティングのために失敗したレコードを更新するステップを追加します。

[On Error (エラー発生時)] セクションにステップを追加する

[On Error (エラー発生時)]​ セクションにステップを追加する手順は、次のとおりです。

  1. 監視するステップを選択します​。

  2. [Error Handler (エラーハンドラー)]​ カードの ​[On Error (エラー発生時)]​ セクションで、次の操作を行います。

    1. [Conditions to run this branch (この分岐を実行する条件)]​ ドロップダウンで、次のいずれかの条件を選択し、必要な条件を入力します。

      • AND​: すべての条件と一致します。

      • OR​: いずれかの条件と一致します。

      • None (なし)​: どの条件とも一致しない場合でもすべてのエラーを返します。

      • Custom Logic (カスタムロジック)​: 条件と一致するためのカスタムロジック​を指定します。

    2. [After Running (実行後)]​ ドロップダウンで、次のいずれかを選択します。

      • Stop (停止)​: [On Error (エラー発生時)]​ セクションのすべてのステップを処理した後で、コンポーザーはエラーフラグを立ててフローを停止します。​[Run History (実行履歴)]​ ページのフローの ​[Status (状況)]​ 項目には ​[FAILED (失敗)]​ と表示されます。

      • Continue (続行)​: [On Error (エラー発生時)]​ セクションのすべてのステップを処理した後で、コンポーザーはエラーを解消してフローを続行します。エラーが発生しなかった場合は、​[Run History (実行履歴)]​ ページのフローの ​[Status (状況)]​ 項目には ​[SUCCESS (成功)]​ と表示されます。

  3. [On Error (エラー発生時)]​ セクションに他の条件を追加する場合は、​[Add Condition (条件を追加)]​ をクリックします。

  4. 特定のエラー条件を監視して、その処理方法を既存の ​[On Error (エラー発生時)]​ セクションで指定するには、​[Add On Error (追加エラー発生時)]​ をクリックして、新しい分岐とステップを追加します。
    [On Error (エラー発生時)]​ セクションに分岐を追加する場合は、​[After Running (実行後)]​ セクションで次のいずれかを選択します。

    • [Continue (続行)]​: [On Error (エラー発生時)]​ セクションのステップを実行してから、親ステップ内の次のステップを続行します。

    • [Propagate (伝播)]​: [On Error (エラー発生時)]​ セクションのステップを実行してから、親エラーハンドラーセクションにエラーをプッシュします。子ステップは処理を終了し、エラーハンドラープロセスは親ステップに戻ります。

  5. 必要に応じて、​[On Error (エラー発生時)]​ セクションでプラスボタンをクリックして、エラーを処理するためのステップを追加できます。

    1. [Next Step (次のステップ)]​ ウィンドウで、​[System Action (システムアクション)]​ を選択します。

    2. エラーが発生したときに実行するアクションを選択します。たとえば、​レコード ID​ とエラー情報を含む通知メールをチームに送信して、エラー情報でソースレコードを更新するアクションを追加します。

    3. アクションを設定します。

  6. フローを保存します。

  7. フローをテスト​します。

  8. フローをアクティブ化​します。