# Primeros pasos con Workflow

> Formspree Docs · Crear tu formulario · 4 de febrero de 2026

#### **Disponible en todos los planes**

Workflow te permite validar y enviar rápidamente los datos del formulario a tus servicios de terceros. Junto con [Formshield](/es/articles/advanced-features/advanced-spam-filtering/) y los reintentos automáticos, Workflow ofrece una solución fácil de mantener para entregar datos sin spam, facilitando que los datos del formulario sean correctos en el momento del envío.

Workflow ofrece varias funciones, entre ellas:

-   Acciones de formulario para servicios populares
-   Un constructor visual de workflows simple
-   Mapeo automático de campos del formulario a integraciones de terceros
-   Entrega garantizada a integraciones de terceros mediante reintentos automáticos

De forma predeterminada, Workflow está habilitado en el panel de tu formulario. Al acceder a la sección Workflow del panel del formulario, encontrarás una configuración básica de Workflow. Para empezar, hay un nodo de **Validation** para un campo de email y un nodo de **Actions** para las notificaciones por correo electrónico.

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

## Añadir reglas de validación

Se pueden crear nuevas reglas de validación haciendo clic en el enlace **+Add new** en la sección Validation de Workflow. Las reglas de validación pueden crearse para:

-   Text
-   Number
-   Email
-   URL
-   DateTime
-   File

Los campos solo deben añadirse para validación en Workflow si existe una etiqueta `input` correspondiente en el código de tu formulario. El nombre del campo indicado en la regla de validación debe coincidir con el atributo `name` de la etiqueta `input` en el código de tu formulario. Cada campo tiene varios atributos que controlan el comportamiento de validación. Encontrarás una lista completa de los atributos de validación [aquí](#h_01HNFVF79H85K0QBMYT26NVWPH).

Si los datos no cumplen las reglas de validación, se mostrará un error de validación al usuario o, si se envía mediante AJAX, se enviará una respuesta de error de validación. Encontrarás más información sobre los errores de validación [aquí](#h_01HNFT48GE83X5RAX9C0TJ0AKK).

## Añadir nuevas acciones

Una vez que los datos del envío se validan correctamente, pasan a **Actions**. Las acciones son comportamientos iniciados por un envío de formulario exitoso. Las acciones que defines se ejecutan en paralelo: todas las acciones suceden a la vez, no de forma secuencial.

_Nota: el_ [_plugin de Stripe_](/es/articles/plugins/use-stripe-to-accept-payments-with-sca/) _es una excepción a la regla anterior. Stripe es un plugin síncrono, lo que significa que se ejecuta antes del envío, permitiendo a los usuarios ver cualquier error, como una tarjeta rechazada._

Para crear nuevas acciones, haz clic en el enlace **+Add new** en la sección Actions de Workflow. Además de crear una acción para enviar los envíos a una dirección de correo electrónico, se pueden utilizar varias integraciones de terceros a través de la sección Actions de Workflows. Estas utilidades de terceros van desde sistemas CRM y servicios de soporte hasta bases de datos y repositorios.

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

Una vez habilitada una acción, puedes modificar su configuración haciendo clic en … en la esquina derecha del nodo Action y seleccionando **Settings**. También puedes desconectar una acción de tu workflow haciendo clic en el icono **Disconnect**. Para mantener una acción conectada pero impedir que ejecute sus funciones, desactiva la opción **Enabled** en la configuración de la acción.  
  
 

## Reglas de validación

A continuación encontrarás dos tablas. La primera tabla define y describe los distintos tipos de campos de validación. La segunda tabla define los distintos atributos de validación disponibles para tus campos. Esta tabla también proporciona información sobre los valores aceptados, los tipos de campo soportados y una descripción de cada atributo.  
  
Además de las reglas de validación explícitas, que puedes añadir mediante la interfaz de Workflow, las validaciones _implícitas_ se añaden automáticamente cuando una acción lo requiere. Las validaciones implícitas se identifican por el icono "Used by" en la lista de campos. Estas validaciones implícitas no se pueden eliminar, pero pueden editarse para hacerlas más estrictas de lo que requiere la acción relacionada. Por ejemplo, cuando añades la acción de email, también añades una validación implícita de email. Esto es para garantizar que, si se incluye en el envío, el campo email sea una dirección de correo electrónico válida. La validación de email muestra la etiqueta "Used by" para indicar que la acción de email añadió esta validación.   
  
 

### Tipos de campos de validación

| Tipo | Descripción |
| --- | --- |
| datetime-local | Un control para introducir una fecha y hora, sin zona horaria. Abre un selector de fechas o ruedas numéricas para los componentes de fecha y hora cuando está activo en navegadores compatibles. Consulta [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#local_date_and_time_strings). |
| email | Un campo para editar una dirección de correo electrónico. Se ve como una entrada de texto, pero tiene parámetros de validación y un teclado relevante en navegadores compatibles y en dispositivos con teclados dinámicos. |
| file | Un control que permite al usuario seleccionar un archivo. Usa el atributo accept para definir los tipos de archivos que el control puede seleccionar. |
| number | Un control para introducir un número. Muestra un spinner y añade validación predeterminada. Muestra un teclado numérico en algunos dispositivos con teclados dinámicos. |
| tel | Un control para introducir un número de teléfono. Muestra un teclado de teléfono en algunos dispositivos con teclados dinámicos. |
| text | El valor predeterminado. Un campo de texto de una sola línea. Los saltos de línea se eliminan automáticamente del valor de entrada. |
| url | Un campo para introducir una URL. Se ve como una entrada de texto, pero tiene parámetros de validación y un teclado relevante en navegadores compatibles y en dispositivos con teclados dinámicos. |

### Atributos de validación

| Atributo de validación | Valores | Tipos soportados | Descripción |
| --- | --- | --- | --- |
| Required | Boolean | all | Especifica si el campo es obligatorio. Disponible para todos los tipos de campo. |
| Minimum value | Número o cadena | datetime-local, number | Especifica el valor mínimo. Puede usarse con los tipos Number, DateTime o File. |
| Maximum value | Número o cadena | datetime-local, number | Especifica el valor máximo. Puede usarse con los tipos Number o DateTime. |
| Minimum length | Número | text, url, tel, email | Especifica el valor mínimo. Puede usarse con los tipos Text o URL. |
| Maximum length | Número | text, url, tel, email | Especifica el valor máximo. Puede usarse con los tipos Text o URL. |
| Accept file types | Lista de cadenas | File | Especifica los tipos de contenido de archivo válidos. El valor debe ser una lista de cadenas con tipos MIME válidos. Ten en cuenta que debes establecer la clave type como file en tu formulario. De lo contrario, esta regla no se aplicará. |

## Errores de validación

Si un usuario realiza un envío de formulario que no cumple con una regla de validación definida en Workflow, se enviará una respuesta de error de validación. El usuario podrá ser redirigido a una página de error de validación, que proporciona más información sobre el error (a menos que el formulario se envíe mediante [JavaScript con AJAX](/es/articles/building-your-form/submit-forms-with-javascript-ajax/), en cuyo caso el error estará en el cuerpo de la respuesta).  
  
 

Los siguientes códigos de error pueden aparecer en el array errors del objeto state:

| Código | Error de campo | Descripción |
| --- | --- | --- |
| INACTIVE |   | El formulario ha sido desactivado |
| BLOCKED |   | El formulario ha sido bloqueado |
| EMPTY |   | No se enviaron datos |
| PROJECT_NOT_FOUND |   | Se utilizó una clave de proyecto inválida para enviar el formulario |
| FORM_NOT_FOUND |   | Se utilizó un hashid de formulario inválido para enviar el formulario |
| NO_FILE_UPLOADS |   | Las cargas de archivos no son compatibles con este formulario |
| TOO_MANY_FILES |   | El formulario se envió con demasiados archivos adjuntos |
| FILES_TOO_BIG |   | Uno o más archivos subidos superaron el tamaño máximo de archivo |
| REQUIRED_FIELD_MISSING | ✓ | Un campo es obligatorio, pero no se proporcionó ningún valor |
| REQUIRED_FIELD_EMPTY | ✓ | Un campo es obligatorio, pero se proporcionó una cadena en blanco o vacía |
| TYPE_EMAIL | ✓ | Un campo debe contener un email |
| TYPE_NUMERIC | ✓ | Un campo debe contener un número |
| TYPE_TEXT | ✓ | Un campo debe contener texto |
| STRIPE_CLIENT_ERROR | ✓ | Falta la clave de Stripe |
| STRIPE_SCA_ERROR | ✓ | Error de SCA de Stripe. Consulta los detalles |
