Bruit Blanc Product Builder
Retour d'expérience

Comment j'automatise ma prospection freelance avec n8n (workflow complet)

Mon système d'automatisation pour trouver des missions freelance sans y passer des heures. Workflow n8n complet, réplicable, avec résultats concrets.

n8nfreelanceprospectionautomatisationworkflowproductivité

Il y a un paradoxe que tous les freelances connaissent : quand tu as des missions, tu n’as pas le temps de prospecter. Quand tu n’as pas de missions, tu prospectes dans l’urgence. Et la prospection dans l’urgence, c’est la pire des prospections.

Pendant longtemps, j’ai vécu ce cycle. Trois mois de missions bien payées, zéro effort commercial. Puis un trou. Puis deux semaines à envoyer des messages à la chaîne sur LinkedIn, à scruter les offres freelance sur tous les boards possibles. Avec un taux de conversion lamentable, parce que quand tu prospectes sous pression, ça se sent.

Le problème, c’était que ma prospection n’existait que quand j’avais le temps — c’est-à-dire jamais, ou trop tard.

J’ai décidé de régler ça en faisant ce que je sais faire : automatiser. Avec n8n, mon outil d’automatisation auto-hébergé, j’ai construit un système qui surveille, filtre, enrichit et me notifie — sans que j’aie besoin de passer des heures à scroller des plateformes.

Voici le workflow complet.

Mon ancienne prospection vs la nouvelle

Avant (process manuel)

  • Lundi : 45 min à parcourir 4-5 plateformes freelance
  • Mardi/mercredi : 30 min de veille LinkedIn (qui devenaient souvent 1h30 de scrolling)
  • Jeudi : relance des contacts dans un Google Sheet jamais à jour
  • Vendredi : rédaction de 2-3 messages de prospection
  • Bilan : ~5h/semaine, résultats très variables

Le pire, c’était l’irrégularité. En mission, je ne faisais rien. En creux, je faisais tout d’un coup. Les réponses arrivaient toujours trois semaines trop tard.

Après (process automatisé)

  • Tous les jours : notification Slack avec les opportunités filtrées et scorées
  • Lundi matin : 20-30 min pour revoir les alertes, valider les pistes, envoyer les messages
  • En continu : le pipeline Baserow se met à jour automatiquement
  • Bilan : ~30 min/semaine de travail actif, veille passive continue

Le gain n’est pas juste en temps. C’est en régularité. Le système tourne même quand je suis en mission, même quand j’oublie.

Vue d’ensemble du workflow

Le système se décompose en quatre étapes, chacune correspondant à un workflow n8n distinct :

1. Surveillance des sources — Collecter automatiquement les opportunités depuis plusieurs canaux

2. Filtrage et scoring — Éliminer le bruit, scorer les opportunités par pertinence

3. Notification et draft — M’alerter avec le contexte nécessaire pour décider vite

4. Suivi CRM — Alimenter le pipeline sans saisie manuelle

Le tout tourne sur mon VPS (le même qui héberge mes autres automatisations n8n), pour un coût marginal de zéro euro supplémentaire.

Étape 1 — Surveillance des sources

C’est la fondation. Le workflow doit aller chercher les opportunités là où elles apparaissent, sans que j’aie à ouvrir 5 onglets chaque matin.

Sources surveillées

Flux RSS des plateformes freelance. Plusieurs boards publient leurs offres en RSS ou ont des pages de recherche stables. Les nodes RSS Feed et HTTP Request de n8n pollent ces sources toutes les 6 heures, ciblées sur mes mots-clés : “développeur TypeScript freelance”, “CTO fractionnel”, “Nuxt.js”, “Vue.js”.

Alertes LinkedIn. LinkedIn envoie des emails d’alerte quand de nouvelles offres correspondent à des critères sauvegardés. Un workflow n8n parse ces emails (via IMAP) pour en extraire les données structurées : titre, entreprise, lien, date.

Monitoring de sites clients. Quelques entreprises avec lesquelles j’ai déjà travaillé publient des offres freelance sur leur site carrières. Un node HTTP Request vérifie ces pages toutes les 12 heures. Si le contenu change (hash différent), alerte. Simple, mais efficace pour les clients qu’on veut retravailler.

Veille communautaire. Certains Slack et Discord tech publient des offres dans des channels dédiés. Via des webhooks, ces messages arrivent aussi dans le pipeline.

Le piège de la collecte

J’ai commencé avec une dizaine de sources. Résultat : un déluge de bruit. Doublons, offres hors profil, postes salariés déguisés. J’ai réduit à 5 sources fiables. Mieux vaut 5 sources bien filtrées que 15 qui noient le signal.

Étape 2 — Filtrage et scoring

C’est l’étape qui fait toute la différence entre une automatisation utile et une machine à spam.

Filtrage par mots-clés

Un node Code analyse le titre et la description de chaque offre contre deux listes.

Liste blanche (au moins un match requis) : TypeScript, Vue.js, Nuxt, Node.js, React, Next.js, fullstack, CTO, product, SaaS, startup, freelance, indépendant.

Liste noire (exclusion immédiate) : CDI, salarié, stage, alternance, .NET, Java, PHP (rien contre ces technos — ce ne sont juste pas mes compétences principales).

Ce filtre élimine environ 70% du volume. Brutal, mais nécessaire.

Scoring par pertinence

Les offres restantes passent dans un scoring sur 100 points :

CritèrePoints
Stack exacte (Nuxt/Vue + TypeScript)+30
Stack proche (React/Next.js + TypeScript)+15
Mention “freelance” ou “indépendant”+20
Remote ou Occitanie/Toulouse+15
Budget mentionné > 400€/j+10
Mission > 3 mois+10
Client existant (déjà dans Baserow)+15
Offre de moins de 24h+5
Pas de budget mentionné-10
ESN / body shopping keywords-20

Les offres avec un score inférieur à 30 sont éliminées. Entre 30 et 60, elles arrivent en notification basse priorité. Au-dessus de 60, notification haute priorité.

Déduplication

Un problème que je n’avais pas anticipé : la même offre apparaît souvent sur plusieurs sources. Le workflow vérifie dans Baserow si un titre très similaire a déjà été traité dans les 7 derniers jours. Si oui, on skip. Ça évite de recevoir la même alerte trois fois.

Étape 3 — Notification et draft de réponse

Le meilleur workflow du monde ne sert à rien si les résultats finissent dans un email que je ne lis pas. J’ai testé plusieurs canaux de notification avant de trouver ce qui marchait pour moi.

Canal de notification : Slack

J’utilise un channel Slack dédié (workspace personnel, je suis le seul membre). Pourquoi Slack et pas email ? Parce que mes emails sont déjà saturés. Un channel dédié, c’est un flux que je consulte une fois par jour, sans pollution.

Chaque notification contient :

  • Score affiché en couleur (vert > 60, orange 30-60)
  • Titre de l’offre avec lien direct
  • Source (quel board, quel site)
  • Mots-clés matchés (pour comprendre en un coup d’oeil pourquoi c’est remonté)
  • Budget si mentionné
  • Ancienneté de l’offre

Draft de réponse

Pour les offres au-dessus de 60 points, le workflow génère un brouillon de message d’accroche contextuel. Pas un template copié-collé — un draft qui mentionne la stack demandée, fait le lien avec mes projets pertinents (Nomisora si c’est du SaaS santé, Oranexa si c’est du e-commerce), et propose un créneau d’échange.

Ce draft arrive dans la notification Slack. Je le relis, j’ajuste en 2-3 minutes, et j’envoie. La rédaction du message passe de 15-20 minutes par prospect à 3-5 minutes.

Je ne laisse jamais le système envoyer automatiquement. La prospection, ça reste humain. L’automatisation prépare le terrain, l’humain décide et personnalise.

Étape 4 — Suivi CRM dans Baserow

Chaque opportunité qui passe le filtre est automatiquement créée dans une table Baserow (l’équivalent open-source d’Airtable, auto-hébergé sur le même VPS que n8n).

Structure de la table

ChampContenu
TitreNom de l’offre
SourceBoard d’origine
ScoreScore calculé
StatutNouveau / Contacté / En discussion / Gagné / Perdu
Date de détectionQuand le workflow l’a trouvé
LienURL directe vers l’offre
NotesMes commentaires après review
Relance prévueDate de relance si j’ai contacté

Relances automatiques

Un workflow secondaire vérifie chaque matin les entrées avec statut “Contacté” dont la date de relance est dépassée. Si c’est le cas, je reçois un rappel dans Slack. Pas de relance automatique envoyée — juste un rappel pour que je le fasse manuellement, avec le contexte du premier contact sous les yeux.

C’est volontairement minimaliste. Un CRM trop complexe, c’est un CRM qu’on n’utilise plus au bout de deux semaines. J’en ai déjà parlé : l’outil n’est utile que si le process est clair. Ici, le process tient en quatre mots : détecter, contacter, relancer, clôturer.

Résultats concrets

Le système tourne depuis environ trois mois. Voici les chiffres.

Temps de prospection active : passé de ~5 heures/semaine à ~30 minutes/semaine. Le reste est du travail passif, fait par les workflows.

Volume d’opportunités détectées : environ 40-50 par semaine (toutes sources confondues, avant filtrage). Après filtrage : 8-12 opportunités pertinentes par semaine.

Taux de réponse : environ 35% sur les messages envoyés. C’est significativement plus élevé que ma prospection manuelle (~15%), probablement parce que je contacte plus vite (dans les 24h au lieu de 3-4 jours) et que les messages sont mieux ciblés.

Missions décrochées via le système : 2 missions sur les 3 derniers mois, directement attribuables aux alertes automatisées. L’une d’elles était sur un board que je ne consultais jamais manuellement.

ROI : le système tourne sur un VPS que je payais déjà. Seul investissement : ~12-15 heures de construction, puis 2-3 heures de maintenance sur trois mois. À comparer aux ~60 heures de prospection manuelle économisées sur la même période.

Ce qui ne marche pas (encore)

L’honnêteté impose de parler des limites. Ce système n’est pas magique.

Les faux positifs

Environ 20-25% des alertes sont des faux positifs. Des offres qui cochent les bons mots-clés mais qui ne correspondent pas à la lecture (mission trop junior, client en benchmark sans budget réel, offre déguisée en CDI). Le filtre mécanique a ses limites. La lecture humaine reste indispensable.

LinkedIn reste opaque

Les emails d’alerte LinkedIn contiennent peu de données structurées. Le scraping est fragile et contraire aux CGU. La meilleure source (les posts de fondateurs qui cherchent des freelances) est quasiment impossible à automatiser proprement. Ce canal reste essentiellement manuel.

Le cold outreach ne scale pas

Le système prépare des drafts, mais le message final doit être personnalisé. Si j’ai 10 opportunités haute priorité dans la semaine, les traiter prend quand même une bonne heure. Le bottleneck se déplace de la détection vers la rédaction.

La maintenance n’est pas nulle

Un board modifie sa structure HTML, un flux RSS disparaît, une API change ses headers. En trois mois, j’ai dû intervenir quatre fois pour réparer un workflow cassé. Ce n’est pas “set and forget”.

Est-ce réplicable ?

Oui, si vous êtes à l’aise avec n8n. Le workflow n’utilise que des nodes standards (RSS, HTTP Request, IMAP, Code, Slack, Baserow). Temps de mise en place réaliste : un week-end pour la version de base, puis des itérations pour affiner le scoring.

Le choix de n8n plutôt qu’un autre outil compte ici : les données de prospection sont sensibles. Avec n8n auto-hébergé, tout reste sur mon infrastructure.

FAQ

Est-ce que ce workflow remplace un vrai effort de personal branding ?

Non. Le workflow détecte des opportunités existantes — il ne les crée pas. Le personal branding (publier sur LinkedIn, écrire des articles comme celui-ci) reste le meilleur levier pour que les opportunités viennent à toi. Le workflow automatise la prospection sortante, le personal branding génère de l’entrante. Les deux sont complémentaires.

Faut-il savoir coder pour mettre ça en place ?

Pour la version de base (RSS + filtrage + notification Slack), pas vraiment. Les nodes n8n sont visuels et bien documentés. Pour le scoring avancé et la déduplication, il faut être à l’aise avec JavaScript — quelques dizaines de lignes dans les nodes Code. Si vous partez de zéro, commencez par le guide débutant.

Ça marche pour d’autres métiers que le développement ?

Le principe est identique pour n’importe quel métier freelance : surveiller, filtrer, scorer, notifier. Ce qui change : les mots-clés, les sources, les critères. Un designer surveillerait Dribbble et Behance. Un consultant surveillerait les appels d’offres. La mécanique n8n reste la même.

Quel est le coût total du système ?

Si vous avez déjà un VPS (5-20 euros/mois), le coût supplémentaire est nul. Sinon, un VPS basique chez Hetzner ou Ikoula à 5 euros/mois suffit pour n8n + Baserow. Slack gratuit pour les notifications. Total : 0-5 euros/mois, contre 50-100 euros/mois pour un équivalent Zapier (si tant est qu’on puisse reproduire le même workflow sans code custom).

Envie d'aller plus loin ? Parlons-en

Contact Appel