Pourquoi ce module
Le marché global des outils CRM représente environ 101-126 milliards USD (93-116 milliards euros) en 2026, avec une croissance rapide du segment commercial/prospection. Parallèlement, les équipes commerciales perdent en moyenne 4 à 6 heures par semaine à des tâches manuelles d'enrichissement, de qualification et de saisie CRM. Le HubSpot MCP officiel (Claude API MCP Connector en public beta février 2026 ; Remote MCP/Custom connectors en beta avril 2026) change la donne : votre IDE devient le copilote de votre pipeline commercial.
Ce module vous transforme en opérateur d'un pipeline de prospection agentique complet : recherche → enrichissement → qualification → email personnalisé → écriture CRM, sans quitter Claude Code.
Prérequis : avoir un compte HubSpot Sales Hub (Free, Starter ou Professional), une clé API Anthropic, et avoir suivi les modules J1–J4 du programme nominal (ou maîtriser settings.json, skills custom et sub-agents).
Objectifs pédagogiques
À l'issue de ce module, vous serez capable de :
- Connecter HubSpot CRM à Claude Code via le MCP officiel (OAuth 2.1 + PKCE)
- Coder une skill
/qualifier-lead <SIREN>qui interroge data.gouv (Sirene/BODACC), enrichit via LinkedIn, qualifie par sub-agent BANT/MEDDIC, et pousse dans HubSpot (deal + note + tâche) - Coder une skill
/prospecter <secteur> <zone>qui orchestre la recherche multi-sources, le dédoublonnage et l'export vers HubSpot Sequences - Sécuriser les écritures CRM via le mode
Needs Approval(sinon les sub-agents peuvent modifier vos deals sans confirmation) - Maîtriser le cadre RGPD prospection BtoB : intérêt légitime, opt-out, Loi REEN, conservation 3 ans max
Plan détaillé
- Sources de données B2B publiques en France
- Trois voies d'intégration HubSpot MCP
- Setup pas à pas (15 min)
- Sécurité critique : Needs Approval
- Skill
/qualifier-lead - Skill
/prospecter - Sub-agents commerciaux orchestrés
- Génération de séquences personnalisées
- RGPD prospection BtoB
- Atelier final : pipeline complet
Sources de données B2B publiques en France
Avant de connecter HubSpot, sachez ce qui est gratuit, public et qualifiant. Voici l'architecture globale du pipeline prospection agentique qui synthétise tous les modules :
Chargement du schéma…
| Source | Contenu | Endpoint |
|---|---|---|
annuaire-entreprises.data.gouv.fr | Sirene complète : raison sociale, SIRET/SIREN, NAF/APE, adresse, dirigeants | /api/etablissements/recherche?q=... |
data.gouv.fr | BODACC (annonces légales), comptes (effectif, CA, résultat) | datasets BODACC, INPI |
INPI Data | Registre national des entreprises (mise à jour quotidienne, licence ouverte) | OAuth — gratuit après inscription |
INSEE Sirene | Référentiel officiel, plus exhaustif que data.gouv mais throttlé | API key gratuite après inscription |
Astuce : ne jamais scraper
societe.comoupappers.frcôté serveur — ils sont protégés par CAPTCHA. Utilisezannuaire-entreprises.data.gouv.frqui agrège ces sources officiellement.
MCP data-gouv-fr custom
Plutôt que d'appeler ces APIs en raw fetch à chaque skill, vous codez un
serveur MCP unique qui expose 4 tools à Claude :
{
"tools": [
"search_sirene",
"fetch_dirigeants",
"fetch_naf_details",
"fetch_bodacc_announcements"
]
}
Le pattern complet de ce serveur MCP est détaillé en démo live pendant la session. Le code source de référence sera fourni dans votre repo après J3.
Trois voies d'intégration HubSpot MCP
HubSpot expose son CRM à Claude via trois mécanismes que vous devez savoir distinguer :

/mcp aux côtés des autres serveurs (scope, transport, nombre d'outils exposés) — la vue de contrôle des connexions CRM.Voie 1 — HubSpot CLI 8.2+ (hs mcp setup)
npm i -g @hubspot/cli@latest
hs auth # OAuth interactif
hs mcp setup # configure ~/.claude/mcp.json
✅ Quand l'utiliser : vous voulez tout configurer en CLI, depuis votre terminal, sans interface graphique. Idéal pour les profils tech.
⚠️ Limites : la portée OAuth est large (read+write sur tous les objets CRM). Pas de sélection fine des permissions.
Voie 2 — Connector officiel Claude (Pro/Max/Team)
Dans Claude Code (UI) → Connectors → "+ Add connector" → HubSpot. Authentifie via OAuth, pas de code.
✅ Quand l'utiliser : profils non-tech, test rapide, démos.
⚠️ Limites : pas disponible sur Claude Code CLI sans interface, et la configuration n'est pas versionnée dans votre repo.
Voie 3 — MCP open-source (peakmojo/mcp-hubspot via Smithery ou Docker)
Pour installer le MCP HubSpot de peakmojo, utilisez l'une des trois méthodes suivantes :
Option A — Smithery (recommandé)
npx -y @smithery/cli@latest install mcp-hubspot --client claude
Option B — Docker
docker run -e HUBSPOT_ACCESS_TOKEN=your_token buryhuang/mcp-hubspot:latest
Option C — Source GitHub Consultez le dépôt peakmojo/mcp-hubspot pour les instructions de construction locale.
✅ Quand l'utiliser : vous voulez vector storage local (cache embeddings de vos contacts) et caching agressif pour contourner les rate limits HubSpot (100 req/10s sur Free et Starter, 190 req/10s sur Professional/Enterprise).
⚠️ Limites : maintenu par la communauté, vérifiez les commits récents avant adoption en prod. Token Private App nécessite des scopes manuels.
Recommandation pour le module : on utilise la voie 1 (HubSpot CLI) pour la prise en main, puis on migre vers la voie 3 pour les workflows de prospection à fort volume (>500 contacts/jour).
Setup pas à pas (15 min)
# 1. Installer le CLI HubSpot
npm install -g @hubspot/cli@latest
# 2. Auth OAuth (ouvre votre navigateur, choisissez le portail)
hs auth
# 3. Vérifier la connexion
hs accounts list
# 4. Configurer le MCP (génère ~/.claude/mcp.json automatiquement)
hs mcp setup
# 5. Redémarrer Claude Code
# 6. Vérifier dans Claude Code :
# /mcp → vous devriez voir "hubspot" dans la liste
Test fonctionnel en 1 commande dans Claude Code :
> Liste mes 5 derniers deals fermés ce mois-ci.
Claude appelle automatiquement le tool hubspot__search_deals avec les
filtres adéquats.
Sécurité critique : Needs Approval
Sans configuration, les sub-agents peuvent modifier vos deals sans confirmation. Cela inclut : créer/supprimer des contacts, mettre à jour des deals à 0 €, archiver des engagements. Catastrophe assurée si un prompt mal calibré déclenche une cascade.
Configuration obligatoire dans settings.json :
{
"permissions": {
"tools": {
"mcp__hubspot__create_*": "needs-approval",
"mcp__hubspot__update_*": "needs-approval",
"mcp__hubspot__delete_*": "deny",
"mcp__hubspot__search_*": "allow",
"mcp__hubspot__list_*": "allow"
}
}
}
Règle d'or :
read= allow,write= needs-approval,delete= deny. Si un sub-agent a besoin de delete, vous l'invoquez explicitement et l'approuvez à la main.
Audit trail : tous les write Stripe et HubSpot sont aussi tracés dans
audit_logs côté Fransys (action hubspot.write, IP, payload).
Skill /qualifier-lead <SIREN>
Cette skill prend un numéro SIREN en argument et produit un dossier prospect complet poussé dans HubSpot. Voici le découpage en 4 phases distinctes :
Chargement du schéma…
Architecture (~/.claude/skills/qualifier-lead/) :
qualifier-lead/
├── SKILL.md # orchestration (3 phases)
├── STAGES.md # détails de chaque phase (chargé à la demande)
├── RULES.md # critères BANT / MEDDIC / SPICED
└── EXAMPLES.md # 3 cas réels qualifiés (anonymisés)
SKILL.md (extrait — l'intégralité est fournie dans votre repo après le module) :
---
name: qualifier-lead
description: Recherche → enrich → qualifie → push HubSpot
allowed-tools:
- Bash(curl:*)
- WebFetch(domain:annuaire-entreprises.data.gouv.fr)
- mcp__data-gouv__*
- mcp__hubspot__search_*
- mcp__hubspot__create_*
argument-hint: <SIREN>
model: claude-sonnet-4-6
---
## Phase 1 — Récupération données publiques
Utilise mcp__data-gouv__search_sirene avec $1 (le SIREN).
Récupère : raison sociale, NAF, effectif, CA, résultat, dirigeants.
## Phase 2 — Enrichissement
Pour chaque dirigeant identifié, cherche son profil LinkedIn via
WebFetch (annuaire-entreprises ne donne pas LinkedIn).
## Phase 3 — Qualification
Suis les critères BANT (RULES.md) puis MEDDIC. Retourne un score
ICP/100 et les "trois questions à poser" pour la découverte.
## Phase 4 — Push HubSpot (needs-approval)
Si score >= 60 : crée un deal en stage "Qualified Lead" + note avec
le dossier qualifié + tâche "Premier contact à 48h".
Démo en live : pendant la session, on lance
/qualifier-lead 552120222(Air France-KLM, SIREN public) et on observe les 4 phases s'enchaîner.
Skill /prospecter <secteur> <zone>
Cette skill prend un code NAF et une zone géographique, et produit une liste qualifiée de 50 prospects exportée dans une nouvelle séquence HubSpot.
Workflow agentique (5 sub-agents en parallèle) :
/prospecter 7022Z paris-75
├─ enrich-agent → recherche Sirene + filtre effectif 10-200
├─ dedupe-agent → croise avec contacts HubSpot existants
├─ score-agent → ICP score / 100 sur chaque prospect (Haiku)
├─ persona-agent → identifie persona décisionnaire par taille d'entreprise
└─ writer-agent → drafte 3 angles d'email par persona
↓
sequence-creator → crée HubSpot sequence + 3 emails templates
Sortie attendue : 50 contacts importés en HubSpot, organisés en 1 sequence, 3 emails draftés par persona.
Sub-agents commerciaux orchestrés
Les 4 sub-agents principaux à connaître. Voici comment ils sont orchestrés et quels outils chacun manipule :
Chargement du schéma…
| Sub-agent | Tools alloués | Modèle | Use case |
|---|---|---|---|
enrichisseur | data-gouv-mcp, WebFetch LinkedIn | Sonnet | Enrich rapide d'un compte |
qualificateur | (pas de tools) | Sonnet | Score BANT/MEDDIC pur reasoning |
redacteur | (pas de tools) | Sonnet | Drafte les emails personnalisés |
reporting | mcp__hubspot__search_*, Bash(jq) | Haiku | Rapport hebdo automatique |
Tip :
qualificateurn'a aucun tool — il ne peut que raisonner sur le payload qu'on lui passe. Cela élimine tout risque d'écriture accidentelle dans HubSpot pendant le scoring.
Génération de séquences personnalisées
Pour chaque persona identifié, le redacteur produit une séquence de
3-5 touches :
- Touche 1 (J0) — Email court (60 mots), angle "vu votre [donnée publique extraite de Sirene]", question d'ouverture
- Touche 2 (J+3) — Si pas de réponse, partage d'un asset utile (article, étude) lié au pain point identifié
- Touche 3 (J+7) — Question directe "êtes-vous la bonne personne ?"
- Touche 4 (J+14) — Break-up email
- Touche 5 (J+30) — Re-engagement avec un nouvel angle
Chaque email est généré en respectant le ton et l'angle adapté au persona (CMO ≠ CTO ≠ Founder).
RGPD prospection BtoB
La prospection commerciale BtoB en France est régie par :
| Texte | Disposition clé |
|---|---|
| RGPD art. 6.1.f | Base légale intérêt légitime valable pour BtoB si proportionné |
| Loi Informatique et Libertés art. 5 | Mêmes obligations que RGPD |
| Loi REEN | Opt-out obligatoire dans chaque email commercial |
| Recommandation CNIL | Conservation max 3 ans à compter du dernier contact du prospect (action substantive comme reply, clic ou demande d'info — pas une simple ouverture d'email) |
Règles concrètes dans votre pipeline :
- ✅ Vous pouvez démarcher tout pro avec un email pro identifiable
- ✅ Mais vous devez opt-out à 1 clic dans chaque email (header
List-Unsubscribe+ lien dans le footer) - ✅ Conservation 3 ans max sans interaction → script de suppression automatique sur HubSpot
- ❌ Pas d'achat de bases tierces non-conformes (Apollo "verified" ≠ conformité automatique)
- ❌ Pas de scraping de profils LinkedIn personnels
Concrètement : la skill
/prospecterinjecte automatiquement le lien opt-out dans chaque email généré, et l'admin Fransys fournit un cron de purge des contacts inactifs > 3 ans.
Atelier final : pipeline complet (90 min)
À la fin du module, vous construisez un pipeline opérationnel sur votre secteur cible réel.
Livrable :
- MCP
data-gouv-frconfiguré et testé - MCP
hubspotconnecté avecNeeds Approvalactif - Skill
/qualifier-leadqui produit un dossier complet sur 1 SIREN réel de votre marché - Skill
/prospecterqui produit 20 leads qualifiés exportés dans une séquence HubSpot - Audit RGPD de la séquence (opt-out, conservation, base légale documentée)
Critères d'évaluation :
- ✅ Skill exécutable de bout en bout sans intervention
- ✅ Sous-agents alignés (enrichisseur ne fait que enrichir, etc.)
- ✅ Permissions HubSpot bien configurées (write needs-approval)
- ✅ RGPD opt-out en footer de chaque email généré
- ✅ Documentation des angles personas (1 page max)
Pour aller plus loin
- 📖 HubSpot Developer — MCP officiel
- 📖 Yousign blog — RGPD prospection BtoB
- 🛠
peakmojo/mcp-hubspot— MCP open-source avec vector storage - 🛠
@hubspot/cli— CLI officiel - 🎯 Modules complémentaires : M3 Hallucination mitigation (validation des écritures CRM), M11 ROI mesurable (mesurer l'impact de la prospection automatisée)
Récapitulatif
À retenir absolument :
Needs Approvalsur tous les write HubSpot — non négociable- Sub-agents sans tools pour les phases de raisonnement pur (qualificateur, redacteur)
- Snapshot RGPD : intérêt légitime BtoB OK, mais opt-out 1 clic et conservation 3 ans max
- Pipeline = composition de skills (
/qualifier-leadpeut être appelé depuis/prospecter) - Cache MCP = clé pour tenir les rate limits HubSpot sur les gros volumes