フローを設計する
学習の目的
この単元を完了すると、次のことができるようになります。
- フローの設計の準備をする。
- Gmail の手書きのリードを Salesforce のリードと Slack の通知に自動的に同期するフローを設計する。
フローの設計の準備をする
「MuleSoft Composer の基本」で説明したように、フローはシステムとデータを統合するために組み合わせて設定する一連のステップです。フローを設計する前に、フローチャートを使用してフローのステップを計画します。一連の流れを紙に描き出すと、どのようなフローになるか把握しやすくなります。
以下は、前の単元で説明した NTO のユースケースのインテグレーションフローの全ステップを示すフローチャートの一例です。
以下に、この NTO のユースケースのフローを作成するためのタスクと関連するフローコンポーネントについて詳しく説明します。
タスク |
フローコンポーネント |
---|---|
件名に meetup が含まれ、添付ファイルがある新規メールを探す。 |
meetup has:attachment の検索条件が指定された、新規メールに対する Gmail アカウントからのトリガー。 |
[Marketing Leads Extractor (マーケティングリード抽出)] RPA プロセスを呼び出す。 |
添付ファイルからリードを抽出するための [Marketing Leads Extractor (マーケティングリード抽出)] RPA プロセスを呼び出すアクションステップ。 |
抽出したリードのリストを反復処理する。 |
RPA プロセスから返されたリードのリストを反復処理する For Each ブロック。 |
対応するリードがあれば Sales Cloud から取得する。 |
抽出されたリードと名、姓、メールが同じであるリードを Sales Cloud からすべて取得するアクションステップ。 |
対応するリードが Sales Cloud に存在するかどうかを判断する。 |
リードのリストが空で、抽出されたリードの姓と会社の項目が空ではないことを確認する For Each ブロック内の If/Else ブロック。 メモ: Sales Cloud のリードオブジェクトでは、[Last Name (姓)] と [Company (会社)] は必須項目です。 |
対応するリードが存在しない場合:
|
If/Else ブロックの If ブランチ内の処理:
|
MuleSoft Composer ではデフォルトで作業が検証され、手順の各ステップにアプリケーション内コンテキストヘルプが表示されます。たとえば、システムに接続を追加すると、MuleSoft Composer で接続がテストされるため、正常に機能することを確認したうえで次のステップに進むことができます。また、各ステップ内の必須項目を入力するように MuleSoft Composer から求められます。これでフローのビルドが簡単になります。
フローの作成のベストプラクティスは、数ステップごとにテストを繰り返しながらフローを完成させることです。
こちらのデモ動画で、MuleSoft Composer と MuleSoft RPA を使用して Gmail の手書きのリードを Salesforce のリードと Slack の通知に同期する方法をご覧ください。
フローを設計する
[Marketing Leads Extractor (マーケティングリード抽出)] MuleSoft RPA プロセスを使用して、Gmail の手書きのリードを Salesforce のリードと Slack の通知に自動的に同期するインテグレーションフローを設計する準備ができました。
次の手順に従ってフローを設計します。
NTO 組織から MuleSoft Composer を起動します。
- ユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーに
Composer
と入力して [MuleSoft Composer] を選択します。
新しいフローを作成します。
- [Create New Flow (新規フローの作成)] をクリックします。
- デフォルトのフロー名の横にある鉛筆アイコンをクリックします。
- フローに
Sync Leads using MuleSoft RPA - Gmail to Salesforce to Slack
(MuleSoft RPA を使用してリードを同期 - Gmail、Salesforce、Slack の順) と名前を付け、[Save (保存)] をクリックします。
NTO Gmail 接続を使用してフローのトリガーを作成します。
- [System Event (システムイベント)] をクリックして、[Gmail] をクリックします。
-
[Add new Gmail connection (新しい Gmail 接続を追加)] をクリックします。
メモ: 今回初めて接続する場合はこのオプションは表示されません。次のステップに進みます。 - 接続に
NTO Gmail
と名前を付け、[Create (作成)] をクリックします。 - [Sign in with Google (Google でサインイン)] をクリックします。
- マーケティングリードを送信する Gmail アカウントを選択します。
- MuleSoft Composer がメールメッセージを表示、検索し、設定を表示して、メールを送信できるようにするための権限を選択します。
- [Continue (続行)] をクリックし、MuleSoft Composer に Gmail アカウントに対する権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立され、フローの最初のステップ (トリガー) が表示されます。
件名に meetup が含まれ、ファイルが添付されている新規メールが指定 Gmail アカウントに送信されるたびにフローを起動するようにトリガーを設定します。
- [Choose an event that starts this flow (このフローを開始するイベントを選択)] 項目をクリックして、[On New Email (新規メール)] を選択します。
- [Filter Criteria (検索条件)] 項目に
meetup has:attachment
と入力します。これにより、件名に meetup が含まれ、ファイルが添付されているメールによってのみフローが起動されます。 - [Save (保存)] をクリックしてフローを保存します。
NTO RPA 接続を使用して、フローの 2 番目のステップを作成します。
- プラスアイコンをクリックしてステップを追加します。
-
[System Action (システムアクション)] をクリックし、[MuleSoft RPA] をクリックして、[Add new MuleSoft RPA connection (新規 MuleSoft RPA 接続を追加)] をクリックします。
メモ: これが最初の MuleSoft RPA 接続である場合、このオプションは表示されません。次のステップに進みます。 - この接続に
NTO RPA
と名前を付けます。 - 単元 1 で取得したテキストファイルから RPA API URL をコピーして、[RPA API URL] 項目に貼り付けます。
- 同じテキストファイルからユーザー API キーをコピーして、[User API Key (ユーザー API キー)] 項目に貼り付けます。
- [作成] をクリックします。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立され、フローの 2 番目のステップが表示されます。
メールの件名を入力として [Marketing Leads Extractor (マーケティングリード抽出)] RPA プロセスを呼び出し、RPA プロセスからの応答を出力としてフローで使用するように、2 番目のステップを設定します。
- [Action (アクション)] 項目をクリックして、[Invoke RPA Process (RPA プロセスの作成)] を選択します。
- [RPA Process (RPA プロセス)] 項目で、[Marketing Leads Extractor (マーケティングリード抽出)] を選択します。
- [Output (出力)] 項目で、[Use response in this flow (このフローで応答を使用)] を選択します。
- [Select Optional Fields (省略可能な項目を選択)] をクリックし、[EmailSubject] を選択して、[Apply (適用)] をクリックします。
- [EmailSubject] 項目で、フローのステップ 1 の [Subject (件名)] を選択します。
フローのステップ 2 で [Marketing Leads Extractor (マーケティングリード抽出)] プロセスから返されたリードのリストの各項目を反復処理する For Each ブロックを作成して設定します。
- プラスアイコンをクリックしてステップを追加します。
- スクロールダウンして [For Each] を選択します。
- [Input list (入力リスト)] 項目で、フローのステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] を選択します。
NTO Sandbox 組織接続を使用して、フローの 3 番目のステップを作成します。
- プラスアイコンをクリックして For Each ブロック内にステップを追加します。
-
[System Action (システムアクション)] をクリックし、[Salesforce] をクリックして、[Add new Salesforce connection (新規 Salesforce 接続を追加)] をクリックします。
メモ: これが最初の Salesforce 接続である場合、このオプションは表示されません。次のステップに進みます。 - 接続に
NTO sandbox org
(NTO Sandbox 組織) と名前を付けます。
メモ: NTO 組織にログインしていても、インテグレーションタスクを実行するには NTO 組織への接続を作成する必要があります。 -
[This is a sandbox organization (これは Sandbox 組織です)] チェックボックスをオンにして、[Create (作成)] をクリックします。
メモ: 開発者組織を使用する場合は、このチェックボックスの選択をスキップして [Create (作成)] をクリックします。 - NTO Sandbox 組織のユーザー名とパスワードを入力して、[Log In to Sandbox (Sandbox にログイン)] をクリックします。
- [Allow (許可)] をクリックして、MuleSoft Composer に「ID URL サービスにアクセス」、「API を使用してユーザーデータを管理」、「いつでも要求を実行」権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立され、フローの 3 番目のステップが表示されます。
抽出された各リードの名、姓、メールと一致する NTO 組織のリードをすべて取得するように 3 番目のステップを設定します。
- [Action (アクション)] 項目をクリックして、[Get records (レコードを取得)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Lead
と入力します。 - [Conditions to filter the objects (オブジェクトを絞り込む条件)] 選択リストで、[All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] を選択します。
- 項目として [First Name (名)]、演算子として [Equals (次の文字列と一致する)]、そして フローのステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [First Name (名)] を選択します。
- [Add a condition (条件を追加)] をクリックします。
- 項目として [Last Name (姓)]、演算子として [Equals (次の文字列と一致する)]、そして フローのステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Last Name (姓)] を選択します。
- [Add a condition (条件を追加)] をクリックします。
- 項目として [Email (メール)]、演算子として [Equals (次の文字列と一致する)]、そして フローのステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [E Mail (メール)] を選択します。
リードのリストが空で、抽出されたリードの姓と会社の項目が空ではないことを確認する If/Else ブロックを作成して設定します。
- プラスアイコンをクリックしてステップを追加します。
- スクロールダウンして [If/Else Block (If/Else ブロック)] をクリックします。デフォルトで [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] が選択されています。
- 項目としてフローのステップ 3 の [List of Lead (リードのリスト)]、演算子として [Is empty (値なし)] を選択します。
- [Add a condition (条件を追加)] をクリックします。
- 項目としてフローのステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Last Name (姓)]、演算子として [Is not empty (値あり)] を選択します。
- [Add a condition (条件を追加)] をクリックします。
- 項目としてフローのステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Company (会社)]、演算子として [Is empty (値なし)] を選択します。すべての条件に一致した場合は、対応するリードがNTO 組織に存在せず、抽出されたリードに Sales Cloud の新規リードに必須の姓と会社の項目があることを意味します。次のステップで、NTO 組織に新しいリードが作成されます。
既存の NTO Sandbox 組織の接続を使用してフローの 4 番目のステップを作成します。
- If/Else ブロックの If ブランチ内のプラスアイコンをクリックして、ステップを追加します。
-
[System Action (システムアクション)] をクリックし、[Salesforce] をクリックして、[NTO sandbox org (NTO Sandbox 組織)] をクリックします。
メモ: 既存の NTO Sandbox 組織の接続を再利用します。
Gmail の手書きのリードを Sales Cloud のリードと同期するように 4 番目のステップを設定します。
- [Action (アクション)] 項目をクリックして、[Create new record (新しいレコードの作成)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Lead
と入力します。[Company (会社)] と [Last Name (姓)] は必須項目のため、自動的に選択されます。 - [Select Optional Fields (省略可能な項目を選択)] をクリックし、[First Name (名)]、[Email (メール)]、[Phone (電話)]、[Description (説明)] を選択して、[Apply (適用)] をクリックします。
- リード項目を、フローのステップ 2 で [Marketing Leads Extractor (マーケティングリード抽出)] プロセスから返された出力の対応する項目に、次のようにマップします。
- Company (会社) = [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Company (会社)]
- Last Name (姓) = [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Last Name (姓)]
- Email (メール) = [Result (結果)] > [Marketing Leads (マーケティングリード)] > [E Mail (メール)]
- First Name (名) = [Result (結果)] > [Marketing Leads (マーケティングリード)] > [First Name (名)]
- Phone (電話) = [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Phone (電話)]
- [Description (説明)] 項目をクリックし、[Custom Expression (カスタム式)] をクリックします。カスタム式エディターが表示されます。このカスタム式エディターを使用して、フローの前のステップからの動的な項目値 (データピルとも呼ばれます) とユーザーが入力する静的なテキストの両方を含むメッセージを設定します。
- 次のメッセージを設定します。[Data (データ)] タブを使用して関連するデータピルを選択してください。
This lead was generated from an email attachment sent to
To from step 1by
From from step 1with the subject line
Subject from step 1 (このリードは、ステップ 1 の [Subject (件名)] の件名行と共にステップ 1 の [From (送信元)] からステップ 1 の [To (送信先)] に送信されたメールの添付ファイルから生成されました) - [Apply (適用)] をクリックします。
手書きの Gmail リードを Slack 通知と同期する 5 番目のステップを作成します。
- If ブロック内のプラスアイコンをクリックして、ステップを追加します。
-
[System Action (システムアクション)] をクリックし、[Slack] をクリックして、[Add new Slack connection (新規 Slack 接続を追加)] をクリックします。
メモ: これが最初の Slack 接続である場合、このオプションは表示されません。次のステップに進みます。 - 接続に
NTO Slack
と名前を付け、[Create (作成)] をクリックします。 - Slack ワークスペース選択リストから [NTO] を選択します。
- [Allow (許可)] をクリックして、MuleSoft Composer に NTO ワークスペースでの「チャンネルと会話に関するコンテンツと情報を表示する」、「ワークスペースに関するコンテンツと情報を表示する」、および「チャンネルと会話でアクションを実行する」権限を付与します。MuleSoft Platform アプリケーションが NTO Slack ワークスペースに自動的に追加され、フローの 5 番目のステップが表示されます。
新規リードを sales-leads チャンネルに通知するように 5 番目のステップを設定します。
- [Action (アクション)] 項目をクリックし、[Post message to channel (チャンネルにメッセージを投稿する)] を選択します。
- [Channel Name (チャンネル名)] 項目で [検索] 選択リストをクリックし、[Pick from List (リストから選択)] を選択し、[sales-leads] を選択します。
- [Message (メッセージ)] 項目をクリックし、[Custom Expression (カスタム式)] をクリックします。カスタム式エディターが表示されます。
- [Message (メッセージ)] 項目に、
*New lead:*
と入力します。これで、マークダウン構文に対する Slack のサポートが使用され、Slack で *New lead:* (*新規リード:*) が New lead: (新規リード:) になります。 - 1 つスペースを挿入し、
「Name: 」
と入力して、ステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [First Name (名)] を選択します。 - もう 1 つスペースを挿入し、ステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Last Name (姓)] を選択します。
-
「, Email: 」
と入力し、ステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [E Mail (メール)] を選択します。 -
「, Phone: 」
と入力し、ステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Phone (電話)] を選択します。 -
「, Company: 」
と入力し、ステップ 2 の [Result (結果)] > [Marketing Leads (マーケティングリード)] > [Company (会社)] を選択します。 - [Apply (適用)] をクリックします。
- [Bot Name (ボット名)] と [Bot Icon URL (ボットアイコン URL)] は空白のままにします。MuleSoft Composer はデフォルトで、MuleSoft Platform Slack アプリケーションを使用して Slack と通信します。
- フローを保存します。フロー全体は次のようになります。
お疲れさまでした。次の単元では、フローをテストして正常に機能することを確認する方法を学習します。