# Premiers pas avec Workflow

> Formspree Docs · Construire votre formulaire · 4 février 2026

#### **Disponible sur tous les abonnements**

Workflow vous permet de valider rapidement les données de formulaire et de les envoyer vers vos services tiers. Combiné à [Formshield](/articles/advanced-features/advanced-spam-filtering/) et aux relances automatiques, Workflow offre une solution facile à maintenir pour la livraison de données sans spam, en garantissant que les informations soumises sont correctes au moment de l'envoi.

Workflow propose notamment :

-   Des actions pour les services populaires
-   Un constructeur visuel simple
-   Un mappage automatique des champs vers les intégrations tierces
-   Une livraison garantie aux intégrations tierces grâce aux relances automatiques

Par défaut, Workflow est activé dans votre tableau de bord. Lorsque vous accédez à la section Workflow, vous trouverez une configuration de base : un nœud **Validation** pour un champ e-mail et un nœud **Actions** pour les notifications par e-mail.

![Workflow_DefualtView.png](/images/zendesk/4871c79aa5edf9e4.png)

## Ajouter des règles de validation

De nouvelles règles de validation peuvent être créées en cliquant sur le lien **+Add new** dans la section Validation de Workflow. Les règles peuvent porter sur les types suivants :

-   Texte
-   Nombre
-   E-mail
-   URL
-   Date/Heure
-   Fichier

Les champs ne doivent être ajoutés à la validation dans Workflow que s'il existe un tag `input` correspondant dans le code de votre formulaire. Le nom du champ dans la règle de validation doit correspondre à l'attribut `name` du tag `input` dans votre code. Chaque champ possède différents attributs qui contrôlent le comportement de la validation. La liste complète des attributs est disponible [ici](#h_01HNFVF79H85K0QBMYT26NVWPH).

Si les données ne respectent pas les règles de validation, une erreur s'affiche pour l'utilisateur ou, si la soumission se fait via AJAX, une réponse d'erreur est renvoyée. Plus d'informations sur les erreurs de validation [ici](#h_01HNFT48GE83X5RAX9C0TJ0AKK).

## Ajouter de nouvelles actions

Une fois les données validées avec succès, elles passent aux **Actions**. Les actions sont des comportements déclenchés par une soumission réussie. Vos actions définies sont exécutées en parallèle — elles se produisent toutes simultanément, et non séquentiellement.

_Remarque : le [plugin Stripe](/articles/plugins/use-stripe-to-accept-payments-with-sca/) fait exception à cette règle. Stripe est un plugin synchrone, ce qui signifie qu'il s'exécute avant la soumission, permettant aux utilisateurs de voir les erreurs éventuelles, comme un refus de carte._

Pour créer de nouvelles actions, cliquez sur le lien **+Add new** dans la section Actions de Workflow. En plus d'envoyer des soumissions à une adresse e-mail, plusieurs intégrations tierces sont disponibles : CRM, services d'assistance, bases de données, dépôts de code, etc.

![AddAction_ModalOverlay.png](/images/zendesk/5902e24abf52c22b.png)

Une fois une action activée, vous pouvez modifier ses paramètres en cliquant sur … dans le coin droit du nœud Action et en sélectionnant **Settings**. Vous pouvez également déconnecter une action de votre workflow en cliquant sur l'icône **Disconnect**. Pour conserver une action connectée sans qu'elle s'exécute, désactivez l'option **Enabled** dans ses paramètres.

## Règles de validation

Vous trouverez ci-dessous deux tableaux. Le premier définit les différents types de champs de validation. Le second décrit les attributs de validation disponibles, avec les valeurs acceptées, les types de champs pris en charge et une description de chaque attribut.

En plus des règles de validation explicites que vous ajoutez via l'interface Workflow, des validations _implicites_ sont ajoutées automatiquement lorsqu'une action l'exige. Les validations implicites sont identifiées par l'icône « Used by » dans la liste des champs. Ces validations implicites ne peuvent pas être supprimées, mais peuvent être rendues plus strictes que ce que l'action associée requiert. Par exemple, lorsque vous ajoutez l'action e-mail, une validation d'e-mail implicite est également ajoutée pour s'assurer que, si inclus dans la soumission, le champ e-mail contient bien une adresse valide. La validation e-mail affiche le libellé « Used by » pour indiquer que l'action e-mail l'a créée.

### Types de champs de validation

| Type | Description |
| --- | --- |
| datetime-local | Un contrôle pour saisir une date et une heure, sans fuseau horaire. Ouvre un sélecteur de date ou des roues numériques dans les navigateurs compatibles. Voir [MDN Web Docs](https://developer.mozilla.org/fr/docs/Web/HTML/Date_and_time_formats#local_date_and_time_strings). |
| email | Un champ pour saisir une adresse e-mail. Ressemble à un champ texte, mais avec des paramètres de validation et un clavier adapté sur les appareils compatibles. |
| file | Un contrôle permettant à l'utilisateur de sélectionner un fichier. Utilisez l'attribut accept pour définir les types de fichiers acceptés. |
| number | Un contrôle pour saisir un nombre. Affiche un spinner et une validation par défaut. Affiche un pavé numérique sur certains appareils. |
| tel | Un contrôle pour saisir un numéro de téléphone. Affiche un clavier téléphonique sur certains appareils. |
| text | La valeur par défaut. Un champ texte sur une seule ligne. Les sauts de ligne sont automatiquement supprimés. |
| url | Un champ pour saisir une URL. Ressemble à un champ texte, mais avec des paramètres de validation et un clavier adapté sur les appareils compatibles. |

### Attributs de validation

| Attribut de validation | Valeurs | Types pris en charge | Description |
| --- | --- | --- | --- |
| Requis | Booléen | tous | Indique si le champ est obligatoire. Disponible pour tous les types de champs. |
| Valeur minimale | Nombre ou chaîne | datetime-local, number | Indique la valeur minimale. Utilisable avec les types Nombre, Date/Heure ou Fichier. |
| Valeur maximale | Nombre ou chaîne | datetime-local, number | Indique la valeur maximale. Utilisable avec les types Nombre ou Date/Heure. |
| Longueur minimale | Nombre | text, url, tel, email | Indique la longueur minimale. Utilisable avec les types Texte ou URL. |
| Longueur maximale | Nombre | text, url, tel, email | Indique la longueur maximale. Utilisable avec les types Texte ou URL. |
| Types de fichiers acceptés | Liste de chaînes | File | Indique les types de contenu de fichier valides. La valeur doit être une liste de types MIME valides. Notez que vous devez définir le type du champ comme `file` dans votre formulaire, sinon cette règle ne sera pas appliquée. |

## Erreurs de validation

Si un utilisateur soumet un formulaire qui ne respecte pas une règle de validation définie dans Workflow, une réponse d'erreur est renvoyée. L'utilisateur peut être redirigé vers une page d'erreur de validation qui donne plus de détails (sauf si le formulaire est soumis via [JavaScript avec AJAX](/articles/building-your-form/submit-forms-with-javascript-ajax/), auquel cas l'erreur sera dans le corps de la réponse).

Les codes d'erreur suivants peuvent apparaître dans le tableau `errors` de l'objet d'état :

| Code | Erreur de champ | Description |
| --- | --- | --- |
| INACTIVE |   | Le formulaire a été désactivé |
| BLOCKED |   | Le formulaire a été bloqué |
| EMPTY |   | Aucune donnée n'a été soumise |
| PROJECT_NOT_FOUND |   | Une clé de projet invalide a été utilisée pour soumettre le formulaire |
| FORM_NOT_FOUND |   | Un identifiant de formulaire invalide a été utilisé pour soumettre le formulaire |
| NO_FILE_UPLOADS |   | Les téléversements de fichiers ne sont pas pris en charge pour ce formulaire |
| TOO_MANY_FILES |   | Le formulaire a été soumis avec trop de pièces jointes |
| FILES_TOO_BIG |   | Un ou plusieurs fichiers téléversés dépassent la taille maximale |
| REQUIRED_FIELD_MISSING | ✓ | Un champ est obligatoire mais aucune valeur n'a été fournie |
| REQUIRED_FIELD_EMPTY | ✓ | Un champ est obligatoire mais une valeur vide a été fournie |
| TYPE_EMAIL | ✓ | Un champ doit contenir un e-mail |
| TYPE_NUMERIC | ✓ | Un champ doit contenir un nombre |
| TYPE_TEXT | ✓ | Un champ doit contenir du texte |
| STRIPE_CLIENT_ERROR | ✓ | Clé Stripe manquante |
| STRIPE_SCA_ERROR | ✓ | Erreur SCA Stripe. Voir les détails |
