Aller au contenu principal
Guides techniques

Workflows n8n + API Rodz : automatiser vos signaux

Peter Cools · · 15 min de lecture

En résumé : n8n est une plateforme d’automatisation open source que vous pouvez héberger vous-même. Ce guide vous montre comment connecter n8n à l’API Rodz pour recevoir des signaux d’affaires en temps réel, enrichir les contacts détectés, les pousser dans votre CRM et notifier votre équipe commerciale sur Slack. Le tout sans dépendance à un service cloud propriétaire.

Qu’est-ce que n8n et pourquoi l’utiliser avec Rodz ?

n8n (prononcé “n-eight-n”) est une plateforme d’automatisation de workflows open source. Contrairement à Make ou Zapier, n8n peut être auto-hébergé sur votre propre serveur. Vous gardez le contrôle total sur vos données, vos flux et votre infrastructure. C’est un atout majeur pour les équipes qui manipulent des données commerciales sensibles comme les signaux d’affaires.

Le principe est simple : vous assemblez des nœuds (nodes) dans un éditeur visuel. Chaque nœud effectue une action précise : recevoir un webhook, appeler une API, transformer des données, envoyer un message Slack, créer un contact dans HubSpot. Les nœuds sont reliés entre eux pour former un workflow complet.

L’intégration avec Rodz est naturelle. Rodz envoie des signaux d’affaires via webhooks. n8n les reçoit, les traite et les distribue vers vos outils. Vous obtenez un pipeline d’automatisation complet, entièrement sous votre contrôle, sans écrire une seule ligne de code côté serveur.

Pour les équipes techniques qui veulent aller plus loin, n8n permet aussi de faire des appels HTTP directs vers les endpoints de l’API Rodz. Enrichissement de contacts, récupération de signaux historiques, gestion des configurations : tout est accessible depuis un nœud HTTP Request.

Prérequis

Avant de construire votre premier workflow, vérifiez que vous disposez des éléments suivants :

  1. Une instance n8n fonctionnelle. Vous pouvez utiliser n8n Cloud (hébergé par n8n) ou une instance auto-hébergée via Docker. La documentation officielle de n8n détaille les deux options.
  2. Un compte Rodz avec accès API. Votre clé API est disponible dans votre tableau de bord sur app.rodz.io.
  3. Au moins un signal configuré dans Rodz. Si ce n’est pas encore fait, suivez le guide de configuration des signaux.
  4. Une URL de webhook n8n accessible publiquement. Si vous auto-hébergez n8n, assurez-vous que votre serveur est joignable depuis Internet en HTTPS. Rodz n’accepte pas les URLs en HTTP simple.
  5. Des comptes sur les outils de destination. Selon votre workflow : Slack, Google Sheets, HubSpot, Pipedrive ou tout autre outil que vous souhaitez connecter.
  6. Des notions de base en webhooks et JSON. Consultez le guide sur les webhooks Rodz si ces concepts sont nouveaux pour vous.

Étape 1 : Configurer le nœud Webhook dans n8n

Le point d’entrée de votre workflow est un nœud Webhook. C’est lui qui recevra les signaux envoyés par Rodz.

Dans l’éditeur n8n, créez un nouveau workflow et ajoutez un nœud Webhook :

  1. Cliquez sur le bouton + pour ajouter un nœud.
  2. Recherchez “Webhook” dans la bibliothèque de nœuds.
  3. Sélectionnez Webhook (pas “Webhook Response”, que nous utiliserons plus tard).
  4. Configurez les paramètres suivants :
HTTP Method : POST
Path : rodz-signals
Authentication : Header Auth
Header Name : X-Rodz-Signature
  1. Cliquez sur Listen for Test Event pour activer le webhook en mode test.

n8n génère automatiquement une URL de webhook. Elle ressemble à ceci :

https://votre-instance-n8n.com/webhook/rodz-signals

En mode test, l’URL contient /webhook-test/ au lieu de /webhook/. Notez les deux URLs. Vous utiliserez l’URL de test pendant le développement et l’URL de production une fois le workflow activé.

Conservez cette URL. Vous en aurez besoin à l’étape suivante.

Étape 2 : Enregistrer le webhook dans Rodz

Maintenant que n8n écoute, configurez Rodz pour envoyer les signaux vers cette URL. Utilisez l’API Rodz pour enregistrer votre webhook :

curl -X POST https://api.rodz.io/v1/webhooks \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://votre-instance-n8n.com/webhook/rodz-signals",
    "events": ["signal.detected"],
    "secret": "votre_secret_hmac_partage"
  }'

Quelques précisions sur cette configuration :

  • url : l’URL de production du webhook n8n (celle sans /webhook-test/).
  • events : les types d’événements que vous souhaitez recevoir. signal.detected couvre tous les signaux d’affaires.
  • secret : un secret partagé pour la vérification HMAC. Choisissez une chaîne aléatoire longue et conservez-la précieusement. Vous l’utiliserez plus tard pour valider l’authenticité des requêtes.

Pour une documentation complète des options de webhook, consultez la référence API.

Pour tester immédiatement, vous pouvez enregistrer l’URL de test n8n, déclencher un signal, puis revenir à l’URL de production avant d’activer le workflow.

Étape 3 : Ajouter un nœud Switch pour router les signaux

Les signaux Rodz couvrent plusieurs catégories : levées de fonds, recrutements, déménagements, changements de dirigeant, mentions sociales, appels d’offres. Vous voudrez probablement les traiter différemment selon leur type.

Ajoutez un nœud Switch après le nœud Webhook :

  1. Cliquez sur + après le nœud Webhook.
  2. Recherchez et ajoutez un nœud Switch.
  3. Configurez les règles de routage basées sur le champ signal_type du payload :
Mode : Rules
Routing Rules :

  Rule 1 - Financement :
    Value : {{ $json.signal_type }}
    Operation : equals
    Value 2 : funding_round

  Rule 2 - Recrutement :
    Value : {{ $json.signal_type }}
    Operation : equals
    Value 2 : job_posting

  Rule 3 - Changement de poste :
    Value : {{ $json.signal_type }}
    Operation : equals
    Value 2 : job_change

  Rule 4 - Autre :
    Fallback (tous les autres types de signaux)

Chaque sortie du nœud Switch peut être connectée à une branche de traitement distincte. Par exemple, un signal de levée de fonds peut déclencher un processus d’enrichissement approfondi, tandis qu’un signal de recrutement peut simplement être consigné dans Google Sheets.

Étape 4 : Enrichir les contacts avec l’API Rodz

Quand Rodz détecte un signal, le payload contient les informations de base sur l’entreprise et l’événement. Pour prospecter efficacement, vous aurez besoin de données complémentaires : contacts clés, adresses email, numéros de téléphone, profils LinkedIn.

Ajoutez un nœud HTTP Request pour appeler l’endpoint d’enrichissement de Rodz :

  1. Ajoutez un nœud HTTP Request après la branche souhaitée du Switch.
  2. Configurez-le comme suit :
Method : POST
URL : https://api.rodz.io/v1/enrich/company
Authentication : Generic Credential Type → Header Auth
  Header Name : Authorization
  Header Value : Bearer VOTRE_CLE_API
Content-Type : JSON
Body :
{
  "domain": "{{ $json.company.domain }}",
  "enrich_contacts": true,
  "contact_roles": ["CEO", "CTO", "VP Sales", "Head of Sales"]
}

La réponse contiendra les informations enrichies de l’entreprise ainsi que les contacts correspondant aux rôles demandés. Chaque contact inclut, lorsque disponible, son nom complet, son titre, son adresse email vérifiée et son profil LinkedIn.

Pour enrichir un contact spécifique plutôt qu’une entreprise, utilisez l’endpoint /v1/enrich/contact avec l’adresse email ou le profil LinkedIn comme identifiant.

Consultez la référence complète des endpoints d’enrichissement pour toutes les options disponibles.

Étape 5 : Connecter vos outils de destination

C’est ici que l’automatisation prend tout son sens. Vous allez pousser les données enrichies vers les outils que votre équipe utilise au quotidien.

Pousser vers votre CRM (HubSpot, Pipedrive, Salesforce)

n8n propose des nœuds natifs pour les principaux CRM. Voici un exemple avec HubSpot :

  1. Ajoutez un nœud HubSpot après le nœud d’enrichissement.
  2. Sélectionnez l’opération Create/Update Contact.
  3. Mappez les champs :
Email : {{ $json.contacts[0].email }}
First Name : {{ $json.contacts[0].first_name }}
Last Name : {{ $json.contacts[0].last_name }}
Company : {{ $json.company.name }}
Job Title : {{ $json.contacts[0].title }}
Lead Source : Rodz Signal
  1. Activez l’option Update if exists pour éviter les doublons.

Pour Pipedrive, la logique est similaire. Utilisez le nœud Pipedrive natif avec l’opération “Create Person” ou “Create Deal” selon votre processus.

Notifier sur Slack

Ajoutez un nœud Slack pour alerter votre équipe commerciale en temps réel :

  1. Ajoutez un nœud Slack en parallèle du nœud CRM (connectez-le au même nœud d’enrichissement).
  2. Sélectionnez l’opération Send Message.
  3. Choisissez le canal de destination (par exemple #signaux-affaires).
  4. Composez votre message :
🔔 Nouveau signal détecté !

Entreprise : {{ $json.company.name }}
Signal : {{ $json.signal_type }}
Détail : {{ $json.signal_description }}

Contact principal :
{{ $json.contacts[0].first_name }} {{ $json.contacts[0].last_name }}
{{ $json.contacts[0].title }}
{{ $json.contacts[0].email }}

→ Voir dans le CRM : {{ $node["HubSpot"].json.contactUrl }}

Archiver dans Google Sheets

Pour les équipes qui veulent garder une trace de tous les signaux reçus, ajoutez un nœud Google Sheets :

  1. Ajoutez un nœud Google Sheets en parallèle.
  2. Sélectionnez l’opération Append Row.
  3. Mappez les colonnes de votre feuille de calcul :
Date : {{ $json.timestamp }}
Entreprise : {{ $json.company.name }}
Signal : {{ $json.signal_type }}
Description : {{ $json.signal_description }}
Contact : {{ $json.contacts[0].email }}
Statut : À traiter

Cette feuille vous sert de tableau de bord opérationnel. Votre équipe peut y filtrer les signaux, les trier par priorité et suivre leur traitement.

Étape 6 : Gérer les erreurs avec le nœud Error Trigger

Un workflow robuste doit anticiper les pannes. Les appels API peuvent échouer (rate limiting, timeout, erreurs serveur). n8n propose un mécanisme dédié : le nœud Error Trigger.

Créez un workflow séparé pour la gestion des erreurs :

  1. Créez un nouveau workflow (pas dans le workflow principal).
  2. Ajoutez un nœud Error Trigger comme point d’entrée.
  3. Connectez-le à un nœud Slack pour notifier votre équipe technique :
Canal : #alertes-techniques
Message :
⚠️ Erreur dans le workflow Rodz

Workflow : {{ $json.workflow.name }}
Nœud : {{ $json.execution.error.node }}
Message d'erreur : {{ $json.execution.error.message }}
Timestamp : {{ $json.execution.error.timestamp }}

→ Voir l'exécution : {{ $json.execution.url }}
  1. Retournez dans votre workflow principal, ouvrez les Settings et sélectionnez ce workflow d’erreur dans le champ Error Workflow.

Pour les erreurs de rate limiting (code HTTP 429), ajoutez une logique de retry dans le nœud HTTP Request :

  1. Ouvrez les paramètres du nœud HTTP Request qui appelle l’API Rodz.
  2. Dans l’onglet Settings, activez Retry on Fail.
  3. Configurez :
Max Retries : 3
Wait Between Retries : 2000ms

L’API Rodz renvoie un header Retry-After dans ses réponses 429. n8n respecte automatiquement ce délai si vous activez l’option de retry.

Exemple complet : du signal au CRM en 6 nœuds

Voici le récapitulatif du workflow complet que vous venez de construire :

[Webhook] → [Switch] → [HTTP Request (enrichissement)] → [HubSpot]
                                                       → [Slack]
                                                       → [Google Sheets]

Le flux de données est le suivant :

  1. Webhook : reçoit le signal envoyé par Rodz.
  2. Switch : identifie le type de signal et le route vers la bonne branche.
  3. HTTP Request : appelle l’endpoint d’enrichissement Rodz pour récupérer les contacts clés.
  4. HubSpot : crée ou met à jour le contact dans le CRM.
  5. Slack : envoie une notification à l’équipe commerciale.
  6. Google Sheets : archive le signal dans un tableau de suivi.

Ce workflow se déclenche automatiquement chaque fois que Rodz détecte un signal correspondant à votre configuration. Aucune intervention manuelle n’est nécessaire.

Pour les signaux de levée de fonds, vous pouvez enrichir la branche avec des nœuds supplémentaires : un nœud HTTP Request pour récupérer le détail de la levée, un nœud de calcul pour scorer le prospect, un nœud conditionnel pour ne pousser que les entreprises au-dessus d’un certain seuil.

n8n vs Make : quelle plateforme choisir ?

Si vous hésitez entre n8n et Make, voici une comparaison factuelle pour vous aider à décider.

Critèren8nMake
ModèleOpen source (licence fair-code)Cloud propriétaire
HébergementAuto-hébergé ou cloud (n8n Cloud)Cloud uniquement
TarificationGratuit en auto-hébergé, cloud à partir de 20 $/moisÀ partir de 9 $/mois (1 000 opérations)
Contrôle des donnéesTotal (vos serveurs, vos données)Données transitent par les serveurs Make
Nœuds/modules disponibles400+ intégrations natives1 800+ intégrations natives
Code personnaliséNœuds Code et Function (JavaScript/Python)Limité aux modules natifs et aux appels HTTP
Gestion des erreursError Trigger dédié, retry configurableGestion d’erreurs intégrée par scénario
InterfaceÉditeur visuel avec vue JSONÉditeur visuel drag-and-drop
WebhooksNatifs, URL générée automatiquementNatifs, URL générée automatiquement
Self-hostingDocker, npm, KubernetesNon disponible
CommunautéActive, contributions open sourceLarge communauté d’utilisateurs
Idéal pourÉquipes techniques, conformité donnéesÉquipes ops, prise en main rapide

En résumé : choisissez n8n si vous avez besoin de contrôler vos données, si votre équipe est à l’aise avec Docker et si vous voulez personnaliser vos workflows avec du code. Choisissez Make si vous préférez une solution managée avec un large catalogue d’intégrations prêtes à l’emploi. Pour l’intégration avec Rodz, nous avons aussi un guide dédié à Make avec l’API Rodz.

Aller plus loin : workflows avancés

Une fois votre workflow de base en place, vous pouvez l’étendre avec des scénarios plus sophistiqués.

Scoring automatique des signaux

Ajoutez un nœud Code (JavaScript) après l’enrichissement pour calculer un score de priorité :

const signal = $input.first().json;
let score = 0;

// Score basé sur le type de signal
if (signal.signal_type === 'funding_round') score += 30;
if (signal.signal_type === 'job_posting') score += 15;
if (signal.signal_type === 'job_change') score += 20;

// Score basé sur la taille de l'entreprise
if (signal.company.employee_count > 50) score += 10;
if (signal.company.employee_count > 200) score += 10;

// Score basé sur le secteur
const targetSectors = ['SaaS', 'FinTech', 'Cybersecurity'];
if (targetSectors.includes(signal.company.industry)) score += 20;

return [{ json: { ...signal, priority_score: score } }];

Utilisez ensuite un nœud IF pour ne traiter que les signaux avec un score supérieur à un seuil défini (par exemple 40).

Déduplication avec un nœud de base de données

Pour éviter de traiter deux fois le même signal, ajoutez un nœud de base de données (PostgreSQL, MySQL ou Redis) :

  1. Avant le nœud Switch, ajoutez un nœud PostgreSQL avec une requête SELECT pour vérifier si le signal_id existe déjà.
  2. Ajoutez un nœud IF : si le signal existe, arrêtez le traitement. Sinon, insérez le signal_id dans la table et continuez.

Planification de séquences de prospection

Combinez les signaux Rodz avec un outil d’outreach. Après l’enrichissement, ajoutez un nœud HTTP Request pour créer un lead dans Lemlist ou pour ajouter un contact à une séquence dans votre outil de prospection préféré.

Questions fréquentes

n8n est-il vraiment gratuit ?

Oui, en auto-hébergement. Vous pouvez installer n8n sur votre serveur via Docker sans aucun coût de licence. Vous payez uniquement l’infrastructure (serveur, bande passante). n8n Cloud est une option payante hébergée par l’équipe n8n, avec des tarifs à partir de 20 $ par mois.

Puis-je utiliser n8n Cloud au lieu de l’auto-hébergement ?

Absolument. n8n Cloud fonctionne exactement comme une instance auto-hébergée, avec l’avantage de ne pas avoir à gérer l’infrastructure. Les webhooks n8n Cloud sont accessibles publiquement par défaut, ce qui simplifie la configuration avec Rodz. La seule différence est que vos données transitent par les serveurs de n8n.

Comment sécuriser mon webhook n8n ?

Trois niveaux de sécurité sont recommandés. Premièrement, utilisez toujours HTTPS. Deuxièmement, configurez la vérification HMAC avec le secret partagé que vous avez défini lors de l’enregistrement du webhook Rodz. Ajoutez un nœud Code après le Webhook pour vérifier la signature. Troisièmement, restreignez l’accès réseau de votre instance n8n aux IP de Rodz si votre infrastructure le permet.

Combien de signaux n8n peut-il traiter par minute ?

Cela dépend de votre infrastructure. Une instance n8n auto-hébergée sur un serveur modeste (2 vCPU, 4 Go RAM) gère facilement 100 à 200 webhooks par minute. n8n Cloud offre des limites similaires selon votre plan. Le facteur limitant est rarement n8n lui-même, mais plutôt les rate limits des API tierces (Rodz, CRM, Slack).

Puis-je déclencher un workflow n8n autrement que par webhook ?

Oui. n8n propose plusieurs nœuds de déclenchement : Schedule (cron), Email Trigger, Polling. Pour Rodz, le webhook est la méthode recommandée car elle offre un traitement en temps réel. Mais vous pouvez aussi créer un workflow planifié qui interroge l’endpoint /v1/signals/feed de Rodz toutes les 5 minutes avec un nœud HTTP Request. Cette approche est utile si votre instance n8n n’est pas accessible publiquement.

Comment déboguer un workflow qui ne fonctionne pas ?

n8n offre plusieurs outils de débogage. Utilisez le mode Listen for Test Event du nœud Webhook pour recevoir un signal en temps réel et inspecter le payload. Cliquez sur chaque nœud après une exécution pour voir les données entrantes et sortantes. Consultez le journal d’exécutions dans l’onglet Executions pour retrouver les erreurs passées. Et vérifiez les logs de votre instance n8n (docker logs n8n) pour les erreurs système.

Puis-je partager ou exporter mes workflows n8n ?

Oui. n8n permet d’exporter chaque workflow au format JSON. Vous pouvez le partager avec votre équipe, le versionner dans Git ou le publier sur le forum communautaire de n8n. C’est un avantage majeur de l’open source : vos workflows sont portables et reproductibles. Vous pouvez aussi les dupliquer facilement pour créer des variantes adaptées à différents types de signaux.

Quelles alternatives existent si je ne veux pas utiliser n8n ?

Si n8n ne correspond pas à vos besoins, plusieurs options s’offrent à vous. Make est la solution la plus populaire pour les équipes non techniques, avec un large catalogue de modules. Zapier est une alternative cloud similaire. Pour les développeurs, vous pouvez aussi écrire votre propre serveur webhook avec Node.js, Python ou tout autre langage, comme expliqué dans le guide des webhooks Rodz. Enfin, la documentation complète de l’API Rodz vous donne toutes les clés pour intégrer Rodz dans n’importe quel outil.


Prêt à automatiser vos signaux d’affaires avec n8n ? Consultez la documentation de l’API Rodz pour explorer tous les endpoints disponibles, et commencez par configurer vos premiers signaux si ce n’est pas encore fait.

Partager :

Générez votre stratégie outbound gratuitement

Notre IA analyse votre entreprise et crée un playbook complet : ICP, personas, templates d'emails, scripts d'appels.

Générer ma stratégie