Microsoft Dynamics 365をデータパイプラインソースとして設定する
Microsoft Dynamics 365をデータパイプラインソースとして設定し、Sales、Customer Service、Field Service、およびMarketingデータをMicrosoft Dataverseから宛先に抽出します。
このガイドでは、Microsoft Entra IDアプリの登録、コネクションの設定、パイプラインの設定、オブジェクトの追加、同期動作の確認、および既知の制限事項について説明します。
サポートされている機能
Microsoft Dynamics 365をパイプラインソースとして使用する場合、次の機能がサポートされます。
- クラウド接続: HTTPS経由でDataverse Environmentに接続します。 オンプレミスエージェントは不要です。 デプロイメントの制限については、制限事項を参照してください。
- 動的オブジェクト検出: カスタムテーブルを含め、コネクションが読み取り可能な任意のテーブルを同期します。 Workatoが一般的に同期するオブジェクトについては、サポートされるオブジェクトを参照してください。
- 完全同期と増分同期: 完全同期モードと増分同期モードをサポートします。 増分同期では、管理者が有効にしたテーブルでDataverseのChange Tracking機能が使用されます。 詳細については、同期モードを参照してください。
- 削除追跡: サポートされているオブジェクトの削除を検出し、削除されたレコードを宛先でマークします。 詳細については、削除追跡を参照してください。
- スキーマドリフトの検出と処理: 新しいフィールドを自動同期でスキーマの変更を自動的に検出して適用するか、新しいフィールドをブロックでスキーマを固定します。
- フィールドレベルのデータ保護: 機密フィールドをそのままレプリケートするか、宛先に到達する前にハッシュ化します。
- 構成可能な同期頻度: 時間ベースの間隔またはcron式を使用して同期をスケジュールします。 サポートされる最小間隔は15分です。
前提条件
Microsoft Dynamics 365をデータパイプラインソースとして接続する前に、次の要件を満たしてください。
- Microsoft DataverseでホストされているMicrosoft Dynamics 365 Environment(Sales、Customer Service、Field Service、またはMarketing)。 デプロイメントの制限については、制限事項を参照してください。
- Microsoft Entra IDアプリ登録、および選択した認証方式の認証情報:
- Client credentials: アプリ登録のClient ID、Client secret、Tenant ID、およびDataverse Environment内のApplication User。 設定手順については、Azure PortalでWorkatoアプリを登録するを参照してください。
- Authorization code grant: アプリ登録のClient IDとClient secret。 設定手順については、Azure PortalでWorkatoアプリを登録するを参照してください。
必要な権限
同期する予定のすべてのテーブルに対し、組織レベルでRead権限を持つDataverseセキュリティロールを割り当てます。
- Client credentials: Entraアプリ登録にリンクされたApplication Userにロールを割り当てます。
- Authorization code grant: サインインを完了するDataverseユーザーにロールを割り当てます。
新しいテーブルへのアクセス権を手動で付与する
Workatoは、新しくライセンス付与されたアプリのテーブルや新しいカスタムテーブルを検出し、すぐにオブジェクトリストに表示できます。 ただし、Dataverse管理者がそのテーブルに対してコネクションのセキュリティロールにReadアクセス権を手動で付与するまで、コネクションはそのデータを読み取れません。 Dataverseでは、後で追加されるテーブルを自動的に対象にするワイルドカード付与はサポートされていません。
サポートされるコネクションタイプ
Microsoft Dynamics 365データパイプラインは、次の認証方式をサポートしています。
- Client credentials: Microsoft Entra IDアプリ登録とDataverse Environment内のApplication Userを使用して接続します。 パイプラインは無人スケジュールで実行され、対話型ユーザーセッションに依存しないため、Workatoはこの方式を推奨しています。 設定手順については、Azure PortalでWorkatoアプリを登録するを参照してください。
- Authorization code grant: Dataverse Environmentに対する委任された権限を持つMicrosoft Entra IDアプリ登録を使用して、対話形式で接続します。 設定手順については、Azure PortalでWorkatoアプリを登録するを参照してください。
Microsoft Dynamics 365ワークフローコネクターでサポートされているResource owner password credentials grantは、データパイプラインでは使用できません。 Microsoftは、必須の多要素認証要件を満たせないため、パスワードベースの付与を廃止する予定です。
Azure PortalでWorkatoアプリを登録する
Microsoft Dynamics 365をデータパイプラインソースとして接続する前に、Azure PortalでMicrosoft Entra IDアプリ登録を登録します。 手順は、選択した認証方式によって異なります。
Azure PortalでWorkatoアプリを登録
Workatoに戻ってコネクションのセットアップを完了します。
Microsoft Dynamics 365に接続する
Microsoft Dynamics 365に接続するには、次の手順を実行します。
Microsoft Dynamics 365に接続する
パイプラインの設定
Microsoft Dynamics 365をデータパイプラインソースとして設定するには、次の手順を実行します。
作成 > データパイプラインを選択します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがMicrosoft Dynamics 365からデータを取得する方法を定義します。
ソースアプリから新規/更新済みレコードを抽出トリガーを設定
Your Connected Source Appsドロップダウンメニューを使用して、Microsoft Dynamics 365を選択します。
このパイプラインで使用する予定のMicrosoft Dynamics 365コネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。 Workatoは、コネクションが読み取り可能なテーブルを動的に検出し、各テーブルを表示名と論理テーブル名として表示します。例: Account (account)。
オブジェクトを追加
使用可能なオブジェクトのリストを検索または参照し、同期する予定のオブジェクトを選択して、Addをクリックします。
オブジェクトを選択
選択した各オブジェクトのスキーマを確認してカスタマイズします。 オブジェクトを選択すると、パイプラインはオブジェクトのスキーマを自動的に取得するため、宛先がソースと一致します。
任意のオブジェクトを展開して、そのフィールドを表示します。 使用可能なすべてのデータを抽出するにはすべてのフィールドを選択したままにし、データ抽出とスキーマレプリケーションから除外するには特定のフィールドの選択を解除します。
任意です。 オブジェクトの同期方法を設定するには、オブジェクトの横にある設定アイコンをクリックします。 Sync modeドロップダウンメニューを使用して、Full syncまたはIncrementalを選択します。 Workatoは、オブジェクトのChange Trackingカーソルを検出しない場合、デフォルトで完全同期を使用します。 詳細については、同期モードを参照してください。
任意です。 オブジェクトを展開してフィールドレベルのデータ保護を設定し、各フィールドの処理方法を選択します。
- そのまま複製: ソースのデータ値が宛先に同一に複製されます。
- Hash: フィールド内の機密データ値を、宛先に到達する前にハッシュ化します。
Workatoは、個人を特定できる情報(PII)およびその他の機密フィールドをハッシュ化することを推奨しています。 PIIが一般的に含まれるフィールドのリストについては、機密データの処理を参照してください。
さらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、追加のMicrosoft Dynamics 365オブジェクトをパイプラインに含めます。
スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。
- 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
- 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。 新しいフィールドは手動で追加する必要があります。
Dataverse管理者はいつでも任意のテーブルにカスタムフィールドを追加できるため、WorkatoはAuto-sync new fieldsを推奨しています。
任意です。 同時実行制限フィールドに値を入力して、同時実行操作数の上限を設定します。 Workatoによって設定されたデフォルトの制限を使用するには、このフィールドを空白のままにします。 最大値は100です。
Frequencyフィールドで、パイプラインがMicrosoft Dynamics 365から宛先にデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるオブジェクト
Microsoft Dynamics 365データパイプラインは、Sales、Customer Service、Field Service、およびMarketing(Customer Insights – Journeys)の背後にある共有データプラットフォームであるMicrosoft Dataverseからデータを同期します。 Workatoは、カスタムテーブルを含め、コネクションが読み取り可能なすべてのテーブルを動的に検出するため、以下に示すオブジェクトに限定されません。 次の表は、一般的に同期されるオブジェクトをアプリ領域別にグループ化して示しています。 各オブジェクトは、宛先内の個別のテーブルとして同期されます。
テーブルの機能はEnvironmentによって異なる
使用可能な同期モードと削除追跡は、Dataverse Environment内の各テーブルごとに決定されます。 増分同期と削除追跡は、そのテーブルでChange Trackingが有効になっている場合にのみ使用できます。 権限、ライセンス、およびインストール済みアプリケーションも、リストに含まれるテーブルが使用可能かどうかに影響する場合があります。
アプリ間で共有
| オブジェクト | 同期モード | 削除追跡 | メモ |
|---|---|---|---|
| アカウント | 完全同期、増分 | はい(ソフト) | 該当なし |
| コンタクト | 完全同期、増分 | はい(ソフト) | 該当なし |
| タスク | 完全同期、増分 | はい(ソフト) | アクティビティテーブル |
| メール | 完全同期、増分 | はい(ソフト) | アクティビティテーブル |
| 電話 | 完全同期、増分 | はい(ソフト) | アクティビティテーブル |
| 予定 | 完全同期、増分 | はい(ソフト) | アクティビティテーブル |
| メモ | 完全同期、増分 | はい(ソフト) | 添付ファイルは同期されません。 |
| ユーザー | 完全同期、増分 | はい(ソフト) | 通常は削除ではなく非アクティブ化 |
| チーム | 完全同期、増分 | はい(ソフト) | 該当なし |
| 部署 | 完全同期、増分 | はい(ソフト) | 組織階層 |
Sales
| オブジェクト | 同期モード | 削除追跡 | メモ |
|---|---|---|---|
| リード | 完全同期、増分 | はい(ソフト) | 該当なし |
| 商談 | 完全同期、増分 | はい(ソフト) | 該当なし |
| 営業案件の製品 | 完全同期、増分 | はい(ソフト) | 営業案件の子 |
| 見積もり | 完全同期、増分 | はい(ソフト) | 該当なし |
| 見積もりの詳細 | 完全同期、増分 | はい(ソフト) | 見積もりの子 |
| 順序 | 完全同期、増分 | はい(ソフト) | 該当なし |
| 注文製品 | 完全同期、増分 | はい(ソフト) | 注文の子 |
| インボイス | 完全同期、増分 | はい(ソフト) | 該当なし |
| 請求書の詳細 | 完全同期、増分 | はい(ソフト) | 請求書の子 |
| 製品 | 完全同期、増分 | はい(ソフト) | 該当なし |
| 価格表 | 完全同期、増分 | はい(ソフト) | 該当なし |
| 価格表品目 | 完全同期、増分 | はい(ソフト) | ボリュームが製品×価格表の件数を超える可能性があります |
| 競合企業 | 完全同期、増分 | はい(ソフト) | 該当なし |
| 目標 | 完全同期、増分 | はい(ソフト) | Dynamics 365 Sales Plansを実装します |
| 目標指標 | 完全同期、増分 | はい(ソフト) | 該当なし |
| 目標ロールアップクエリ | Full sync | はい(宛先で推定) | 目標の子 |
カスタマーサービス
| オブジェクト | 同期モード | 削除追跡 | メモ |
|---|---|---|---|
| ケース | 完全同期、増分 | はい(ソフト) | descriptionには顧客が開示したPIIが含まれることがよくあります |
| キュー | 完全同期、増分 | はい(ソフト) | 該当なし |
| キュー項目 | 完全同期、増分 | はい(ソフト) | 該当なし |
| エンタイトルメント | 完全同期、増分 | はい(ソフト) | 該当なし |
| SLA | 完全同期、増分 | はい(ソフト) | 該当なし |
| SLA項目 | Full sync | はい(宛先で推定) | 該当なし |
| ナレッジ記事 | 完全同期、増分 | はい(ソフト) | 該当なし |
| ケース解決 | 完全同期、増分 | はい(ソフト) | ケースが解決されたときに作成されます |
| ソーシャルアクティビティ | 完全同期、増分 | はい(ソフト) | ソーシャルチャネルが設定されている場合にのみ存在します |
Field Service
Bookable Resource、Bookable Resource Booking、およびCustomer Assetは、基本のUniversal Resource Scheduling機能に付属しています。 このカテゴリの残りのオブジェクトには、Field Serviceアプリが必要です。
| オブジェクト | 同期モード | 削除追跡 | メモ |
|---|---|---|---|
| Bookable Resource | 完全同期、増分 | はい(ソフト) | 該当なし |
| Bookable Resource Booking | Full sync | はい(宛先で推定) | 該当なし |
| カスタマーアセット | 完全同期、増分 | はい(ソフト) | 該当なし |
| 作業指示 | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
| 作業指示インシデント | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
| 作業指示サービス | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
| 作業指示サービスタスク | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
| 作業指示製品 | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
| リソース要件 | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
| 作業指示タイプ | Full sync | いいえ | 参照データ。 Field Serviceアプリが必要です |
| インシデントタイプ | Full sync | いいえ | 参照データ。 Field Serviceアプリが必要です |
| 契約 | 完全同期、増分 | はい(ソフト) | Field Serviceアプリが必要です |
Marketing
Subscription List、Consent、Purpose、およびTopicは、基本のDataverseに付属しています。 このカテゴリの残りのオブジェクトには、Customer Insights – Journeys(Marketing)が必要です。
| オブジェクト | 同期モード | 削除追跡 | メモ |
|---|---|---|---|
| サブスクリプションリスト | 完全同期、増分 | はい(ソフト) | Dynamics 365 UIでは"マーケティングリスト"というラベルが付けられています |
| 同意 | 完全同期、増分 | はい(ソフト) | Contact Point Consent: GDPR/CAN-SPAMのオプトインおよびオプトアウト状態 |
| 目的 | 完全同期、増分 | はい(ソフト) | 該当なし |
| トピック | 完全同期、増分 | はい(ソフト) | Purposeの子 |
| Segment | 完全同期、増分 | はい(ソフト) | Customer Insights – Journeysが必要です |
| カスタマージャーニー | 完全同期、増分 | はい(ソフト) | Customer Insights – Journeysが必要です |
| マーケティングメール | 完全同期、増分 | はい(ソフト) | Customer Insights – Journeysが必要です |
| マーケティングフォーム | 完全同期、増分 | はい(ソフト) | Customer Insights – Journeysが必要です |
| イベント | 完全同期、増分 | はい(ソフト) | Customer Insights – Journeysが必要です |
| イベント登録 | 完全同期、増分 | はい(ソフト) | Customer Insights – Journeysが必要です |
Marketingは、マーケティング専用の個別の人物レコードではなく、アプリ間で共有カテゴリの共有ContactテーブルとLeadテーブルにも書き込みます。
カスタムテーブルとフィールド
Dataverseの顧客は、標準テーブルのカスタムフィールドだけでなく、まったく新しいカスタムテーブルを作成できます。 Workatoは標準テーブルを検出するのと同じ方法でカスタムテーブルを検出し、同じように同期します。 カスタムテーブルとフィールドでは、new_やcr123_など、発行者定義のプレフィックスが使用されます。 Workatoは、宛先に同期するフィールド名とテーブル名でこのプレフィックスを保持します。
同期モード
Microsoft Dynamics 365データパイプラインは、完全同期と増分同期をサポートしています。 同期モードは、パイプラインに追加するときにオブジェクトごとに設定されます。
フル同期
完全同期では、選択したオブジェクトで使用可能なすべてのレコードをDataverseから読み取り、宛先テーブルを上書きします。 Change Trackingが有効になっていないオブジェクトでは、変更されたレコードのみを取得する方法がDataverseから提供されないため、常に完全同期が使用されます。
増分同期
増分同期では、前回の正常実行以降に作成、更新、または削除されたレコードのみを抽出します。 Microsoft Dynamics 365データパイプラインは、増分同期にDataverseのChange Tracking機能を使用します。 最初の同期ではオブジェクトのデルタリンクを要求し、以降の同期ではそのデルタリンクを使用して前回の実行以降の変更のみを取得します。
Change Trackingは、Dataverse管理者がPower Apps maker portalで有効にするテーブルごとの設定であり、永続的です。 管理者は再度オフにすることはできません。 Workatoは、Change Trackingが有効になっていないオブジェクトには代わりに完全同期を使用するため、同じEnvironment内でも有効になっているテーブルと有効になっていないテーブルが存在することを想定してください。 これは正常です。
一般的に同期されるオブジェクトについてはサポートされるオブジェクトの表を参照し、対象テーブルで有効にする方法についてはMicrosoftのChange Trackingドキュメントを参照してください。
増分オブジェクトでは初回同期で全レコードを読み取る
Dataverseでは、以降の同期で使用するデルタリンクを確立する前に、増分オブジェクトの初回同期で、Workatoが使用可能なすべてのレコードを読み取る必要があります。 過去の開始日はこのコストを削減しませんが、Workatoは引き続き古いレコードを宛先から除外します。 大規模なオブジェクトでは、初回同期を完了するまでに複数の同期サイクルが必要になる場合があります。
削除追跡
削除追跡はオブジェクトごとに行われ、オブジェクトの同期モードに依存します。
- 増分同期を使用するオブジェクト: DataverseのChange Trackingフィードには、追跡対象レコードが削除されるたびに、削除されたレコードのIDを含む"removed"エントリが含まれます。 Workatoはこれらのレコードを宛先で削除済みとしてマークし、削除はしません。
- 完全同期を使用するオブジェクト: Dataverseは、これらのオブジェクトに対してネイティブの削除シグナルを公開しません。 Workatoは毎回完全なオブジェクトを読み取るため、各完全同期を前回の実行と比較し、Dynamics 365に表示されなくなったレコードを宛先で削除済みとしてマークします。
これによって設定される宛先列については合成列を参照し、各同期モードを使用するオブジェクトについてはサポートされるオブジェクトの表を参照してください。
スキーマとデータ型の処理
Microsoft Dynamics 365からデータを同期する場合、スキーマとデータ型には次の考慮事項が適用されます。
カスタムフィールド
カスタムフィールドは、Workatoが各オブジェクトについて検出するスキーマ内で標準フィールドと同じように表示されます。 新しいカスタムフィールドが自動的に同期されるように、パイプラインを設定するでAuto-sync new fieldsを選択します。 Dataverse管理者は、いつでも任意のテーブルにカスタムフィールドを追加できます。
Picklist、State、およびStatusフィールド
Picklist、State、およびStatusフィールドは、Dynamics 365 UIに表示される表示ラベルではなく、基になる整数オプション値として同期されます。 対応するテキストが必要な場合は、Dataverse Environmentのオプションセット定義で特定の値のラベルを調べてください。
Lookupフィールド
Dataverseは、関連レコードをオブジェクトのデータ内にネストしません。 CustomerフィールドやOwnerフィールドを含むLookupフィールドは、展開されたオブジェクトではなく、関連レコードのGUIDとして同期されます。 関連レコードの詳細を調べるには、親オブジェクトを独自のテーブルとして同期します。
Moneyフィールド
Moneyフィールドは単一の10進数値として同期されます。 関連する取引通貨は、各Moneyフィールドとペアになるのではなく、同じレコードのLookupフィールドとして別途同期されます。
タイムスタンプ
Dataverseは、Dynamics 365 UIに表示されるタイムゾーンに関係なく、Web APIを通じて日付と時刻のフィールドをUTCで返します。 Workatoはこれらの値を返されたとおりに保持します。
合成列
Workatoは、増分同期を使用するオブジェクトの宛先テーブルに次の合成列を追加します。
| 列 | タイプ | 目的 |
|---|---|---|
_workato_is_deleted | ブール値 | DataverseのChange Trackingフィードが削除済みとして報告したレコードではtrueに設定されます。 詳細については、削除追跡を参照してください。 |
機密データの処理
Microsoft Dynamics 365オブジェクトには大量の個人を特定できる情報(PII)が含まれる可能性があり、Customer ServiceおよびField Serviceオブジェクトには健康や安全に関連する情報が含まれる可能性があります。 次のオブジェクトには、一般的に機密フィールドが含まれます:
| オブジェクト | 機密フィールド |
|---|---|
| コンタクト | fullname, emailaddress1, emailaddress2, emailaddress3, telephone1, telephone2, mobilephone, address1_*, address2_*, birthdate |
| アカウント | address1_*、telephone1、およびその他の請求連絡先の詳細 |
| リード | fullname, emailaddress1, telephone1, companyname |
| ケース | description: 顧客が開示したPIIが含まれることがよくあります |
| Email、Phone Call、Appointment | 本文および説明フィールドには、やり取りで共有された任意のPIIが含まれる可能性があります |
| 作業指示 | msdyn_instructions、サービス住所、およびリンクされたContactまたはAccountのPII |
| カスタマーアセット | 設置済み機器の住所およびサイトアクセスの詳細 |
| Consent、Subscription List | 識別可能なContactまたはLeadに結び付けられた同意またはサブスクリプションの状態 |
| ユーザー | 社内従業員の名前、メール、および電話番号 |
パイプライン設定中にフィールドレベルのデータ保護でHashオプションを使用し、PIIが宛先に到達する前に保護します。 詳細については、パイプラインを構成手順を参照してください。
制限事項
Microsoft Dynamics 365をデータパイプラインソースとして使用する場合、次の制限事項が適用されます。
クラウドホスト型Dataverseのみ
Microsoft Dynamics 365データパイプラインは、クラウドホスト型のDataverse Environmentにのみ接続します。 認証にAD FSを使用するオンプレミスのDynamics 365デプロイメントは、Microsoft Dynamics 365ワークフローコネクターでサポートされていますが、データパイプラインソースとしてはサポートされていません。
マーケティングエンゲージメントデータは同期されない
SegmentとCustomer Journeyの定義は通常のテーブルとして同期されますが、セグメントに含まれるユーザー、メールの開封、クリック、ページビュー、フォーム入力、ジャーニーステップイベントなど、ほとんどのエンゲージメントデータはDataverse Web APIを通じて使用できません。 これは、Environmentでレガシーアウトバウンドマーケティングを使用している場合にも、リアルタイムマーケティング(Customer Insights – Journeys)を使用している場合にも適用されます。 パイプラインは引き続き、セグメントとジャーニーの定義、同意レコード、メールおよびフォームテンプレート、ならびにMarketingによる共有ContactテーブルとLeadテーブルへの書き込みを同期できます。
計算、Formula、およびロールアップフィールドは同期間で古くなる可能性がある
増分同期用に設定されたオブジェクトでは、これらのフィールドの値は、オブジェクトの次回完全同期まで実際の値より遅れる可能性があります。 これらのフィールドの基になるデータへの更新は、Change Trackingイベントを確実にトリガーするわけではありません。 これらのフィールドが重要なオブジェクトには、定期的な完全同期を設定します。
最小同期頻度
サポートされる最小同期間隔は15分です。 これより高い頻度で同期をトリガーすることはできません。
最終更新日:
Dynamics CRMの選択
アクセス許可の選択
管理者の同意画面
クライアントシークレット値をコピーして保存
アプリの詳細
Environmentの選択