Actions d'orchestration
Les actions produisent un effet de bord dans le workflow : envoyer une
notification, poser une variable de contexte, appeler un endpoint. Elles
reçoivent un signal en entrée (in) et le propagent en sortie.
Dans un workflow, la brick Alerte est la voie unifiée : elle remplace Send Email / Send Slack / Send Webhook, conservées pour les workflows existants. Pour notifier depuis un pipeline de données, utilisez la brick Notification côté chargeurs.
Alerte
Envoie une alerte/notification sur le canal choisi (email, Slack, Teams ou webhook), avec un niveau (info, warning, erreur). Brick unifiée qui remplace Send Email/Slack/Webhook.
| Catégorie | Action |
| Entrées | in (Trigger) |
| Sorties | out (Envoyée) · failed (Échec) |
Paramètres communs :
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
channel | email · slack · teams · webhook (requis) | email | Canal d'envoi (déduit automatiquement du type de connexion choisi). |
level | info · warning · error (requis) | info | Sévérité de l'alerte (préfixe le message). |
connection_id | chaîne | — | Connexion à utiliser : SMTP pour email, webhook/bot pour Slack, endpoint pour webhook. |
Paramètres selon le canal :
| Canal | Paramètre | Type | Défaut | Description |
|---|---|---|---|---|
to | chaîne | — | Adresses des destinataires, séparées par des virgules. | |
subject | chaîne | — | Sujet du message. | |
body | chaîne | — | Corps du message. | |
body_type | plain · html | plain | Format du corps. | |
| slack | slack_channel | chaîne | — | Par exemple #alerts ou @user (ignoré si le webhook est lié à un channel). |
| slack | message | chaîne | — | Texte du message. |
| webhook | method | POST · PUT · PATCH | POST | Méthode HTTP. |
| webhook | body_template | chaîne | modèle JSON | Template JSON envoyé, voir ci-dessous. |
| teams | logo_url | chaîne | logo Fluhoms | Image affichée dans la carte Teams. PNG/JPG recommandé (Teams rend mal le SVG/webp). |
| teams | app_url | chaîne | https://app.fluhoms.io | Lien « Ouvrir Fluhoms » de la carte Teams. |
Template par défaut du canal webhook :
{
"event": "alert",
"level": "${var.workflow.level}"
}
Définir variable
Stocke une valeur dans le contexte du workflow. La variable est réutilisable en
aval via ${var.workflow.NOM} et transmise aux sous-pipelines déclenchés.
| Catégorie | Action |
| Entrées | in (Trigger) |
| Sorties | out (Suite) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
name | chaîne (requis) | — | Nom de la variable (réutilisable via ${var.workflow.NOM}). |
value | chaîne | — | Valeur à stocker. Supporte l'interpolation ${var.env.X}, ${var.workflow.X}, etc. |
Send Email
Envoie un email via SMTP.
| Catégorie | Action |
| Entrées | in (Trigger) |
| Sorties | out (Result) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
connection_id | chaîne | — | UUID de la connexion SMTP à utiliser. |
to | chaîne (requis) | — | Adresses des destinataires, séparées par des virgules. |
subject | chaîne (requis) | — | Sujet de l'email. |
body | chaîne (requis) | — | Corps de l'email (texte brut ou HTML). |
body_type | plain · html | plain | Format du corps. |
Send Slack
Envoie un message Slack (channel ou DM) via webhook incoming ou Bot Token. Supporte les blocks Markdown et les mentions.
| Catégorie | Action |
| Entrées | in (Trigger) |
| Sorties | out (Done) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
connection_id | chaîne (requis) | — | Connexion Slack (webhook ou bot). |
channel | chaîne | — | Par exemple #alerts ou @username (ignoré si le webhook est lié à un channel). |
message | chaîne (requis) | — | Texte ou blocks JSON ; supporte les variables ${run.id} et ${prev.X}. |
format | text · blocks | text | Format du message. |
Send Webhook
POST sortant vers un endpoint arbitraire (Teams, Discord, n8n, Zapier, custom). Body JSON template avec variables runtime.
| Catégorie | Action |
| Entrées | in (Trigger) |
| Sorties | out (Done) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
connection_id | chaîne (requis) | — | Connexion webhook (URL + headers). |
method | POST · PUT · PATCH (requis) | POST | Méthode HTTP. |
body_template | chaîne (requis) | modèle JSON | Template JSON avec variables, parsé puis envoyé. |
expected_status | entier | 0 | Statut HTTP attendu ; laissé à 0, toute réponse < 300 est un succès. |
Template par défaut :
{
"event": "workflow_completed",
"run_id": "${run.id}"
}
Voir aussi
- Orchestrer des pipelines : où placer les notifications dans un workflow.
- Créer une connexion : SMTP, Slack, webhook.
Opération fichier
Déplace, copie ou supprime un fichier sur une connexion storage, sans lire son contenu. Traiter un document, c'est aussi le sortir du dossier d'entrée.
| Catégorie | Action |
| Entrées | in (Trigger) |
| Sorties | out (Suite) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
connection_id | chaîne (requis) | — | Connexion storage utilisée. |
operation | move · copy · delete (requis) | move | Déplacer / renommer, copier, ou supprimer. |
source_path | chaîne (requis) | — | Chemin relatif à la racine de la connexion. Dans une boucle : ${var.item.file_path}. |
target_path | chaîne | — | Destination, dossier compris. Requis pour move et copy. |
overwrite | booléen | false | Écraser une destination existante. |
missing_ok | booléen | false | Ignorer si la source n'existe pas. |
Renommer, c'est déplacer dans le même dossier. Les dossiers intermédiaires de la destination sont créés au besoin.
C'est la seule forme portable entre un disque local, une FTP et un stockage objet : aucun de ces backends n'expose de renommage atomique commun. Si la copie réussit mais que la connexion ne sait pas supprimer, l'erreur le dit et précise que la destination existe bien.
missing_ok évite qu'un workflow rejoué échoue sur un fichier déjà archivé au
passage précédent. À l'inverse, overwrite reste désactivé par défaut : écraser
un fichier en silence est rarement ce qu'on veut.