# Workflows | Docs - nodulz

Source: https://nodulz.com/fr/docs/workflows

Language: fr

Un workflow décrit le traitement d’une entrée : ce qui le démarre, les étapes à exécuter, les décisions et le résultat à produire. Pour construire un premier exemple complet, suivez [Premiers pas](/docs/getting-started).

## Définir le résultat avant les nœuds

Prenez un cas précis, par exemple « recevoir une demande et créer un contact ». Notez un exemple d’entrée, les champs obligatoires, l’action attendue et le comportement si le contact existe déjà. Vous pourrez tester le workflow contre ces attentes.

Commencez avec une seule demande et une cible de test. Ajoutez ensuite les cas vide, invalide et déjà traité. Pour une action qui écrit dans un service, choisissez une clé stable de la demande afin de pouvoir détecter un doublon.

## Déclencheurs

- [Manuel](/docs/nodes/manual) : construire et tester avec un payload maîtrisé, sans attendre de service externe.
- [Webhook](/docs/nodes/webhook) : recevoir une requête quand un appelant peut contacter votre instance.
- [Planification](/docs/nodes/schedule) : interroger un service ou lancer un traitement à un horaire défini.
- **Événement d’application** : utiliser le déclencheur propre au fournisseur lorsqu’il correspond à l’événement recherché. Sa fiche précise les accès et le mode de livraison.

Un test manuel de traitement ne valide pas une livraison webhook, un abonnement fournisseur ou un horaire. La vérification du déclencheur se fait aussi avec un événement réel après publication.

## Connexions et branches

Les connexions d’exécution indiquent l’ordre des étapes. Les sorties d’un [IF](/docs/nodes/if) correspondent à **vrai** et **faux** : reliez chaque cas que vous voulez traiter. Inspectez le résultat de la condition si une branche ne s’exécute pas.

Pour une liste, distinguez la sélection des éléments avec [Filtrer](/docs/nodes/filter) et leur traitement avec une [boucle](/docs/nodes/loop_over_items). La sortie **Boucle** traite chaque élément ou lot ; **Terminé** poursuit une fois le parcours achevé. Le guide [Traiter une liste](/docs/working-with-lists) permet de reproduire ce parcours sans service externe.

Les ports de composants d’un agent IA servent à lui fournir un modèle, une mémoire et des outils. Relier un outil à un agent ne signifie pas l’exécuter systématiquement : le modèle décide de l’appeler pendant sa tâche.

## Configurer les données

Exécutez les étapes dans l’ordre et choisissez les données amont dans le mapping. `input` reste l’entrée du déclencheur ; `nodes.<nom>` permet de lire une sortie précise. Les options du nœud peuvent changer cette sortie : vérifiez notamment **Corps uniquement** pour HTTP et **Champs mappés uniquement** pour Modifier les champs.

Utilisez une étape de préparation pour nommer explicitement les champs attendus par le destinataire. Cela facilite la lecture et évite d’envoyer toute la réponse d’une API quand seuls deux champs sont utiles. Le [guide des expressions](/docs/expressions) détaille les types, listes et valeurs absentes.

## Appeler un autre workflow

Utilisez [Appeler un workflow](/docs/nodes/call_workflow) pour un traitement réutilisable dont vous voulez fixer les étapes, par exemple normaliser une demande avant son enregistrement. La cible est un [Événement workflow](/docs/nodes/workflow_event) publié. L’appel partage le contexte et les sorties dans la même exécution.

Définissez les données attendues par la cible et testez un appel avec un champ manquant avant de remplacer une séquence existante. La réutilisation ne dispense pas de vérifier les accès du propriétaire.

## Agents et recherche documentaire

Pour une tâche qui nécessite de choisir des outils en fonction d’une demande, utilisez un [agent IA](/docs/nodes/ai_agent). Commencez avec un modèle et un outil de lecture, un objectif précis et un nombre de tours limité. Ajoutez ensuite la mémoire ou les actions d’écriture nécessaires. [Appeler un agent](/docs/nodes/call_agent) permet de réutiliser un spécialiste accessible.

Pour répondre à partir de documents, distinguez deux traitements :

1. **Indexation** : [charger](/docs/nodes/ai_document_loader) les documents, les [découper](/docs/nodes/ai_recursive_text_splitter), créer leurs [embeddings](/docs/nodes/ai_embeddings) et les enregistrer dans un stockage vectoriel.
2. **Question** : vectoriser la question avec le même modèle et la même dimension, [rechercher](/docs/nodes/ai_vector_store_retriever) les passages utiles, puis fournir ces passages au nœud de [questions documentaires](/docs/nodes/ai_document_qa).

Le [stockage simple](/docs/nodes/ai_simple_vector_store) reste dans les données de l’exécution. Pour réutiliser un index dans une autre exécution, choisissez un stockage externe. Vérifiez les passages retrouvés avant d’ajuster le prompt : sans passage pertinent, une réponse fluide ne prouve pas que la recherche fonctionne.

## Tester et publier

Avant la publication, vérifiez ces résultats :

- Une entrée normale produit les champs et l’action attendus.
- Une entrée incomplète emprunte une branche de rejet identifiable.
- Chaque branche de décision a été exécutée au moins une fois.
- Une nouvelle tentative du même événement ne crée pas une deuxième écriture indésirable.
- Un échec laisse un message exploitable dans l’[historique](/docs/executions).

Publiez pour activer les déclencheurs externes ou planifiés. Après un changement de leur configuration, republiez, provoquez un événement réel et retrouvez l’exécution correspondante dans l’historique.

> [!WARNING] Une réponse HTTP ne prouve pas la réussite du workflow
>
> Un webhook configuré pour répondre immédiatement peut avoir répondu avant l’échec d’une étape. Vérifiez le statut final de l’exécution et le résultat dans le service destinataire.

Pour diagnostiquer une différence entre test et exécution réelle, consultez le [dépannage](/docs/troubleshooting).

## Pour aller plus loin

- [Fonctionnalités - nodulz](https://nodulz.com/fr/product/overview)
- [Catalogue des nœuds - nodulz](https://nodulz.com/fr/product/catalog)
- [Serveur MCP - nodulz](https://nodulz.com/fr/product/mcp)
- [Tarifs - nodulz](https://nodulz.com/fr/pricing)
- [Cas d’usage et automatisations - nodulz](https://nodulz.com/fr/use-cases)
- [Choisissez ce que vos workflows peuvent faire. - nodulz](https://nodulz.com/fr/compare)
- [Documentation - nodulz](https://nodulz.com/fr/docs)
