ml-connector
Sage X3Marketo

Sage X3 and Marketo integration

Sage X3 runs your order fulfillment and supply chain. Marketo runs your B2B lead pipeline. Connecting the two keeps your marketing data aligned with your customer master. When a new customer record is created in Sage X3, that company and its contacts flow into Marketo as leads and accounts so your marketing team can immediately begin campaigns targeting the right audience. Product data synced from X3 enriches lead scoring and campaign segmentation. ml-connector handles the two different API shapes and keeps both systems in sync on a schedule tied to your sales cycle.

How Sage X3 works

Sage X3 exposes customers, suppliers, products, purchase orders, sales invoices, and general ledger accounts through REST API (api1) with HTTP Basic authentication or GraphQL (Xtrem) with OAuth2 bearer tokens. The REST path and port are customer-specific; there is no central tenant registry. X3 does not support outbound webhooks or push notifications, so changes are detected using updatedDate and modifiedDateTime fields on records. Access tokens expire in 5 minutes and refresh tokens are valid for 30 days. The server URL and folder name must be provided per customer, and GraphQL is available on V12 or later.

How Marketo works

Marketo exposes leads, companies, opportunities, sales persons, programs, campaigns, and custom objects through REST APIs over HTTPS to a unique subdomain based on the customer's Munchkin Account ID. Authentication uses OAuth2 client credentials with a 3600-second token expiry. All integrations must use the REST API with Bearer tokens in the Authorization header, as the SOAP API is deprecated. Marketo does not support inbound webhooks or change event subscriptions; a connector must poll using GET endpoints with filter parameters or the Bulk Activity Extract API. Leads and Opportunities are read-only if Salesforce or Microsoft Dynamics sync is enabled. Batch limits are 300 records per request.

What moves between them

Customer and product data flows from Sage X3 into Marketo on a schedule you define. Each Sage X3 customer syncs as a Marketo company, and associated contacts sync as leads linked to that company. Products purchased or referenced in X3 sales invoices map to Marketo custom objects or campaign interests for lead scoring and segmentation. Opportunity records are created in Marketo when X3 sales orders meet scoring thresholds. The flow is one-way into Marketo; X3 remains the system of record for customer and product master data.

How ml-connector handles it

ml-connector stores Sage X3 credentials encrypted and uses either REST Basic auth or OAuth2 bearer tokens, refreshing the token every 4 minutes to stay ahead of the 5-minute expiry window. It polls Sage X3 customers and products using the modifiedDateTime field to find records changed since the last sync, respecting the customer-specific server URL and folder name. On the Marketo side, ml-connector presents the Munchkin ID, Client ID, and Client Secret to obtain a fresh bearer token for each sync cycle, and it respects the 300-record batch limit when pushing customers as companies and product data as custom objects. Leads created from customer contacts are enriched with purchase history from X3 sales invoices, and duplicate detection uses email and company name to avoid creating duplicate records. Every sync carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-market manufacturing distributor runs Sage X3 for order management and fulfillment, and uses Marketo for demand generation and lead nurturing. Before the integration, the sales development team manually imported customer lists from X3 into Marketo once a quarter and spent hours reconciling company names and contact email addresses. New customers created in X3 were not tracked in Marketo until the next manual import, so leads from marketing campaigns could not be matched to actual orders for weeks. With Sage X3 and Marketo connected, each new customer created in X3 immediately syncs as a Marketo company and linked leads, and product interest is automatically captured from each customer's purchase history. Sales development now sees real-time account information enriched with order data, and marketing campaigns can be segmented by actual product purchases instead of guessing intent.

What you can do

  • Sync Sage X3 customers and contacts into Marketo as companies and leads, keeping names, emails, and addresses aligned.
  • Map Sage X3 products and sales invoices to Marketo custom objects for lead scoring and campaign segmentation.
  • Authenticate Sage X3 with OAuth2 bearer tokens or HTTP Basic auth, handling 5-minute token refresh automatically.
  • Route to each Marketo instance using its unique Munchkin subdomain and manage 300-record batch limits.
  • Poll on a schedule you set with delta detection using modifiedDateTime, retries, and a full audit trail on every record.

Questions

Which direction does data move between Sage X3 and Marketo?
The flow is one-way from Sage X3 into Marketo. Customers, contacts, and products sync from X3 into Marketo as companies, leads, and custom objects. Marketo remains separate and does not push campaign or lead changes back into X3, since X3 is the system of record for customer master data.
How does ml-connector handle Sage X3 OAuth2 tokens expiring every 5 minutes?
ml-connector refreshes the access token every 4 minutes, before it can expire, using the 30-day refresh token. It stores both tokens encrypted and manages the refresh cycle transparently so you never see a token timeout. The refresh token itself is rotated periodically per Sage X3 policy.
What happens if Marketo sync is enabled on Salesforce or Microsoft Dynamics?
If a customer has enabled Marketo sync from SFDC or Dynamics, opportunities, sales persons, and companies become read-only in Marketo. ml-connector will not attempt to write those records back; it will only sync leads and custom objects. Work with your Marketo admin to disable bidirectional SFDC/Dynamics sync if you want ml-connector to manage companies and opportunities.

Related integrations

Connect Sage X3 and Marketo

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

Get started