Salesforce Commerce Cloud + Brevo Integration

Salesforce Commerce Cloud + Brevo

Connect Salesforce Commerce Cloud (SFCC) storefront data to Brevo’s engagement platform through MCP. Sync customers, track order lifecycle events, retarget based on browsing behavior, and run enterprise-grade multi-channel campaigns.

MCP Servers Used

ServerPackage/URLAuthPurpose
Salesforce MCP@anthropic/salesforce-mcpOAuth (Connected App)Customer records, order data, product catalog, custom objects
Brevo MCPmcp.brevo.com/v1/brevo/mcpTokenContacts, email campaigns, SMS, WhatsApp, event tracking, deals

Tip

Salesforce’s MCP server provides access to standard and custom objects via SOQL. Pair it with Brevo MCP to turn SFCC commerce events into real-time engagement across email, SMS, and WhatsApp.

Setup

Step 1: Configure Salesforce Connected App

  1. In Salesforce Setup, create a Connected App with OAuth enabled
  2. Grant scopes: api, refresh_token, offline_access
  3. Note your Consumer Key and Consumer Secret

Step 2: Connect Both MCP Servers

{
"mcpServers": {
"brevo": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.brevo.com/v1/brevo/mcp",
"--header",
"Authorization: Bearer ${BREVO_MCP_TOKEN}"
],
"env": {
"BREVO_MCP_TOKEN": "your-brevo-mcp-token"
}
},
"salesforce": {
"command": "npx",
"args": ["-y", "@anthropic/salesforce-mcp"],
"env": {
"SALESFORCE_INSTANCE_URL": "https://your-instance.salesforce.com",
"SALESFORCE_CLIENT_ID": "your-consumer-key",
"SALESFORCE_CLIENT_SECRET": "your-consumer-secret"
}
}
}
}

Step 3: Verify Connection

Ask Claude:

> Query Salesforce for the most recent 5 orders
> How many contacts do I have in Brevo?

Claude should use Salesforce MCP for the first and Brevo MCP for the second.

Use Case 1: Customer Sync Agent

Sync SFCC customer profiles to Brevo contacts with full commerce data:

---
name: sfcc-customer-sync
description: Sync Salesforce Commerce Cloud customers to Brevo with order history
version: 1.0.0
temperature: 0.1
tools:
- salesforce
- brevo_contacts
- brevo_attributes
- brevo_lists
triggers:
- schedule: "0 */4 * * *"
- event: customer_created
- event: order_completed
---
# SFCC Customer Sync Agent
Synchronize customer data from Salesforce Commerce Cloud to Brevo contacts.
## Strategy
1. Query SFCC for customer profiles updated since last sync via SOQL:
`SELECT Id, Email, FirstName, LastName, Phone, CreatedDate FROM Contact WHERE LastModifiedDate > {last_sync}`
2. For each customer, query related order data:
`SELECT TotalAmount, OrderNumber, Status, CreatedDate FROM Order WHERE AccountId = '{account_id}' ORDER BY CreatedDate DESC`
3. Create or update Brevo contact with profile + commerce attributes
4. Segment into Brevo lists based on purchase behavior:
- New registrations → "Welcome Series" list
- Active buyers (order in last 30 days) → "Active Customers" list
- High-value (>$1000 LTV) → "VIP" list
- Lapsed (no order in 90+ days) → "Win-Back" list
## Field Mapping
| SFCC Field | Brevo Attribute |
|-----------|-----------------|
| Email | EMAIL |
| FirstName | FIRSTNAME |
| LastName | LASTNAME |
| Phone | SMS |
| MailingCountry | COUNTRY |
| Account.Name | COMPANY |
| Total Orders (computed) | ORDER_COUNT |
| Total Revenue (computed) | TOTAL_SPENT |
| Last Order Date | LAST_ORDER |
| Customer Tier (custom) | SFCC_TIER |
| Preferred Language | LANGUAGE |
## Rules
- ONLY sync contacts with valid email and marketing consent
- NEVER overwrite Brevo data if SFCC field is null
- ALWAYS validate phone to E.164 format
- Compute ORDER_COUNT and TOTAL_SPENT from order history
- Track events: sfcc_sync_success, sfcc_sync_error

Use Case 2: Order Lifecycle Campaign Agent

Trigger multi-channel campaigns based on SFCC order status changes:

---
name: sfcc-order-lifecycle
description: Orchestrate engagement campaigns based on SFCC order lifecycle events
version: 1.0.0
temperature: 0.3
tools:
- salesforce
- brevo_contacts
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
triggers:
- event: order_placed
- event: order_shipped
- event: order_delivered
- event: order_cancelled
- event: order_refunded
---
# Order Lifecycle Campaign Agent
Monitor SFCC order status transitions and trigger the appropriate engagement in Brevo.
## Sequence Logic
### Order Placed
1. Immediate: Transactional order confirmation email
2. +2 hours: SMS with order number and estimated delivery
3. Track event: order_placed with order value
### Order Shipped
1. Immediate: Shipping confirmation with tracking link
2. +1 day: SMS with tracking update
3. Track event: order_shipped
### Order Delivered
1. +2 days: Product review request email
2. +7 days: Cross-sell recommendations based on purchased category
3. +14 days: Replenishment reminder (if consumable product)
4. +30 days: Loyalty program invitation (if order > $100)
### Order Cancelled
1. Immediate: Cancellation confirmation email
2. +1 day: "Still looking?" email with similar products
3. Track event: order_cancelled with reason
### Order Refunded
1. Immediate: Refund confirmation with timeline
2. +3 days: Feedback survey
3. +7 days: Win-back offer (10% discount)
4. Track event: order_refunded with amount
## Rules
- ALWAYS check current order status before sending (avoid stale triggers)
- NEVER send marketing messages for cancelled/refunded orders until feedback step
- Personalize with: customer name, order number, product names, tracking URL
- Respect channel preferences: check SMS and WhatsApp opt-in before sending
- Multi-language: use LANGUAGE attribute to select correct template

Use Case 3: Behavioral Retargeting Agent

Use SFCC browsing and cart data to trigger retargeting via Brevo:

---
name: sfcc-behavioral-retarget
description: Retarget SFCC visitors based on browse and cart behavior via Brevo
version: 1.0.0
temperature: 0.2
tools:
- salesforce
- brevo_contacts
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
triggers:
- event: cart_abandoned
conditions:
- cart_value: "> 50"
- time_since_activity: "> 1h"
- event: product_viewed
conditions:
- view_count: "> 3"
---
# Behavioral Retargeting Agent
Use SFCC commerce events to trigger targeted recovery and engagement sequences in Brevo.
## Abandoned Cart Recovery
1. **+1 hour**: Reminder email with cart contents, product images, and checkout link
2. **+24 hours**: If no open → SMS with short link to cart
3. **+48 hours**: If no recovery → Email with 10% discount code
4. **+72 hours**: If cart > $200 → WhatsApp with personal message from support
## Browse Abandonment (3+ views, no cart)
1. **+4 hours**: "Still browsing?" email with viewed products
2. **+48 hours**: Related products email based on viewed categories
3. **+7 days**: Category sale notification if products go on promotion
## Product Data to Include
| SFCC Data | Email Usage |
|-----------|------------|
| Product Name | Hero text, subject line |
| Product Image URL | Email hero image |
| Product Price | Price display |
| Category | Cross-sell matching |
| Inventory Status | Urgency messaging ("Only 3 left") |
| Cart Total | Value display, discount threshold |
| Checkout URL | CTA button link |
## Rules
- NEVER send to customers who already completed checkout
- ALWAYS check cart/order status before each step in sequence
- Maximum 4 touchpoints per abandoned cart
- Respect opt-out preferences per channel (email, SMS, WhatsApp)
- Do not retarget if customer has made a purchase in last 48 hours

Example: Natural Language Orchestration

With both MCP servers connected, you can orchestrate in real-time:

You: "Find all SFCC customers who placed orders over $200 last month
but aren't in my Brevo VIP list. Add them and trigger the VIP
welcome sequence."
Claude: Querying Salesforce Commerce Cloud for high-value orders...
[Uses salesforce MCP with SOQL: SELECT Account.Email, SUM(TotalAmount)
FROM Order WHERE CreatedDate = LAST_MONTH GROUP BY Account.Email
HAVING SUM(TotalAmount) > 200]
Found 89 customers with $200+ orders last month.
Checking Brevo VIP list membership...
[Uses brevo_contacts to check list membership for each]
34 customers are not yet in the VIP list. Processing...
[Updates 34 contacts with SFCC_TIER=VIP]
[Adds all 34 to "VIP" list in Brevo]
[Triggers VIP welcome email template for each]
Done:
- 34 customers added to Brevo "VIP" list
- VIP welcome email sequence triggered for all 34
- SFCC_TIER attribute updated to "VIP"
- 55 were already VIP members (skipped)

Next Steps

AI Assistant

Hi! Ask me anything about the docs.

Start Free with Brevo