En résumé : Pour enrichir vos leads entrants à l’aide d’agents, envoyez l’adresse e-mail et le domaine de chaque nouvel inscrit à un webhook qui déclenche l’exécution d’un agent. L’agent enrichit le profil de la personne via People Data Labs et celui de l’entreprise via Apollo, vérifie l’absence de sanctions internationales, évalue la correspondance avec votre ICP et crée une tâche par lead. Un membre de l'équipe vérifie chaque lead qualifié avant l'envoi d'une quelconque réponse. Vous payez ainsi par lead en crédits Firecrawl, et non par licence utilisateur.
Lorsqu'une inscription arrive, elle ne comporte que deux champs utiles : une adresse e-mail et un domaine d'entreprise. Il faut ensuite transformer ces données en décision. S'agit-il d'un acheteur potentiel, d'un étudiant, d'un concurrent ou d'une entité avec laquelle la loi vous interdit de commercer ?
La réponse habituelle consiste à payer une licence d'outil d'enrichissement pour chaque personne chargée de trier les leads. Apollo facture par utilisateur (seat), et sa grille tarifaire précise que tous les utilisateurs d'un compte partagent le même forfait. Cela a du sens lorsque ce sont des humains qui effectuent les recherches. Mais lorsqu'un agent s'en charge, la personne qui consulte le résultat n'a absolument pas besoin de licence.
Ce guide explique comment mettre en place ce flux sur Sharkly, avec Claude Code ou Codex comme environnement d'exécution et Firecrawl Alexandria comme couche de données. Chaque tarif en crédits indiqué ci-dessous correspond aux prix catalogue de Firecrawl relevés le 3 novembre 2026. Nous n'avons pas traité de lead réel pour cet article ; considérez donc ces totaux comme des exemples illustratifs et vérifiez les tarifs dans le playground avant toute mise en production.
Pourquoi enrichir les leads entrants avec des agents
L'enrichissement des leads entrants consiste à compléter le poste, l'entreprise et l'adéquation d'un nouveau contact avant qu'un humain n'y consacre du temps. Un agent peut exécuter les recherches, appliquer vos critères et rédiger un brief d'un paragraphe. La décision finale de répondre ou non reste entre les mains d'une personne.
Déléguer ces recherches à un agent change trois choses fondamentales :
- La facturation s'adapte au volume de leads. Une seule clé Firecrawl couvre l'ensemble des fournisseurs. Chaque requête a un coût fixe en crédits, et les recherches sans correspondance chez les fournisseurs ci-dessous ne coûtent rien.
- Vos règles deviennent du code. Votre ICP est défini dans un fichier versionné et relu que l'agent consulte à chaque exécution, plutôt que de reposer sur l'intuition d'un opérateur.
- Chaque lead bénéficie des mêmes vérifications. La 40e inscription de la journée passe exactement le même contrôle de sanctions que la première.
Vue d'ensemble du pipeline d'enrichissement entrant
| Étape | Fournisseur et fonctionnalité | Tarif catalogue | Gratuit si |
|---|---|---|---|
| 1. Déclenchement par webhook | Sharkly Automation | 0 crédit | Toujours |
| 2. Enrichissement de la personne | People Data Labs person/enrich |
60 crédits | La correspondance est inférieure à min_likelihood (404) |
| 3. Enrichissement de l'entreprise | Apollo companies/bulk-enrich |
30 crédits par entreprise trouvée | Le domaine ne correspond à aucun résultat |
| 4. Contrôle des sanctions | OpenSanctions (opensanctions-org) |
À vérifier avec find-tools |
Ne jamais le présumer gratuit |
| 5. Scoring et routage | Votre fichier de règles | 0 crédit | Toujours |

Étape 1 : Un webhook déclenche l'exécution de l'enrichissement
Dans Sharkly, une Automation est une règle rattachée à un Space qui délègue des tâches répétitives à un agent ou à une Crew. L'un de ses types de déclencheurs est un webhook : une URL secrète qui accepte une requête POST venant d'un autre service. Votre backend d'inscription y envoie alors le nouveau lead.
# From your signup handler. The URL is a secret; keep it in your app's env.
curl -X POST "$SHARKLY_LEAD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{"signup_id": "su_10482", "email": "[email protected]", "domain": "example-corp.com"}'
Sharkly n'affiche l'URL complète qu'une seule fois, au moment de la création ou de la régénération du déclencheur. Par la suite, la carte du déclencheur indique simplement que l'URL est active. Vous pouvez également ajouter un secret de signature afin que les requêtes soient obligatoirement authentifiées.

Un détail structure cette conception : une Automation lance une exécution d'agent, pas une tâche. Les instructions indiquent donc à l'agent de créer lui-même la tâche associée au lead à la fin du processus. L'historique d'exécution conserve le payload du déclencheur, ce qui permet de garder une trace exacte des données reçues pour chaque lead.
Étape 2 : Enrichir le profil de la personne à partir de l'e-mail
La fonctionnalité person/enrich de People Data Labs est affichée à 60 crédits par appel. Une simple adresse email suffit comme paramètre d'entrée. Le paramètre qui permet de maîtriser vos dépenses est min_likelihood, qui s'échelonne de 1 à 10 avec une valeur par défaut de 2. En augmentant cette valeur, les correspondances incertaines renvoient une erreur 404 au lieu d'une fiche complète. La documentation de Firecrawl le résume parfaitement : « ici, une 404 est gratuite, alors qu'une mauvaise fiche ne l'est pas ».
// enrich-lead.mjs: one call per signup, key injected as $FIRECRAWL_API_KEY
const call = (alexandria) =>
fetch("https://api.firecrawl.dev/v2/scrape", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.FIRECRAWL_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ alexandria }),
}).then((r) => r.json());
const person = await call({
provider: "people-data-labs",
capability: "person/enrich",
options: { email: lead.email, min_likelihood: 6, titlecase: true },
});
const p = person.alexandria?.[0];
if (p?.error) brief.errors.push(p.error); // check every result before using it
L'enregistrement renvoyé compte environ 150 champs. Votre brief n'en nécessite que cinq. Avec des valeurs fictives, la partie conservée par l'agent ressemble à ceci :
{
"full_name": "Jordan Example",
"job_title": "Director Of Platform Engineering",
"job_company_name": "Example Corp",
"linkedin_url": "linkedin.com/in/placeholder",
"likelihood": 8
}
Surveillez également les quotas. Via Alexandria, People Data Labs autorise 50 000 appels d'API par an et par organisation cliente, tous endpoints confondus (personnes et entreprises). Les nouvelles tentatives (retries) sont décomptées et le quota est réinitialisé le 1er janvier à minuit UTC.
Étape 3 : Enrichir l'entreprise à partir du domaine
Les données d'entreprises d'Apollo couvrent les levées de fonds, les effectifs et les technologies utilisées. L'exemple fourni par Firecrawl utilise la fonctionnalité companies/bulk-enrich, qui accepte jusqu'à dix domaines par requête. Le comparatif de Firecrawl d'octobre 2026 l'affiche à 30 crédits par entreprise trouvée, les domaines sans correspondance étant gratuits.
const company = await call({
provider: "apollo",
capability: "companies/bulk-enrich",
options: { "domains[]": [lead.domain] },
});
const org = company.alexandria?.[0]?.data?.organizations?.[0];
// org.name, org.estimated_num_employees, funding and technology fields
La page consacrée à Apollo sur Alexandria mentionne une compétence intégrée appelée « CRM account data refresh ». Elle réenrichit les comptes à partir de leur domaine et compare les nouvelles valeurs avec celles déjà présentes dans le CRM. Il s'agit du même appel d'API, mais appliqué à vos comptes existants plutôt qu'à de nouvelles inscriptions.
Étape 4 : Vérifier l'absence de sanctions pour chaque lead
La catégorie People d'Alexandria comprend OpenSanctions — une base de données recensant sanctions, PPE (personnes politiquement exposées) et personnes d'intérêt — ainsi que la liste des sanctions du Royaume-Uni. La découverte d'outils étant gratuite, demandez à l'agent d'identifier la fonctionnalité de vérification et son tarif avant le premier appel payant :
firecrawl find-tools --options '{"providers": ["opensanctions-org"]}' --include-costs
La fonctionnalité de dataset d'OpenSanctions indique un tarif de 5 crédits par exécution. Ne partez pas du principe que la recherche d'entités coûte la même chose ; fiez-vous au prix retourné par find-tools. Vérifiez également la licence d'utilisation. OpenSanctions publie ses données sous licence CC BY-NC 4.0 et vend des licences distinctes pour le filtrage commercial. Votre pipeline de leads en production doit donc disposer de la licence appropriée.
Une correspondance ne signifie pas que l'agent rejette automatiquement le lead : la tâche est simplement transmise à un humain avec le signalement correspondant en pièce jointe.
Étape 5 : Évaluer l'adéquation avec votre ICP
Le scoring ne coûte rien puisqu'il analyse des champs pour lesquels vous avez déjà payé. Définissez vos critères dans un Sharkly Skill afin que chaque exécution utilise le même fichier et que toute modification fasse l'objet d'une revue.
# inbound-icp.md (owner: head of sales)
qualify_if: employees >= 50 AND title in [Director, VP, Head, CTO] AND sanctions_match == false
nurture_if: employees < 50 OR title not senior
disqualify_if: free_email_domain OR known_competitor_domain
on_sanctions_match: route to Sales review with the match, never auto-reply
brief_fields: [name, title, company, employees, funding, score, reason, credits_spent]
Acheminer le lead sur le tableau de suivi
C'est au niveau de l'acheminement que Sharkly prend tout son sens. Les statuts de tâche sont configurables par type de tâche, et chaque statut est rattaché à une catégorie prédéfinie. Pour les leads, trois statuts suffisent :
| Statut | Catégorie | Attribué à | Prochaine étape |
|---|---|---|---|
| Sales review | Unstarted | Un membre de l'équipe | Brief et projet de réponse dans la tâche, relus avant envoi |
| Nurture | Backlog | Personne | En attente d'une future campagne |
| Disqualified | Canceled | Personne | Archivé avec le motif, aucune exécution ultérieure |
L'agent crée la tâche en guise de dernière étape de son exécution :
sharkly task create \
--title "Lead: Example Corp (Director Of Platform Engineering)" \
--body-file brief.md \
--status "Sales review" \
--assignee <member> --output json
L'assignation parvient dans l'Inbox du collaborateur sous forme de signal principal (Primary signal). Si l'agent rédige un premier projet de réponse, ce brouillon figure directement dans le corps de la tâche. L'agent ne l'envoie jamais de lui-même. Ce point de contrôle humain correspond au modèle que nous décrivons dans notre article sur les agents de code avec intervention humaine (human-in-the-loop).
Le décompte des crédits par lead
Pour un lead dont les informations correspondent chez les deux fournisseurs, le coût total calculé d'après les tarifs catalogue s'établit comme suit :
| Appel | Crédits |
|---|---|
People Data Labs person/enrich |
60 |
Apollo companies/bulk-enrich (1 domaine trouvé) |
30 |
| Contrôle des sanctions | Tarif obtenu via find-tools |
| Scoring et routage | 0 |
| Total avant contrôle des sanctions | 90 |
D'après la grille tarifaire de Firecrawl, le forfait Hobby s'élève à 19 $ pour 5 000 crédits par mois, soit 0,0038 $ par crédit. Cela revient à 0,342 $ par lead pour 90 crédits. Le forfait Standard est à 99 $ pour 100 000 crédits, soit 0,00099 $ par crédit, ce qui ramène le coût du même lead à 0,0891 $. Pensez à ignorer l'appel d'enrichissement d'entreprise pour les domaines de messagerie gratuite tels que gmail.com ; sans cela, vous dépenserez 30 crédits simplement pour découvrir les effectifs de Google.
À raison de 100 leads qualifiés par mois, vous consommerez 9 000 crédits. C'est plus que les 5 000 crédits inclus dans l'offre Hobby : il faudra donc acheter des crédits supplémentaires ou passer au forfait Standard. Faites ces calculs en fonction de votre propre volume avant de choisir une offre.
Une précision s'impose toutefois concernant la comparaison des modèles par utilisateur. Apollo facture par siège (seat). Clay ne le fait pas : sa page de tarification propose un nombre illimité d'utilisateurs par espace de travail sur tous ses forfaits. Le propos ici n'est pas d'affirmer de manière simpliste que « la facturation par siège est une mauvaise chose ». Simplement, lorsque ce sont des agents qui effectuent les recherches, la facturation s'aligne sur le nombre réel de leads traités, et non sur le nombre de personnes qui en consultent les résultats.
Comment Sharkly orchestre l'ensemble du flux
Claude Code ou Codex exécute les appels d'API. Sharkly assure la visibilité de tout le travail qui gravite autour.
- La clé API reste hors des tâches. Définissez
FIRECRAWL_API_KEYdans les variables d'environnement de l'agent. Sharkly signale que ces valeurs en texte clair sont visibles par les gestionnaires d'agents ; veillez donc à utiliser une clé aux autorisations restreintes à cet usage. - Les agents ne consomment pas de licences. Chez Sharkly, un siège correspond à une personne physique. Les Agents, Crews, Computers et Runtimes n'en occupent aucun.
- Chaque exécution laisse une trace. L'historique d'exécution des Automations conserve le payload déclencheur, le détail du run de l'agent ainsi que les éventuels motifs d'échec.
Avant de vous appuyer pleinement sur le webhook, utilisez l'option Run now sur l'Automation avec un payload de test. Examinez ensuite quelques exécutions avant d'activer la génération automatique de brouillons de réponse. Le guide des Automations détaille chaque type de déclencheur.
Commencer avec un simple webhook
Pour enrichir vos leads entrants avec des agents, commencez par une configuration simple : un webhook, un agent, deux appels d'enrichissement, un fichier de règles et un statut de révision. Testez ce flux sur vos 20 prochaines inscriptions et lisez chaque brief avant d'envoyer la moindre réponse. Sharkly propose une version gratuite pour démarrer, et la consommation de modèles s'appuie sur le forfait Claude Code ou Codex déjà associé à votre Runtime.
FAQ
Combien coûte l'enrichissement d'un lead entrant avec Firecrawl ?
Aux tarifs catalogue de Firecrawl, un lead qui trouve une correspondance à la fois sur People Data Labs et sur Apollo coûte 90 crédits, hors contrôle des sanctions. Cela représente environ 0,34 $ avec le forfait Hobby et 0,09 $ avec l'offre Standard, en facturation mensuelle.
Un enrichissement sans correspondance consomme-t-il des crédits ?
Pas chez ces deux fournisseurs. Une correspondance People Data Labs inférieure à votre seuil min_likelihood renvoie une erreur 404 gratuite, et l'enrichissement d'entreprises en masse d'Apollo ne facture aucun crédit pour les domaines non trouvés.
L'agent peut-il répondre au lead de manière autonome ?
Il est préférable de l'en empêcher. L'agent crée la tâche en y insérant un brouillon, puis un humain se charge d'envoyer la réponse après vérification.
L'utilisation commerciale d'OpenSanctions est-elle gratuite ?
Non. Ses données sont publiées sous licence CC BY-NC 4.0, et le contrôle dans un cadre commercial nécessite l'une de ses licences payantes. Vérifiez ce point avant de l'intégrer à votre processus de vente.
Faut-il une licence utilisateur Apollo pour cela ?
Aucune licence n'est requise pour les appels effectués par l'agent, car ils transitent par votre clé Firecrawl. Firecrawl peut toutefois demander à un administrateur de l'organisation d'accepter préalablement les conditions d'utilisation des données du fournisseur ; l'erreur retournée est alors THIRD_PARTY_DATA_TERMS_REQUIRED.
Que faire si Firecrawl demande d'accepter des conditions au beau milieu d'une exécution ?
La réponse renvoie un champ requiresAction.url. Un administrateur de l'organisation peut s'y rendre pour accepter les conditions. La documentation de Firecrawl stipule que les agents ont besoin de l'autorisation explicite d'un utilisateur avant d'accepter des conditions ; l'agent doit donc laisser la tâche en attente d'une intervention humaine.



