フローを設計してテストする
学習の目的
この単元を完了すると、次のことができるようになります。
- Google スプレッドシートから Salesforce と Slack にデータを自動的に同期するフローを設計する。
- フローをテストしてデータが問題なく同期されることを確認する。
この単元では、まず MuleSoft Composer を使用して Google スプレッドシートのリードを Salesforce のリードと Slack の通知と自動的に同期するフローを作成する方法を学習します。次に、フローをテストしてデータが問題なく同期されることを確認します。
MuleSoft Composer ではデフォルトで作業が検証され、手順の各ステップでアプリケーション内コンテキストヘルプが提供されます。たとえば、システムに接続を追加すると、MuleSoft Composer で接続がテストされるため、正常に機能することを確認したうえで次のステップに進むことができます。また、各ステップ内の必須項目を入力するように MuleSoft Composer から求められます。これでフローのビルドが簡単になります。
フローの構築のベストプラクティスは、数ステップごとにテストを繰り返しながらフローを完成させることです。
次のデモ動画で、MuleSoft Composer を使用して Google スプレッドシートを Salesforce と Slack に接続する方法を確認してください。
フローを設計する
Google スプレッドシートのリードを Salesforce のリードおよび Slack の通知と同期するインテグレーションフローを設計する準備ができました。
次の手順に従ってフローを設計します。
NTO 組織から MuleSoft Composer を起動します。
- ユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーに
Composer
と入力して [MuleSoft Composer] を選択します。
新しいフローを作成します。
- [Create New Flow (新規フローを作成)] をクリックします。
- デフォルトのフロー名の横にある鉛筆アイコンをクリックします。
- フローに
Sync Leads - GSheets to Salesforce to Slack
と名前を付け、[Save (保存)] をクリックします。
マーケティングリードスプレッドシートを使用して、フローのトリガーを作成します。
- [Google Sheets (Google スプレッドシート)] をクリックします。
-
[Add New Google Sheets Connection (新規 Google スプレッドシート接続を追加)] をクリックします。
メモ: これが最初の Google スプレッドシート接続である場合、このオプションは表示されません。次のステップに進んでください。 - この接続に
NTO Google Sheets
と名前を付け、[Create (作成)] をクリックします。 - マーケティングリードスプレッドシートを所有する Google アカウントを選択します。
- MuleSoft Composer の「See and download all your Google Drive files (Google ドライブファイルを参照およびダウンロードする)」、「See information about your Google Drive files (Google ドライブファイルに関する情報を参照する)」、および「See, edit, create, and delete all your Google Sheets spreadsheets (Google スプレッドシートのすべてのスプレッドシートを参照、編集、作成、削除する)」権限を選択します。
- [Continue (続行)] をクリックし、MuleSoft Composer に Google アカウントに対する権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立し、フローの最初のステップ (トリガー) が表示されます。
新規リードがマーケティングリードスプレッドシートに追加されるたびにフローを開始するトリガーを設定します。
- [Choose an event that starts this flow (このフローを開始するイベントを選択)] 項目をクリックして、[New Row (新しい行)] を選択します。
- [Spreadsheet (スプレッドシート)] 項目で、[Marketing Leads (マーケティングリード)] を選択します。
- [Worksheet Name (ワークシート名)] 項目で [Sheet1] を選択します。デフォルトではすべての項目が返されます。フローの後続ステップで、この項目を使用してインテグレーションを実行します。
- [Save (保存)] をクリックしてフローを保存します。
NTO 組織リードを取得するためのフローの 2 番目のステップを作成します。
- プラスアイコンをクリックしてステップを追加します。
- [Salesforce] をクリックします。
-
[Add new Salesforce connection (新しい Salesforce 接続を追加)] をクリックし、NTO Sandbox 組織への接続を作成します。
メモ: 初めての Salesforce 接続の場合、このオプションは表示されません。次のステップに進んでください。 - この接続に
NTO sandbox org
(NTO Sandbox 組織) と名前を付けます。 -
[This is a sandbox organization (これは Sandbox 組織です)] チェックボックスをオンにして、[Create (作成)] をクリックします。
メモ: 開発者組織を使用する場合は、このチェックボックスの選択をスキップして [Create (作成)] をクリックします。 - NTO の Sandbox 組織のユーザー名とパスワードを入力して、[Log In to Sandbox (Sandbox にログイン)] をクリックします。
- [Allow (許可)] をクリックして、MuleSoft Composer に「ID URL サービスにアクセス」、「API を使用してユーザーデータを管理」、「いつでも要求を実行」権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立し、フローの 2 番目のステップが表示されます。
マーケティングリードスプレッドシートのリードと一致するすべての NTO 組織リードを取得するように 2 番目のステップを設定します。
- [Action (アクション)] 項目をクリックし、[Get records (レコードを取得)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Lead
と入力します。 - [Conditions to filter the objects (オブジェクトを絞り込む条件)] 選択リストで、[All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] を選択します。
- 項目として [First Name (名)]、演算子として [Equals (次の文字列と一致する)]、フローのステップ 1 の [First Name (姓)] を選択します。
- [Add a condition (条件を追加)] をクリックします。
- 項目として [Last Name (姓)]、演算子として [Equals (次の文字列と一致する)]、フローのステップ 1 の [Last Name (姓)] を選択します。
- [Add a condition (条件を追加)] をクリックします。
- 項目として [Email (メール)]、演算子として [Equals (次の文字列と一致する)]、フローのステップ 1 の [Email (メール)] を選択します。
If/Else ブロックを作成して、マーケティングリードスプレッドシートのリードと姓、名、メールが同じリードが NTO 組織に存在するかどうかを確認するように設定します。
- プラスアイコンをクリックしてステップを追加します。
- 下にスクロールして [If/Else Block (If/Else ブロック)] をクリックします。デフォルトでは [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] が選択されています。
- 項目としてフローのステップ 2 の [List of Lead (リードのリスト)] を選択し、演算子として [Is empty (値なし)] を選択します。この条件を満たしている場合、対応するリードが NTO 組織に存在しないことになります。次のステップで、NTO 組織に新しいリードが作成されます。
Google スプレッドシートのリードを Sales Cloud のリードと同期するフローの 3 番目のステップを作成します。
- If ブロック内のプラスアイコンをクリックして、ステップを追加します。
- [Salesforce] をクリックします。
- [NTO sandbox org (NTO Sandbox 組織)] をクリックし、NTO Sandbox 組織に接続します。
Google スプレッドシートのリードを Sales Cloud のリードと同期するように 3 番目のステップを設定します。
- [Action (アクション)] 項目をクリックし、[Create new record (新しいレコードを作成)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Lead
と入力します。[Last Name (姓)] と [Company (会社)] は必須項目のため、自動的に表示されます。 - [Add Fields (項目を追加)] をクリックし、[First Name (名)]、[Email (メール)]、[Phone (電話)]、[Country (国)]、[Industry (業種)]、[Lead Source (リードソース)] を選択して、[Add (追加)] をクリックします。
- フローのステップ 1 で取得したマーケティングリードスプレッドシートの列を Sales Cloud の対応するリード項目に次のようにマップします。
- [First Name (名)] = ステップ 1 の [First Name (名)]
- [Last Name (姓)] = ステップ 1 の [Last Name (姓)]
- [Email (メール)] = ステップ 1 の [Email (メール)]
- [Phone (電話)] = ステップ 1 の [Phone (電話)]
- [会社名] = ステップ 1 の [Company (会社)]
- [国] = ステップ 1 の [Country (国)]
- [業種] = ステップ 1 の [Industry (業種)]
- [Lead Source (リードソース)] = ステップ 1 の [Lead Source (リードソース)]
Google スプレッドシートのリードを Slack 通知と同期する 4 番目のステップを作成します。
- If ブロック内のプラスアイコンをクリックして、ステップを追加します。
- [Slack] をクリックします。
-
[Add new Slack connection (新規 Slack 接続を追加)] をクリックします。
メモ: これが最初の Slack 接続である場合、このオプションは表示されません。次のステップに進んでください。 - 接続に
NTO Slack
と名前を付け、[Create (作成)] をクリックします。 - Slack ワークスペース選択リストから [NTO] を選択します。
- [Allow (許可)] をクリックして、MuleSoft Composer に NTO ワークスペースでの「チャンネルと会話に関するコンテンツと情報を表示する」、「ワークスペースに関するコンテンツと情報を表示する」、および「チャンネルと会話でアクションを実行する」権限を付与します。MuleSoft Platform アプリケーションが自動的に NTO Slack ワークスペースに追加され、フローの 4 番目のステップが表示されます。
新規リードを sales-leads チャンネルに通知するように 4 番目のステップを設定します。
- [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 の [First Name (名)] を選択します。
- もう 1 つスペースを挿入し、ステップ 1 の [Last Name (姓)] を選択します。
-
,
を入力し、ステップ 1 の [Email (メール)] を選択します。 -
,
を入力し、ステップ 1 の [Phone (電話)] を選択します。 - [Apply (適用)] をクリックします。
- [Bot Name (ボット名)] と [Bot Icon URL (ボットアイコン URL)] は空白のままにします。MuleSoft Composer はデフォルトで、MuleSoft Platform Slack アプリケーションを使用して Slack と通信します。
- フローを保存します。フロー全体は次のようになります。
次は、フローのテスト方法を学習します。
フローをテストする
フローを設計したら、エンドツーエンドでテストしてデータが想定どおりに同期されることを確認する必要があります。一般に、テストは 10 分以内に完了します。テストが完了した時点、または 10 分を経過した時点でテストは停止します。テストに必要なアプリケーションとデータのすべてを準備してからテストを開始するのがベストプラクティスです。
このユースケースでは、マーケティングリードスプレッドシートでリードが作成されると、フローがトリガーされます。まず、スプレッドシートにテストリードを入力する準備をしておきます。
次に、Sales Cloud にリードが存在しない場合について、対応するリードが Sales Cloud に作成され、Slack の sales-lead チャンネルにリードに関するメッセージが表示されることを確認する準備をします。
最後に、Sales Cloud にリードが存在する場合について、対応するリードが Sales Cloud に作成されず、Slack に通知が表示されないことを確認する準備をします。
次の手順に従ってフローをテストします。
- [Sync Leads - GSheets to Salesforce to Slack (リードを同期 - G スプレッドシート、Salesforce、Slack の順)] フローで、[Test (テスト)] をクリックします。フローが参照のみモードになります。
メモ: テストの実行中に何らかの理由で停止する場合は、[Stop Test (テストを停止)] をクリックします。 - マーケティングリードスプレッドシートを開き、次の値で新しいリードを入力します。
- First Name (名):
Jane
- Last Name (姓):
Doe
- Email (メール):
jane.doe@acme.com
- Phone (電話):
212-333-4444
- Company (会社):
ACME
- Country (国):
US
- Industry (業種):
Finance
(金融) - Lead Source (リードソース):
Web
- First Name (名):
- フローに戻り、テストが完了するまで待機します。フローのすべてのステップに緑のチェックマークが表示されていれば、フローが正常に実行されたことを示します。[Test Output (テスト出力)] セクションで、テスト用に入力したレコード値を確認します。
- ユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーで、
セールス
と入力し、[セールス] を選択して Sales Cloud を起動します。 -
[リード] タブをクリックし、[すべての進行中リード] を選択し、対応するリードが Sales Cloud に作成されていることを確認します。
- NTO Slack ワークスペースを開き、sales-leads チャンネルにリード通知が表示されることを確認します。フローで *New lead:* (*新規リード:*) を使用したため、Slack では New lead: (新規リード:) として表示されています。
- [Sync Leads - GSheets to Salesforce to Slack (リードを同期 - G スプレッドシート、Salesforce、Slack の順)] フローで、[Test (テスト)] をクリックします。
- マーケティングリードスプレッドシートで、同じリードをコピーして次の行に貼り付けます。
- フローに戻り、テストが完了するまで待機します。フローの最初の 2 つのステップに緑のチェックマークが表示され、最後の 2 つのステップには表示されない場合は、フローが正常に実行されたことを示しています。これは、リードが Sales Cloud に存在しているため、If ブロックが false に評価され、それに関連付けられている 2 つのステップが実行されなかったためです。
- NTO 組織の Sales Cloud で、新しいリードが作成されていないことを確認します。
- NTO Slack ワークスペースで、sales-leads チャンネルに新しい通知が表示されていないことを確認します。
- 別の任意のリードについて手順 1 ~ 12 を繰り返してテストします。フローは問題なく動作するはずです。
ここまで順調ですね。次の単元では、本番環境でフローをアクティブ化して監視し、トラブルシューティングする方法を学習します。