Aller au contenu
Alex ALAVO.

Étude de cas 03 · Automatisation · IA · CRM

LinkedIn Data Flow

Pipeline de prospection B2B : recherche LinkedIn, qualification par IA, enrichissement et synchronisation HubSpot.

Rôle
Prototype n8n, puis conception et développement de l'application Laravel
Catégorie
Automatisation · IA · CRM
Stack
Laravel 12 · Vue 3 · TypeScript
Formulaire de nouvelle recherche de prospects
Historique des recherches et de leurs résultats

01 — Contexte

Pour une équipe commerciale B2B, constituer une base de prospects exploitable demandait de rechercher les bons profils, vérifier leur pertinence, retrouver leurs coordonnées et contrôler leur présence dans le CRM. Une première version a été construite en n8n, puis l'orchestration a été réécrite nativement en Laravel.

02 — Problème

Chercher, qualifier, enrichir et dédoublonner : cinq outils et beaucoup de copier-coller pour chaque prospect.

03 — Solution

L'utilisateur définit une cible, ajuste ses critères et lance une recherche. L'application collecte les profils via Apify, les qualifie avec OpenAI selon un prompt configurable, vérifie les contacts existants dans HubSpot, enrichit coordonnées et données d'entreprise (Fullenrich, Pappers), puis crée ou met à jour contacts et entreprises dans HubSpot. Tout s'exécute en arrière-plan avec un historique des recherches.

04 — Fonctionnalités

  • Personas réutilisables

    Postes, secteurs, séniorité et tailles d'entreprise, associés à des consignes IA.

  • Recherche multicritère

    Localisation, expérience, entreprises, formations et exclusions.

  • Qualification par IA

    Prompt personnalisable avec variables et aperçu sur données fictives.

  • Enrichissement

    E-mails et téléphones par lots, données légales et financières des entreprises.

  • Synchronisation HubSpot

    Contrôle des contacts existants, création ou mise à jour et associations.

  • Fraîcheur des contacts

    Rafraîchissement programmé et alerte en cas de changement de poste.

06 — Architecture

  1. Recherche LinkedInApify · personas
  2. Qualification IAOpenAI · prompt
  3. EnrichissementFullenrich · Pappers
  4. HubSpot à jourcontacts · entreprises

Inertia relie les pages Vue au backend Laravel ; des services métier préparent les requêtes et des jobs prennent en charge les étapes longues.

Les webhooks Apify et Fullenrich signalent la fin des traitements externes pour poursuivre le pipeline, et la base conserve l'état de chaque profil.

07 — Défis techniques

  • Défi

    Coordonner des services qui répondent à des moments différents.

    Solution

    Jobs en arrière-plan, webhooks, stockage des états et suivi des lots avant finalisation.

  • Défi

    Réduire les appels répétés et respecter les limites d'API.

    Solution

    Opérations par lots, caches d'entreprises, espacement des appels et nouvelles tentatives sur HTTP 429.

  • Défi

    Éviter les doublons dans le CRM.

    Solution

    Unicité par recherche et URL LinkedIn, recherche préalable dans HubSpot et gestion des conflits 409.

08 — Mon intervention

  • Prototype en workflows n8n
  • Architecture métier et modèle de données
  • Backend Laravel et interfaces Vue / TypeScript
  • Intégration Apify, OpenAI, Fullenrich, Pappers et HubSpot
  • Jobs, webhooks, notifications et rafraîchissements
  • Tests backend et déploiement Railway avec worker dédié

09 — Stack

Backend
PHP, Laravel 12, Queues, Scheduler, webhooks
Frontend
Vue 3, TypeScript, Inertia.js 2, Tailwind CSS, shadcn-vue
Intégrations
Apify, OpenAI, Fullenrich, Pappers, HubSpot
Qualité
Pest, PHPUnit, Mockery, PHPStan, Pint
Déploiement
Railway, Nixpacks, web + worker

10 — Résultats

  • 5

    services externes orchestrés dans un seul pipeline

  • v2

    prototype n8n réécrit en application Laravel maintenable

Étude de cas suivanteInstaBotTableau de bord multi-comptes pour collecter, filtrer et contacter des profils Instagram, avec suivi en temps réel.