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.