MYOB and Marketo integration
MYOB manages SME accounting: customers, suppliers, invoices, and the general ledger. Marketo drives B2B marketing: lead tracking, campaign management, and opportunity pipelines. Connecting the two keeps your Marketo leads synchronized with MYOB customer records, so marketing campaigns target accurate company and contact information, and invoice and payment events feed lead scoring and nurturing workflows.
What moves between them
The main flow is MYOB into Marketo. Customer and contact records from MYOB are synced into Marketo as leads and companies, preserving the customer name, email, phone, and billing address. MYOB invoices and customer payments are sent as custom object records in Marketo for pipeline analytics and revenue attribution. Sales person mappings between MYOB employees and Marketo sales persons align ownership and territory. Reference data such as item categories and job codes map to Marketo custom object schemas so campaign personalization can reference product lines and cost centers. Marketo opportunities that reference MYOB customers are read-only via the Marketo REST API, so ml-connector does not write opportunities back to MYOB.
How ml-connector handles it
ml-connector stores MYOB OAuth token, company file credentials (username and password), API key, and Marketo client credentials encrypted. On each sync, it refreshes both the MYOB token (20-minute expiry) and Marketo token (1-hour expiry) and polls MYOB for contacts and invoices modified since the last sync using $filter on LastModified. It maps MYOB contact types (customer, supplier, employee) to Marketo lead sources and creates leads or updates existing ones by email or company ID. MYOB's company file authentication is two-factor: the connector passes company file credentials in headers alongside OAuth, and ml-connector retries on 401 with token refresh before failing. MYOB rate limits are handled with exponential backoff on HTTP 429. Marketo batch limits are 300 records per call, so large syncs are paginated. Idempotency is managed by BullMQ jobId: re-runs of the same sync job do not duplicate records. Every record carries an audit trail of its source data, timestamp, and outcome.
A real-world example
A mid-market B2B SaaS company runs MYOB in Australia for accounting and customer billing, and Marketo for sales pipeline and marketing automation. Before the integration, the marketing team manually updated Marketo leads when new customers signed up in MYOB, and sales reps had to cross-reference customer records in both systems to see purchase history. With MYOB and Marketo connected, every new customer in MYOB appears in Marketo as a lead within minutes, assigned to the right sales person based on the MYOB employee owner. Invoice and payment records sync as custom objects, so sales reps see payment status and revenue in the Marketo opportunity record without leaving the system, and marketing campaigns can trigger nurture flows when customers have overdue invoices or high lifetime value.
What you can do
- Sync MYOB customers and suppliers into Marketo as leads and companies, preserving email, phone, and billing address.
- Map MYOB contacts and employees to Marketo lead sources and sales person assignments so pipeline ownership is correct.
- Send MYOB invoices and customer payments to Marketo as custom object records for revenue attribution and deal tracking.
- Handle MYOB's two-factor company file authentication (OAuth token plus credentials) alongside Marketo OAuth2 client credentials.
- Poll MYOB and Marketo on a schedule, with retries and a full audit trail on every record.
Questions
- Which direction does data move between MYOB and Marketo?
- The main flow is MYOB into Marketo. Customers, contacts, invoices, and payments from MYOB are synced as leads, companies, and custom objects in Marketo. Marketo opportunities and sales person updates can flow back into MYOB if needed, but Marketo's opportunities are read-only if Salesforce or Dynamics is enabled in Marketo.
- How does ml-connector handle MYOB's company file authentication requirement?
- MYOB requires both an OAuth2 Bearer token and company file credentials (username and password) on every API call. ml-connector stores both encrypted, refreshes the OAuth token every 20 minutes (before expiry), and includes the company file credentials in headers on every request. If a call returns 401, it refreshes the token and retries before failing.
- What happens if Marketo or MYOB rate limits are hit during a sync?
- MYOB rate limits are 8 requests per second and 1,000,000 per day per API key; Marketo batch size is 300 records per request. ml-connector detects HTTP 429 responses, backs off exponentially, and retries. Marketo's 300-record batch limit means large syncs are paginated automatically. If a day limit is approached, ml-connector logs the remaining quota and can pause until the next day.
Related integrations
More MYOB integrations
Other systems that connect to Marketo
Connect MYOB and Marketo
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started