Intégration HubSpot + Brevo

HubSpot + Brevo

Connectez les données CRM de HubSpot à la plateforme d’engagement de Brevo. Utilisez HubSpot comme source de vérité pour les données de contacts et de deals, et Brevo pour l’exécution des campagnes multicanal, email, SMS, WhatsApp.

Serveurs MCP utilisés

ServeurURLAuthObjectif
HubSpot MCPmcp.hubspot.comOAuth/PKCEDonnées CRM : contacts, entreprises, deals, tickets, produits, commandes (lecture seule)
Brevo MCPmcp.brevo.com/v1/brevo/mcpTokenContacts, email, SMS, WhatsApp, campagnes, suivi des événements

Caution

Le serveur MCP de HubSpot est actuellement en lecture seule (BÊTA). Vous pouvez lire les données CRM depuis HubSpot et les utiliser pour piloter des actions dans Brevo, mais vous ne pouvez pas écrire dans HubSpot via MCP. Pour une synchronisation bidirectionnelle, utilisez l’API REST de HubSpot en parallèle de la connexion MCP.

Configuration

Étape 1 : Créer une application d’authentification MCP HubSpot

  1. Dans HubSpot, allez dans Développement > Applications d’authentification MCP
  2. Cliquez sur Créer une application d’authentification MCP
  3. Définissez votre URL de redirection (pour les tests Claude Desktop : http://localhost:6274/oauth/callback/debug)
  4. Notez votre Client ID et Client Secret

Étape 2 : Connecter les deux serveurs MCP

Pour les outils qui prennent en charge OAuth (Cursor, VS Code) :

{
"mcpServers": {
"hubspot": {
"url": "https://mcp.hubspot.com/",
"headers": {
"Authorization": "Bearer your-hubspot-oauth-token"
}
},
"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"
}
}
}
}

Tip

HubSpot MCP nécessite OAuth avec PKCE. Des outils comme Cursor gèrent cela nativement. Pour Claude Desktop/Code, vous devrez peut-être obtenir un token séparément et le passer comme Bearer token.

Étape 3 : Vérifier

> Show me my HubSpot deals in the Negotiation stage
> How many contacts do I have in Brevo?

Cas d’usage 1 : Agent de synchronisation des contacts CRM

Synchronisez les contacts HubSpot vers Brevo avec enrichissement des données de deal :

---
name: hubspot-contact-sync
description: Sync HubSpot CRM contacts to Brevo with deal data enrichment
version: 1.0.0
temperature: 0.1
tools:
- hubspot
- brevo_contacts
- brevo_attributes
- brevo_lists
- brevo_segments
triggers:
- schedule: "0 */4 * * *"
---
# HubSpot Contact Sync
Read contacts and associated deal data from HubSpot,
sync to Brevo with enriched attributes for segmentation.
## Strategy
1. Query HubSpot for contacts modified since last sync
2. For each contact, fetch associated deals and company
3. Create/update Brevo contact with enriched data:
- CRM lifecycle stage → Brevo attribute
- Deal amount → Brevo attribute
- Deal stage → Brevo segment
4. Auto-segment in Brevo:
- "SQL" contacts → Sales Qualified list
- "Opportunity" contacts → Active Pipeline list
- "Customer" contacts → Customer list
## Field Mapping
| HubSpot Property | Brevo Attribute |
|-----------------|-----------------|
| email | EMAIL |
| firstname | FIRSTNAME |
| lastname | LASTNAME |
| phone | SMS |
| lifecyclestage | LIFECYCLE_STAGE |
| hs_lead_status | LEAD_STATUS |
| company (associated) | COMPANY |
| deal amount (sum) | DEAL_VALUE |
| deal stage (latest) | DEAL_STAGE |
## Rules
- NEVER sync contacts without email addresses
- ALWAYS preserve existing Brevo data if HubSpot field is empty
- Track sync with events: hubspot_sync_success, hubspot_sync_error
- Log contact count per lifecycle stage for reporting

Cas d’usage 2 : Agent de campagne par étape de deal

Déclenchez des campagnes Brevo basées sur les changements d’étape des deals HubSpot :

---
name: hubspot-deal-campaigns
description: Trigger targeted Brevo campaigns when HubSpot deals change stages
version: 1.0.0
temperature: 0.3
tools:
- hubspot
- brevo_contacts
- brevo_email_campaign_management
- brevo_templates
- brevo_segments
triggers:
- schedule: "0 9 * * *"
---
# Deal-Stage Campaign Agent
Monitor HubSpot deal stages and trigger appropriate
engagement campaigns in Brevo.
## Stage-to-Campaign Mapping
| HubSpot Deal Stage | Brevo Action |
|-------------------|--------------|
| Appointment Scheduled | Send meeting prep email with company info |
| Qualified to Buy | Add to "Nurture" drip sequence |
| Presentation Scheduled | Send case study relevant to their industry |
| Decision Maker Bought-In | Send ROI calculator + pricing guide |
| Contract Sent | Send "What to expect" onboarding preview |
| Closed Won | Trigger welcome sequence + onboarding |
| Closed Lost | Add to "Win-back" sequence (30-day delay) |
## Rules
- ONLY send to contacts associated with the deal
- Check if contact has opted in to marketing before sending
- One campaign trigger per deal stage change (no duplicates)
- Log all campaign triggers for deal attribution

Exemple : Requête en langage naturel

You: "Find all HubSpot deals that closed this month and make sure
those contacts are getting our onboarding email sequence in Brevo."
Claude: Querying HubSpot for deals closed this month...
[Uses hubspot MCP to search deals with closeddate in current month]
Found 12 deals closed this month, involving 18 contacts.
Checking Brevo for these contacts...
[Uses brevo_contacts to look up each email]
Results:
- 14 contacts already in Brevo and receiving onboarding sequence
- 4 contacts not yet in Brevo
Creating 4 new Brevo contacts and adding to onboarding list...
[Uses brevo_contacts to create contacts]
[Uses brevo_lists to add to "Onboarding" list]
Done. All 18 contacts from this month's closed deals are now
in Brevo's onboarding sequence.

Prochaines étapes

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo