Step by step process for integrating Braze with Salesforce for lead nurturing

If you’re trying to connect Salesforce with Braze for lead nurturing, you’ve probably noticed there’s no big red “integrate now” button. Most guides either hand-wave through the hard parts, or drown you in jargon. This step-by-step walkthrough is for people who want a clear, honest path—no magic, just what actually works to get data moving and campaigns running.

Who this is for

  • Marketers and operations folks who want to trigger Braze campaigns from Salesforce leads.
  • Teams who want to sync lead and customer data between both systems.
  • Anyone tired of half-baked “integration” tutorials.

No, you don’t need to be a hardcore developer—but you’ll need admin access in both tools, and some comfort with APIs or middleware. If you’re allergic to Zapier or MuleSoft, don’t worry: you’ll see the pros and cons of each option.


Step 1: Map Out What You Really Need to Sync

Before you start clicking around, get clear on your business goal. “Integrate Braze and Salesforce” is meaningless by itself. Instead, answer these:

  • Which Salesforce objects matter? (Leads? Contacts? Custom objects?)
  • What data do you need in Braze to personalize nurture flows? (Email, name, lead status, etc.)
  • Do you need to send data back from Braze to Salesforce? Or just one-way?

Pro tip: Write down your “trigger points”—for example, when a lead status changes, or when someone gets a certain Braze campaign. This will stop you from overcomplicating things later.


Step 2: Choose Your Integration Approach

You’ve got three main ways to connect Salesforce and Braze:

  1. Manual import/export: CSV files. Yes, it’s clunky, but sometimes it’s all you need.
  2. Middleware (recommended): Tools like Zapier, Workato, or Tray.io can move data between platforms without custom code.
  3. Direct API integration: Write scripts or use in-house devs to push/pull data directly.

Here’s the real talk:

  • CSV import/export: Good for one-off jobs, bad for real-time nurturing.
  • Middleware: Great for most marketing teams—no code needed, works for most use cases, but can get expensive as you scale.
  • API integration: The most flexible, but also the most complex and error-prone. Only go this route if you have strong dev resources and a very custom need.

For 80% of lead nurturing use cases, middleware like Zapier or Workato is the sweet spot, so that’s what this guide focuses on. If you’re determined to go API-only, the steps are similar—but you’ll be writing code instead of clicking buttons.


Step 3: Prep Salesforce for Integration

First, make sure you have what you need in Salesforce:

  • Admin access — so you can create connected apps and see all the fields.
  • API access — this is included in most Salesforce editions, but double-check.
  • Clean fields — if your email fields are a mess, fix them now. Dirty data will blow up your nurture flows.

If you’re using middleware, you’ll need to create an “integration user” in Salesforce:

  1. Go to Setup > Users > New User.
  2. Set up a dedicated user (call it something like “Middleware Integration”).
  3. Give it only the permissions it needs—read/write on leads/contacts, but not more.

Why bother with a separate user?
So you can track what the integration is doing, and avoid weird conflicts with real people’s accounts.


Step 4: Prep Braze for Integration

If you’re new to Braze, it’s a customer engagement platform—think email, push, and in-app messaging, all in one.

Here’s what you’ll need:

  • Braze REST API Key

    • Go to Dashboard > Developer Console > API Settings.
    • Create a new API key with at least “users/track” and “users/identify” permissions.
    • Store this key somewhere safe—treat it like a password.
  • Braze REST endpoint

    • You’ll find your Braze REST endpoint in the same developer console. It looks like https://rest.iad-01.braze.com.

Don’t over-assign permissions.
Only give the API key what it needs; if someone gets ahold of it, they can do real damage.


Step 5: Set Up Your Middleware Integration

Let’s use Zapier as the example. The steps are similar for other tools.

5.1 Connect Salesforce to Zapier

  • In Zapier, search for “Salesforce” and connect your account (use the integration user from earlier).
  • Zapier will prompt you to log in and authorize access.
  • Test the connection—make sure you can see your Salesforce objects.

5.2 Connect Braze to Zapier

  • Search for “Braze” in Zapier’s app directory.
  • If Braze isn’t a native Zapier app in your plan, you’ll need to use Zapier’s “Webhooks by Zapier” action to call the Braze API. (Annoying, but not hard.)
  • Paste your Braze REST endpoint and API key when prompted.

If you’re using Workato, Tray.io, or another tool:
The steps are nearly identical: connect both accounts, test, and move on.


Step 6: Build Your Lead Sync Workflow

Now comes the guts of it: getting Salesforce lead data into Braze so you can actually nurture people.

6.1 Set Your Trigger

  • In Zapier, create a new Zap.
  • Choose “New Lead” or “Lead Updated” in Salesforce as the trigger. (Pick “Lead Updated” if you want to act on status changes.)
  • Test with a sample lead.

6.2 Map Salesforce Fields to Braze

  • Add an action: “Webhooks by Zapier” > “Custom Request.”
  • Set method to POST.
  • URL: https://YOUR-REST-ENDPOINT/users/track
  • In the data/body, build a payload like:

    json { "api_key": "YOUR-BRAZE-API-KEY", "attributes": [ { "external_id": "{{Salesforce Lead ID}}", "email": "{{Email}}", "first_name": "{{First Name}}", "last_name": "{{Last Name}}", "lead_status": "{{Lead Status}}" } ] }

  • Map the Salesforce fields to the right Braze attributes.

  • Test the Zap. If you see a success response, you’re in business.

6.3 Handle Errors and Duplicates

  • Add a filter in Zapier to only send leads with an email address (or whatever your minimum is).
  • If you get lots of duplicates, double-check how you’re matching “external_id” in Braze. Use a unique field from Salesforce.

Pro tip:
Start simple. Don’t try to sync every field—just the ones you need for your first nurture flow.


Step 7: Build and Trigger Nurture Campaigns in Braze

Now that leads are flowing into Braze, set up your nurture journeys:

  • Go to Braze’s “Campaigns” section.
  • Create a new campaign (email, SMS, or whatever channel you want).
  • Use “segment” filters based on the Salesforce fields you synced—like “lead_status = Open” or “first_name exists.”
  • Set up triggers based on when leads enter a segment or update their status.
  • Test with a dummy lead before turning anything live.

What works:
Braze’s segmentation and personalization are solid. You can use any custom attribute you synced from Salesforce.

What doesn’t:
Real-time syncing is only as fast as your middleware plan allows. If you need sub-minute triggers, check your Zapier/Workato limits.


Step 8: Monitor, Audit, and Optimize

Don’t “set and forget” this integration.

  • Check daily for failed jobs in Zapier/Workato.
  • Audit your data in Braze—are Salesforce fields showing up as expected?
  • Track campaign results and see if leads are actually progressing.

If you spot weirdness (like missing leads or weird data), retrace your field mappings and test with new dummy data.


What to Ignore (For Now)

  • Two-way sync: Most teams don’t need to push data from Braze back into Salesforce. It sounds cool, but adds a ton of complexity. Start with one-way first.
  • Custom objects: Unless you have a very specific need, stick to standard Leads/Contacts.
  • Syncing every field: More data isn’t better. Only sync what you’ll use.

Wrapping Up: Keep It Simple, Iterate Fast

Integrating Salesforce and Braze for lead nurturing isn’t rocket science—but it’s easy to overcomplicate. Start with a basic lead-to-Braze sync, get your first nurture campaign running, and only add complexity as you see real business value. Most “integration horror stories” start with trying to solve for every edge case up front.

Stay focused, keep your flows simple, and iterate as you go. You’ll thank yourself later.