はじめに
Microsoft Dynamics 365 Sales は、連絡先、リード、商談、アクティビティを通じて顧客関係を管理するエンタープライズ向け CRM ソリューションです。この統合により、Microsoft Power Automate を使用して、MoEngage から Microsoft Dynamics 365 Sales へのインバウンドデータフローが可能になります。主な機能
この統合により、次のことができます。- MoEngage からリアルタイムのキャンペーンエンゲージメントイベント(メールの開封、クリック、フォーム送信、ウェビナーへの参加など)を受信する。
- D365 Sales の Lead、Contact、Opportunity レコードを最新のエンゲージメントデータで自動的に更新する。
- MoEngage と D365 Sales の間でエンゲージメント履歴の同期を維持する。
- MoEngage キャンペーンでのインタラクションに基づいて、D365 Sales のワークフローやビジネスプロセスフローをトリガーする。
- クローズドループレポートのために、営業活動イベントとマーケティングアトリビューションをトラッキングする。
ユースケース
- メールエンゲージメントに基づくリードスコアリング: リードが MoEngage でマーケティングメールを開封したときに、D365 Sales のリードスコアを自動的に加算し、Last Engagement Date フィールドを更新して、営業担当者がフォローアップの優先順位を付けられるようにします。
- 商談ステージの進行: 見込み顧客が MoEngage でトラッキングされているウェビナーに参加したり、料金ガイドをダウンロードしたりしたときに、D365 Sales の Opportunity を Qualified または Proposal ステージに自動的に移動し、アカウント所有者にフォローアップタスクを割り当てます。
- キャンペーン反応のトラッキング: MoEngage のランディングページからのすべてのフォーム送信を取り込み、関連する Lead または Contact に紐付けられた Marketing Response レコードまたは Activity レコードを D365 Sales に作成して、包括的なエンゲージメント履歴を構築します。
- マルチチャネルのエンゲージメント履歴: MoEngage のメール、SMS、プッシュ通知、アプリ内メッセージのイベントを D365 Sales のアクティビティレコードに同期することで、顧客とのやり取りの完全なタイムラインを構築し、営業チームがマーケティングのタッチポイントを完全に把握できるようにします。
- 営業とマーケティングの連携: Contact が複数のキャンペーンタッチにエンゲージしたときに、担当営業に対するフォローアップの Call または Task を自動的に作成し、示された関心に基づいてタイムリーなアプローチを確実に行えるようにします。
統合の手順ガイド
前提条件
- Microsoft Power Platform と D365 Sales 環境への管理者アクセス権。
- Lead、Contact、Opportunity エンティティに対する書き込み権限を持つ D365 Sales のセキュリティロール。
- MoEngage のデータ要件: レコードを適切に照合するために、MoEngage は
user_attributesフィールドで次のいずれかの D365 エンティティ ID を送信する必要があります。d365_lead_id(Lead GUID)— Lead レコードの更新に使用します。d365_contact_id(Contact GUID)— Contact レコードの更新に使用します。d365_opportunity_id(Opportunity GUID)— Opportunity レコードの更新に使用します。
d365_lead_id、d365_contact_id)を列挙してください。使用可能なエンティティ識別子Microsoft Dataverse では、レコードの更新に次のプライマリ識別子を使用できます。
- Primary Key(GUID): 各エンティティの一意の識別子(
leadid、contactid、opportunityidなど)。 - Alternate Keys: D365 環境で設定されている場合のカスタム代替キー(例: Contacts の代替キーとしてのメールアドレス)。
ステップ 1: Power Automate で HTTP リクエストトリガーを作成する
1
Power Automate を開く
Power Automate に移動します。
2
自動化されたクラウドフローを作成する
Create > Automated Cloud Flow をクリックします。
3
フローに名前を付ける
フローに
MoEngage - Receive Events to D365 という名前を付けます。4
トリガーを選択する
トリガー When a HTTP request is received を選択します。
5
フローを作成する
Create をクリックします。

HTTP リクエストトリガーを設定する
トリガーの設定で、Request Body JSON Schema を定義します。これにより、MoEngage Streams から受信するデータの構造を Power Automate に伝えます。
JSON Schema
スキーマを追加したら、Save をクリックします。Power Automate によって一意の HTTP POST URL が生成されます。この URL をコピーしてください。後で MoEngage Streams を設定する際に必要になります。
ステップ 2: 各イベントに適用する
MoEngage は 1 回のリクエストで複数のイベントを送信できるため、Apply to each ループを追加してイベントを個別に処理します。1
新しいステップを追加する
New Step をクリックします。
2
Apply to each コントロールを選択する
Control を検索し、Apply to each(Control)を選択します。
3
events 出力を選択する
Select an output from previous steps フィールドで、JSON の動的コンテンツから events を選択します。
MoEngage ペイロード内のすべてのイベントに対して実行されるように、以降のすべてのアクションはこの Apply to each ループの内側に追加する必要があります。

ステップ 3: カスタムテーブルを作成してイベントレコードを追加する
この統合では、MoEngage キャンペーンのすべてのエンゲージメントイベントデータを Leads に紐付けて保存するために、Power Apps で MoEngage Event というカスタムテーブルを作成しました。 この方法により、顧客とのすべてのやり取りの完全な履歴を維持でき、任意のエンティティに対してこれを設定できます。Power Apps でカスタムテーブルを作成するPower Automate のアクションを設定する前に、MoEngage のイベントデータを保存するためのカスタムテーブルを Power Apps で作成します。テーブルには、必要な列(Event Name、Event Date、Campaign Name、Campaign Channel、Event Code、Event UUID)と、対象のエンティティ(Lead、Contact、または Opportunity)へのルックアップリレーションシップを含める必要があります。手順については、カスタムテーブルの作成に関する Microsoft Power Apps のドキュメントを参照してください。
イベントレコードを作成する Dataverse アクションを追加する
1
Dataverse アクションを追加する
Apply to each ループ内に、Microsoft Dataverse アクションを追加します。
2
Add a new row を選択する
Dataverse アクションとして Add a new row を選択します。
3
カスタムテーブルを選択する
Table name で、カスタムテーブル(例: MoEngage Events)を選択します。
4
フィールドマッピングを設定する
次のセクションの説明に従って、フィールドマッピングを設定します。
フィールドマッピングの手順
MoEngage Events テーブルの各フィールドについて、受信した MoEngage ペイロードのデータをマッピングします。以下は、Event Name フィールドをマッピングする方法の例です。
ステップ 4: Unix タイムスタンプを DateTime に変換する
MoEngage はイベントのタイムスタンプを Unix エポック時間(例:1731421200)で送信します。日付または時刻フィールドにマッピングする際は、これを D365 と互換性のある日時形式に変換します。
Inputs フィールドで、次の式を使用します。
Expression

ステップ 5: 統合をテストする
手動トリガーでテストする
1
テストモードでフローを開始する
Power Automate で Test → Manually をクリックし、もう一度 Test をクリックして、リスニングモードでフローを開始します。
2
テストペイロードを送信する
Postman や cURL などのツールを使用して、Webhook URL にテストペイロードを送信します。以下のサンプルペイロードを使用してください。
Sample test payload
検証の手順
1
フローの実行を監視する
Power Automate でフローを開き、最新の実行を確認します。
2
正常に実行されたことを確認する
すべてのアクションに緑色のチェックマークが表示されていることを確認します。
3
カスタムの MoEngage Events テーブルを開く
Power Apps または D365 で、カスタムの MoEngage Events テーブルに移動します。
4
新しいイベントレコードを確認する
マッピングされたすべてのデータを含む新しいイベントレコードが作成されていることを確認します。
5
ルックアップフィールドを確認する
Lead ルックアップフィールドが Lead レコードを正しく参照していることを確認します。

ステップ 6: MoEngage Streams を有効にする
統合のテストが成功したら、MoEngage Streams を有効にして、Power Automate の Webhook へのリアルタイムのイベントデータ送信を開始します。MoEngage Streams を設定する
- ステップ 1 の HTTP POST URL(Power Automate の Webhook URL)をコピーします。
- MoEngage Streams の公式ドキュメントに従って、ストリームを有効にして設定します: MoEngage Streams ドキュメント。