決定要素を追加して反復アクションを実行する
学習の目的
この単元を完了すると、次のことができるようになります。
- If/Else ブロックを使用して決定を下す。
- For Each ループを使用して反復アクションを実行する。
If/Else ブロックを使用して決定を下す
ここまでで、あるステップから別のステップに進むフローを作成する方法を学びました。MuleSoft Composer を使用すれば、フローの前ステップからの入力データが 1 つ以上の指定された条件を満たす場合にフローで実行する必要のあるアクションを決定することもできます。
これを行うには、If/Else ブロックと関連アクションをフローに追加します。
- フローの If 分岐で、条件に基づいて入力データを評価する。
- 条件を満たす場合、If 分岐のアクションを実行する。
- 条件を満たさない場合、Else 分岐のアクションを実行する。
ユースケースの例を見てみましょう。NTO のカスタマーサポートチームは、NTO 組織の Service Cloud でカスタマーサービスケースを管理および維持しています。最高のカスタマーサービスを提供するために、チームでは Slack チャンネルを使用して他の関係者 (営業、商品、テクニカルサポートの各チームなど) とも協力し、ケースを解決しています。
Service Cloud と Slack 間のデータ同期を自動化するには、Service Cloud でのカスタマーサービスケースの作成または更新を Slack のケース通知に自動的に同期するフローを作成する必要があります。
まず、ここでは、Service Cloud でケースが新規作成または更新されるたびに開始するフローがすでに作成されているとします。トリガーでは、ケースオブジェクトのすべての項目がデフォルトで選択されています。
次に、このフローに決定要素を追加しましょう。この決定要素では、フローのステップ 1 でフェッチされたケースの状況が [Escalated (エスカレーション済み)] に設定されているかどうかをフローで評価する必要があります。
- 「Escalated」の場合、サポートの地域リーダー (@Jane Doe) にダイレクトメッセージを送信する。
- 「Escalated」以外の場合、メッセージを services-cases チャンネルに送信する。
このフローの If/Else ブロックと関連アクションステップを作成、設定する方法は、次のとおりです。
- プラスアイコンをクリックしてステップを追加します。
- 下にスクロールして [If/Else] ブロックをクリックします。If 分岐では、デフォルトで [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] が選択されています。
- [Field (項目)] 名内をクリックして [Status (状況)] を選択し、[Operator (演算子)] をクリックして [Equals (次の文字列と一致する)] を選択し、[Value (値)] 項目に
Escalated
(エスカレーション済み) と入力します。
- プラスアイコンをクリックして If 分岐にステップを追加します。
- [Slack] をクリックします。
- Slack への接続を作成、設定します。接続が成功すると、フローのステップ 2 が表示されます。
- [Action (アクション)] 項目をクリックし、[Send a direct message to a user (ユーザーにダイレクトメッセージを送信)] を選択します。
- [User (ユーザー)] 項目の検索アイコンをクリックし、[Pick from List (リストから選択)] を選択し、サポートの地域リーダーの Slack ユーザー名を選択します。この例では「@Jane Doe」です。
- [Message (メッセージ)] 項目をクリックし、[Custom Expression (カスタム式)] をクリックします。カスタム式エディターが表示されます。
- [Message (メッセージ)] 項目で、
Case Number:
(ケース番号:) と入力し、[Data (データ)] タブをクリックして、フローのステップ 1 の [Case Number (ケース番号)] を選択します。 - [Case Reason (原因)] と [Status (状況)] について、ステップ 10 を繰り返します。メッセージは次のようになります。
Case Number:
ステップ 1 の [Case Number (ケース番号)]、Reason:
ステップ 1 の [Case Reason (原因)]、Status:
ステップ 1 の [Status (状況)] - [Bot Name (ボット名)] と [Bot Icon URL (ボットアイコン URL)] は空白のままにします。MuleSoft Composer はデフォルトで、MuleSoft Platform Slack アプリケーションを使用して Slack と通信します。
- [Add Else (Else を追加)] をクリックします。
- プラスアイコンをクリックして Else ブランチにステップを追加します。
- [Slack] をクリックしてから既存の Slack 接続をクリックします。
- [Action (アクション)] 項目をクリックし、[Post message to channel (チャンネルにメッセージを投稿する)] を選択します。
- [Channel Name (チャンネル名)] 項目で検索選択リストをクリックし、[Pick from List (リストから選択)] を選択し、[service-cases] を選択します。
- [Message (メッセージ)] 項目をクリックし、[Custom Expression (カスタム式)] をクリックします。カスタム式エディターが表示されます。
- メッセージを次のように設定します。
Case Number:
ステップ 1 の [Case Number (ケース番号)]、Reason:
ステップ 1 の [Case Reason (原因)]、Status:
ステップ 1 の [Status (状況)]
- フローを保存します。
For Each ループを使用して反復アクションを実行する
MuleSoft Composer を使用すると、フローの前ステップから発生する項目のリストで反復アクションを実行することもできます。これを行うには、For Each ループを使用して各項目を反復処理し、各項目に対して 1 つ以上のアクションを実行します。
For Each ループを使用する前に、[Get records (レコードを取得)] アクションを使用して、項目の関連リストがフローの前のステップからフェッチされていることを確認します。
ユースケースの例を見てみましょう。NTO の営業チームは、NTO 組織の Sales Cloud でセールスリードを管理、維持しています。最良のリード管理を行うには、過去 24 時間以内に営業担当が連絡していないリードを特定する必要があります。
まず、ここでは、スケジューラーを使用して 1 日に 1 回開始するフローが作成済みであるとします。最初のアクションステップでは、Sales Cloud のリードオブジェクトで [Get records (レコードを取得)] アクションを使用して、状況が未連絡であるすべてのリードがフェッチされます。ここまでのフローは、次のようになっています。
次に、For Each ループを使用して、反復アクションをこのフローに追加しましょう。このループでは、フローによって各リードに対して反復処理を行います。フローはその後、Google スプレッドシート「Marketing Event Tracker (マーケティングイベントトラッカー)」内に、対応する行 (メール、名、姓、リードソース、電話) を作成します。
このフローの For Each ループと関連アクションステップを作成、設定する方法は、次のとおりです。
- プラスアイコンをクリックして [For Each] を選択します。
- [Input list (入力リスト)] 項目で、フローのステップ 2 の [List of Lead (リードのリスト)] を選択します。
- プラスアイコンをクリックして For Each ループにステップを追加します。
- [Google Sheets (Google スプレッドシート)] をクリックします。
- Google スプレッドシートへの接続を作成、設定します。
- [Action (アクション)] 項目をクリックし、[Create row (行を作成)] を選択します。
- [Spreadsheet ID (スプレッドシート ID)] 項目をクリックし、[Marketing Event Tracker (マーケティングイベントトラッカー)] を選択します。
- [Worksheet Name (ワークシート名)] 項目をクリックし、[Sheet1] を選択します。
- [Add Columns (列を追加)] をクリックし、すべての項目を選択し、[Add (追加)] をクリックします。
- 以下のとおり、フローのステップ 2 の [Lead (リード)] 項目を「Marketing Event Tracker」スプレッドシートの対応する項目にマップします。
- Email (メール) = ステップ 2 の [Email (メール)]
- First Name (名) = ステップ 2 の [First Name (名)]
- Last Name (姓) = ステップ 2 の [Last Name (姓)]
- Lead Source (リードソース) = ステップ 2 の [Lead Source (リードソース)]
- Phone (電話) = ステップ 2 の [Phone (電話)]
ここまで順調ですね。ここでは、フローで決定要素を追加して反復アクションを実行する方法を学びました。次の単元では、関数と数式を使用してデータを変換する方法を学習します。