Pipeline de prospection B2B automatisée avec l'IA
mai 2026 · 12 min de lecture
🎁 50 leads offerts pour démarrer — sans carte de crédit à l'inscription
→ Créer un compte FullEnrich gratuitement
Stack utilisée : Claude (Cowork) · FullEnrich · NocoDB · Gmail
Résultat : chaque matin, 5 décideurs enrichis (email + téléphone) stockés en CRM + drafts prêts à envoyer — sans intervention manuelle.
Ce que fait cette automatisation
Chaque matin du lundi au vendredi à 8h, un agent IA exécute automatiquement :
- Recherche des décideurs ciblés (secteur, ville, taille d'entreprise) via FullEnrich
- Déduplication contre les leads déjà en CRM
- Enrichissement des emails professionnels vérifiés et numéros de téléphone
- Stockage structuré dans NocoDB (CRM)
- Génération de cold emails personnalisés par secteur
- Création des brouillons Gmail prêts à valider
- Rapport de run envoyé à la fin
Tout ce qu'il reste à faire manuellement : relire les drafts et appuyer sur Envoyer.
Prérequis
Outils à installer
| Outil | Rôle | Lien |
|---|---|---|
| Claude Desktop (Cowork) | Agent IA qui orchestre tout | claude.ai |
| FullEnrich | Enrichissement email + téléphone | fullenrich.com |
| NocoDB | CRM (base de données) | nocodb.com |
| Gmail | Envoi des emails | Compte Google |
MCPs (connecteurs) à configurer dans Claude
- FullEnrich MCP — connecte Claude à l'API FullEnrich
- NocoDB MCP — connecte Claude à ta base NocoDB
- Gmail MCP — connecte Claude à ta boîte Gmail
Les MCPs se configurent dans les paramètres de Claude Desktop → Connexions → Ajouter un connecteur.
Étape 1 — Créer la base NocoDB
1.1 Créer un compte NocoDB
Rends-toi sur nocodb.com (version cloud gratuite disponible) ou auto-héberge sur ton serveur.
1.2 Créer une base et noter les IDs
Après création de ta base, récupère :
- Base ID — visible dans l'URL :
app.nocodb.com/YOUR_BASE_ID/... - API Token — dans Paramètres → API Tokens → Générer
1.3 Créer la table CRM
Lance ce script Python en adaptant tes variables :
# create_crm_table.py
import requests
import os
API_TOKEN = "YOUR_NOCODB_API_TOKEN"
BASE_URL = "https://YOUR_NOCODB_INSTANCE" # ex: https://app.nocodb.com
BASE_ID = "YOUR_BASE_ID"
HEADERS = {
"xc-token": API_TOKEN,
"Content-Type": "application/json",
}
TABLE = {
"title": "CRM Leads",
"columns": [
# Identité
{"title": "Prénom", "uidt": "SingleLineText"},
{"title": "Nom", "uidt": "SingleLineText"},
{"title": "Email", "uidt": "Email"},
{"title": "Téléphone", "uidt": "PhoneNumber"},
# Entreprise
{"title": "Entreprise", "uidt": "SingleLineText"},
{"title": "Poste", "uidt": "SingleLineText"},
{"title": "Secteur", "uidt": "SingleLineText"},
{"title": "Taille entreprise", "uidt": "SingleSelect",
"colOptions": {"options": [
{"title": "1-10", "color": "#74C0FC"},
{"title": "11-50", "color": "#339AF0"},
{"title": "51-200", "color": "#1971C2"},
{"title": "201-500", "color": "#F76707"},
{"title": "500+", "color": "#CC5DE8"},
]}},
{"title": "Site Web", "uidt": "URL"},
{"title": "LinkedIn", "uidt": "URL"},
{"title": "Pays", "uidt": "SingleLineText"},
{"title": "Ville", "uidt": "SingleLineText"},
# Qualification
{"title": "Source", "uidt": "SingleSelect",
"colOptions": {"options": [
{"title": "LinkedIn", "color": "#0077B5"},
{"title": "Email froid", "color": "#FF6B6B"},
{"title": "Recommandation", "color": "#51CF66"},
{"title": "Site Web", "color": "#339AF0"},
{"title": "Événement", "color": "#F76707"},
{"title": "Appel entrant", "color": "#CC5DE8"},
{"title": "Partenaire", "color": "#FFD43B"},
{"title": "Autre", "color": "#868E96"},
]}},
{"title": "Statut", "uidt": "SingleSelect",
"colOptions": {"options": [
{"title": "Nouveau", "color": "#74C0FC"},
{"title": "Contacté", "color": "#FFD43B"},
{"title": "En discussion", "color": "#F76707"},
{"title": "Démo planifiée", "color": "#CC5DE8"},
{"title": "Proposition envoyée", "color": "#339AF0"},
{"title": "Négociation", "color": "#F06595"},
{"title": "Gagné", "color": "#51CF66"},
{"title": "Perdu", "color": "#FF6B6B"},
{"title": "En pause", "color": "#868E96"},
]}},
{"title": "Priorité", "uidt": "SingleSelect",
"colOptions": {"options": [
{"title": "Haute", "color": "#FF6B6B"},
{"title": "Moyenne", "color": "#FFD43B"},
{"title": "Basse", "color": "#51CF66"},
]}},
# Pipeline
{"title": "Valeur estimée (€)", "uidt": "Currency"},
{"title": "Probabilité (%)", "uidt": "Percent"},
{"title": "Produit / Offre", "uidt": "SingleLineText"},
# Suivi
{"title": "Date premier contact", "uidt": "Date"},
{"title": "Dernier contact", "uidt": "Date"},
{"title": "Prochain suivi", "uidt": "Date"},
# Enrichissement
{"title": "Email vérifié", "uidt": "Checkbox"},
{"title": "Enrichi via FullEnrich", "uidt": "Checkbox"},
# Notes
{"title": "Notes", "uidt": "LongText"},
{"title": "Raison perte","uidt": "LongText"},
{"title": "Tags", "uidt": "MultiSelect",
"colOptions": {"options": [
{"title": "Chaud", "color": "#FF6B6B"},
{"title": "Froid", "color": "#74C0FC"},
{"title": "Stratégique", "color": "#CC5DE8"},
{"title": "Nurturing", "color": "#FFD43B"},
{"title": "Partenaire", "color": "#51CF66"},
{"title": "Concurrent", "color": "#868E96"},
]}},
],
}
url = f"{BASE_URL}/api/v1/db/meta/projects/{BASE_ID}/tables"
resp = requests.post(url, headers=HEADERS, json=TABLE, timeout=30)
if resp.status_code in (200, 201):
data = resp.json()
print(f"✅ Table créée ! ID : {data.get('id')}")
else:
print(f"❌ Erreur {resp.status_code} : {resp.text}")
pip install requests
python create_crm_table.py
Note l'ID de la table retourné — tu en auras besoin pour la config.
Étape 2 — Créer le contexte marketing
Crée le fichier .agents/product-marketing-context.md à la racine de ton projet Cowork. C'est ce fichier que l'agent lit pour personnaliser les cold emails.
# [TON_ENTREPRISE] — Contexte marketing
## Produit / Service
[Description courte de ce que tu vends / fais]
## Promesse principale
[La promesse clé en 1-2 phrases]
## Offres
- [Offre 1] : description courte
- [Offre 2] : description courte
- [Offre 3] : description courte
## Expéditeur
[TON_PRENOM TON_NOM] — [TON_TITRE], [TON_ENTREPRISE]
## Cibles
- Taille : [ex: PME & ETI, 50 à 2000 salariés]
- Décideurs : [ex: DG, CEO, COO, DAF, DSI, DRH]
- Secteurs : [liste des secteurs prioritaires]
## Douleurs adressées
- "[Citation d'une douleur typique de tes prospects]"
- "[Autre douleur]"
- "[Autre douleur]"
## Différenciateurs
- [Ce qui te distingue concrètement]
- [Autre différenciateur]
## Ton
[ex: Professionnel, direct, sans jargon. Expert de confiance, pas vendeur.]
## CTA typique cold email
"[Ton CTA préféré, ex: Disponible pour un appel de 20 min cette semaine ?]"
Étape 3 — Installer le skill cold-email
cd ~/Documents/[TON_DOSSIER_PROJET]
# Option recommandée
npx skills add coreyhaines31/marketingskills --skill cold-email product-marketing-context
# Ou manuellement
git clone https://github.com/coreyhaines31/marketingskills.git /tmp/mktg
mkdir -p .agents/skills
cp -r /tmp/mktg/skills/cold-email .agents/skills/
cp -r /tmp/mktg/skills/product-marketing-context .agents/skills/
Étape 4 — Configurer l'automatisation dans Claude
Dans Claude Desktop (Cowork), ouvre une conversation et dis :
"Crée une tâche planifiée qui tourne tous les matins du lundi au vendredi à 8h"
Puis colle la config ci-dessous en adaptant les placeholders.
Config de l'automatisation (à adapter)
# Pipeline de prospection B2B — Run quotidien
Tu es l'assistant de [TON_PRENOM] [TON_NOM], [TON_TITRE] de [TON_ENTREPRISE]
([DESCRIPTION_COURTE_ENTREPRISE]).
## Objectif du run
Trouver 5 nouveaux décideurs dans des [TYPE_ENTREPRISE_CIBLE] à [VILLE_CIBLE],
enrichir leurs emails professionnels et numéros de téléphone,
les stocker en CRM et créer un draft Gmail personnalisé pour chacun.
---
## Contexte entreprise (pour la personnalisation des emails)
[TON_ENTREPRISE] [DESCRIPTION_OFFRE].
Cibles : [PERSONAS_DECISIONNAIRES] dans des entreprises de [TAILLE_MIN] à [TAILLE_MAX] salariés.
Ton : [DESCRIPTION_TON].
CTA : "[TON_CTA]"
---
## Étape 1 — Vérifier les crédits FullEnrich
Utilise mcp__[FULLENRICH_SERVER_ID]__get_credits.
Si moins de 20 crédits, arrête et notifie l'utilisateur.
## Étape 2 — Rechercher des leads
Utilise mcp__[FULLENRICH_SERVER_ID]__search_people avec :
- current_company_headquarters : [VILLE_CIBLE]
- current_company_headcounts : min [TAILLE_MIN], max [TAILLE_MAX]
- current_position_titles : [LISTE_TITRES_CIBLES]
- current_position_seniority_level : C-level, Director
- person_locations : [VILLE_CIBLE]
- limit : 10
Avant d'enrichir, vérifie les doublons dans NocoDB via
mcp__[NOCODB_SERVER_ID]__queryRecords sur la table [TABLE_ID].
Garde les 5 meilleurs leads (secteur privé uniquement, exclure
Government Agency, Educational, Nonprofit).
## Étape 3 — Enrichir avec FullEnrich
Utilise mcp__[FULLENRICH_SERVER_ID]__enrich_bulk :
- name : "[NOM_ENRICHISSEMENT] — [date du jour]"
- contacts : les 5 leads (firstname, lastname, company, domain, linkedin_url)
- fields : ["contact.work_emails", "contact.phones"]
Attends la fin avec get_enrichment_results (toutes les 10s, max 3 tentatives).
## Étape 4 — Stocker dans NocoDB
Pour chaque lead, crée un enregistrement via
mcp__[NOCODB_SERVER_ID]__createRecords sur la table [TABLE_ID] avec :
- Prénom, Nom, Email, Téléphone
- Entreprise, Poste, Secteur, Taille entreprise
- Site Web, LinkedIn, Pays, Ville
- Source : "Autre"
- Statut : "Nouveau"
- Priorité : "Haute" si email DELIVERABLE, "Moyenne" sinon
- Date premier contact : date du jour
- Email vérifié : true si DELIVERABLE
- Enrichi via FullEnrich : true
- Tags : "Chaud" si email DELIVERABLE
- Notes : résumé court du contexte
## Étape 5 — Créer les drafts Gmail
Pour chaque lead avec un email DELIVERABLE, crée un draft via
mcp__[GMAIL_SERVER_ID]__create_draft.
Règles du cold email :
- Maximum 4 phrases dans le corps
- NE PAS commencer par "Je suis" ou "Chez [entreprise]"
- Phrase 1 : observation sur LEUR contexte (secteur, taille, défi)
- Phrases 2-3 : ce que [TON_ENTREPRISE] fait concrètement dans ce contexte
- Phrase 4 : "[TON_CTA]"
- Signature : [TON_PRENOM] [TON_NOM] / [TON_TITRE] – [TON_ENTREPRISE] / [TON_SITE]
- Objet : court, ancré sur LEUR réalité (sans majuscules excessives)
Après chaque draft, mets à jour le CRM : Statut → "Contacté",
Prochain suivi → J+3.
## Étape 6 — Rapport de fin de run
Résume :
- Leads trouvés / enrichis
- Emails DELIVERABLE
- Téléphones obtenus
- Drafts Gmail créés
- Crédits restants
- Problèmes éventuels
---
## Infos techniques
- NocoDB Base ID : [NOCODB_BASE_ID]
- NocoDB Table ID : [NOCODB_TABLE_ID]
- Email expéditeur : [TON_EMAIL]
Étape 5 — Lancer et approuver les permissions
La première fois, clique sur "Run now" dans la section Scheduled du sidebar Claude. Cela permettra d'approuver une fois les outils nécessaires (FullEnrich, NocoDB, Gmail) pour que les runs suivants tournent sans interruption.
Trouver les IDs des MCPs
Les IDs des serveurs MCP (ex: mcp__0adb3ed2-...) sont visibles dans Claude quand tu utilises les outils. Pour les trouver :
- Dans une conversation Claude, appelle un outil de chaque connecteur
- L'ID du serveur apparaît dans le nom de l'outil utilisé
- Note-les et remplace les placeholders
[FULLENRICH_SERVER_ID],[NOCODB_SERVER_ID],[GMAIL_SERVER_ID]dans la config
Séquence de suivi recommandée
Une fois les drafts envoyés, planifier les relances :
| Délai | Action |
|---|---|
| J+0 | Email 1 envoyé (draft validé manuellement) |
| J+3 | Relance 1 — angle différent, pas de répétition |
| J+7 | Relance 2 — apport de valeur (article, insight secteur) |
| J+14 | Relance 3 — break-up email court |
Mettre à jour le statut CRM après chaque interaction.
Résultat attendu
| Métrique | Valeur |
|---|---|
| Leads recherchés / run | 10 |
| Leads retenus / run | 5 |
| Emails DELIVERABLE visés | 5 |
| Téléphones visés | 5 |
| Drafts Gmail créés | 3-5 |
| Crédits FullEnrich consommés | ~15-25 / run |
| Temps manuel | < 5 min (relecture + envoi) |
Ressources
🎁 Tu veux tester FullEnrich ?
Crée un compte gratuitement et reçois 50 leads offerts — aucune carte de crédit requise à l'inscription.
→ fullenrich.com