Nœuds
Le catalogue compte 36 types de nœud répartis dans les trois onglets de la palette : Triggers, Actions (y compris les actions de conception et d'IA) et Rules (logique, minutage et contrôle du flux). Chaque nœud est entièrement configurable et validé dès l'instant où vous le posez. Certaines actions s'exécutent déjà pour de vrai ; quelques-unes figurent au catalogue avant leur exécuteur et consignent honnêtement une étape « non encore raccordée » plutôt que de faire semblant de réussir, voyez la colonne When run ci-dessous.
Aperçu rapide
- Ouvrez l'onglet de la palette qui correspond à votre besoin : Triggers, Actions ou Rules.
- Faites glisser le nœud sur le canevas.
- Configurez ses champs dans l'inspecteur.
- Consultez les tableaux ci-dessous avant de compter sur l'effet réel d'un nœud d'action.
Référence détaillée
Déclencheurs
Un seul nœud déclencheur démarre un graphe. Voyez Déclencheurs pour comprendre comment chacun se déclenche réellement.
| Nœud | Ce qui démarre une exécution |
|---|---|
| Manual start | Vous, depuis le bouton Test du constructeur |
| Scheduled | Une cadence par intervalle, quotidienne ou hebdomadaire |
| Incoming webhook | Un appel à l'URL propre de l'automatisation |
| Design created | Une nouvelle conception est créée |
| Design updated | Une conception est enregistrée |
| Design shared | Une conception est partagée ou publiée |
| Design downloaded | Une conception est téléchargée |
| Part tagged | Une étiquette est ajoutée à un élément, avec un filtre facultatif sur une seule étiquette |
| Brand applied | Un kit de marque est appliqué à une conception |
| Asset uploaded | Un fichier est ajouté à la médiathèque |
| AI generation done | Une génération IA se termine |
| New work in folder | Un projet est ajouté à un dossier choisi |
Actions de conception
| Nœud | Ce qu'il fait | Champs | When run |
|---|---|---|---|
| Pick a part | Choisit un projet, puis un élément à l'intérieur (page, cadre ou diapositive) ; les étapes suivantes agissent dessus | Part (ouvre le sélecteur d'élément) | S'exécute pour de vrai |
| Set status / folder | Change le statut de la conception et/ou la déplace dans un dossier | Status, Folder | S'exécute pour de vrai |
| Publish a part | Publie l'élément sélectionné comme modèle communautaire | aucun | Non encore raccordé |
| Duplicate a design | Crée une copie de la conception sélectionnée | aucun | Non encore raccordé |
| Generate a cover | Génère une couverture ou une vignette pour l'élément sélectionné | aucun | Non encore raccordé |
Actions IA
Passe par votre propre clé de fournisseur IA, la même que celle utilisée ailleurs dans l'application ; voyez Utilisez votre propre clé IA.
| Nœud | Ce qu'il fait | Champs | When run |
|---|---|---|---|
| Generate copy | Rédige du texte avec un LLM | Réglages IA (ouverts depuis le nœud) | S'exécute pour de vrai avec n'importe quelle clé IA connectée ; sinon il consigne une étape ignorée |
| Generate an image | Texte vers image | Réglages IA (ouverts depuis le nœud) | S'exécute pour de vrai avec une clé compatible OpenAI ; tout autre fournisseur, ou l'absence de clé, consigne une étape ignorée |
| Generate a video | Texte vers vidéo | Réglages IA (ouverts depuis le nœud) | Consigne toujours une étape ignorée aujourd'hui ; la vidéo n'est pas encore reliée à un fournisseur, même avec une clé configurée |
| Run an AI skill | Exécute une compétence d'AI Studio | Réglages IA (ouverts depuis le nœud) | Identique à Generate an image pour une compétence qui produit une image ; une compétence qui produit une vidéo consigne toujours une étape ignorée |
Actions de notification
| Nœud | Ce qu'il fait | Champs | When run |
|---|---|---|---|
| In-app notification | Crée une notification dans votre espace de travail | Message | S'exécute pour de vrai |
| Send webhook | Envoie une requête POST à une URL | URL | S'exécute pour de vrai |
| Slack / Discord | Publie un message via un webhook entrant | Webhook URL, Message | S'exécute pour de vrai |
| Write an audit entry | Ajoute une ligne au journal d'audit | aucun | S'exécute pour de vrai |
| Send email | Envoie un e-mail | To, Subject, Body | S'exécute pour de vrai via la connexion SMTP configurée dans votre espace de travail ; sans elle, il consigne une étape ignorée |
| Add to calendar | Ajoute un événement au calendrier de l'espace de travail | Title | S'exécute pour de vrai ; l'événement apparaît dans le fil d'activité de votre Portal Calendar |
Règles et logique
Tous les nœuds de cette section sont pris en charge directement par le moteur central, donc ils s'exécutent tous pour de vrai.
| Nœud | Ce qu'il fait | Champs |
|---|---|---|
| Condition (yes/no) | Sépare le flux en deux branches selon une condition | Condition |
| Filter | Arrête le flux si une condition n'est pas remplie | Condition |
| Delay | Attend avant de continuer | Amount, Unit (minute, heure, jour) |
| Wait until a date | Attend jusqu'à une date et une heure précises | Date |
| Set a variable | Écrit une valeur dans le contexte de l'exécution pour les étapes suivantes | Key, Value |
| Expression / template | Construit une valeur à partir de sorties antérieures | Template |
| HTTP request | Appelle une URL et stocke la réponse | URL, Method, Body |
| No-op | Ne fait rien ; une étape de passage | aucun |
| Exit | Met fin à l'automatisation | aucun |
Modèles et conditions
La plupart des champs texte et zone de texte, le nœud Expression / template et plusieurs champs de notification acceptent des espaces réservés entre doubles accolades, notés {{ context.someKey }}, qui puisent dans tout ce que les nœuds antérieurs ont écrit dans l'exécution, par exemple l'élément que vous avez choisi ou un bloc de texte généré par l'IA.
Condition (yes/no) et Filter construisent plutôt une règle structurée : choisissez un champ, une comparaison (equals, contains, starts with, greater than, is empty, et bien d'autres selon le type de données du champ) et une valeur. Chaque côté de la règle peut référencer le contexte de l'exécution de la même façon, par exemple en comparant {{ context.status }} à une valeur fixe comme approved. Une règle vide passe toujours, c'est pourquoi un nœud Condition ou Filter tout neuf laisse tout passer jusqu'à ce que vous le configuriez.
Comment l'utiliser
Pas à pas : configurer une étape HTTP request
- Faites glisser HTTP request sur le canevas depuis l'onglet Rules et connectez-le après le nœud qui produit les données à envoyer.
- Définissez Method (GET, POST, PUT, PATCH ou DELETE) et URL ; le champ URL accepte
{{ context.x }}comme n'importe quel champ texte. - Choisissez Auth : None, Bearer token, Basic (
user:pass) ou un en-tête personnalisé, puis remplissez le champ de valeur correspondant qui apparaît. - Pour une méthode porteuse d'un corps, choisissez un type de Body (JSON, form ou raw text) et rédigez le Body, là encore avec des espaces réservés là où vous en avez besoin.
- Laissez Response variable sur sa valeur par défaut
__http, ou renommez-la, puis référencez le résultat en aval, par exemple{{ context.__http.status }}ou une valeur imbriquée dans{{ context.__http.body }}.
Pas à pas : notifier un canal Slack ou Discord
- Dans l'application de destination, créez un webhook entrant pour le canal où vous voulez publier, et copiez son URL.
- Faites glisser Slack / Discord sur le canevas (Actions > Notification) et collez cette URL dans Webhook URL.
- Rédigez le Message, en utilisant
{{ context.x }}pour inclure tout ce que les nœuds antérieurs ont produit. - Définissez éventuellement Username et Icon emoji pour repérer facilement les messages automatisés dans un canal chargé.
- Testez l'automatisation une fois ; un envoi échoué apparaît comme une étape
erroravec le statut HTTP joint, et non comme un silence sans effet.
Tâches courantes
- Se déclencher chaque matin en semaine. Sur un déclencheur Scheduled, réglez Frequency sur Cron, l'expression sur
0 9 * * 1-5et un fuseau horaire commeEurope/Istanbul. Le mode Cron conserve un pointeur de rattrapage : une minute manquée (un déploiement, un démarrage à froid) se déclenche quand même dès qu'elle est rattrapée, au lieu d'être silencieusement perdue. - N'accepter que des appels webhook signés. Renseignez le secret HMAC du déclencheur Incoming webhook ; l'appelant doit alors envoyer un en-tête
X-Signature: sha256=...calculé sur le corps brut, sinon l'appel est rejeté avec un 401 avant que quoi que ce soit ne s'exécute. - Passer un élément en revue après approbation. Enchaînez Pick a part sur Set status / folder, en réglant Status sur « İncelemede » (En révision) ; cela appelle le même chemin de mise à jour que le contrôle de statut de l'éditeur lui-même.
- Rédiger une légende ou un résumé. L'invite d'un nœud Generate copy peut référencer directement le contexte antérieur, par exemple
Summarize this in one sentence: {{ context.__aiText }}enchaîné après une autre étape IA. - Appeler une API externe et agir sur la réponse. Un nœud HTTP request (onglet Rules) peut définir une auth Bearer/Basic/en-tête personnalisé, écrire sa réponse dans une variable (par défaut
__http), et un nœud Filter placé juste après peut filtrer sur cette réponse, par exemple en ne continuant que si l'appel a réussi. - Signer un webhook sortant. Le champ Secret de l'action Webhook gönder (Send webhook), s'il est renseigné, signe le corps de la requête en HMAC-SHA256 et l'envoie dans l'en-tête nommé dans Signature header (par défaut
X-Signature), afin que le destinataire puisse vérifier que l'appel vient bien de votre automatisation. - Combiner plusieurs valeurs de contexte en une seule chaîne. Utilisez Expression / template plutôt que plusieurs nœuds Set a variable, par exemple
{{ context.name }} <{{ context.email }}>écrit une seule fois dans son champ Template, puis référencé en aval sous la forme{{ context.__expr }}. - Relier une notification au travail qu'elle concerne. Le champ Href de In-app notification accepte un chemin comme
/works/<id>, si bien qu'un clic sur la notification dans l'espace de travail amène votre équipe directement au projet concerné. - Arrêter une exécution tôt sans qu'elle compte comme un échec. Enchaînez un nœud Filter avec une règle qui est fausse pour les cas que vous voulez écarter ; une exécution filtrée apparaît comme Exited dans Runs, pas comme Failed, et rien après le filtre ne s'exécute.
Dépannage
- L'étape d'un nœud affiche
skippeddans Activity. Il s'agit soit d'un filtrage intentionnel (un nœud Filter dont la condition a échoué), soit d'un nœud dont l'exécuteur n'est réellement pas encore raccordé (voyez les colonnes « When run » ci-dessus), soit d'une action qui n'a encore rien sur quoi agir (un e-mail sans connexion SMTP, une IA sans clé correspondante). Aucun de ces cas n'est un bug ; l'exécution se poursuit vers ce qui vient après. - Un nœud d'action échoue sans cesse sur la même étape. Ouvrez l'onglet Settings de son inspecteur et définissez un nombre de tentatives (Retry) avec une attente, ou passez On error sur Continue pour que le reste du graphe s'exécute quand même ; voyez Construire un flux de travail.
- Ma condition ne semble jamais passer (ou ne semble jamais échouer). Vérifiez que le champ qu'elle lit se résout bien à quelque chose : une faute de frappe dans un chemin
{{ context.x }}, ou un nœud amont lui-même ignoré, laissent tous deux la valeur vide, et la plupart des comparaisons autres que « is empty » échouent face à une valeur vide. - Une exécution n'a jamais démarré. C'est une question de niveau déclencheur, pas de nœud ; voyez Déclencheurs pour les subtilités du debounce, des heures calmes et du statut Active.
- Set status / folder consigne « önce bir parça seç » (choisissez d'abord un élément) et est ignoré. Ce nœud agit sur l'élément qu'un nœud Pick a part a choisi plus tôt dans la même exécution. Sans un tel nœud avant lui dans le graphe, il n'y a rien sur quoi agir, donc il est toujours ignoré avec ce message.
- « Publish a part », « Duplicate a design » ou « Generate a cover » ne semblent jamais rien faire. Ces trois actions de conception précèdent encore leur exécuteur ; elles consignent toujours une étape ignorée et laissent passer le flux, exactement comme un nœud IA ou e-mail dont la dépendance n'est pas configurée. Rien de ce que vous y configurez ne change cela aujourd'hui.
- Un envoi Slack ou un webhook sortant n'est pas arrivé, sans erreur visible. Vérifiez d'abord son entrée dans Recent step logs. Une URL de webhook entrant erronée ou expirée, ou une cible qui a renvoyé un statut non-2xx, apparaissent toutes deux comme une étape
erroravec le statut de la réponse dans le message, et non comme un échec caché.
Astuces
Skipped ne veut pas dire cassé
Un nœud marqué « non encore raccordé » n'est pas un bug. L'exécution le traverse quand même, consigne honnêtement une étape « skipped » et continue vers le nœud suivant, de sorte que le reste de votre graphe fonctionne toujours en attendant que l'exécuteur de ce nœud arrive.
Combiner condition et filtre
Utilisez Condition quand vous avez besoin de deux chemins différents (oui et non) ; utilisez Filter quand vous voulez simplement arrêter une exécution qui ne remplit pas les critères.