フローを設計してテストする
学習の目的
この単元を完了すると、次のことができるようになります。
- Salesforce から Asana にデータを自動的に同期するフローを設計する。
- フローをテストしてデータが正常に同期することを確認する。
この単元では、まず MuleSoft Composer を使用して Salesforce のカスタマーサービスケースを Asana のタスクと自動的に同期するフローを作成する方法を学習します。次に、フローをテストしてデータが正常に同期することを確認します。
MuleSoft Composer ではデフォルトで作業が検証され、手順の各ステップにアプリケーション内コンテキストヘルプが表示されます。たとえば、システムに接続を追加すると、MuleSoft Composer で接続がテストされるため、正常に機能することを確認したうえで次のステップに進むことができます。また、各ステップ内の必須項目を入力するように MuleSoft Composer から求められます。これでフローのビルドが簡単になります。
フローの作成のベストプラクティスは、数ステップごとにテストを繰り返しながらフローを完成させることです。
次のデモ動画で、MuleSoft Composer を使用して Salesforce を Asana に接続する方法をご覧ください。
フローを設計する
Salesforce のカスタマーサービスケースを Asana のタスクと統合するインテグレーションフローを設計する準備が整いました。
次の手順に従ってフローを設計します。
NTO 組織から MuleSoft Composer を起動します。
- ユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーに
Composerと入力して [MuleSoft Composer] を選択します。
新しいフローを作成します。
-
[Create New Flow (新規フローの作成)] をクリックします。
- デフォルトのフロー名の横にある鉛筆アイコンをクリックします。
- フローに
Sync NTO Org Cases with Asana Tasks(NTO 組織のケースを Asana のタスクと同期) と名前を付け、[Save (保存)] をクリックします。
NTO 組織を使用してフローのトリガーを作成します。
-
[Salesforce] をクリックします。
-
[Add new Salesforce connection (新しい Salesforce 接続を追加)] をクリックします。
- 接続に
NTO sandbox org(NTO Sandbox 組織) と名前を付けます。
-
[This is a sandbox organization (これは Sandbox 組織です)] チェックボックスをオンにして、[Create (作成)] をクリックします。
- NTO Sandbox 組織のユーザー名とパスワードを入力して、[Log In (ログイン)] をクリックします。
-
[Allow (許可)] をクリックして、MuleSoft Composer に「基本情報へのアクセス」「データへのアクセスと管理」「ユーザーに代わっていつでも要求を実行」権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立され、フローの最初のステップ (トリガー) が表示されます。
- デフォルトのステップ名の横にある鉛筆アイコンをクリックします。
- ステップに
Get case(ケースを取得する) と名前を付け、[Save (保存)] をクリックします。
NTO 組織でケースが作成または更新されるたびにフローを開始するトリガーを設定します。
- [Choose an event that starts this flow (このフローを開始するイベントを選択)] 項目をクリックして、[New or updated record (レコードの新規作成または更新)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Case(ケース) と入力します。
- [Sample Output (サンプル出力)] セクションを見ると、NTO 組織のケースの項目と関連付けられているサンプル値が表示されています。この情報から、正しい組織に接続されていることを確認でき、フローの今後のステップで使用できるデータの構造がわかります。
![トリガーイベントやオブジェクト種別の項目と [Select Fields (項目を選択)] ボタンが表示されているフローのステップ 1](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/d8eb62edd250c2a0de06890873ef82f8_kix.fbqe1gqgzz1w.png)
-
[Save (保存)] をクリックしてフローを保存します。
ケースの優先度が高いかどうかと、エンジニアリングの協力を要するかどうかを判断する 1 つ目の If ブランチを作成して設定します。
- プラスアイコンをクリックしてステップを追加します。
-
[If/Else Block (If/Else ブロック)] をクリックします。
-
[Add Conditions (条件を追加)] をクリックします。デフォルトで [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] が選択されています。
- 項目に [Priority (優先度)]、演算子に [Equals (次の文字列と一致する)] を選択し、値に
High(高) と入力します。
-
[Add a condition (条件を追加)] をクリックします。
- 項目に [Requires Engineering Assistance (エンジニアリングの協力要)]、演算子に [Is true (True)] を選択して、[Save (保存)] をクリックします。両方の条件を満たした場合は、1 つ目の If ブランチの後続のステップ (Asana でのタスクの作成) が実行されます。
優先度が高いケースのうち、エンジニアリングの協力を要するものを処理するフローの 2 つ目のステップを 1 つ目の If ブランチ内に作成します。
- プラスアイコンをクリックして If ブランチ内にステップを追加します。
-
[Asana] をクリックします。
-
[Add new Asana connection (新しい Asana 接続を追加)] をクリックします。
- 接続に
NTO Asanaと名前を付け、[Create (作成)] をクリックします。
-
[Allow (許可)] をクリックして、MuleSoft Composer に「名前とメールアドレスへのアクセス」「タスク、プロジェクト、ワークスペースへのアクセス」「ユーザーに代わってタスク、プロジェクト、コメントを作成および編集」権限を付与します。NTO Asana 接続が作成され、フローの 2 つ目のステップが表示されます。
- ステップに
Create Asana task(Asana のタスクを作成する) と名前を付け、[Save (保存)] をクリックします。
Asana にタスクを作成する 2 つ目のステップを 1 つ目の If ブランチ内に設定します。
- [Action (アクション)] 項目をクリックして、[Create Task (タスクを作成)] を選択します。
- [Workspace Id (ワークスペース ID)] 項目をクリックし、[NTO Customer Service (NTO カスタマーサービス)] を選択します。
- [Project Id (プロジェクト ID)] 項目をクリックし、[Engineering Triage (エンジニアリングトリアージ)] を選択します。
- 2 つ目のステップの以下の項目を、フローのステップ 1 の対応する項目にマップします。
- Task Name (タスク名): ステップ 1 の [Subject (件名)]
- Task Description (タスクの説明) = ステップ 1 の [Description (説明)]
ケースの優先度が高いかどうかを判断する 2 つ目の If ブランチを作成します。
-
[Add If (If を追加)] をクリックして 2 つ目の If ブランチを追加します。
-
[Add Conditions (条件を追加)] をクリックします。デフォルトで [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] が選択されています。
- 項目に [Priority (優先度)]、演算子に [Equals (次の文字列と一致する)] を選択し、値に
High(高) と入力して、[Save (保存)] をクリックします。この条件を満たした場合は、2 つ目の If ブランチの後続のステップ (Asana でのタスクの作成) が実行されます。
優先度が高いケースを処理するフローの 3 つ目のステップを 2 つ目の If ブランチ内に作成します。
- プラスアイコンをクリックして 2 番目の If ブランチ内にステップを追加します。
-
[Asana] をクリックして、[NTO Asana] をクリックします。
- ステップに
Create Asana task(Asana のタスクを作成する) と名前を付け、[Save (保存)] をクリックします。
優先度が高いケースを処理するフローの 3 つ目のステップを 2 つ目の If ブランチ内に設定します。
- [Action (アクション)] 項目をクリックして、[Create Task (タスクを作成)] を選択します。
- [Workspace Id (ワークスペース ID)] 項目をクリックし、[NTO Customer Service (NTO カスタマーサービス)] を選択します。
- [Project Id (プロジェクト ID)] 項目をクリックし、[Cross-Functional Support (部門間サポート)] を選択します。
- 3 つ目のステップの以下の項目を、フローのステップ 1 の対応する項目にマップします。
- Task Name (タスク名): ステップ 1 の [Subject (件名)]
- Task Description (タスクの説明) = ステップ 1 の [Description (説明)]
残りのすべてのケースを処理する Else ブランチを作成します。
-
[Add Else (Else を追加)] をクリックします。
残りのすべてのケースを処理する 4 つ目のステップを Else ブランチ内に作成します。
- プラスアイコンをクリックして Else ブランチ内にステップを追加します。
-
[Asana] をクリックして、[NTO Asana] をクリックします。
- ステップに
Create Asana task(Asana のタスクを作成する) と名前を付け、[Save (保存)] をクリックします。
残りのすべてのケースを処理する 4 つ目のステップを Else ブランチ内に設定します。
- [Action (アクション)] 項目をクリックして、[Create Task (タスクを作成)] を選択します。
- [Workspace Id (ワークスペース ID)] 項目をクリックし、[NTO Customer Service (NTO カスタマーサービス)] を選択します。
- [Project Id (プロジェクト ID)] 項目をクリックし、[Customer Support (カスタマーサポート)] を選択します。
- 4 つ目のステップの以下の項目を、フローのステップ 1 の対応する項目にマップします。
- Task Name (タスク名): ステップ 1 の [Subject (件名)]
- Task Description (タスクの説明) = ステップ 1 の [Description (説明)]
- フローを保存します。フロー全体は次のようになります。


![Asana で作成された [Task Name (タスク名)] 項目と [Task Description (タスクの説明)] 項目を使用するタスクが表示されている、1 つ目の If ブランチ内にあるフローのステップ 2](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/5974b14797c149eae93863b68185e992_kix.waybfawlo7wm.png)
![Asana で作成された [Assignee Id (割り当て先 ID)] や [Assignee Status (割り当て先の状況)] などの項目が表示されている、1 つ目の If ブランチ内にあるフローのステップ 2 の残りの部分](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/7e1b30a46b0eb76f88a7624f291576ec_kix.pw5wziba97cl.png)

![Asana で作成された [Task Name (タスク名)] 項目と [Task Description (タスクの説明)] 項目を使用するタスクが表示されている、2 つ目の If ブランチ内にあるフローのステップ 3](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/c52dcb05d3468da2cc3b262b4b6da1ab_kix.27523lzcyjv8.png)
![Asana で作成された [Assignee Id (割り当て先 ID)] や [Assignee Status (割り当て先の状況)] などの項目が表示されている、2 つ目の If ブランチ内にあるフローのステップ 3 の残りの部分](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/e665e6401d953dc8a83fbe8fda1b1d43_kix.pmqcld6t7tnb.png)
![Asana で作成された [Task Name (タスク名)] 項目を使用するタスクが表示されている、Else ブランチ内にあるフローのステップ 4](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/39a0aa176118c7bf6b5dfbc0114a5d73_kix.si1v7r9ubq6i.png)
![Asana で作成された [Assignee Id (割り当て先 ID)] や [Assignee Status (割り当て先の状況)] などの項目が表示されている、Else ブランチ内にあるフローのステップ 4 の残りの部分](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/2976172809704ea3c3b10c2e48ffa25d_kix.7kmzugh9zwei.png)
次は、フローのテスト方法を学習します。
フローをテストする
フローを設計したら、エンドツーエンドでテストしてデータが問題なく同期することを確認する必要があります。テストは概して 10 分以内に終了します。テストが完了した時点、または 10 分を経過した時点でテストが停止します。テストに必要なアプリケーションとデータを揃えたうえでテストを開始することをお勧めします。
このユースケースでは、NTO 組織でカスタマーサービスケースが作成または更新されると、フローがトリガーされます。そのため、NTO 組織の Service Cloud にテストケースを入力する準備をしておきます。
優先度が高いケースでエンジニアリングの協力を要する場合は、Asana の NTO Customer Service ワークスペースの Engineering Triage プロジェクトにタスクが作成されます。そのため、タスクが適切に表示されることを確認する準備をしておきます。
優先度が高いケースでエンジニアリングの協力を必要としない場合は、Asana の NTO Customer Service ワークスペースの Cross-Functional Support プロジェクトにタスクが作成されます。そのため、タスクが適切に表示されることを確認する準備をしておきます。
その他のケースでは、Asana の NTO Customer Service ワークスペースの Customer Service プロジェクトにタスクが作成されます。そのため、タスクが適切に表示されることを確認する準備をしておきます。
次の手順に従ってフローをテストします。
- [Sync NTO Org Cases with Asana Tasks (NTO 組織のケースを Asana のタスクと同期)] フローで、[Test (テスト)] をクリックします。フローが参照のみモードになります。
メモ: テストの実行中に何らかの理由で停止する場合は、[Stop Test (テストを停止)] をクリックします。
- NTO 組織の Service Cloud にログインして [ケース] タブに移動し、[新規] をクリックします。
- 次の値を指定して新しいケースを設定し、[保存] をクリックします。
- 原因: Equipment Design (機器設計)
- 状況: 新規
- 優先度: 高
- ケース発生源: 電話
- Requires Engineering Assistance (エンジニアリングの協力要): オン
- Subject (件名):
Design issue with generator(発電機の設計に関する問題) - Description (説明):
Complex design makes it difficult to assemble generator components correctly.(設計が複雑で発電機の部品を正しく組み立てることが難しい。)
- フローに戻り、テストが完了するまで待機します。フローの 1 つ目の If ブランチにあるステップ 1 とステップ 2 に緑のチェックマークが表示された場合、このケースに関連するステップが正常に実行されたことを意味します。[Test Output (テスト出力)] セクションで、テスト用に入力したレコード値を確認します。


![1 つ目の If ブランチにある [Task Name (タスク名)] 項目と [Task Description (タスクの説明)] 項目を使用するステップ 2 に緑のチェックマークが表示されているテスト済みフロー。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/df44dcb79a179ce6738ab857b045c6c5_kix.4pj00n5cr0oi.png)
![1 つ目の If ブランチにある [Assignee Id (割り当て先 ID)] や [Assignee Status (割り当て先の状況)] などの項目を使用するステップ 2 の残りの部分が表示されているテスト済みフロー](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/043126ef63c1e21aef617ba77cb49239_kix.wkam4vcjrjgn.png)
- Asana で [Engineering Triage (エンジニアリングトリアージ)] プロジェクトをクリックします。[Design issue with generator (発電機の設計に関する問題)] というタスクが表示されるはずです
-
[Design issue with generator (発電機の設計に関する問題)] をクリックします。Asana のタスクの項目には NTO 組織の対応するケースの値が含まれているはずです。

- フローの [Test (テスト)] を再度クリックします。
- NTO 組織の Service Cloud にログインして前のケースに戻り、[Requires Engineering Assistance (エンジニアリングの協力を要する)] チェックボックスをオフにして [保存] をクリックします。
- フローに戻り、テストが完了するまで待機します。フローの 2 つ目の If ブランチにあるステップ 1 とステップ 3 に緑のチェックマークが表示された場合、このケースに関連するステップが正常に実行されたことを意味します。[Test Output (テスト出力)] セクションで、テスト用に入力したレコード値を確認します。


![2 つ目の If ブランチにある [Assignee Id (割り当て先 ID)] や [Assignee Status (割り当て先の状況)] などの項目を使用するステップ 3 の残りの部分が表示されているテスト済みフロー](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/7a7278d0ae4fa504f3775d9f4f10b7b9_kix.cjfm7e4bnqqb.png)
- Asana で [Cross-Functional Support (部門間サポート)] プロジェクトをクリックします。[Design issue with generator (発電機の設計に関する問題)] というタスクが表示されるはずです
-
[Design issue with generator (発電機の設計に関する問題)] をクリックします。Asana のタスクの項目には NTO 組織の対応するケースの値が含まれているはずです。

- フローの [Test (テスト)] を再度クリックします。
- NTO 組織の Service Cloud にログインして前のケースに戻り、[優先度] 項目で [中] を選択して [保存] をクリックします。
- フローに戻り、テストが完了するまで待機します。フローの Else ブランチにあるステップ 1 とステップ 4 に緑のチェックマークが表示された場合、このケースに関連するステップが正常に実行されたことを意味します。[Test Output (テスト出力)] セクションで、テスト用に入力したレコード値を確認します。
-

![Else ブランチにある [Task Name (タスク名)] 項目を使用するステップ 4 に緑のチェックマークが表示されているテスト済みフロー](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/asana-data-sync-with-mulesoft-composer/design-and-test-a-flow-11/images/ja-JP/beb3cdaf06cc1dc60440e69e1495d97c_kix.bsmo8j3q4ypd.png)
Asana で [Customer Support (カスタマーサポート)] プロジェクトをクリックします。[Design issue with generator (発電機の設計に関する問題)] というタスクが表示されるはずです
- [Design issue with generator (発電機の設計に関する問題)] をクリックします。Asana のタスクの項目には NTO 組織の対応するケースの値が含まれているはずです。

- NTO 組織の他の任意のケースでステップ 1 ~ 16 を繰り返してテストします。フローが問題なく動作するはずです。
お疲れさまでした。次の単元では、本番環境でフローをアクティブ化して監視し、トラブルシューティングする方法を学習します。
