Shopify + Brevo Integration

Shopify + Brevo

Connect Shopify’s commerce data to Brevo’s engagement platform through MCP. Sync customers, trigger post-purchase sequences, recover abandoned carts, and run loyalty campaigns, all orchestrated by AI agents in Claude.

MCP Servers Used

ServerPackage/URLPurpose
Shopify Dev MCPnpx -y @shopify/dev-mcp@latestSearch Shopify API docs, introspect GraphQL schema, validate queries
Shopify Storefront MCPApp-specific setupProduct catalog, cart operations, customer data, order tracking
Brevo MCPmcp.brevo.com/v1/brevo/mcpContacts, email campaigns, SMS, WhatsApp, event tracking

Tip

Shopify Dev MCP is for development, it helps Claude understand Shopify’s APIs. Storefront MCP is for production data access. You’ll typically use both during development, then Storefront MCP + Brevo MCP for the live agent.

Setup

Step 1: Connect Both MCP Servers

Add to your Claude Desktop or Claude Code configuration:

{
"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"
}
},
"shopify-dev-mcp": {
"command": "npx",
"args": ["-y", "@shopify/dev-mcp@latest"]
}
}
}

Step 2: Verify Connection

Ask Claude:

> What Shopify APIs are available for reading customer data?
> How many contacts do I have in Brevo?

Claude should use Shopify Dev MCP for the first question and Brevo MCP for the second.

Use Case 1: Customer Sync Agent

Sync Shopify customers to Brevo contacts with full purchase history:

---
name: shopify-customer-sync
description: Sync Shopify customers to Brevo contacts with purchase data
version: 1.0.0
temperature: 0.1
tools:
- shopify-dev-mcp
- brevo_contacts
- brevo_attributes
- brevo_lists
triggers:
- schedule: "0 */6 * * *"
- event: customer_created
- event: order_completed
---
# Shopify Customer Sync Agent
Synchronize customer data from Shopify to Brevo contacts.
## Strategy
1. Query Shopify for customers updated since last sync
2. For each customer, create or update Brevo contact with:
- Email, name, phone
- Total orders, total spend (as Brevo attributes)
- Last order date
- Tags and segments
3. Add customers to appropriate Brevo lists based on behavior:
- New customers → "Welcome Series" list
- Repeat buyers → "Loyal Customers" list
- High-value (>$500 LTV) → "VIP" list
## Field Mapping
| Shopify Field | Brevo Attribute |
|--------------|-----------------|
| email | EMAIL |
| first_name | FIRSTNAME |
| last_name | LASTNAME |
| phone | SMS |
| orders_count | ORDER_COUNT |
| total_spent | TOTAL_SPENT |
| last_order_date | LAST_ORDER |
| tags | SHOPIFY_TAGS |
| accepts_marketing | OPT_IN |
## Rules
- ONLY sync customers who have accepted marketing
- NEVER overwrite Brevo data if Shopify field is empty
- ALWAYS validate phone numbers to E.164 format before sync
- Track sync events for debugging: shopify_sync_success, shopify_sync_error

Use Case 2: Post-Purchase Campaign Agent

Trigger personalized post-purchase sequences based on order data:

---
name: shopify-post-purchase
description: Orchestrate post-purchase email sequences based on Shopify order data
version: 1.0.0
temperature: 0.3
tools:
- shopify-dev-mcp
- brevo_contacts
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
triggers:
- event: order_completed
---
# Post-Purchase Agent
When a Shopify order is completed, design and trigger the
appropriate follow-up sequence in Brevo.
## Sequence Logic
### First-Time Buyers
1. Immediate: Order confirmation (transactional)
2. Day 3: Welcome email with brand story
3. Day 7: Product care tips / how-to guide
4. Day 14: Review request
5. Day 30: Cross-sell based on purchased category
### Repeat Buyers
1. Immediate: Order confirmation
2. Day 3: Loyalty points notification
3. Day 14: "Restock" reminder if consumable product
4. Day 21: Exclusive early access to new products
### VIP Orders (>$200)
1. Immediate: Premium order confirmation
2. Day 1: Personal thank-you from founder (email)
3. Day 3: SMS with tracking + care tips
4. Day 7: Invitation to VIP program
## Rules
- ALWAYS check order status before sending, skip if cancelled/refunded
- NEVER send marketing to customers who haven't opted in
- Personalize with: product name, order number, customer first name
- Use Brevo template variables for dynamic content

Use Case 3: Abandoned Cart Recovery

Bridge Shopify cart data with Brevo’s messaging:

---
name: shopify-cart-recovery
description: Recover Shopify abandoned carts via Brevo email and SMS
version: 2.0.0
temperature: 0.2
tools:
- shopify-dev-mcp
- brevo_contacts
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
triggers:
- event: cart_abandoned
conditions:
- cart_value: "> 40"
- time_since_activity: "> 1h"
---
# Cart Recovery Agent
Monitor Shopify abandoned carts and execute recovery
sequences through Brevo.
## Recovery Sequence
1. **+1 hour**: Reminder email with cart contents and images
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 > $150 and no recovery → WhatsApp with personal message
## Cart Data to Include
- Product images and names (from Shopify)
- Cart total with currency formatting
- Direct checkout link
- Discount code (generated dynamically for step 3)
## Rules
- NEVER send to customers who already completed checkout
- ALWAYS check cart status before each step
- Maximum 4 touchpoints per abandoned cart
- Respect opt-out preferences per channel

Example: Natural Language Orchestration

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

You: "Check my Shopify store for customers who ordered in the last
7 days but aren't in Brevo yet, and add them."
Claude: Checking Shopify for recent customers...
[Uses shopify-dev-mcp to understand the Customers API]
[Queries Shopify for orders in last 7 days]
Found 43 customers from last 7 days.
Checking against Brevo contacts...
[Uses brevo_contacts to search for each email]
23 customers are not yet in Brevo. Adding them now...
[Uses brevo_contacts to create 23 new contacts]
[Uses brevo_lists to add first-time buyers to "Welcome Series"]
[Uses brevo_lists to add repeat buyers to "Loyal Customers"]
Done:
- 23 new contacts created in Brevo
- 15 added to "Welcome Series" list (first-time buyers)
- 8 added to "Loyal Customers" list (repeat buyers)
- All contacts synced with order count and total spent

Next Steps

AI Assistant

Hi! Ask me anything about the docs.

Start Free with Brevo