Saltar al contenido
FormFlow

Apunta cualquier formulario a una URL.

Conserva tu propio formulario HTML y cambia su action a una URL de FormFlow. Cada envío se filtra contra el spam, se guarda en una sola bandeja de entrada y se entrega por webhook firmado o por correo — al instante o en un resumen — y los contactos reales que tus propias reglas rechazan se retienen para que los recuperes, no se pierden.

action https://formflow.digital/api/v1/f/ab12x9
Declaración de envío FF-1 · ejemplo ilustrativo
1 Remitente
jane@acme.dev
2 Destino
https://formflow.digital/api/v1/f/ab12x9
3 Contenido
name · email · message
4 Archivos adjuntos
2 images · 4.1 MB
5 Filtrado
0.02 · no es spam

Cambia un atributo. Listo.

un atributo · sin SDK · sin servidor

Apunta el atributo action de tu formulario a una URL de FormFlow y ya está — sin SDK, sin librería cliente, sin servidor que levantar. Funciona desde un sitio estático, un servidor o un curl puntual.

FormFlow recibe los envíos que tus propios formularios HTML mandan a una URL de FormFlow, filtra el spam, los almacena y los reenvía a los destinos que configures (como tu bandeja de entrada o un endpoint webhook). FormFlow no aloja tu frontend incrustado ni decide qué datos recopilan tus formularios; los planes de pago también pueden usar una página alojada por FormFlow.

<!-- Tu formulario actual. Sin JS, sin SDK. -->
<form method="POST"
      action="https://formflow.digital/api/v1/f/ab12x9">
  <input  name="email"   type="email" required>
  <textarea name="message"></textarea>
  <button>Send</button>
</form>

O deja que FormFlow escriba los campos

  • Describe tu formulario — Disponible en los planes de pago cuando está habilitado. Describe lo que recopila este formulario, o la prueba que quieres plantear. Puedes revisar los campos antes de crearlo.
  • Importar un esquema de formulario — Hoja de cálculo de preguntas · Revisar los campos importados

Tampoco escribas los campos a mano. FormFlow infiere el esquema de tu formulario a partir de su propio tráfico y genera el marcado accesible — HTML, Blade, Vue o React — listo para pegar. 20 tipos de campo — text, email, tel, url, number, textarea, select, country, checkbox, radio, multiselect, date, file, scale, rating, time, duration, grid, checkbox_grid, hidden — todas admitidas por el esquema. El constructor dibuja el formulario junto a la lista de campos mientras editas, desde ajustes que aún no has guardado. Un formulario largo puede dividirse en pasos, que vuelven a una página plana sin JavaScript. En los fragmentos de HTML y Blade, activa Renderizado en vivo al copiar y el formulario seguirá tu lista de campos desde entonces — el marcado pegado queda como respaldo. En una página alojada o en un formulario incrustado con representación en vivo, un formulario que lo active puede guardar las respuestas entre pasos: el remitente que lo deja a medias vuelve desde el mismo dispositivo y termina donde se quedó, y usted ve quién empezó y no terminó. Los componentes de React y Vue, y cualquier formulario copiado sin representación en vivo, no guardan.

Llega con estilo. Siete hojas de estilo autocontenidas viajan con el marcado — nada que instalar, nada que enlazar — y un mapa de clases Bootstrap para un sitio que ya lo carga. Todas cumplen el mismo presupuesto: etiquetas ligadas a inputs, objetivos de 44px, anillo de foco visible y contraste verificado por estilo antes de publicarse.

Averigua qué campaña envió cada contacto. En un formulario incrustado, un campo oculto llamado utm_source se rellena con la cadena de consulta de la página donde está —las otras cuatro claves UTM y cualquier clave que tú nombres funcionan igual— y un clic en el constructor añade las cinco. Llegan como respuestas normales, a todos los sitios a los que ya van tus respuestas.

Ejemplo ilustrativo: los campos actuales de una declaración conectan por un riel oscuro de registro mientras su copia pegada permanece debajo.

Representación en vivo Actívalo cuando copies el HTML nativo o el componente Blade: la lista de campos actual puede seguir al formulario, la etiqueta pegada queda como respaldo nativo y el estilo sigue siendo el que copiaste.

El mismo formulario, en todos los estilos que publica FormFlow

El mismo formulario, en todos los estilos que publica FormFlow /form-styles/minimal

Renderizado por el mismo generador que escribe tu fragmento — sin copia de marketing aparte.

La muestra se trae en vivo desde /form-styles/minimal. Si sigue en blanco, esa ruta no es accesible desde aquí — la hoja de estilos viaja igualmente con el fragmento.

Acepta subidas de archivos. Olvídate del almacenamiento.

Declara un campo file y tu formulario acepta imágenes por multipart normal — nada que configurar. Un solo campo admite hasta veinte archivos a la vez, y eliges qué formatos acepta. FormFlow los guarda en un disco privado y entrega a la bandeja un enlace firmado con caducidad, así ningún adjunto vive en una URL pública.

  • JPEG, PNG, WebP y GIF — se rechaza SVG, y cada archivo se comprueba por magic bytes, sin fiarse de la extensión.
  • Techo de tamaño por plan, aplicado a la entrada — 2 MB en Starter Lite, 5 MB en Starter, 25 MB en Pro.
  • Almacenados en privado; la bandeja muestra un enlace firmado que caduca, jamás una imagen <img> en línea.
Archivos adjuntos contact-form · 2 declarados
roof-damage.jpg
image/jpeg · 3.2 MB · verificado
aceptado
meter-reading.png
image/png · 0.9 MB · verificado
aceptado
logo.svg rechazado · SVG no permitido

Un filtro que aprende cada formulario.

bots · marcados, nunca entregados, nunca contados

Cada formulario tiene su propio modelo. Cada envío se puntúa al llegar — y cada vez que corriges un veredicto, ese formulario afina más. La puntuación, el motivo, la siguiente acción: todo dicho sin rodeos, con un informe por formulario del rendimiento real del modelo. Pruébalo →

Enseña a este formulario: Modelo actualizado para este formulario.
bandeja de entrada contact-form · ab12x9
Jane Okafor
Loved the demo — can we talk pricing this week?
0.02 · entregado
promo-reply@bulk-seo.link
CHEAP backlinks + guaranteed SEO boost!!!
0.61 · dudoso
buy-now-bot
🔥 crypto doubler, act now, limited spots
0.98 · spam
  1. 1

    Honeypot

    Un campo fuera de pantalla que rellenan los bots y las personas nunca ven. No cuesta nada, así que va primero.

  2. 2

    Modelo por formulario

    Un modelo naive-Bayes por formulario, entrenado con tus correcciones. Un formulario frío toma prestado un prior de equipo, así que marca desde el primer envío.

  3. 3

    CAPTCHA

    Opcional, por formulario: Turnstile, reCAPTCHA v3 con una puntuación mínima o hCaptcha. Una comprobación fallida marca el envío como spam y nunca lo rechaza; ante una caída falla abierto, así que un envío real nunca muere con la comprobación.

  4. 4

    Esquema estricto

    Actívalo y los campos que tu formulario nunca declaró se rechazan en la puerta. Desactivado por defecto.

Una bandeja de entrada, repartida a todos los destinos que necesites.

recibido · filtrado · almacenado · entregado

Léelos en un solo lugar — y empuja el mismo envío a cada destino que hayas conectado.

acme · submissions 3,000 incluidos · Starter
No leído Spam Recibidos 1–31 ago Exportar CSV · XLSX · JSON
Jane Okafor
Loved the demo — can we talk pricing this week?
0.02
dana@meridian.co
Presupuesto de 40 unidades — recuperado de un rechazo
recuperado
  • webhookhttps://acme.dev/hooks/formflowentregado · intento 2
  • webhookhttps://crm.acme.dev/intake502 Bad Gateway · reintentando en 5m
  • digestsemanal · 3 destinatariosen cola
buy-now-bot
🔥 crypto doubler, act now, limited spots
0.98

Webhooks firmados

Cada envío llega POST a tu endpoint con una firma HMAC que verificas. Seis intentos, retrocediendo de diez segundos a dos horas, cada uno registrado contra el envío. Un endpoint que nunca tiene éxito se desactiva y se avisa por correo a sus dueños con el último error — una URL muerta deja de reintentarse para siempre, y tú te enteras.

Elige qué dice el cuerpo: el JSON firmado propio de FormFlow, o un mensaje escrito para que lo lea un canal de Slack. El formato decide el cuerpo y nada más — la firma, los reintentos y el retroceso son iguales en ambos casos, y una URL que es en sí una credencial nunca vuelve a mostrarse una vez guardada.

Resumen de envíos

Elige con qué frecuencia un formulario escribe a tu equipo: al instante — cada envío en menos de un minuto, una ráfaga unida en un solo correo, como máximo un correo por dirección cada cinco minutos, retrasado y nunca descartado — o un resumen diario, semanal o mensual, un solo correo que cubre todos los formularios. O apagado, si la bandeja y tu webhook bastan. Los bots jamás aparecen en él.

Lleva cada respuesta a la bandeja correcta. Cuando una pregunta de tipo select o radio es igual a una opción, el correo de ese envío va a las direcciones que elegiste para ella en lugar de a la lista del formulario — hasta 20 rutas de 10 direcciones, con cualquier frecuencia. Una ruta cuya pregunta u opción has eliminado se ignora, así que la lista del formulario sigue recibiendo el contacto.

CSV · XLSX · JSON export

Exporta toda la bandeja desde el panel. FormFlow construye el archivo en una cola y te envía por correo un enlace firmado que caduca en una hora — las hojas de cálculo están protegidas contra inyección de fórmulas.

Cada envío también lleva el país del que vino, determinado al llegar; la dirección IP en sí nunca se almacena. Aparece en la bandeja de entrada, en cada exportación y en la API, no en la carga del webhook.

Recibo del remitente

Una respuesta automática a quien rellenó el formulario, enviada a un campo de email que declares en él. Asunto y cuerpo son tuyos; sus respuestas aparecen solo donde pongas un marcador, escapadas como texto, y la carga nunca se copia al correo. Quien se da de baja, queda fuera, y un tope por equipo acota un formulario que de pronto se vuelve popular. Planes de pago.

Google Sheets

Conecta una cuenta de Google una vez y cada envío aceptado llega como una fila a la pestaña que elijas. FormFlow es dueño de la fila de encabezado, añade columnas nuevas a la derecha, escribe cada celda como texto plano y puede enviar lo que llegó antes de conectar. Planes de pago.

Todo lo anterior aterriza en un lugar donde puedes trabajar.

Configurar el endpoint son dos minutos de tu vida; esto es lo que abres un lunes. Primero responde una pregunta — qué necesita mi atención ahora — con una fila por condición realmente cierta, su motivo y el único enlace que actúa sobre ella. Sin contadores que comparar: un número no es una respuesta. Debajo, la bandeja es una tabla, no un panel: filtra lo no leído, aparta los bots, elige un rango de fechas, exporta exactamente lo filtrado y abre cualquier envío con todo su historial de entrega.

acme · dashboard 4 cosas te necesitan
  • Acercándose a la cuota 2,540 de 3,000 envíos usados este periodo. Revisar facturación
  • contact-form Se están rechazando envíos. Abrir formulario
  • contact-form — webhook fallando 3 entregas fallidas seguidas, la última hace 4 minutos. Abrir formulario
  • 23 envíos sin leer Abrir bandeja de entrada

La misma tabla está detrás del registro de retenidos, con el motivo, los campos culpables y las palabras exactas que se le dijeron al remitente — así recuperar un cliente potencial es leer por qué fue rechazado y pulsar Recuperar.

Y lee cada uno de vuelta.

Los mismos envíos, por HTTP, con un token que acuñas en el panel: la bandeja, un envío por id, tus formularios y el registro de rechazados. Paginado por cursor y filtrable, así tu sincronización nocturna hacia tu almacén o CRM pide solo lo que cambió en vez de todo, y nunca necesita un navegador.

Y escriba de vuelta. Un script puede marcar un envío como gestionado o como spam, reintentar sus entregas fallidas y suscribir un hook REST que envía cada envío nuevo a su URL. Cada una es una capacidad aparte del token, así que un script que solo lee nunca puede escribir.

  • Un token solo lee lo que usted marca: submissions:read, refusals:read y forms:read para la API, y assistant:read para un asistente de IA. Escribir es aparte: submissions:write y hooks:write en la API. Un asistente de IA solo escribe borradores que revisa una persona: un formulario cerrado con forms:write y un micrositio sin publicar con microsites:write.
  • Conecte Claude Desktop o Claude Code mediante MCP con un token: el asistente responde a partir de recuentos y nunca ve lo que escribió quien envía. Configurar el asistente de IA
  • Se muestra una vez al acuñarlo y se guarda como hash, con caducidad opcional. FormFlow no puede mostrártelo otra vez, ni nadie que alcance la base de datos.
  • Su propio presupuesto por minuto, que crece con tu plan y se mantiene separado de la tasa a la que tus formularios aceptan envíos — una sincronización ocupada jamás puede gastar el espacio que necesita un cliente potencial real.
  • Planes de pago. A un token en un equipo Free se le responde con management_api_unavailable en vez de una lista vacía, así el motivo nunca es un misterio.
GET /api/v1/manage/submissions ejemplo ilustrativo
# Más nuevos primero, paginado por cursor.
curl https://formflow.digital/api/v1/manage/submissions \
  -H "Authorization: Bearer ff_…"

{
  "data": [
    {
      "uuid": "9f1c8a2e…",
      "form_uuid": "3b7ed004…",
      "payload": {
        "email": "jane@acme.dev",
        "message": "Loved the demo"
      },
      "is_spam": false,
      "spam_score": 0.02,
      "created_at": "2026-08-15T09:14:22+00:00"
    }
  ],
  "meta": { "has_more": true, "next_cursor": "eyJpZCI6…" }
}

Del formulario al resultado.

El producto es el camino. Apunta un formulario HTML existente a una sola URL; FormFlow mantiene legibles la entrega, el criterio, la recuperación y el envío.

Ejemplo ilustrativo: tres declaraciones de formularios distintas convergen en una misma admisión verde y continúan como una sola ruta registrada.

Una escritura pública El token del formulario es el punto público de escritura. FormFlow recibe la petición, la valora, almacena el envío o el rechazo, y deja la siguiente decisión de entrega dentro de la misma ruta registrada.

Conserva el frontend que ya tienes. Luego deja que FormFlow muestre qué pasa tras Send: los campos pueden seguir al formulario actual, un rechazo causado por el cliente puede seguir siendo recuperable y cada destinatario conserva su propia obligación de entrega.

  • Las páginas alojadas están disponibles en los planes Starter Lite, Starter y Pro.
  • Las listas están disponibles en los planes Starter Lite, Starter y Pro, con páginas alojadas.

Y el reloj es nuestro, no del navegador.

Una sesión empieza cuando se muestran las preguntas, y su plazo queda sellado en el asiento con la duración vigente en ese momento. La ingesta compara la llegada contra ese plazo más una tolerancia fija que nunca revela — la página cuenta hacia cero.

  • El inicio se escribe una vez. Volver a iniciar sesión, borrar cookies, recargar, una ventana privada — nada lo reinicia. Corre en tiempo real, como ya lo hace una sala vigilada.
  • Acortar la duración mientras treinta personas hacen su sesión no acorta el examen de nadie; la nueva rige las sesiones que empiecen después.
  • El papel sobrevive al timbre. Un formulario cronometrado deja de exigir los campos obligatorios, así que la pregunta cuarenta en blanco también se envía — mientras los campos no declarados siguen rechazándose, manteniendo el esquema como contrato en la dirección que te protege.
  • El plazo consume el asiento llegue o no algo, así que el reloj no se vence leyendo las preguntas y volviendo mañana.

¿No tienes un sitio donde poner el formulario? Crea un Microsite.

Un Microsite es una página pública que compones con bloques —portada, características, precios, preguntas frecuentes, un formulario— y publicas en el origen alojado de FormFlow con uno de 8 temas. Un formulario colocado en él llega exactamente igual que uno enviado desde su página alojada: filtrado, guardado, entregado.

  • Crea un Microsite gratis; publicarlo requiere un plan de pago.
  • Describe la página en una frase y obtén un borrador de bloques para editar; disponible en planes de pago cuando está activado.
  • Cada Microsite está en un idioma, y un equipo puede publicar tantos como necesite.
  • Si el plan vence, se apaga junto con las páginas alojadas del equipo, en lugar de servir una página que nadie paga.

Un cliente potencial desaparece en cuatro sitios. Solo uno de ellos es spam.

retenido · con motivo · recuperable

Los otros tres ocurren en tu lado del cable, donde nada falla lo bastante alto para que alguien lo note — quien enviaba cree haberlo enviado, y ningún error llega nunca a FormFlow. Así que cada uno se vigila por separado, en el orden en que los encuentra quien envía.

  1. Antes de enviar Una regla que no pueden ver los rechaza, y desisten. Verificación previa

    Pregunta al endpoint qué diría.

    Antes de arriesgar el cliente potencial: activa el modo estricto y el formulario que te genera FormFlow pasa cada campo por el juicio real antes de que nadie pulse Enviar — mismas reglas, mismas palabras, sin consecuencias. Cierra una brecha que generar no puede: el navegador exige required y type="email", pero no la regla de validación que pusiste en el constructor — así que un formulario que supera la comprobación del navegador puede ser rechazado igualmente por el servidor. Ahora lo dice mientras la persona aún puede arreglarlo. Lo que les detuvo también se cuenta.

    • Sin efectos secundarios por contrato — ni fila, ni cuota, ni entrega, ni puntuación de spam.
    • En lo que pregunta — la forma del cuerpo, el origen, el esquema — nunca discrepa del endpoint que predice; una prueba manda el mismo cuerpo a ambos y compara.
    • Lo único más que pregunta es qué dominios de correo bloqueas y, en un formulario con regla de país, si rechaza el país de quien envía. Spam, el CAPTCHA, las respuestas repetidas y los campos de archivo quedan para el POST real, así que una verificación previa aceptada significa esta configuración acepta esto, nunca que se vaya a almacenar.
    • Consume el mismo límite de tasa que el POST, con una reserva que solo puede gastar un envío real.
    POST /api/v1/f/ab12x9/preflight ejemplo ilustrativo

    Deja el campo para ver qué respondería el endpoint.

    regla de formulario · min:20 en message · modo estricto activo

  2. En tránsito La propia petición del navegador muere antes de llegar. Bandeja de salida del navegador

    Un envío que nunca llegó todavía puede llegar.

    Antes de alcanzarnos siquiera: una conexión caída, una pestaña cerrada demasiado pronto — y nadie se entera, porque quien enviaba cree haber enviado y no hay fallo alguno que FormFlow pueda registrar. Activa la bandeja de salida del navegador y el intento se guarda y se reenvía en la siguiente carga de página, llegando como un envío ordinario — contado, entregado y marcado como rescatado en tu panel. Viaja con los fragmentos nativos de HTML y Blade que copiaste con Renderizado en vivo activado.

    • Se activa por formulario, y nunca en uno con campo de archivo — una subida no puede reconstruirse desde el almacenamiento local.
    • Guardado en el propio dispositivo de quien envía durante 24 horas, cinco esperando como máximo, y nunca restaurado en un formulario que pueda ver.
    • El reenvío lleva un Idempotency-Key sobre el que el endpoint emite recibo, así que un cliente recuperado se almacena, cuenta y entrega exactamente una vez. Esa cabecera está publicada en el contrato de ingesta, para que tu propio cliente también pueda enviarla.
    • Un fallo de red o un 5xx espera en cola para la siguiente carga de página; cualquier cosa que el endpoint respondió de verdad se descarta.
  3. En la puerta Tus propios ajustes devuelven un envío real. Mostrador de retención

    Revisar y recuperar

    Un envío rechazado no se descarta — se retiene, con el motivo y el campo culpable. FormFlow lee después ambos lados de tu tráfico, lo aceptado y lo rechazado, y deduce el único cambio de ajuste que recupera la mayoría. Un cambio que costaría aunque sea un envío que ya aceptaste se descarta, nunca se muestra. Eso incluye una dirección de un dominio que bloqueaste, un remitente de un país que tu regla de país rechaza y una segunda respuesta en un campo que dejaste que un formulario aceptara una sola vez: tú decidiste rechazarlos, así que se retienen con su motivo y siguen siendo tuyos para recuperar.

    Retenidos · envíos rechazados contact-form · últimos 7 días
    dana@meridian.co
    Quote for 40 units — my number is 0161 496 0000
    rechazado · phone
    t.okonkwo@brightside.dev
    Can you invoice us? Reachable on 020 7946 0102
    rechazado · phone
    hello@fieldnotes.studio
    Interested in the annual plan — call 0117 496 0999
    rechazado · phone

    se les dijo Este formulario no acepta el campo de teléfono.

    312 rechazados esta semana · 40 aceptado

    Derivado de tu propio tráfico propuesta

    Aceptar phone — un campo que tu formulario envía y tu esquema nunca declaró.

    Recupera
    312 rechazados
    Cuesta
    0 aceptados

    Ensayado con el tráfico reciente de este formulario — los últimos pocos cientos que aceptó y los que devolvió.

    Cuando FormFlow hace el cambio por sí mismo

    Una relajación ya probada contra el tráfico que has aceptado puede activarse sin esperar a que alguien inicie sesión, para que el formulario deje de rechazar clientes mientras nadie mira. Queda apagada hasta que tú la actives, y cualquier cambio que FormFlow haga por su cuenta revierte a los ajustes que elegiste salvo que el tráfico lo confirme. El silencio revierte — una cola detenida, un apagón, nadie mirando — porque el camino de vuelta queda registrado en el mismo respiro que el cambio.

    Cuando algo cambia de verdad, un correo dice qué cambió y qué recupera, y enlaza a una página que restaura tus ajustes anteriores. Los clientes recuperados se juzgan otra vez con los ajustes vivos, se cuentan y se entregan como cualquier otro. Nada se retrodata.

    Ejemplo ilustrativo: un registro rechazado en color ocre pasa por la puerta de política vigente antes de llegar a la bandeja verde de admitidos.

    Recuperación La recuperación no es un atajo ni un reintento de webhook. FormFlow vuelve a valorar el rechazo almacenado contra la configuración vigente del formulario; solo entonces se convierte en un envío real, consume uso actual y entra en la misma ruta de entrega.

  4. Con el tiempo El formulario se rompe en tu sitio y no dice nada. Salud del formulario

    Y cuando el propio formulario falla, nada te avisa tampoco.

    Mucho después de publicarlo, tu HTML sigue viviendo en tu sitio — así que un formulario roto o editado falla en silencio, y ningún error llega nunca a FormFlow. La salud no es algo que se le informe a FormFlow; se calcula del tráfico y se te envía la primera vez que aparece una avería.

    • Rechazo — devolviendo una parte real de su propio tráfico. Se informa en vez de una sequía, nunca junto a ella.
    • Sequía — los envíos se desploman frente a la propia línea base del formulario.
    • Deriva — un campo declarado cuyo envío el tráfico ha dejado silenciosamente.
    • Parada temprana — el campo donde quienes envían siguen fallando, contado mientras siguen en la página.

Paga por lo que aterriza. No por lo que envían los bots.

se cobra por lo que aterriza · no por lo que envían los bots

El spam se filtra antes de contar. Free incluye 100 envíos con tope firme; los planes de pago continúan en excedente transparente hasta alcanzar un techo de gasto o de seguridad. Te escribimos al medio, a cuatro quintos y al total de tu asignación incluida, así que un mes ocupado es algo que te contamos y no algo que descubres en una factura.

Free

$0 para siempre

Tu primer formulario, conectado en dos minutos.

100 envíos incluidos

Qué incluye cada plan
Excedente por 1,000
Tope firme
Techo diario
20
Techo del periodo
100
Envíos / minuto
60
reCAPTCHA, hCaptcha o Turnstile
Incluido
Rechazar envíos repetidos
Incluido
Bloquear dominios de correo desechables
Incluido
Permitir o bloquear países
Incluido
Archivos almacenados
No incluido
Carga máxima de imagen
No incluido
Página de formulario alojada
No incluido
Publicación de Microsites
No incluido
Dominios personalizados
No incluido
Formularios multipaso
No incluido
Guardar y reanudar
No incluido
Formularios calificados (cuestionarios)
No incluido
Recibos del remitente
No incluido
Alertas por correo al instante
Incluido
Enrutar alertas según la respuesta
Incluido
Captura de UTM en formularios incrustados
Incluido
País del remitente
Incluido
Google Sheets
No incluido
Lecturas de API / minuto
No incluido
API de gestión: lectura y escritura
No incluido
Hooks REST
No incluido
Creador de formularios y páginas con IA
No incluido
Asistente del panel
No incluido
Conexión con Claude y ChatGPT (MCP)
No incluido
Empieza gratis

Starter Lite

$5.99 USD al mes

Un plan real para un formulario pequeño y constante.

1,100 envíos incluidos

Qué incluye cada plan
Excedente por 1,000
$7
Techo diario
550
Techo del periodo
16,500
Envíos / minuto
150
reCAPTCHA, hCaptcha o Turnstile
Incluido
Rechazar envíos repetidos
Incluido
Bloquear dominios de correo desechables
Incluido
Permitir o bloquear países
Incluido
Archivos almacenados
256 MB
Carga máxima de imagen
2 MB
Página de formulario alojada
Incluido
Publicación de Microsites
Incluido
Dominios personalizados
No incluido
Formularios multipaso
Incluido
Guardar y reanudar
Incluido
Formularios calificados (cuestionarios)
Incluido
Recibos del remitente
Incluido
Alertas por correo al instante
Incluido
Enrutar alertas según la respuesta
Incluido
Captura de UTM en formularios incrustados
Incluido
País del remitente
Incluido
Google Sheets
Incluido
Lecturas de API / minuto
60
API de gestión: lectura y escritura
Incluido
Hooks REST
Incluido
Creador de formularios y páginas con IA
Incluido
Asistente del panel
Incluido
Conexión con Claude y ChatGPT (MCP)
Incluido
Elige Starter Lite

Pro

$29.99 USD al mes

Volumen alto, archivos más grandes.

10,000 envíos incluidos

Qué incluye cada plan
Excedente por 1,000
$3
Techo diario
5,000
Techo del periodo
150,000
Envíos / minuto
1,200
reCAPTCHA, hCaptcha o Turnstile
Incluido
Rechazar envíos repetidos
Incluido
Bloquear dominios de correo desechables
Incluido
Permitir o bloquear países
Incluido
Archivos almacenados
10 GB
Carga máxima de imagen
25 MB
Página de formulario alojada
Incluido
Publicación de Microsites
Incluido
Dominios personalizados
5
Formularios multipaso
Incluido
Guardar y reanudar
Incluido
Formularios calificados (cuestionarios)
Incluido
Recibos del remitente
Incluido
Alertas por correo al instante
Incluido
Enrutar alertas según la respuesta
Incluido
Captura de UTM en formularios incrustados
Incluido
País del remitente
Incluido
Google Sheets
Incluido
Lecturas de API / minuto
300
API de gestión: lectura y escritura
Incluido
Hooks REST
Incluido
Creador de formularios y páginas con IA
Incluido
Asistente del panel
Incluido
Conexión con Claude y ChatGPT (MCP)
Incluido
Elige Pro
Qué incluye cada plan
Free Starter Lite Starter Pro
Envíos incluidos 100 1,100 3,000 10,000
Excedente por 1,000 Tope firme $7 $5 $3
Techo diario 20 550 1,500 5,000
Techo del periodo 100 16,500 45,000 150,000
Envíos / minuto 60 150 300 1,200
reCAPTCHA, hCaptcha o Turnstile Incluido Incluido Incluido Incluido
Rechazar envíos repetidos Incluido Incluido Incluido Incluido
Bloquear dominios de correo desechables Incluido Incluido Incluido Incluido
Permitir o bloquear países Incluido Incluido Incluido Incluido
Archivos almacenados No incluido 256 MB 1 GB 10 GB
Carga máxima de imagen No incluido 2 MB 5 MB 25 MB
Página de formulario alojada No incluido Incluido Incluido Incluido
Publicación de Microsites No incluido Incluido Incluido Incluido
Dominios personalizados No incluido No incluido 1 5
Formularios multipaso No incluido Incluido Incluido Incluido
Guardar y reanudar No incluido Incluido Incluido Incluido
Formularios calificados (cuestionarios) No incluido Incluido Incluido Incluido
Recibos del remitente No incluido Incluido Incluido Incluido
Alertas por correo al instante Incluido Incluido Incluido Incluido
Enrutar alertas según la respuesta Incluido Incluido Incluido Incluido
Captura de UTM en formularios incrustados Incluido Incluido Incluido Incluido
País del remitente Incluido Incluido Incluido Incluido
Google Sheets No incluido Incluido Incluido Incluido
Lecturas de API / minuto No incluido 60 120 300
API de gestión: lectura y escritura No incluido Incluido Incluido Incluido
Hooks REST No incluido Incluido Incluido Incluido
Creador de formularios y páginas con IA No incluido Incluido Incluido Incluido
Asistente del panel No incluido Incluido Incluido Incluido
Conexión con Claude y ChatGPT (MCP) No incluido Incluido Incluido Incluido

En todos los planes, incluido Free: tantos formularios como quieras, el modelo antispam por formulario y su entrenamiento, los envíos rechazados conservados para revisión, el renderizado en vivo y el rescate del navegador, los webhooks firmados, el resumen y la exportación CSV · XLSX · JSON.

Roles, seguridad, retención y condiciones de facturación

También en todas partes: roles de propietario y miembro con invitaciones por correo, inicio de sesión con dos factores opcional, un interruptor de pausa en cualquier formulario, un registro de actividad completo y retención de datos GDPR — correos e IP guardados como hashes con clave, purgados según calendario. Free se reinicia cada mes natural; los planes de pago, en tu periodo de facturación. Los precios de pago los localiza Paddle para tu ubicación y pueden incluir impuestos. Consulta nuestra Política de reembolso. También puedes iniciar sesión con Google o GitHub. El panel está en 9 idiomas, incluidos los de derecha a izquierda.

Apunta tu primer formulario a FormFlow.

Conecta un formulario en dos minutos y mira llenarse la bandeja. Facturación por equipo, y los bots jamás cuentan contra la cuota. Sin backend que construir, sin frontend que alojar.

FormFlow en Product Hunt