Admin Guide / Integrations
Microsoft Dynamics 365
Connect Dynamics 365 to sync CRM data, configure field mappings and account assignments, and import and write back Leads through People lists.
What you can do
Bring Dynamics 365 Accounts, Contacts, Leads, and Opportunities into Rox for prospecting and outreach.
Map standard and custom fields on supported D365 tables.
Map the stages of a Dynamics 365 business process flow to Rox deal stages.
Assign Accounts to Rox users using Dynamics 365 owner fields.
The integration is read only. Writeback is only through people lists.
How data moves between Dynamics 365 and Rox
Action | What it does | Where it is configured |
|---|---|---|
Read Dynamics 365 data | Brings selected tables and mapped fields into Rox on a schedule. This applies to: Accounts, Contacts, Leads, Opportunities, System users | Organization integration settings |
Import Lead lists | Imports Dynamics 365 Lead lists into Rox People lists for prospecting and outreach. | People lists |
Write Leads back | Creates or updates Dynamics 365 Leads from selected rows in a Rox People list. | People lists |
The organization integration reads Dynamics 365 data into Rox. Lead list import and writeback are separate People list workflows. List writeback does not enable automatic activity logging or writeback for Accounts, Contacts, or Opportunities.
Scheduled sync
Rox pulls Dynamics 365 data into a managed warehouse for use in the application. An Organization Admin configures the tables and fields included in the integration. This is done in Settings → Integrations → Dynamics 365. Rox syncs changes incrementally, which requires change tracking on each synced table.
Enable D365 change tracking:
Supported Dynamics 365 tables
Account and System user are required for the integration. Additional supported tables are selected during onboarding.
Table | Read Scope | Write Scope |
|---|---|---|
Account | Any mapped field | Not supported |
Contact | Any mapped field | Not supported |
Lead | Any mapped field | Through people list |
Opportunity | Any mapped field | Not supported |
System user | Only certain properties | Not supported |
When Opportunity is selected, Rox also syncs the D365 tables it needs to read stages and relationships: processstage, connection, and opportunityclose.
Addresses
Rox maps two addresses for Accounts, Contacts, and Leads.
Dynamics 365 address | Rox field |
|---|---|
Address 1 ( | Billing address |
Address 2 ( | Address |
Address 3 and other address parts, such as composite, fax, latitude, and longitude, are not mapped.
Email and call preferences
Rox maps the Dynamics 365 contact preferences for Contacts and Leads.
Dynamics 365 field | Rox field |
|---|---|
Do not allow Emails ( | Opt out email |
Do not allow Phone Calls ( | Do not call |
Do not allow Bulk Emails (donotbulkemail) is not mapped by default. In Dynamics 365, it applies only to mass email, such as marketing lists and quick campaigns. Check whether your organization needs it mapped based on your use case, for example if your team treats Rox sequences as bulk email, and review the requirements with Rox team.
Custom fields and custom tables
Custom fields on supported tables can be mapped between Dynamics 365 and Rox. Use Refresh fields to load fields added in Dynamics 365 after onboarding.
Custom tables are not yet supported out of the box. If your workflow depends on them, review the requirements with Rox team to determine whether a custom implementation is possible.
Business process flows
Dynamics 365 tracks the stage of an Opportunity through a business process flow (BPF). Rox reads the active business process flows on Opportunity and Lead and uses their stages as Rox deal stages.
During onboarding, select one business process flow.
Rox reads the stages of that flow in the order defined in Dynamics 365.
Map each Dynamics 365 stage to a Rox deal stage.
Rox shows Opportunities from only one business process flow. Opportunities in any other business process flow, do not appear in Rox deal stages or boards. If your organization uses several business process flows for Opportunities, choose the one your sales team works in, or review the requirements with Rox team.
If the Dynamics 365 environment has no active business process flow on Opportunity, Rox cannot sync Opportunities.
How access works
Two settings determine how Dynamics 365 data becomes available in Rox: the permissions of the Dynamics 365 account that connects the integration and your organization's Rox account assignments.
Service account (recommended)
The integration signs in with a Microsoft account through Microsoft Entra ID, and Rox and Fivetran read data with that account's Dynamics 365 permissions. We recommend connecting with a dedicated service account, such as svc-rox@contoso.com, instead of a person's account. The connection then keeps working when people change roles or leave, and access is easy to audit. See Set up the service account.
Account assignment in Rox
An admin configures account assignment using Dynamics 365 Account-to-User fields, such as Owner or custom owner lookups. A user can have multiple owner fields, combined with OR logic, and one additional account filter. A default rule applies to users without their own owner fields or filter. If neither the user-specific configuration nor the applicable default rule grants access, the user sees no Accounts.
Account assignment governs visibility of Accounts and their associated Contacts in Rox. Review the assignments with representative users before rollout, including users who do not have an explicit assignment configuration.
Before you begin
You need:
A Rox Organization Admin to complete setup in Rox.
A Dynamics 365 service account with the System Administrator security role. See Set up the service account.
A Dynamics 365 environment that includes Dynamics 365 Sales, so the Account, Contact, Lead, and Opportunity tables exist.
Change tracking enabled on each table you want to sync. See Enable change tracking.
The Dataverse Web API URL of the environment. Copy it from Power Apps → Settings → Developer resources, for example
https://<org>.crm.dynamics.com/api/data/v9.2/.
Set up the service account
Create the service account, or choose an existing one, that meets these requirements:
Requirement | Why |
|---|---|
Is a licensed user in the Dynamics 365 environment with the System Administrator security role | Rox and Fivetran act as this account and must read every table and field you plan to sync |
Can sign in interactively, with MFA set up if your tenant requires it | Someone signs in as the service account in Step 1 |
Is assigned to the Rox and Fivetran enterprise apps if Assignment required is enabled | Otherwise sign-in is blocked |
Is not blocked by Conditional Access, and its password is not reset or its sign-in blocked later | Any of these revokes access, and syncing stops until you re-authenticate |
Step 1 Connect Dynamics 365 and Fivetran
Sign in to Rox as an Organization Admin.
Go to Settings → Integrations.

Find Dynamics 365 and select Connect, or Action Required if shown.
Confirm the prerequisites: a service account with System Administrator access, Dynamics 365 Sales, and change tracking.

Enter the Dataverse Web API URL, select Continue, then sign in as the service account.

After returning to Rox, select Connect Fivetran.

In Fivetran, authorize as the same service account, then select Save and Test.


Continue to Select objects.
Fivetran ingests Dynamics 365 data into the warehouse used by Rox.
Step 2 Select objects
Select the Dynamics 365 tables your team needs, such as Contact, Lead, and Opportunity. Account and System user are required.
You can enable additional tables after onboarding in Settings.

Step 3 Map deal stages
This step appears when Opportunity is selected.
Select the Business process flow your sales team uses for Opportunities.
Map each Dynamics 365 stage to a Rox deal stage.
Continue to Account assignment.
Rox shows Opportunities from only the selected business process flow. See Business process flows above.


Step 4 Configure field mappings
Select a table tab.

Review the default Dynamics 365 to Rox mappings.
Select the appropriate Dynamics 365 field for each Rox field.
Keep required mappings in place and adjust optional mappings as needed.
Address 1 and Address 2 mappings are listed for Account, Contact and Lead tables. Change the Dynamics 365 field if your organization stores addresses differently.
Continue to the next step.
After onboarding, use CRM Mappings to create or refine custom mappings.
Step 5 Configure account assignment
Account assignment determines which Dynamics 365 Accounts each Rox user can access.

Review the assignment rule for each user.

On Owner fields, select the Dynamics 365 Account-to-User fields used to assign Accounts. Most organizations use Owner. Select a supported custom owner field if needed.
On Account filters, optionally configure an additional filter. A user can have multiple owner fields and one additional filter.
On Default rule, configure the rule for users without owner fields or filters.
Use Preview to check the resulting Account set, then save.

Users without a matching assignment rule do not see Accounts.
After onboarding, update rules in Settings → Integrations → Dynamics 365 → Account Assignment.
Step 6 Test sync
Run Test sync.

Review errors or warnings and return to the relevant onboarding step to correct them.
When the test succeeds, select Submit to finalize the connection.
After you submit, Fivetran starts the first sync. Records appear in Rox once it completes.

Manage CRM Mappings
After the first sync, go to Settings → Integrations → Dynamics 365.
CRM Mappings includes Accounts, Contacts, Opportunities, and Leads. Configure the Read mappings for each table.
Add a custom mapping
Select + Add Mapping to create a custom Rox field for the entity type.
Set its name, compatible data type, access controls, and visibility.
Make the field Organization-Wide.
Under Inactive Fields, select the Dynamics 365 custom field and the new Rox field.
The new field appears under Custom Rox Fields. Confirm that the selected Rox data type supports the Dynamics 365 field before saving the mapping.
Refresh fields
If a field was added in Dynamics 365 after onboarding, select Refresh fields to load it, then map it.
Re-authenticate Dynamics 365 and Fivetran
Re-authenticate if the integration requires action, its token has expired or been revoked, or you switched to a different service account.
Go to Settings → Integrations and find Dynamics 365.
Select the settings icon, regardless of whether the integration shows Error, Action Required, or Ready.
Select Re-authenticate and sign in as the service account.
Return to Rox and refresh if needed.
If Fivetran shows Action Required, re-authorize the Fivetran connection, then select Save and Test.
Return to Rox and refresh. Confirm the connection shows Connected.
If Microsoft shows Need admin approval, complete Grant consent for the service account, then retry.
Limitations and setup considerations
Writeback: The organization integration reads data only. Lead writeback is available through People lists. Automatic record writeback and activity logging are not supported.
Business process flows: Rox shows Opportunities from only one business process flow.
Addresses: Rox maps Address 1 and Address 2 only.
Bulk email: Do not allow Bulk Emails is not mapped by default. Check whether your organization needs it mapped based on your use case.
Change tracking: Tables without change tracking cannot be synced incrementally.
Custom tables: Review custom tables with Rox team.
Security roles: Dynamics 365 security roles and business units are not mirrored. Rox access follows account assignment.
How the integration works
Component | Service | Location |
|---|---|---|
Warehouse | Snowflake | United States |
Ingestion | Fivetran | United States |
Rox application frontend | Vercel | United States |
Rox application backend | AWS | United States |