Skip to content
Business productivity ⇄ CRM

Braze to Salesforce integration — real-time, two-way sync

Keep Braze and Salesforce in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.

  • SOC 2 and 6 other compliance frameworks
  • POC with real engineers in minutes

Adopted by fast-scaling companies moving mission-critical data in real time

Case study
Migrated from MuleSoft
Case study
Migrated from Celigo
Migrated from Heroku Connect
Migrated from Matillion
Case study
Migrated from Fivetran
Case study
Migrated from Celigo
Why teams connect Braze and Salesforce

Sync what happens in Braze with the customer records in Salesforce, in real time and in both directions.

The CRM is supposed to be the record of every customer relationship, but customer-relevant information also accumulates in the other tools a team runs. Whatever Braze holds or produces that touches a customer, whether conversations, payments, replies, enriched data, or notes, the CRM only benefits if it arrives without someone copying it over.

Stacksync connects Custom Attributes, Custom Events, Purchases, Segments in Braze to Cases, Campaigns, Tasks and Events, Products and Price Books in Salesforce with bi-directional, real-time sync. Activity and record changes in Braze update the matching contact or account in Salesforce, and CRM data flows the other way wherever Braze can store and use it.

Common use cases

  • 01 Sync CRM and billing attributes onto Braze user profiles so lifecycle campaigns target accurate plan and status data.
  • 02 Push product usage events from a database or warehouse into Braze to trigger onboarding and retention journeys.
  • 03 Consolidate multiple Salesforce orgs into a single database for cross-org reporting after an acquisition.
  • 04 Sync Accounts, Contacts, and Opportunities bi-directionally with Postgres so engineering teams read and write CRM data with plain SQL.

Common sync patterns

Where Braze processes payments

Charges, refunds, and subscription changes appear on the account in Salesforce, so revenue context lives with the relationship.

Where Braze can store CRM context: fields kept current

Owner, lifecycle stage, or account details from Salesforce sync into Braze, so people working there have the context without switching tools.

Where Braze runs outreach

Prospects, sends, and replies sync into Salesforce, keeping lead status current without manual imports.

What you can sync between Braze and Salesforce

Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.

Braze objects Salesforce objects How this pairing syncs
Campaigns Message sends whose metadata and analytics are read for reporting. Campaigns Marketing membership data; read out for attribution analysis in the warehouse. Same entity on both sides — records pair one-to-one and field-level changes reconcile in both directions.
Custom Attributes Profile fields written from CRMs, warehouses, and product databases to drive personalization. Cases Support records; synced with help desk tools or internal databases for escalation workflows. Custom Attributes is specific to Braze and Cases to Salesforce — each maps to any object or custom field on the other side.
Custom Events Behavioral events pushed into Braze to trigger campaigns and Canvases. Tasks and Events Activity records; usually read-only in syncs to feed activity reporting. Custom Events is specific to Braze and Tasks and Events to Salesforce — each maps to any object or custom field on the other side.
Purchases Transaction records logged against profiles for revenue-based targeting. Products and Price Books Catalog and pricing data; commonly mastered in an ERP and written into Salesforce. Purchases is specific to Braze and Products and Price Books to Salesforce — each maps to any object or custom field on the other side.
Segments Audience definitions read for membership export and campaign targeting. Custom Objects Org-specific tables with the __c suffix; discoverable via describe metadata so field mappings can be generated. Segments is specific to Braze and Custom Objects to Salesforce — each maps to any object or custom field on the other side.
Canvases Multi-step journeys; entry and performance data is read for lifecycle analysis. Accounts Company records that anchor most syncs; typically mapped to customer tables in a database or ERP. Canvases is specific to Braze and Accounts to Salesforce — each maps to any object or custom field on the other side.

How changes propagate between Braze and Salesforce

Each direction of the sync is driven by what the source system can signal and what the destination accepts — detection, delivery, and expected latency below.

Braze Salesforce Interval-based propagation

DetectionStacksync polls Braze for changes on an incremental schedule, reading only records changed since the previous pass. Braze Currents streams engagement events outward.

DeliveryEach detected change is written to Salesforce through its API, with automatic retries and rate-limit backoff.

Salesforce Braze Sub-second propagation

DetectionChanges in Salesforce are captured at the source via change data capture — no polling loop against its API. Apex triggers are used whenever possible (Salesforce actively notifies Stacksync via an Apex trigger + callout class + remote site setting).

DeliveryEach detected change is written to Braze through its API, with automatic retries and rate-limit backoff.

Rate-limit considerations

  • Braze: Endpoints have per-endpoint rate limits documented by Braze; batch endpoints accept multiple users per request.
  • Salesforce: Daily API request allocations vary by edition and license count.
What ships with Braze ⇄ Salesforce

Connect Braze and Salesforce for flexible, real-time data sync.

Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Braze–Salesforce connection.

Real-time

Two-way sync

Changes in Braze or Salesforce instantly reflect in both systems. No stale data, no manual imports.

No-code + pro-code

Workflow automation

Trigger automated workflows whenever Braze or Salesforce data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.

At scale

Event queues

Handle millions of events per minute without losing a single Braze or Salesforce record.

Observability

Monitoring

Track your Braze ⇄ Salesforce sync health, view errors, and replay failed events in one click.

Trading partners

EDI

Transform legacy EDI complexity into simple database interactions between Braze and Salesforce.

How the Braze and Salesforce connectors work

Braze

Integration surface
REST API
Authentication
REST API keys scoped to specific endpoints, issued per workspace
Change detection
Braze Currents streams engagement events outward; profile reads otherwise rely on export endpoints and polling
Capabilities
read · write
Rate limits
Endpoints have per-endpoint rate limits documented by Braze; batch endpoints accept multiple users per request

Salesforce

Integration surface
REST, SOAP, and Bulk APIs
Authentication
OAuth login via a Salesforce user (browser-based authorization flow); requires "API Enabled" permission for polling mode, plus "Author Apex" and "Customize Application" OR "Modify All Data" for trigger mode
Change detection
Apex triggers are used whenever possible (Salesforce actively notifies Stacksync via an Apex trigger + callout class + remote site setting)
Capabilities
read · write · CDC
Rate limits
Daily API request allocations vary by edition and license count.
Salesforce setup guide
How it works

How to connect Braze to Salesforce — three steps, no code

Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.

  1. 01

    Connect your apps

    Authenticate Braze and Salesforce with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.

    • OAuth 2.0
    • SSH tunnel
    • VPC peering
    Braze connected
    Salesforce connected
    OAuth 2.0
    SSH tunnel
    SSL certificate
    VPC peering
  2. 02

    Choose tables

    Pick the Braze and Salesforce objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.

    • Standard objects
    • Custom objects
    • Auto-schema
    objects · Braze ⇄ Salesforce
    Customers 12,480
    Sales Orders 8,213
    Invoices 5,902
    Items 1,344
  3. 03

    Map fields

    Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.

    • Auto-map
    • Type casting
    • Transforms
    Braze Salesforce
    Company company_name text
    Email email text
    Amount amount numeric
    Created created_at timestamp
FAQ

Braze and Salesforce integration FAQ

SECURITY

Security teams trust Stacksync

As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.

SOC 2 Type II
ISO 27001
HIPAA BAA
GDPR
CCPA
DPF US-EU-UK-CH
→ SECURITY WITH BENEFITS

SSO & SCIM

Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.

Alerts

Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.

Secure connection options

Securely connects to your systems with:

Related integrations

Every pair below is a real-time, two-way sync. Search all 530 integrations available for Braze and Salesforce.

Popular · 8 of 530
Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.