---
title: Microsoft Dynamics 365 Sales API Integration on Truto
slug: dynamics365
category: CRM
canonical: "https://truto.one/integrations/detail/dynamics365/"
---

# Microsoft Dynamics 365 Sales API Integration on Truto



**Category:** CRM  
**Status:** Generally available

## Unified APIs

### Unified CRM API

- **Accounts** — The accounts represent a company in a CRM.
- **Contacts** — The contacts represent an existing point of contact at a company in a CRM.
- **Engagements** — The engagements represent an interaction noted in a CRM.
- **Fields** — The fields of entities in a CRM.
- **Leads** — The leads represent a potential customer in a CRM.
- **Notes** — The notes represent a note on another object in a CRM.
- **Opportunities** — The opportunities represent an opportunity in a CRM.
- **Users** — The users represent a user in a CRM.

### Unified User Directory API

- **Organizations** — Organizations are the top level entity in the source application. Users are associated with an organization.
- **Users** — The User object represents a User.

## How it works

1. **Link your customer's Microsoft Dynamics 365 Sales account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Microsoft Dynamics 365 Sales.** The Proxy API is a 1-to-1 mapping of the Microsoft Dynamics 365 Sales API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync leads from your platform into Dynamics 365 Sales** — Marketing automation and lead generation SaaS companies can push qualified leads directly into their customers' D365 Sales instances, ensuring sales reps act on them immediately without manual data entry or CSV imports.
- **Log sales activities back to the D365 timeline** — Sales engagement tools, dialers, and conversation intelligence platforms can write call logs, email records, and AI-generated meeting summaries as Engagements and Notes on the correct D365 Opportunity or Contact, keeping the CRM as the single source of truth.
- **Pull pipeline data to power forecasting and analytics** — Revenue intelligence and forecasting SaaS products can read Opportunities, Accounts, and associated custom fields from D365 Sales to build pipeline dashboards and predictive models without asking end users to export data manually.
- **Enrich deal workflows with CRM context** — CPQ, proposal, and contract management tools can fetch Account, Contact, and Opportunity data—including custom fields—to auto-populate documents and update deal stages in D365 once contracts are signed.
- **Map CRM users for ownership assignment and routing** — Any SaaS product that creates or updates records in D365 needs to assign the right owner. Pulling Users from D365 lets your platform present a rep picker or auto-route records based on territory or role.

## What you can build

- **Bi-directional lead sync with custom field mapping** — Create and update Leads in D365 Sales with support for custom Dataverse fields, and pull lead status changes back into your product to trigger downstream workflows.
- **Automated activity logging to the D365 timeline** — Write Engagements (calls, emails, tasks) and Notes—including AI summaries or session links—directly onto Contacts, Leads, or Opportunities so sales reps never lose context.
- **Real-time opportunity stage monitoring** — Poll Opportunities via the Unified CRM API to detect stage changes and trigger actions in your product, such as sending a gift when a deal reaches Negotiation or alerting a CSM on Closed Won.
- **CRM-aware user directory for rep routing** — Fetch the full D365 Sales user directory via the Unified User Directory API to power rep assignment dropdowns, round-robin routing, and ownership sync across your platform.
- **Account hierarchy and contact enrichment** — Read Accounts with parent-child relationships and associated Contacts to auto-populate proposals, onboarding forms, or customer health dashboards with accurate CRM data.
- **Custom field discovery and mapping UI** — Use the Fields resource in the Unified CRM API to dynamically discover custom Dataverse fields and let your end users map them to your product's data model during setup.

## FAQs

### How does authentication work for Microsoft Dynamics 365 Sales?

D365 Sales authenticates via Microsoft Entra ID (formerly Azure Active Directory) using OAuth 2.0. Truto handles the full OAuth flow, token refresh, and consent management so your team and your end users don't need to manage Azure app registrations or deal with token expiry.

### Which Unified APIs cover Microsoft Dynamics 365 Sales?

Truto maps D365 Sales to the Unified CRM API (Accounts, Contacts, Engagements, Fields, Leads, Notes, Opportunities, Users) and the Unified User Directory API (Organizations, Users). This lets you read and write core CRM objects through a single, normalized schema.

### Does Truto support custom fields in D365 Sales?

Yes. The Unified CRM API exposes a Fields resource that lets you discover custom Dataverse fields at runtime. You can read and write custom field values on standard objects like Leads, Contacts, Accounts, and Opportunities, enabling your end users to configure field mappings specific to their D365 instance.

### How does Truto handle D365's complex activity and engagement model?

D365 Sales stores activities (calls, emails, tasks) as separate entities that roll up to an activitypointer, and attachments as annotations. Truto's Unified CRM API abstracts this into Engagements and Notes, so you can log activities and summaries to the correct record's timeline without managing D365's internal entity relationships.

### Are there rate limits I need to worry about?

Microsoft Dataverse enforces per-user and per-org API request limits that vary by license tier. Truto manages pagination and request throttling on your behalf, including automatic retry with backoff when limits are hit, so your integration stays reliable without custom rate-limit handling.

### What if I need a D365 Sales endpoint that isn't covered by the Unified API?

Truto builds integration tools on request. If you need access to D365-specific entities or operations beyond what the Unified CRM and User Directory APIs cover, the Truto team can add support for those endpoints as custom tools for your use case.
