%% Salesforce + Braze reference architecture
%% Reference architecture: a reusable pattern, not a live client integration
flowchart TB
subgraph z0["Salesforce (your org and tenants)"]
crm["Salesforce CRM
Sales and Service Cloud"]
sfmc["Marketing Cloud
if used"]
d360["Data 360
if used"]
end
subgraph z1["Your integration layer"]
events["Event and integration layer
middleware or iPaaS"]
gov["Identity, consent, governance
mapping rules"]
errq["Error queue and reconciliation
replay and audit"]
ops["Monitoring
alerts and dashboards"]
end
subgraph z2["Braze workspace (separate company)"]
braze["Braze workspace
profiles, events, catalogs"]
canvas["Canvas and campaigns
journeys and messages"]
currents["Currents
engagement event stream"]
end
email["Email"]
push["Push and in-app
Braze SDKs"]
sms["SMS and WhatsApp
subscription groups"]
store["Engagement data store
warehouse or storage"]
crm -->|"record changes"| events
d360 -->|"segments and insights"| events
sfmc -.->|"suppression and consent"| gov
events -->|"mapping check"| gov
events -->|"/users/track"| braze
gov -->|"subscription updates"| braze
events -->|"failed calls"| errq
braze -->|"audiences and triggers"| canvas
canvas -->|"email"| email
canvas -->|"push and in-app"| push
canvas -->|"SMS and WhatsApp"| sms
currents -->|"engagement events"| store
store -.->|"engagement summary"| events
events -.->|"CRM updates"| crm
errq -->|"alerts"| ops
classDef salesforce stroke:#125BD8,fill:#e8f0fd
class crm,sfmc salesforce
classDef data stroke:#2f8a3a,fill:#e9f6ea
class d360,currents,store data
classDef engagement stroke:#5747AF,fill:#efedfa
class braze,canvas engagement
classDef integration stroke:#334155,fill:#eef2f6
class events,errq integration
classDef security stroke:#1f2937,fill:#f3f4f6
class gov security
classDef channel stroke:#2f8a3a,fill:#ffffff
class email,push,sms channel
classDef people stroke:#125BD8,fill:#ffffff
class ops people