Aller au contenu
Documentation

Les conditions et les filtres

Écrire la condition d'un lien, d'un déclencheur ou d'une attente, et le filtre d'une boucle — le format, ce qu'il accepte, et ce qu'il refuse.

3 min de lecture Mise à jour le 10 novembre 2026

Une condition (d'un lien, d'un déclencheur, d'une attente, d'un bloc d'une étape condition) et le filtre d'une boucle ont le format des filtres de liste de l'API — voir Lire des listes —, écrit en JSON dans une chaîne :

JSON
{ "OperatorType": "and", "Operands": [
    { "PropertyName": "Status", "Comparison": "=", "Value": "Client" },
    { "OperatorType": "or", "Operands": [
        { "PropertyName": "City", "Comparison": "contains", "Value": "Paris" },
        { "PropertyName": "PostalCode", "Comparison": "startswith", "Value": "75" } ] } ] }

Les règles

  • Une feuille porte PropertyName, Comparison et Value. PropertyName est une propriété directe du type filtré (Status, ParentCompanyId) : un chemin qui traverse une fiche liée (ParentCompany_Name) ne se lit pas — on filtre sur l'identifiant de la fiche liée. Exceptions : un champ personnalisé, CustomFields. suivi de son nom technique, et l'élément d'une collection interrogeable (ActionSummaries.Status).
  • Un nœud porte OperatorType — and, or ou Not ; absent, and — et ses Operands. Un nœud n'a qu'un opérateur : « a et b ou c » s'écrit or( and(a, b), c ). Tout autre opérateur est refusé.
  • Comparison, en minuscules : =, <>, <, <=, >, >=, contains, notcontains, startswith, endswith, between (Value = les deux bornes, incluses), isin et isnotin (Value = une liste non vide). Absente, elle vaut =. Value: null ne s'emploie qu'avec = et <>.
  • Une fiche liée par une relation : PropertyName = Relation[<code>|A] (la fiche filtrée du côté A), Comparison = isnotblank (au moins un lien), isblank (aucun), = ou <> (liée ou non à la fiche dont l'identifiant est Value), isin ou isnotin. Dans le filtre d'une boucle, seulement en tête.
  • « Un élément d'une collection qui remplit toutes ces conditions » : un nœud dont PropertyName nomme la collection (ActionSummaries, MemberSummaries, FileSummaries, RecipientSummaries), ses opérandes portant sur l'élément. Deux feuilles posées à plat sur la même collection peuvent être satisfaites par deux éléments différents.
  • Value peut être une variable ({{Total}}), et dans le filtre d'une boucle tout champ : « la carte du parcours » s'écrit Id = {{Transaction_PipelineItemId}}, « la fiche créée à l'étape 4 » Id = {{Flow_FlowAction[4]_Output_Id}}.
  • Une condition sur les variables (sujet Variables, et toute condition d'un déclencheur sans fiche) nomme une variable dans PropertyName, déclarée ou remplie par un déclencheur ; elle se compare dans son type, et isblank / isnotblank s'y emploient.

Ce qui rend une condition fausse

  • Un filtre ne s'élargit jamais : un critère qui ne se lit pas, ou un champ qui ne se résout pas, rend la condition fausse — jamais « vraie faute de mieux ». Sans fiche à juger, toute condition non vide est fausse.
  • Une condition se juge sur la fiche en mémoire, une propriété calculée comprise ; le filtre d'une boucle se traduit en base, où une propriété calculée est refusée. La publication le juge : ConditionChampInconnu, avec le champ et le motif.
  • Ce format et aucun autre : un tableau de filtre écrit pour un autre outil (["Name","startswith","…"]) est refusé (ConditionIllisible).
  • Il n'y a ni date relative (« il y a sept jours »), ni « utilisateur courant » : {{Now}} et {{Today}} sont des dates fixes, résolues à l'exécution.