Skip to main content
View as Markdown

Vue d'ensemble des actions d'automatisation

Les actions sont les étapes individuelles qu'une automatisation exécute. Chaque action partage la même forme : un type et un operator qui sélectionnent ensemble l'opération, plus un objet props transportant ses entrées. Les étapes s'exécutent séquentiellement (de haut en bas) sauf si une action path ou loop crée une branche d'exécution.

actions:
  - name: fetchUser # step name — referenced as {{fetchUser.result}}
    type: http # action family
    operator: get # operation within the family
    props: # operation-specific inputs
      url: 'https://api.example.com/users/{{trigger.data.userId}}'
      connection: example-api

Le modèle d'action

Élément Description
type La famille d'action (par ex. http, record, email). Sélectionne la capacité générale.
operator L'opération au sein de la famille (par ex. get, create, send). Détermine la forme de props.
props Entrées spécifiques à l'opération. Les valeurs de chaîne prennent en charge les variables de gabarit.

Propriétés de base communes

Chaque action — quel que soit son type/operator — accepte ces champs de base :

Propriété Description
name Nom de l'étape pour référencer les sorties (par ex. fetchUser). Doit correspondre à ^[a-zA-Z][a-zA-Z0-9_]*$. Requis.
label Libellé lisible pour l'étape.
retry Politique de relance par action — { maxAttempts, delayMs?, strategy? }. Voir Relance et échec.
continueOnError Booléen. Lorsqu'il vaut true, le workflow continue même si cette action échoue. Vaut false par défaut.
timeout Timeout par action en millisecondes (1000–900000). Termine l'action de manière uniforme lorsqu'il est dépassé — distinct du props.timeout par type.

Exécution conditionnelle

Le branchement et le saut conditionnel sont gérés par des actions de contrôle de flux dédiées plutôt que par un champ condition par action :

  • filter/continue — évalue un groupe de conditions ; si faux, stop (arrête) l'exécution ou skip (saute) à l'action suivante.
  • path/branch — achemine vers des branches nommées en fonction de conditions par branche.

Voir Contrôle de flux et Actions de données et d'état.

Les ~22 familles d'actions

Chaque famille regroupe un ou plusieurs operators. Les pages ci-dessous documentent chaque operator.

Famille Operators Page
data set, aggregate, sort, limit, deduplicate, merge, split, compare, lookup Données et état
state get, set, increment, delete, list Données et état
filter continue Données et état
crypto hash, hmac Données et état
digest collect, release Données et état
http request, get, post, put, patch, delete HTTP et webhooks
webhook send, response HTTP et webhooks
record create, read, update, delete, upsert, batchCreate, batchUpdate, batchDelete, batchUpsert Enregistrement et fichier
file upload, download, delete, copy, move, list, getMetadata, signUrl, generatePdf, generateCsv, parseCsv, extractText, transformImage, compress Enregistrement et fichier
path branch Contrôle de flux
loop each Contrôle de flux
automation call, return Contrôle de flux
flow stop Contrôle de flux
email send E-mail et notifications
analytics track E-mail et notifications
ai generate, classify, extract, agent Actions IA
approval request Approbation et délai
delay wait, queue, webhook Approbation et délai
auth createUser, assignRole, banUser, unbanUser Actions d'authentification
code runTypescript Actions de code
cloud provision-db, spawn-app, route-add, disable-app, destroy-app Actions cloud
ref (aucun operator) cette page

Modèles d'action réutilisables (ref)

Définissez une action réutilisable dans le tableau de premier niveau app.actions[], puis invoquez-la depuis n'importe quelle automatisation avec une action ref. L'action ref n'a pas d'operator — elle transporte un $ref (nom du modèle) et un $vars optionnel (remplacements de substitution).

Propriété Description
$ref Nom du modèle d'action à invoquer (doit correspondre à un modèle dans app.actions[]).
$vars Variables à substituer dans le modèle référencé (remplace les valeurs par défaut du modèle).
# Top-level reusable template
actions:
  - name: notify-slack
    type: http
    operator: post
    props:
      url: $env.SLACK_WEBHOOK_URL
      body: { text: '{{message}}' }

# Invoking it inside an automation
automations:
  - name: order-alert
    trigger: { type: record, table: orders, events: [create] }
    actions:
      - name: alert
        type: ref
        $ref: notify-slack
        $vars: { message: 'New order {{trigger.data.id}}' }

Pages connexes