Crea un formulario
Un clic en la consola. Recibes un endpoint único y un snippet para pegar en tu HTML.
Apunta cualquier formulario HTML a FormHalo y consigue email + webhooks, protección antispam, subida de archivos y analíticas. Sin servidor, sin SDK, sin reescribir nada.
<form> a tu bandeja de entrada en menos de un minuto. Un clic en la consola. Recibes un endpoint único y un snippet para pegar en tu HTML.
Cambia el atributo action del formulario. Funciona con HTML puro, Next.js, Astro, SvelteKit — cualquier cosa que haga submit.
Email, webhooks, archivos en R2, Slack, Discord, hojas de cálculo. Filtros, reintentos y un registro de auditoría limpio.
Honeypot, Turnstile y límites de peticiones por IP activados por defecto. Bandeja tranquila, sin configurar nada.
Reenvía a cualquiera de tu equipo, dispara webhooks a Slack, Discord, hojas de cálculo — con reintentos y registro de entregas.
Acepta adjuntos de hasta 25 MB. Se guardan en tu bucket de R2 y se sirven mediante URLs firmadas.
Volumen de envíos, ratio de éxito/spam, tiempos de respuesta — directo desde Analytics Engine.
La API responde en el Accept-Language de la petición. Inglés + ruso ya incluidos; más en camino.
Membresías y roles modelados en el esquema. Trae a tu estudio y comparte un workspace.
REST + OpenAPI 3.1, generada a partir de los mismos esquemas de zod que validan las peticiones. Errores predecibles en application/problem+json.
Claves de idempotencia en cada escritura.
Envíos mensuales, no asientos. Sube de plan solo cuando lo haga tu tráfico — nunca al revés.
Comparar todas las funciones →
No. FormHalo corre en Cloudflare Workers y acepta los POST de tu formulario HTML directamente. Lo único que cambias es el atributo action.
Honeypot, Cloudflare Turnstile y límites de peticiones vienen activados por defecto. Puedes desactivar cualquiera de ellos por formulario si lo necesitas.
Cuando quieras, en JSON o CSV. Los archivos en R2 se quedan en tu bucket; nosotros solo guardamos un puntero de metadatos, nada más.
Sí — cifrado en reposo y eliminado tras el periodo de retención que elijas. 30 días por defecto.