Integration style
API-led with events for state changes.
Why. Stable contracts reused by Salesforce, portals and partners.
Trade-off. More layers than a point-to-point connector. Worth it from about three systems.

CRM and business systems · Salesforce
API-led connectivity between Salesforce and a finance or ERP system: system APIs wrap the ERP, process APIs hold the business rules, Salesforce calls one stable contract, and events keep both sides in step.
A reference architecture from EITSAA, not a named client system. Service limits, prices and product features change, so confirm current details before you commit to a design.
A salesperson closes an opportunity. Salesforce calls the MuleSoft Experience API using a Named Credential with OAuth 2.0 client credentials.
The Experience API validates and shapes the payload and applies API Manager policies: client ID enforcement, rate limiting and IP allow lists.
The Process API orchestrates order-to-cash rules: credit check, product mapping, tax, idempotency and compensation on failure.
A System API wraps the ERP, hiding its protocol and data model, and reaches it over private connectivity.
State changes that are not request-response (shipped, payment received) are published as events.
Anypoint MQ buffers events with retries and a dead-letter queue.
A service agent opens a case and Salesforce asks the Process API for live order and invoice status instead of copying finance data into the CRM.
| Component | What it does | Why this choice |
|---|---|---|
| Salesforce Sales and Service Cloud | Accounts, pipeline, quotes, cases and entitlements. | System of engagement. Finance data is referenced, not duplicated, wherever possible. |
| Named Credentials and External Services | Declarative authenticated callouts. | Keeps secrets out of Apex and flows. |
| Platform Events and Change Data Capture | Publish record changes to subscribers. | Event-driven sync avoids polling and saves API calls. |
| MuleSoft API Manager | Policies, analytics and contract management. | One place for security and versioning. |
| Experience, Process and System APIs | API-led layers. | An ERP upgrade touches one layer, not every consumer. |
| Anypoint MQ | Managed queues with DLQs. | Decouples the speed and availability of each side. |
| Private connectivity (VPN or Direct Connect via VPC) | Reach the on-premises ERP. | ERPs are rarely safe to expose publicly. |
| Connected or External Client Apps | OAuth client registration. | Scopes and IP restrictions per integration. |
Integration style
Why. Stable contracts reused by Salesforce, portals and partners.
Trade-off. More layers than a point-to-point connector. Worth it from about three systems.
Where finance data lives
Why. Avoids two sources of truth.
Trade-off. CRM screens depend on ERP availability, so cache and degrade gracefully.
Authentication
Why. An auditable service identity.
Trade-off. Secret rotation and monitoring become a process.
Failure handling
Why. Retries must not create duplicate orders.
Trade-off. Idempotency design takes upfront effort.
OAuth scopes, API policies, private network, field-level security in Salesforce and encrypted secrets.
Queues, retries, DLQs and circuit breaking around the ERP, often the weakest link.
Cache reference data, use bulk APIs for large loads and async for anything over a few seconds.
MuleSoft vCore licensing and Salesforce API allowances. Event-driven design reduces both.
API versioning policy, DLQ monitoring and sandbox-to-production promotion through CI/CD.
Avoid polling and duplicate data copies.
A CloudHub private space or VPC connects to the ERP network by IPsec VPN or Direct Connect. Inbound calls from Salesforce use IP allow lists, and mutual TLS where supported.
Dedicated integration users per flow with permission sets limited to required objects and fields. Staff sign in to Salesforce by SSO from Entra ID or Okta. MuleSoft access is by role in Anypoint.
Classify fields (customer, financial, personal). Use Shield Platform Encryption for sensitive fields if required. Do not replicate card or health data. Name the system of record for each entity.
| Control | How this design addresses it |
|---|---|
| Multi-factor authentication | Enforced for Salesforce, MuleSoft and ERP admins. Essential Eight. |
| Restrict administrative privileges | Least privilege on integration users and API policies. Essential Eight. |
| Privacy | Field-level security and retention rules support APP 11 and APP 12. |
| Logging | API analytics, Salesforce event monitoring and ERP logs give end-to-end traceability. |
Mappings show how the design supports each control. They are not certifications, and EITSAA does not claim IRAP assessment or compliance for any reference architecture.
| Failure mode | Mitigation |
|---|---|
| ERP outage | Queue writes and show a pending state. Reads fall back to cached data with a visible age. |
| Duplicate order after a timeout | Idempotency key and ERP business-key check. |
| Salesforce API limits exhausted | Events, bulk API for batches and limit monitoring. |
| Schema change in the ERP | System API contract tests in CI isolate consumers. |
MuleSoft vCores and licences, Salesforce edition and API allowances, ERP connector licences.
Microsoft
A Microsoft-centric business platform: Dynamics 365 apps on Dataverse, Power Apps and Power Automate for tailored processes, governed environments and DLP, integrated with Entra ID, Microsoft 365 and Azure.
HubSpot
A lean marketing and sales stack: consent-aware forms and tracking on the site, HubSpot as the system of engagement, and a warehouse for reporting that does not live inside the CRM.
Xero and MYOB
Quote, invoice and payment data moving safely between a CRM and Xero or MYOB: OAuth, idempotent writes, GST-correct line items, reconciliation and clear ownership of every record.
Tell us your systems, constraints and timeline. We reply within one business day, and the initial conversation is free.