This guide walks you through connecting your Microsoft Dynamics 365 environment to Deel. The setup involves registering an Azure application, configuring OData entities in Microsoft Dynamics 365, and completing the connection in Deel.
Deel's Onboarding Manager supports configuration, but some steps are completed directly by your team. Contact your Deel representative to begin.
In this article
- Before you begin
- Microsoft App Registration
- Connecting Microsoft Dynamics 365 to Deel
- Configure sync schedule
- Next Steps
Before you begin
General requirements
- All legal entities and countries within your organization's scope are active in Microsoft Dynamics 365
- Employees are assigned to the correct pay groups and compensation plans per legal entity
- Number sequences for worker IDs, personnel numbers, and journal batch numbers are configured
- Administrative access to the Microsoft Entra tenant (formerly Azure Active Directory) and permission to register applications.
- You've confirmed the data flow requirements with your Deel Onboarding Manager, including:
- Mandatory Global Payroll contract fields and country-specific fields
- Optional features: PTO and leave, bonuses, expenses, allowances, OTP, and payslip sync
- General ledger account mapping for post-payroll journal sync
Deel permissions
You must have one of the following roles in Deel to install this integration:
- Org Admin
- IT Developer Admin
- Integrations Admin — People
Microsoft Dynamics 365 permissions
The integration service account requires the following security roles in Microsoft Dynamics 365:
| Security role | Purpose |
|---|---|
| Human Resources Manager | Read/write access to worker records, employment, positions, and compensation |
| Payroll Administrator | Access to payroll journals, earning codes, benefit deductions, and payslip data |
| General Ledger Accountant | Post payroll-related general ledger journal entries from Deel |
| System Administrator (during setup only) | Register OData entities, configure the Data Management Framework, and set up batch jobs |
| Project Accountant (if applicable) | Post labour cost journals to the project module |
The System Administrator role should be removed from the integration service account and replaced with a custom Deel Integration security role scoped to only the required entities.
Microsoft App Registration
A Microsoft Entra ID App Registration is required to authenticate the Deel integration with your Microsoft Dynamics 365 environment via OAuth 2.0.
Step 1: Register an application in the Azure Portal
- Sign in to the Microsoft Entra admin center.
- Navigate to Microsoft Entra ID > App registrations > New registration.
- Set the following values and click Register:
| Field | Value |
|---|---|
| Name | Deel-Dynamics365-Integration |
| Supported account types | Accounts in this organizational directory only (Single tenant) |
| Redirect URI | Leave blank |
Step 2: Generate a client secret
- Navigate to the newly created app, then go to Certificates & secrets > New client secret.
- Add a description (for example, Deel Integration Secret) and set an expiry period of 24 months.
- Click Add and immediately copy the secret value — it won't be shown again.
- Record the following values to provide to Deel:
| Value | Location |
|---|---|
| Application (Client) ID | App registration > Overview |
| Directory (Tenant) ID | App registration > Overview |
| Client Secret Value | Certificates & secrets (copied at creation) |
| Microsoft Dynamics 365 Environment URL | For example, https://yourorg.operations.dynamics.com |
Step 3: Grant API permissions
- Navigate to API permissions > Add a permission.
- Select Dynamics ERP (or Microsoft Dynamics 365) and choose Application permissions.
- Select Connector.BasicReadWrite and CustomService.BasicReadWrite, then click Add permissions.
- Click Grant admin consent for [Your Organisation].
Step 4: Register the application in Microsoft Dynamics 365
- In Microsoft Dynamics 365, navigate to System administration > Setup > Microsoft Entra ID applications.
- Click New and enter the following:
| Field | Value |
|---|---|
| Client ID | The Application (Client) ID from Azure |
| Name | Deel Integration |
| User ID | Select or create a dedicated service account (for example, DeelIntegrationUser) |
Step 5: Enable OData entities
Make sure the following entities are published and accessible via OData. To publish entities, go to Data management workspace > Framework parameters > Entity settings > Refresh entity list.
| Entity | Purpose |
|---|---|
HcmWorkerV2 |
Worker master data (hire, rehire, terminate) |
HcmEmploymentDetailV2 |
Employment records and dates |
HcmPositionWorkerAssignmentV2 |
Position assignments |
HcmLeaveRequestEntity |
Time off and leave requests |
PayrollPayStatementEntity |
Payslips and pay statement data |
LedgerJournalEntity |
General ledger journal headers |
LedgerJournalLineEntity |
General ledger journal lines |
HcmCompensationFixedPlanEntity |
Fixed compensation plans |
HcmPersonIdentificationNumberEntity |
National IDs, tax IDs |
Connecting Microsoft Dynamics 365 to Deel
Step 6: Enter your Microsoft Dynamics 365 environment details
- Go to More > Apps and select Microsoft Dynamics 365 to begin.
- Enter the following values in the Deel integration screen. These fields are case-sensitive — copy and paste directly from the Azure Portal.
| Field | Example |
|---|---|
| Environment URL | https://yourorg.operations.dynamics.com |
| Tenant ID | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Client ID | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Client Secret | (the secret value copied in Step 2) |
Step 7: Validate the connection
Click Validate & Continue. Deel will attempt an OAuth token exchange and verify OData entity accessibility.
If validation fails, check the following:
- Admin consent was granted in Azure
- The App Registration is registered in Microsoft Dynamics 365's Microsoft Entra ID applications list
- The mapped service account has the correct security roles
Step 8: Review the customer agreement
Review and acknowledge the terms and conditions of the integration. Select the checkbox and click Complete Connection.
Configure sync schedule
The Microsoft Dynamics 365 integration syncs automatically on a configurable schedule. The default is daily at 3:00 AM GMT. You can adjust the frequency per plugin and per entity from the integration settings page.
Next Steps
Once the connection is established, configure your data sync by following the setup guide for your contract type.