Microsoft Dynamics CRM
Service ID: microsoft-dynamics
Dynamics CRM is a leading customer resource management and enterprise resource planning software.
At a Glance
- Difficulty
- ⚡MODERATESelf-Service OAuth + Publisher Verification Required for Cross-Tenant Consent
- Authentication
- OAuth 2.0Authorization Code flow through Microsoft Entra ID; the consumer enters their Dynamics 365 organisation URL when connecting.
- Webhooks
- No webhooks — Dynamics 365 changes are not surfaced as Apideck events; sync by polling the CRM and Lead APIs
- Partnership Required
- No(No partnership contract; publisher verification requires a Microsoft AI Cloud Partner Program account.)
- Partnership Application
- Microsoft Entra publisher verification↗
- Apideck Credentials
- AvailableFor testing: the Microsoft consent screen shows "Apideck". Use your own Microsoft Entra app in production.
- Costs
- None. App registration, publisher verification and Dataverse Web API calls are free.
- Sandbox Availability
- Available — Access Sandbox↗(30-day Dynamics 365 Sales trial; sign-up needs a work account and card details.)
- Account Type Required
- Dynamics 365 Sales or Customer Engagement environment (online) with a full user licence
- Consumer Access Level
- Any licensed user with access to the records; the tenant's consent policy may require an admin to approve the app
- Rate Limits
- 6,000 requests per 5 minutes per user (plus 20 minutes execution time and 52 concurrent requests); HTTP 429 with Retry-After.
What are Apideck credentials?
For select connectors, Apideck has established partnerships allowing you to integrate immediately without your own partnership. When using Apideck credentials, “Apideck” appears as the requesting application during OAuth. Learn more about partnership categories →
Responsibility matrix
| Task | You (Customer) | Your Consumer | Apideck |
|---|---|---|---|
| Register a multitenant app in Microsoft Entra ID | ✓ (or use Apideck credentials) | — | Docs provided |
| Complete publisher verification | ✓ | — | — |
| Add Client ID and Client Secret in the Apideck Dashboard | ✓ | — | — |
| Grant admin consent for the organisation | — | ✓ (tenant admin, if the consent policy requires it) | — |
| Enter the organisation URL and authorize in Vault | — | ✓ | — |
| Token refresh and credential storage | — | — | ✓ |
| Maintain the connector and the unified CRM and Lead APIs | — | — | ✓ |
Environments
- Testing and production
- Dynamics 365 has no separate API host for testing: the same Entra app and endpoints serve every environment, and the organisation URL entered at connection time (a production environment or a consumer's own sandbox environment) is what separates them. For your own testing, start a 30-day Dynamics 365 Sales trial, or use a sandbox environment in a tenant you already have. Apideck's temporary shared test credentials are an alternative for early evaluation (request access via https://help.apideck.com/en/articles/7774658). Take care when testing against a production environment.
🚨Important to Know About Microsoft Dynamics CRM
- Publisher verification is the hidden gate: since November 2020 Microsoft blocks users in other tenants from consenting to a new multitenant app that is not publisher verified. Plan for it before onboarding, including a publisher domain you own.
- A connection covers exactly one Dynamics 365 environment (for example https://yourorg.crm.dynamics.com), so a consumer running several environments needs a separate connection, and a separate authorization, for each one.
- There is no free long-lived test environment: Power Apps developer environments cannot install Dynamics 365 apps and the Microsoft 365 developer sandbox is gated to Visual Studio subscribers, partners and support customers. Plan testing around the 30-day trial.
- Refresh tokens expire after 90 days without use, so a consumer whose integration sits idle for three months has to re-authorize the connection.
⚠️
15 gotchas across 7 resources
Connector-specific behaviors and limitations to be aware of
📦
7 supported resources
View field mappings, supported operations, and schema details