フローの設計とテスト
学習の目的
この単元を完了すると、次のことができるようになります。
- Salesforce から Slack にデータを自動的に同期するフローを設計する。
- フローをテストしてデータが期待どおり同期されることを確認する。
この単元では、まず MuleSoft コンポーザーを使用して Salesforce のカスタマーサービスケースを Slack のケース通知と自動的に統合します。次に、フローをテストしてデータが期待どおりに統合されることを確認します。
MuleSoft コンポーネントでは、デフォルトで作業が検証され、手順の各ステップにアプリケーション内コンテキストヘルプが提供されます。たとえば、システムに接続を追加すると、MuleSoft コンポーザーで接続がテストされ、機能することが確認されます。その後で、次のステップに進むことができます。また、フローの作成を簡単にするために、MuleSoft コンポーザーから各ステップ内で必須項目を入力するように要求されます。
ベストプラクティスとして、フローの作成時には、フローが完成するまで数個のステップを追加しながらテストを繰り返します。
次のデモ動画で、MuleSoft コンポーザーを使用して Salesforce を Slack に接続する方法を確認してください。
Trailhead シミュレーターを使用したフローの設計
Salesforce のカスタマーサービスケースを Slack のケース通知と統合するインテグレーションフローを設計する準備ができました。試してみたい方は、Trailhead シミュレーターを使用してフローの設計を練習できます。
次の手順に従ってフローを設計します。
NTO 組織から Mulesoft コンポーザーを起動します。
- Trailhead シミュレーターを起動して、タイトル画面で [開始] をクリックします。
- ユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーから、
コンポーザー
と入力して [MuleSoft コンポーザー] を選択します。
新しいフローを作成します。
- [Create New Flow (新規フローを作成)] をクリックします。
- デフォルトのフロー名の横にある鉛筆アイコンをクリックします。
- フローに
Sync NTO Service Cases with Slack
(NTO サービスケースを Slack と同期) と名前を付け、[Save (保存)] をクリックします。
NTO 組織を使用してフローのトリガーを作成します。
- [Salesforce] をクリックします。
- 接続に
NTO sandbox org
(NTO Sandbox 組織) と名前を付けます。 - [This is a sandbox organization (これは Sandbox 組織です)] チェックボックスをオンにして、[Create (作成)] をクリックします。
- NTO Sandbox 組織のユーザー名とパスワードを入力し、[Log In to Sandbox (Sandbox にログイン)] をクリックします。
- [Allow (許可)] をクリックして、MuleSoft コンポーザーに「ID URL サービスにアクセス」、「API を使用してユーザーデータを管理」、および「いつでも要求を実行」権限を付与します。MuleSoft コンポーザーで接続が自動的にテストされます。エラーメッセージが表示されなければ、正常に接続されていて、フローの最初のステップ (トリガー) が表示されます。
- デフォルトのステップ名の横にある鉛筆アイコンをクリックします。
- ステップに
Get an NTO service case
(NTO サービスケースを取得する) と名前を付け、[Save (保存)] をクリックします。
NTO 組織でサービスケースが作成または更新されるたびにフローを開始するトリガーを設定します。
- [Choose an event that starts this flow (このフローを開始するイベントを選択)] 項目内をクリックして [New or updated record (新規または更新されたレコード)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Case
(ケース) と入力します。 - [Select Fields (項目を選択)] をクリックし、[Case Number (ケース番号)]、[Case Origin (ケース発生源)]、[Case Reason (原因)]、[Priority (優先度)]、[Status (状況)] を選択し、[Add (追加)] をクリックします。フローの後続ステップでこれらの項目を使用してインテグレーションタスクを実行します。
- [Sample Output (サンプル出力)] セクションを見ると、選択した各項目とそのサンプル値が NTO 組織の取引先から表示されています。これで、正しい組織に接続されていることを確認でき、フローの今後のステップで使用できるデータの構造がわかります。
- [Save (保存)] をクリックしてフローを保存します。
NTO サービスケースを Slack 通知と統合するフローに If/Else ブロックを追加します。
- プラスアイコンをクリックしてステップを追加します。
- [If/Else Block (If/Else ブロック)] をクリックします。デフォルトでは [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] が選択されています。
If/Else ブロックに各ケースの状況を評価する条件を追加します。
- [Field (項目)] 名内をクリックして [Status (状況)] を選択し、[Operator (演算子)] をクリックして [Equals (次の文字列と一致する)] を選択し、[Value (値)] 項目に
Escalated
(エスカレーション済み) と入力します。
If ブランチにエスカレーション済みケースを処理する 2 つ目のステップを追加します。
- プラスアイコンをクリックして If ブランチ内にステップを追加します。
- [Slack] をクリックします。
- 接続に
Slack Notification
(Slack 通知) と名前を付け、[Create (作成)] をクリックします。 - Slack ワークスペース選択リストから [NTO] を選択します。
- [Allow (許可)] をクリックし、MuleSoft コンポーザーに NTO ワークスペースへの権限を付与します。MuleSoft Platform アプリケーションが自動的に NTO Slack ワークスペースに追加され、フローの 2 つ目のステップが表示されます。
If ブランチに、サポートの地域リーダーにエスカレーション済みケースを通知する 2 つ目のステップを設定します。
- ステップに
Send message to regional leader
(地域リーダーにメッセージを送信する) と名前を付け、[Save (保存)] をクリックします。 - [Action (アクション)] 項目をクリックし、[Send a direct message to a user (ユーザーにダイレクトメッセージを送信)] を選択します。
- テスト目的で、[User (ユーザー)] 項目に Slack のユーザー名を入力します。後でこのフローを本番稼働する準備ができたとき、この値をサポートの地域リーダーの Slack ユーザー名に置き換える必要があります。
- [Message (メッセージ)] テキスト項目内をクリックし、[Custom Expression (カスタム式)] をクリックします。
- メッセージを次のように設定します。
Please handle this case. (次のケースへの対応をお願いします。)Case Number: ステップ 1 のケース番号、Origin: ステップ 1 のケース発生源、Reason: ステップ 1 の原因、Priority: ステップ 1 の優先度、Status: ステップ 1 の状況 - [Bot Name (ボット名)] と [Bot Icon URL (ボットアイコン URL)] は空白のままにします。デフォルトで、MuleSoft コンポーザーでは MuleSoft Platform Slack アプリケーションを使用して Slack と通信します。
Else ブランチをフローの If/Else ブロックに追加します。
- [Add Else (Else を追加)] をクリックします。エスカレーション済み以外の全ケースを処理する Else ブランチを設定します。
Else ブランチにエスカレーション済み以外のケースを処理する 3 つ目のステップを追加します。
- プラスアイコンをクリックして Else ブランチにステップを追加します。
- [Slack] をクリックしてから [Slack Notification (Slack 通知)] をクリックします。
- ステップに
Send message to support channel
(サポートチャンネルにメッセージを送信する) と名前を付け、[Save (保存)] をクリックします。
Else ブランチに、エスカレーション済み以外のケースを処理する 3 つ目のステップを設定します。
- [Action (アクション)] 項目をクリックし、[Post message to channel (チャンネルにメッセージを投稿する)] を選択します。
- [Channel Name (チャンネル名)] 項目で [検索] 選択リストをクリックし、[Pick from List (リストから選択)] を選択し、[customer-support] を選択します。
- [Message (メッセージ)] テキスト項目内をクリックし、[Custom Expression (カスタム式)] をクリックします。
- メッセージを次のように設定します。
Case Number: ステップ 1 のケース番号、Origin: ステップ 1 のケース発生源、Reason: ステップ 1 の原因、Priority: ステップ 1 の優先度、Status: ステップ 1 の状況 - フローを保存します。フロー全体は次のようになります。
次は、フローのテスト方法を学習します。
フローのテスト
フローを設計したら、エンドツーエンドでテストしてデータが期待どおり同期されることを確認する必要があります。一般に、テストは 10 分以内に完了します。テストが完了したか、10 分が経過するとテストは停止します。ベストプラクティスとして、テストに必要なアプリケーションとデータのすべてを準備してからテストを開始します。
このユースケースでは、NTO 組織でカスタマーサービスケースが作成または更新されると、フローがトリガーされます。そのため、NTO 組織の Service Cloud にテストケースを入力する準備をしておきます。ケースの状況がエスカレーション済み以外の場合、Slack の customer-support チャンネルにメッセージが表示されます。そのため、customer-support チャンネルにメッセージが表示されることを確認する準備をしておきます。また、ケースの状況がエスカレーション済みの場合、自分のダイレクトメッセージにメッセージが表示されます。そのため、ダイレクトメッセージにメッセージが表示されることを確認する準備をしておきます。
次の手順に従ってフローをテストします。
- Sync NTO Service Cases with Slack フローで、[Test (テスト)] をクリックします。フローが参照のみモードになります。
メモ: テストの実行中に何らかの理由で停止する場合は、[Stop Test (テストを停止)] をクリックします。 - NTO組織の Service Cloud で、[ケース] タブに移動し、[新規] をクリックします。
- 次の値で新規ケースを追加し、[保存] をクリックします。
- Case Reason (原因):
Installation
(インストール) - Status (状況):
New
(新規) - Priority (優先度):
High
(高) - Case Origin (ケース発生源):
Phone
(電話)
- Case Reason (原因):
- フローに戻り、テストが完了するまで待機します。フローの Else ブランチのステップ 1 とステップ 3 に緑のチェックマークが表示されたら、このエスカレーション済み以外のケースのフローの関連ステップが正常に実行されたことを示します。[Test Output (テスト出力)] セクションで、テスト用に入力したレコード値を確認します。
- NTO Slack ワークスペースを開き、customer-support チャンネルにケース通知が表示されることを確認します。
- フローの [Test (テスト)] を再度クリックします。
- NTO組織の Service Cloud に戻り、前のテストケースの状況を「Escalated」に変更し、[保存] をクリックします。
- フローに戻り、テストが完了するまで待機します。フローの If ブランチのステップ 1 とステップ 2 に緑のチェックマークが表示されたら、このエスカレーション済みケースのフローの関連ステップが正常に実行されたことを示します。[Test Output (テスト出力)] セクションで、テスト用に入力したレコード値を確認します。
- NTO Slack ワークスペースを開き、自分宛のダイレクトメッセージとしてケース通知が表示されることを確認します。
- 別の任意のサービスケースについてステップ 1 ~ 9 を繰り返してテストします。フローは期待どおり機能するはずです。
成功です。次の単元では、本番環境でフローを有効化、監視、トラブルシューティングする方法を学習します。