Microsoft Dynamics NAV and Marketo integration
Your finance team manages customers and sales in Microsoft Dynamics NAV while your marketing team builds campaigns in Marketo. Connecting the two keeps your customer records and pipeline in one place. New customers created in NAV flow to Marketo as companies and leads, and sales opportunity data from NAV updates campaign targeting in Marketo. ml-connector handles the different APIs and credentials so your sales and marketing data stays in sync without manual export and re-entry.
What moves between them
Customer records flow from Microsoft Dynamics NAV into Marketo on a schedule you define. NAV customers become Marketo companies and corresponding leads, mapped by account number. Sales order headers from NAV populate opportunity records in Marketo so marketing teams can target campaigns to accounts with active orders. GL dimensions from NAV such as cost center or region map to Marketo custom fields so lead attributes reflect the underlying ERP structure. Reference data such as shipment methods and payment terms align in both directions. All data movement is read from NAV and written to Marketo, so finance records in NAV remain the system of record.
How ml-connector handles it
ml-connector stores the Microsoft Entra ID credentials (client ID and secret) and Marketo OAuth2 credentials (Munchkin ID, client ID, and client secret) encrypted and exchanges them for fresh Bearer tokens on a configurable interval. Because both systems support only polling (NAV webhooks expire in 3 days and require constant renewal), ml-connector polls NAV customers and sales orders and Marketo leads and companies on a schedule aligned with your sales cycle, typically once daily or more frequently for active opportunities. NAV credentials must include API permissions for the specific companies and data types you intend to sync. Customer matching between NAV and Marketo uses the account number as the unique key, creating new records in Marketo if the account does not exist and updating existing records by that key. Batch requests to Marketo honor the 300-record limit per request, so ml-connector splits larger customer exports into multiple calls. Every sync carries a full audit trail and can be replayed if a downstream call to Marketo fails, and ml-connector backs off on rate limit responses from either API.
A real-world example
A mid-market B2B manufacturing company runs Microsoft Dynamics NAV for order management and accounting and uses Marketo to nurture sales leads and run account-based marketing campaigns. Before the integration, the sales operations team exported new customers from NAV and manually created company records in Marketo each month, and marketing used stale data that did not reflect current order activity. With NAV and Marketo connected, each new customer in NAV automatically appears as a company and lead in Marketo within one sync cycle, so marketing campaigns target the right accounts. Sales order volumes from NAV flow to Marketo opportunities, letting marketing run campaigns that reach accounts with high order value or specific product categories, and the sales team can see which accounts are being targeted by marketing in their NAV customer view.
What you can do
- Sync customers from Microsoft Dynamics NAV into Marketo as companies and leads, keyed by account number and updated on a schedule you control.
- Map NAV sales order data to Marketo opportunities so marketing campaigns target accounts with active orders.
- Align NAV GL dimensions such as cost center and region to Marketo custom fields and lead attributes.
- Authenticate Microsoft Dynamics NAV via OAuth2 through Microsoft Entra ID and Marketo via OAuth2 client credentials, with automatic token refresh.
- Poll both systems on a daily or custom schedule with retries, error replay, and a complete audit trail on every customer and opportunity record.
Questions
- Does ml-connector support on-premises Microsoft Dynamics NAV as well as Business Central online?
- Yes. ml-connector accepts the on-premises NAV server instance URL and port and authenticates with either OAuth2 through Entra ID or legacy Basic auth with a web service access key. On-premises deployments require the OData service to be enabled in NAV Server Administration tool and the OData port (typically 7048) to be open through your firewall.
- What happens if Marketo has Microsoft Dynamics sync enabled at the same time?
- If Marketo sync to Salesforce or another Microsoft Dynamics instance is already active, Marketo marks Opportunities, Sales Persons, and Companies as read-only, preventing ml-connector from writing new opportunities or updating existing ones. In that case, ml-connector can still read and sync leads and custom objects, but opportunity data flows one-way from the other Dynamics sync, not from NAV.
- How does ml-connector handle NAV webhooks expiring every 3 days?
- NAV webhooks expire and must be renewed manually or the subscription is lost. Because renewal is error-prone, ml-connector defaults to polling on a schedule you define rather than relying on webhooks. This ensures data stays in sync whether or not webhook subscriptions are active, and eliminates surprise gaps in data delivery.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to Marketo
Connect Microsoft Dynamics NAV and Marketo
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started