%% Salesforce multi-cloud reference architecture
%% Reference architecture: a reusable pattern, not a live client integration
flowchart TB
subgraph z0["Core Salesforce org"]
crm["Sales and Service Cloud
core org"]
mcn["Marketing Cloud Next
on the core platform"]
d360["Data 360
unified profile"]
end
subgraph z1["Separate Salesforce tenants"]
mce["Marketing Cloud Engagement
separate tenant"]
b2c["B2C Commerce
separate tenant"]
end
subgraph z2["Other companies"]
braze["Braze
external company"]
erp["ERP
external"]
end
mcc["Marketing Cloud Connect
managed package"]
integ["Integration layer
MuleSoft or other iPaaS"]
keymap["Identity key map
source IDs to shared IDs"]
crm -->|"selected objects"| mcc
mcc -->|"sync and sends"| mce
crm -->|"record events"| integ
d360 -->|"unified IDs"| keymap
d360 -->|"segments and consent"| mcn
keymap -->|"ID lookups"| integ
integ -->|"profiles, events, consent"| braze
integ -->|"orders and accounts"| erp
erp -.->|"invoices and stock"| integ
braze -.->|"engagement and opt-outs"| integ
mce -.->|"connector and activation"| d360
b2c -.->|"commerce data"| d360
classDef salesforce stroke:#125BD8,fill:#e8f0fd
class crm,mcn,mce,b2c salesforce
classDef data stroke:#2f8a3a,fill:#e9f6ea
class d360,keymap data
classDef integration stroke:#334155,fill:#eef2f6
class mcc,integ integration
classDef external stroke:#64748b,fill:#ffffff
class braze,erp external