ml-connector
Microsoft Dynamics 365 F&OPipedrive

Microsoft Dynamics 365 F&O and Pipedrive integration

Microsoft Dynamics 365 F&O runs finance, order management, and supply chain. Pipedrive runs the sales pipeline where deals are tracked to a win. Connecting the two means a deal that closes in Pipedrive becomes a sales order in D365 F&O without re-keying, the organization on the deal becomes or matches a D365 customer, and the product catalog stays in agreement so every quoted line resolves to a real item. ml-connector handles the very different APIs on each side and moves the data on a schedule you control. Pipedrive has no invoices, payments, or GL, so the financial system of record stays in Microsoft Dynamics 365 F&O.

How Microsoft Dynamics 365 F&O works

Microsoft Dynamics 365 F&O exposes customers, released products, sales orders, vendors, GL accounts, and journals through its OData v4 REST service at a tenant-specific URL such as https://contoso.operations.dynamics.com/data/. Authentication is OAuth2 client credentials against Microsoft Entra ID, with a Bearer token that expires after about an hour and is renewed by re-requesting. Entity keys must be fully specified, queries scope to one legal entity unless cross-company is set, and financial dimensions are passed as a formatted display string. For outbound push it uses the Business Events framework, which posts a lightweight JSON stub to an HTTPS endpoint and expects a follow-up OData read for the full record.

How Pipedrive works

Pipedrive exposes deals, organizations, persons, products, pipelines, and stages through its REST API, with v2 endpoints for the core entities at https://api.pipedrive.com/api/v2/ and the rest under v1. Authentication is either a user-scoped API token in an x-api-token header or an OAuth2 authorization code flow with a refreshable Bearer token; OAuth apps get a higher burst rate. Custom fields come back as opaque hashed keys that must be resolved from the field definition endpoints. Pipedrive pushes create, change, and delete webhooks, with HMAC-SHA256 signature verification on v1 and Basic Auth delivery credentials as the guard on v2.

What moves between them

The main flow runs from Pipedrive into Microsoft Dynamics 365 F&O. When a deal reaches won, ml-connector reads it and writes a sales order header and lines into D365 F&O, mapped to the matching customer, released products, and currency. The deal organization and person flow the same direction so the D365 customer master reflects the buyers Pipedrive closed. Product and customer master data flow back from D365 F&O into Pipedrive so sellers see real item numbers and accounts on the deals they build. Pipedrive has no invoices, payments, or GL, so receivables and the ledger stay in Microsoft Dynamics 365 F&O and ml-connector never writes financial entries back into Pipedrive.

How ml-connector handles it

ml-connector stores both credential sets encrypted. On the Pipedrive side it sends the API token header or requests and refreshes an OAuth2 Bearer token before it expires, and it resolves hashed custom field keys from the field definition endpoints so deal data maps to named values. On the D365 side it requests an Entra ID Bearer token with the client credentials grant and the environment .default scope, renews it on expiry, and targets the tenant-specific environment host captured as a credential since D365 has no shared base URL. Customers and released products are mapped first, so every sales order line references an item and a customer that already exist in the right legal entity, with financial dimensions written in the configured display-string format. Pipedrive deal webhooks for the won change can trigger the order build immediately while a scheduled poll backs up anything a webhook missed, and D365 Business Events can flag product or customer changes that prompt a push back to Pipedrive. Neither API offers an idempotency key, so ml-connector dedupes on the Pipedrive deal id and a BullMQ jobId before posting, which prevents a re-read deal from creating a duplicate order, and it handles the D365 natural-key duplicate error gracefully. Both sides return HTTP 429 under load, so ml-connector honors the D365 Retry-After header and Pipedrive rate-limit headers with backoff. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized industrial equipment distributor with around 200 staff runs Microsoft Dynamics 365 F&O for order management, inventory, and finance, and its sales team works deals in Pipedrive. Before the integration, a coordinator copied each won deal into D365 by hand, retyping the customer, the line items, and the agreed price, which delayed order entry and introduced mismatched part numbers and customer records that finance had to clean up. With Microsoft Dynamics 365 F&O and Pipedrive connected, every won deal becomes a sales order within the sync window, the organization becomes or matches a customer, and the product catalog stays aligned so each line maps to a real released product. Orders enter fulfillment sooner and the duplicate-customer cleanup at month-end goes away.

What you can do

  • Turn won Pipedrive deals into Microsoft Dynamics 365 F&O sales order headers and lines.
  • Create or match a D365 customer from the Pipedrive organization and person on each deal.
  • Push the D365 released product and customer masters back to Pipedrive so sellers quote real items and accounts.
  • Bridge Pipedrive OAuth2 or API token auth and the Entra ID client-credentials token D365 requires.
  • Trigger on deal webhooks with a scheduled poll backup, dedup by deal id and jobId, retries, and a full audit trail.

Questions

Which direction does data move between Microsoft Dynamics 365 F&O and Pipedrive?
The main flow is Pipedrive into Microsoft Dynamics 365 F&O. Won deals become sales orders, and the deal organization and person become or match a D365 customer. Product and customer master data flow back from D365 into Pipedrive so sellers quote real items, but Pipedrive has no invoices, payments, or GL, so the ledger stays in D365 and ml-connector never writes financial entries back into Pipedrive.
Does Pipedrive create invoices or payments in Dynamics 365 F&O?
No. Pipedrive is a sales CRM with deals, organizations, persons, and products, and no native invoice, payment, or GL objects. ml-connector maps a won deal to a sales order in D365 F&O, where the invoice and receivables are then created and posted inside Dynamics. The accounting system of record stays in Microsoft Dynamics 365 F&O.
How does the integration trigger when a deal is won, and how are duplicates avoided?
Pipedrive can push a change webhook when a deal moves to won, which triggers the order build, while a scheduled poll backs up anything a webhook missed. Neither API offers an idempotency key, so ml-connector dedupes on the Pipedrive deal id and a BullMQ jobId before posting and handles the D365 natural-key duplicate error gracefully, so a re-read deal never creates a second sales order.

Related integrations

Connect Microsoft Dynamics 365 F&O and Pipedrive

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started