BookatlasTwo-Day MuleSoft → Salesforce Bootcamp
24 / 278 · Module 2 — Building a Real Mule Flow · filtered: code← prev⊞ allnext →

2.20Three ways integrations often become messy

Bad pattern #1

Everything in one gigantic flow:

Listener
↓
Transform
↓
Query
↓
Choice
↓
Transform
↓
HTTP
↓
Salesforce
↓
Choice
↓
Database
↓
Transform
↓
...

500 components later:

customer-processing-flow

becomes impossible to reason about.

Better:

customer-api-flow

   ↓

upsert-account-subflow

   ↓

upsert-contact-subflow

Bad pattern #2

Data transformation scattered everywhere.

For example:

Set Variable
Set Payload
Set Variable
Transform
Set Payload
Transform

Prefer transformations with explicit purposes:

Map API Customer → Salesforce Account

Map API Contact → Salesforce Contact

Map Salesforce Result → API Response

Bad pattern #3

Letting Salesforce leak through the API.

Bad:

[
  {
    "id": "001...",
    "success": true,
    "errors": []
  }
]

Better public response:

{
  "customerId": "CUST-10042",
  "status": "updated"
}

The integration layer should provide abstraction.