# Concepts clés

> Workflows, nodes, déclencheurs, exécutions et variables — le vocabulaire essentiel des Actions CiteMe.

Fondamentaux

Avant de construire, prenez deux minutes pour assimiler le vocabulaire. Tout le système repose sur cinq notions.

---

## Workflow

Un **workflow** est une automatisation complète : un déclencheur, suivi d'une chaîne de nodes reliés par des flèches. C'est l'unité que vous créez, activez et désactivez.

Un workflow a un **état** :

| État | Signification |
|------|---------------|
| **Brouillon** | En cours de construction, jamais exécuté automatiquement. |
| **Actif** | Le déclencheur est armé : le workflow se lance dès que la condition se présente. |
| **En pause** | Conservé mais désarmé : il ne se déclenchera plus tant que vous ne le réactivez pas. |

---

## Node

Un **node** est une étape unique du workflow. Chaque node a :

- un **type** (ex. `agent.writer`, `cms.webflow.blog`, `approval.request`) ;
- une **configuration** (quelle page modifier, quel ton adopter, quel destinataire prévenir) ;
- des **entrées** (ce qu'il reçoit du node précédent) et des **sorties** (ce qu'il transmet au suivant).

Les nodes se rangent en cinq familles : déclencheurs, agents IA, actions GEO, logique, approbations/notifications — plus les nodes CMS propres à chaque connecteur. La **[référence des nodes](./nodes/triggers)** détaille chacun d'eux.

:::info Un seul déclencheur, plusieurs actions
Tout workflow commence par **exactement un** déclencheur. Ensuite, vous pouvez enchaîner autant de nodes d'action que nécessaire, y compris des branches parallèles.
:::

---

## Déclencheur

Le **déclencheur** (*trigger*) est le node de départ. Il décide **quand** le workflow s'exécute. Trois grandes catégories :

- **Manuel** — vous lancez le workflow vous-même depuis le dashboard.
- **Planifié** — selon un calendrier récurrent (« tous les lundis 9h », « le 1er du mois »).
- **Événementiel** — en réaction à un événement GEO (audit terminé, score qui chute, concurrent détecté, bot IA qui visite une page, publication CMS, webhook entrant).

Voir la liste complète dans **[Déclencheurs](./nodes/triggers)**.

---

## Exécution (run) {#execution-run}

Chaque fois qu'un workflow se lance, CiteMe crée une **exécution** (ou *run*). Une exécution avance node par node et garde une trace de tout : ce que chaque node a reçu, produit, et combien de temps il a pris.

Une exécution passe par différents statuts au cours de sa vie :

| Statut | Signification |
|--------|---------------|
| **En file** | En attente d'un worker disponible. |
| **En cours** | Les nodes s'exécutent les uns après les autres. |
| **En attente de validation** | Un node d'approbation a mis le workflow en pause (voir [Approbations](./nodes/approvals)). |
| **En sommeil** | Un node « Attendre jusqu'à une date » a suspendu l'exécution ; elle reprendra seule. |
| **Terminé** | Tous les nodes atteignables ont fini avec succès. |
| **Échoué** | Un node a rencontré une erreur bloquante. |
| **Annulé** | Vous avez stoppé l'exécution manuellement. |

Le détail de chaque exécution se consulte dans **[Exécutions & monitoring](./runs)**.

---

## Variables

Les nodes ne sont pas isolés : un node peut réutiliser ce qu'un node précédent a produit. On référence ces valeurs avec des **variables**, écrites entre doubles accolades.

| Syntaxe | Ce qu'elle désigne |
|---------|--------------------|
| `{{trigger.payload.url}}` | Une donnée fournie par le déclencheur. |
| `{{node_n2.output.markdown}}` | La sortie d'un node précédent (ici le node `n2`). |
| `{{loop.item}}` | L'élément courant dans une boucle « pour chaque ». |

**Exemple** — un node de publication Webflow qui reprend le titre et le corps rédigés par l'agent au node `n2` :

```
Titre : {{node_n2.output.title_tag}}
Corps : {{node_n2.output.markdown}}
```

:::tip
Vous n'avez pas à mémoriser les noms de variables : le builder vous propose les sorties disponibles des nodes en amont quand vous remplissez un champ.
:::

---

## La suite

Maintenant que le vocabulaire est posé, découvrez **[le builder visuel](./builder)** où vous assemblez concrètement ces nodes.
