Chapitre 4/9 • 15 min de lecture

Routeurs & Filtres

Brancher un scénario sur plusieurs chemins selon les conditions des données reçues.

⏱️ En bref : Les Routeurs créent des branches parallèles dans un scénario, et les Filtres décident quels bundles continuent dans une branche donnée. Ensemble, ils permettent de gérer toute la logique conditionnelle ("si lead enterprise → Slack équipe sales, sinon → email automatique") sans multiplier les scénarios.

Routeurs : créer des branches

Le module Flow Control → Router divise un scénario en plusieurs branches qui s'exécutent en parallèle (ou conditionnellement, selon les filtres posés sur chaque route).

Cas d'usage typique : un webhook formulaire reçoit un lead. Selon le pays, on veut :

  • France → créer dans Pipedrive + notifier le commercial FR sur Slack
  • Belgique/Suisse → créer dans Pipedrive + notifier le commercial DACH
  • Autre → enregistrer en backlog dans Airtable + email automatique

Avec un Router, ces 3 cas tiennent dans un seul scénario, branches parallèles, lisible et maintenable.

Filtres : filtrer les bundles dans une route

Sur chaque connexion entre deux modules (la "ligne" qui les relie), un clic ouvre l'éditeur de filtre. C'est là qu'on définit la condition pour que le bundle continue dans cette branche.

Structure d'un filtre :

  • Label : nom de la condition (ex : "Lead France")
  • Condition : champ + opérateur + valeur (ex : {{1.country}} Equal to "FR")
  • AND/OR : combiner plusieurs conditions

Sans filtre, tous les bundles passent dans toutes les routes en parallèle. Avec filtre, seuls les bundles qui matchent la condition continuent dans la route concernée.

💡 Toujours nommer les filtres

Six mois plus tard, un scénario avec 4 routes sans labels = relecture infernale. Toujours mettre un label explicite sur chaque filtre ("Lead France", "Deal > 10k€", "Email manquant"). Quand le scénario plante en production, vous gagnez 20 minutes de debug.

Le piège du "fallback route"

Make permet de définir une fallback route sur un Router : la route empruntée si aucune autre route ne matche. Très utile pour ne pas perdre de bundles en silence.

Configuration : clic droit sur la connexion entre Router et premier module de la route → Set up a filter → cocher Fallback route en bas. Une seule route par Router peut être en fallback.

Cas d'usage : votre scénario gère 5 statuts de deal (won, lost, demo, qualified, raw). La fallback attrape tous les statuts non listés et les envoie dans une route qui logge l'anomalie.

Opérateurs de filtre à connaître

Pour construire des conditions précises, Make propose ~30 opérateurs. Les plus utiles :

  • Text : Equal to, Not equal, Contains, Starts with, Ends with, Matches pattern (regex)
  • Numeric : Greater than, Less than, Equal, Not equal
  • Date : Earlier than, Later than, Equal
  • Existence : Exists, Does not exist, Is empty, Is not empty
  • Boolean : Is true, Is false

Attention : Is empty et Does not exist ne sont pas équivalents. Un champ qui contient une chaîne vide "" est "empty" mais "exists". Important pour filtrer du JSON imprévisible.

Routeur vs Iterator : ne pas confondre

Erreur fréquente chez les débutants :

  • Router : crée des branches parallèles. 1 bundle entrant → 1 bundle dans chaque branche qui matche
  • Iterator : déplie un tableau. 1 bundle contenant un array de 5 éléments → 5 bundles séquentiels en sortie

Si vous voulez "pour chaque produit du deal, créer une ligne facture", il vous faut un Iterator (voir chapitre dédié), pas un Router.

Patterns courants en production

  • Routing par segment client : entreprise vs PME vs micro → traitements différents
  • Routing par stage Pipedrive : action différente selon que le deal vient de bouger en Demo, Proposal ou Won
  • Validation + branche d'erreur : route principale = données valides, fallback = log + notification interne
  • A/B testing de séquences : 50% des leads partent en séquence A, 50% en séquence B (via un random + filtre sur seuil)

⚠️ Performances

Un Router avec 5 routes parallèles = 5 fois plus d'opérations consommées par exécution. Toujours utiliser des filtres restrictifs pour ne pas activer toutes les routes en même temps. Si une route ne s'applique qu'à 5% des bundles, le filtre doit être strict.

Pour aller plus loin sur la composition de scénarios complexes, voir le chapitre Bonnes pratiques.