---
title: "Connect Microsoft Dynamics 365 to Rig — Rig guide"
description: "Connect Dynamics 365 to Rig with an Entra app registration and a Dataverse application user, and sync every business table incrementally."
canonical: "https://rig.so/guides/connect-dynamics-365"
format: markdown
---

Search guides, references, playbooks…⌘K

Browse guides

# Connect Microsoft Dynamics 365 to Rig

Sync the business tables of your Dynamics 365 or Dataverse environment into Rig. That covers accounts, contacts, opportunities, cases, activities and your own custom tables. Rig connects server to server, using an Entra app that is registered in the environment as an application user.

## Before you start

- You need permission to register an app in Microsoft Entra ID and to grant it admin consent.
- You need to be an admin of the Dynamics 365 or Dataverse environment, to add an application user.
- This covers Sales, Customer Service, Marketing and Power Apps environments, which share the Dataverse Web API. Business Central and Finance and Operations use different APIs.

## Step 1: Register an app in Microsoft Entra ID

1. Sign in to the Azure portal and open **Microsoft Entra ID**.
2. Go to **App registrations** and click **New registration**.
3. Name the app, for example `Rig`, choose **Accounts in this organizational directory only** and click **Register**. No redirect URI is needed.
4. On the **Overview** page, copy the **Application (client) ID** and the **Directory (tenant) ID**.
5. Open **Certificates & secrets**, click **New client secret**, add a description and click **Add**. Copy the secret value now, because Entra does not show it again.

## Step 2: Add the app as an application user

1. Open the Power Platform admin center and choose your environment.
2. Go to **Settings**, then **Users + permissions**, then **Application users**.
3. Click **New app user** and pick the app you registered.
4. Give it a security role that can read every table you want synced. Rig can only see what the role allows.
5. Copy your environment's URL, such as `https://acme.crm.dynamics.com`.

Microsoft's walkthrough
Microsoft documents both halves in its [single-tenant server-to-server authentication](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/use-single-tenant-server-server-authentication) guide, which links to the steps for creating an application user.

## Step 3: Connect it in Rig

New to Rig? Watch how to find Connections

Adding a source needs a workspace owner, or a role with the Manage connections permission, on a workspace where you manage your own connections. If the Connectors tab says “Data ingestion for this workspace is managed by Rig”, ask an owner or Rig support to add the source.

1. In Rig, open `Connections`, choose the `Connectors` tab and go to `Sources & actions`.
2. Search for **Microsoft Dynamics 365**, open the card and click `Connect`.
3. **Dynamics CRM URL**: paste the environment URL without a trailing slash or an `/api` suffix. The region part varies, for example `crm4` for EU, `crm11` for UK and `crm6` for AU.
4. **Entra tenant ID**: paste the Directory (tenant) ID.
5. **App registration client ID**: paste the Application (client) ID.
6. **App registration client secret**: paste the client secret value.
7. Click `Continue`. Rig checks the credentials and lists the streams it can reach, so choose the ones you want and click `Connect`.
8. The source then syncs on its schedule, which is nightly unless you change it. To load data straight away, click `Sync` on its row; `Test` pulls a small sample first if you want to check the connection.

## What Rig pulls in

Microsoft Dynamics 365 lands in its own `dynamics_365` schema in your warehouse:

- **Standard business tables**: accounts, contacts, opportunities, cases, activities and the other tables people query in Dynamics.
- **Custom and ISV tables**: your own tables and those from installed solutions, such as the Nonprofit `msnfp_` model, with every readable column.
- **Choice labels**: each choice and lookup column arrives with its display label beside the raw value.

The tables come from your own environment. Rig reads its table metadata at sync time, so the list of streams you can choose is discovered when you connect, and new custom tables appear on later syncs.

## Good to know

- Rig syncs tables that Dataverse marks as queryable and customisable. Platform-internal tables, log tables, virtual tables and elastic tables are left out.
- Tables with a `modifiedon` column sync incrementally on it, so each sync reads only what changed since the last one.
- Entra client secrets expire. When yours does, create a new one and update the source in Rig.
- To disconnect Microsoft Dynamics 365, click the bin icon on the source's row under `Sources & actions`. Only whoever connected the source or a workspace owner can do this, and data already synced stays in the warehouse.

## What people use this for

- Analyse opportunity pipeline and conversion
- Ground the sales forecast in real data
- Join sales and service for account views

[More ideas for using Dynamics 365](https://rig.so/integrations/dynamics-365)

## Microsoft Dynamics 365 documentation

- [Dataverse single-tenant server-to-server authentication](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/use-single-tenant-server-server-authentication)

Was this guide helpful?

Yes No

---

- [This page as HTML](https://rig.so/guides/connect-dynamics-365)
- [Site map for language models](https://rig.so/llms.txt)
- [API and agent documentation](https://rig.so/developers)
