Aller au contenu
LeadStack
Étude de cas, en détail

Un vrai logiciel de prospection, pas un extracteur de plus

LeadStack collecte des entreprises sur une carte, les range dans un CRM, enchaîne les appels, relance par e-mail et fait tourner le tout sans personne devant l'écran. Sept modules, un connecteur pour les assistants, deux langues, en production.

Page d'accueil de LeadStack

Montage

Partenariat co-investi

Secteur

Prospection B2B, équipes terrain

Adresse

leadstack.fr

01, Le point de départ

Le travail se perd entre l'export et le premier appel

Les outils d'extraction existants font une chose : produire un fichier. Ensuite, quelqu'un le nettoie, l'importe dans un CRM, retire les doublons, répartit les lignes entre les commerciaux, et seulement là quelqu'un décroche un téléphone. Chacune de ces étapes prend du temps et chaque transfert de fichier est une occasion de se tromper.

Les plateformes de prospection terrain, de leur côté, supposent que la base existe déjà. Elles sont très bonnes pour organiser des tournées et suivre une activité, mais elles attendent qu'on leur apporte les prospects. Le même trou, vu de l'autre côté.

L'hypothèse de départ de LeadStack tient en une phrase : la donnée locale est publique et disponible sur la carte, donc le logiciel n'a aucune raison d'attendre un import. Tout le reste de l'architecture découle de cette décision.

02, Ce qu'il y a dedans

07 modules

01De la zone à la fiche

Collecte cartographique

L'utilisateur trace une zone sur la carte et choisit une activité. La plateforme interroge la source cartographique, normalise ce qui revient et écrit directement des fiches exploitables. Pas de CSV, pas d'import, pas de colonnes à faire correspondre.

  • Zone libre : quartier, ville, rayon autour d'une adresse
  • Dédoublonnage à l'écriture, pas après coup
  • Un crédit débité par fiche réellement enregistrée
  • Fond de carte servi par un CDN tiers, jamais par notre serveur
Collecte en direct par zone dans LeadStack
02La fiche est le point fixe

Pipeline CRM

Toute l'activité se range sur la fiche : appels, notes, e-mails, relances. Le kanban et la vue liste lisent la même donnée. Les étapes sont configurables, parce qu'aucune équipe commerciale ne travaille avec le même vocabulaire que la voisine.

  • Kanban et liste sur le même état, pas deux modèles
  • Historique partagé : l'équipe voit ce qui a déjà été tenté
  • Tags libres, utilisés ensuite comme segments d'envoi
  • Base partagée entre les sièges d'un même compte
Répartition des fiches par étape du pipeline LeadStack
03Le poste et le téléphone, en même temps

Sessions d'appel

C'est le morceau le plus technique du produit. L'utilisateur constitue une file depuis le pipeline, lance la session sur son ordinateur, puis apparie son téléphone par QR. Les deux écrans partagent le même état en direct : le numéro composé sur le mobile fait avancer la file sur le poste.

  • File de vingt à quarante fiches, triée par priorité, zone ou tag
  • Appariement par QR, synchronisation en direct des deux écrans
  • Issue en un geste : non répondu, à rappeler, pitché, rendez-vous
  • Transcription et compte rendu après l'appel, côté bureau
File d'appels et mode mobile de LeadStack
04Tourne même page fermée

Moteur de workflows

Un éditeur de graphe où l'on pose des nœuds : horaire, collecte, enrichissement, condition, pipeline, tâche. Le graphe est enregistré, puis exécuté par le serveur à l'heure dite. C'est la différence entre une automatisation de navigateur, qui meurt quand on ferme l'onglet, et une vraie tâche planifiée.

  • Exécution serveur : aucun onglet à laisser ouvert
  • Branches conditionnelles par fiche, avec repli en tâche manuelle
  • Enrichissement SIREN et dirigeant avant l'entrée en pipeline
  • Modèles prêts à l'emploi, modifiables ensuite
Éditeur de workflow en graphe de LeadStack
05Branché sur le pipeline, pas sur un fichier

Cold email

Les séquences ciblent des segments réels : contactés sans réponse, fiches sans site, relance à sept jours. Chaque envoi reste attaché à la fiche, donc le commercial qui rappelle voit ce qui est déjà parti. La gestion des désabonnements est dans le produit, pas en pièce rapportée.

  • Séquences multi-étapes, ciblage par statut ou par tag
  • Envois rattachés à la fiche, pas à une liste séparée
  • Désabonnements et mentions traités dans le flux
  • Réglage SMTP par compte
Suivi des séquences cold email dans LeadStack
06Le même chiffre pour tout le monde

Pilotage et équipes

Multi-locataire avec des permissions par module. Le tableau de bord n'est pas un rapport à part : il agrège ce que l'outil a déjà produit. Il n'y a donc rien à ressaisir le vendredi soir pour faire joli, et personne ne conteste les chiffres puisqu'ils viennent de l'activité.

  • Rôles et permissions module par module
  • Objectifs mensuels par commercial
  • Entonnoir de conversion et taux de passage par étape
  • Sièges inclus par offre, base de fiches partagée
Pilotage commercial de LeadStack
07L'assistant devient un siège de plus

Connecteur MCP

Le pari le plus en avance du produit. LeadStack expose douze outils en JSON-RPC 2.0 sur un point d'entrée unique, au protocole MCP. Un commercial branche Claude, Cursor ou Codex sur son compte avec une clé et demande en français : lance une collecte de vingt couvreurs à Lyon, dis-moi qui appeler, où en est mon workflow.

  • Douze outils : compte, crédits, collecte, pipeline, appels, workflows
  • Trois versions de protocole acceptées, repli sur la plus récente connue
  • Clé porteuse révocable, droits strictement ceux du propriétaire
  • Erreurs lisibles à trois niveaux : HTTP, JSON-RPC, outil
Documentation du connecteur MCP de LeadStack

03, Comment c'est bâti

Six couches, et la raison de chacune

Un logiciel métier n'est pas une pile de technologies choisies parce qu'elles sont à la mode. Chaque couche répond à une contrainte précise du produit, et aurait été remplacée par autre chose si la contrainte avait été différente.

Front

Next.js pré-rendu, servi au bord du réseau

Les pages produit et la documentation sont statiques : elles doivent partir vite et être indexables sans JavaScript. L'application, elle, vit derrière l'authentification.

Données

PostgreSQL géré, avec canal temps réel

Le temps réel n'est pas un gadget ici : c'est ce qui fait que le téléphone et le poste restent d'accord pendant une session d'appel. Une connexion websocket, pas du sondage.

API

Service dédié sur son propre domaine, derrière nginx

La collecte, les workflows planifiés et le connecteur MCP sont des traitements longs ou périodiques. Ils n'ont rien à faire dans une fonction sans serveur limitée en durée, donc ils ont leur propre machine.

Cartographie

Fonds de carte servis par un CDN spécialisé

Un fond de carte est lourd et très demandé. Le faire passer par notre infrastructure coûterait cher sans rien apporter.

Paiement

Abonnements, sièges et programme d'affiliation

Trois offres, des sièges inclus, un essai sans carte et une commission récurrente de trente pour cent reversée aux affiliés : la facturation est un module à part entière, pas une case à cocher.

Mesure

Analytique sans cookie

Produit B2B français, cible sensible à la conformité. On mesure sans suivre les personnes, ce qui évite d'avoir à négocier un bandeau pour chaque statistique.

04, Ce qui ferme les portes

La sécurité posée à la construction

Le produit manipule des bases de prospects et des accès e-mail. Les garde-fous ne sont pas un chapitre de fin de projet : ils sont dans les en-têtes servis à chaque réponse et dans la forme même de l'API.

Politique de sécurité du contenu stricte

La liste des origines autorisées est fermée : scripts, styles, images, polices, connexions. Rien d'autre ne peut parler depuis la page. C'est le garde-fou le plus efficace contre un script injecté.

Transport verrouillé deux ans

HSTS sur une durée longue, en-tête de type figé, référent supprimé, mise en cadre interdite. Le navigateur n'a plus de marge d'interprétation.

Clés porteuses révocables

Une clé API s'affiche une seule fois, porte exactement les droits de son propriétaire et cesse de fonctionner dès sa révocation. Le refus se voit à la réponse, pas trois écrans plus loin.

Limites posées, pas subies

Cent vingt appels par minute et par clé, trente tentatives par minute pour une clé refusée, trente-deux kilo-octets par requête, huit messages par lot. Les limites sont documentées, donc un intégrateur sait quoi attendre avant d'écrire sa première ligne.

05, Les arbitrages

Cinq décisions, et ce qu'elles ont coûté

Un cas client sans arbitrage est une plaquette. Voici les cinq choix qui ont le plus pesé, avec la raison derrière chacun.

Pourquoi ne pas livrer un export CSV et s'arrêter là ?

Parce que c'est exactement ce que font les outils existants, et que le fichier est précisément l'endroit où le travail se perd. Entre l'export et le premier appel, il y a un nettoyage, un import, un dédoublonnage et une répartition. Supprimer le fichier n'est pas une commodité : c'est la proposition de valeur. Tout le reste de l'architecture découle de cette décision.

Pourquoi un service d'API séparé plutôt que tout en sans-serveur ?

Une collecte, un workflow planifié et une session MCP sont des traitements qui durent ou qui reviennent. Les faire tenir dans la fenêtre d'exécution d'une fonction éphémère aurait obligé à découper artificiellement, à rejouer des morceaux et à gérer l'idempotence partout. Un service long sur sa propre machine coûte moins cher en complexité qu'une architecture qui se bat contre son hébergeur.

Pourquoi le temps réel sur la session d'appel ?

Parce que le commercial a le téléphone dans une main et le poste devant lui. Sans état partagé, il valide deux fois ou il oublie. Avec un canal temps réel, le mobile pousse l'issue et le poste avance la file : un seul geste. C'est le genre de détail qui décide si un outil est utilisé tous les jours ou abandonné en trois semaines.

Pourquoi un connecteur MCP en 2026 ?

Parce que les commerciaux ont déjà un assistant ouvert à côté. Plutôt que de leur demander d'apprendre une interface de plus, on expose les opérations du produit comme des outils que l'assistant sait appeler. Le coût de construction est faible, la surface d'usage est nouvelle, et aucun concurrent du secteur ne l'avait quand on l'a posé.

Pourquoi deux langues dès le départ ?

Un produit de prospection se vend d'abord sur son marché domestique, mais les routes, les métadonnées et les schémas de contenu coûtent dix fois plus cher à rendre bilingues après coup. On a payé le prix une fois, au bon moment.

06, Ce que ça donne

Mesuré sur les équipes pilotes

÷ 2
Temps entre la collecte et le premier appel
100
Fiches qualifiées par jour et par siège
68 %
D'objectif mensuel atteint en moyenne
0
Export de fichier dans le parcours

Chiffres relevés sur les équipes pilotes 2026, à volume de prospection constant. Les témoignages publiés par l'éditeur sont anonymisés.

“Entre deux chantiers, sur le téléphone. Je coche, et au bureau c'est déjà écrit, je ne recopie plus le soir.”

Équipe pilote, Marseille

07, Ce qu'on en retient

Quatre choses qu'on réutilise ailleurs

Le fichier est l'ennemi

Chaque fois qu'un produit métier passe par un export, il réintroduit la saisie, le doublon et le décalage. La question utile n'est pas comment mieux exporter, mais qu'est-ce qui disparaît si on supprime l'export.

Un état partagé vaut dix écrans

L'appariement poste et téléphone a coûté cher à construire et c'est ce dont les utilisateurs parlent en premier. Le temps réel bien placé fait gagner plus qu'une fonctionnalité de plus.

Les limites publiques rassurent

Documenter les quotas, la taille maximale et les codes d'erreur transforme une API en produit. C'est ce qui permet à quelqu'un d'intégrer sans nous écrire.

La sécurité se pose à la construction

Une politique de contenu stricte est pénible à poser après coup, parce qu'il faut remonter chaque dépendance. Posée au début, elle ne coûte presque rien et ferme la porte pour de bon.

Vous avez un logiciel métier en tête

On conçoit, on développe et on exploite. Que ce soit en prestation ou en partenariat co-investi comme ici, la méthode est la même : on part du geste de la personne qui va s'en servir tous les jours.