DOCS
Guía de configuración
Formchan funciona como el destino al que envía tu formulario. Aquí tienes todo lo necesario para conectarlo.
BUILD WITH AI
¿Desarrollas con IA? Dale la URL y la especificación.
Entrega a tu IA de desarrollo la URL del panel y esta especificación Markdown en inglés. Puede conectar tu formulario o crear uno nuevo.
Ver instrucciones para la IA
Conecta el formulario de contacto de este sitio a Formchan. URL de envío: [pega la URL del panel] Especificación: https://formchan.app/lp/integration-en.md Lee la especificación e implementa la integración manteniendo el diseño actual. Crea un formulario si no existe. Incluye validación, estados de envío, éxito y error, prevención de envíos duplicados e instrucciones para una prueba.
Primeros pasos
Al registrarte, se crea tu primer formulario. Copia la URL que aparece en tu panel y ponla en el action de tu formulario. Usa POST como method.

<form action="https://formchan.app/f/YOUR_FORM_KEY" method="POST"> <input name="name"> <input name="email" type="email"> <textarea name="message"></textarea> <button>Enviar</button> </form>
Después de enviar el formulario, la persona ve una página de confirmación. El mensaje llega a tu bandeja y la IA añade ★ y etiquetas.
Nombres de campo
Puedes nombrar los campos como quieras. Cada campo enviado aparece tal cual en la bandeja y en los correos de notificación.
La dirección de correo para responder se lee de un campo llamado email. También sirven mail y _replyto. El nombre del remitente se lee de name o fullname.
Cada envío puede ocupar hasta 64 KB, con hasta 50 campos y 5000 caracteres por campo.
Después del envío
Si no configuras nada, Formchan muestra su propia página de confirmación con un enlace para volver a la página anterior.

Para llevar a las personas a una página tuya, pon su URL en un campo oculto llamado _next.
<input type="hidden" name="_next" value="https://example.com/thanks">
Envío desde JavaScript
Envía con la cabecera Accept: application/json y Formchan responde en JSON en lugar de mostrar una página. El visitante se queda en tu página.
const res = await fetch('https://formchan.app/f/YOUR_FORM_KEY', { method: 'POST', headers: { Accept: 'application/json' }, body: new FormData(form), }); const data = await res.json(); // { ok: true }
Si todo va bien, recibes ok: true. Si falla, recibes ok: false y uno de estos códigos de error.
| Código | HTTP | Significado |
|---|---|---|
not_found | 404 | El formulario no existe |
origin | 403 | Enviado desde un sitio que el formulario no acepta |
rate | 429 | Demasiados mensajes en poco tiempo |
body | 400 | No se pudo leer el contenido |
empty | 400 | Todos los campos estaban vacíos |
Protección contra spam
Añade a tu formulario un campo oculto llamado _gotcha. Las personas no lo ven, pero los bots lo rellenan. Esos envíos parecen aceptados, pero se descartan.
<input name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
Se rechazan los mensajes enviados muchas veces desde el mismo lugar en poco tiempo.
En los ajustes del formulario puedes indicar qué sitios pueden enviarle mensajes. Los envíos desde otros sitios se rechazan.
WordPress, Webflow y más
- HTML
- Usa el código del formulario de arriba tal cual.
- WordPress
- Pega el código del formulario en un bloque HTML personalizado.
- Webflow
- En los ajustes del formulario, pon la URL en Action y elige POST en Method.
- React / Next.js
- Envía con fetch, como se explica en “Envío desde JavaScript”.
Notificaciones
Los mensajes ★3 se envían a tus direcciones de notificación en cuanto llegan. Cuando añades una dirección, le enviamos un correo de confirmación; las notificaciones empiezan cuando se hace clic en el enlace que contiene.

Los ★1 y ★2 llegan juntos en un correo al día. Puedes cambiar la hora, y los días sin nada nuevo no se envía ningún correo.



Desde el plan Pro, también puedes enviar los mensajes a Slack, Chatwork, Microsoft Teams, Google Chat y Discord.

Webhooks
En el plan Business, Formchan envía un POST con JSON a tu URL cada vez que llega un mensaje y la IA lo ha leído.

La cabecera X-Formchan-Signature contiene un HMAC-SHA256 del cuerpo de la petición, firmado con el secreto de tu webhook, con el formato sha256=…. Calcula el mismo valor por tu parte para comprobar que la petición viene de verdad de Formchan.
Ejemplo de cuerpo
{
"event": "submission.created",
"at": "2026-10-12T09:29:41.000Z",
"workspace": { "id": "w_…", "name": "Harbor Design Studio" },
"submission": {
"id": "sb_…",
"number": 1,
"form": { "id": "fm_…", "name": "Contact" },
"received_at": "2026-10-12T09:29:38.000Z",
"name": "Emily Parker",
"email": "emily@example.com",
"fields": { "name": "Emily Parker", "email": "emily@example.com", "message": "…" },
"stars": 3,
"tags": [{ "id": "tg_…", "name": "Inquiry", "by": "ai" }],
"summary": "Wants a consultation on adding a second floor.",
"reason": "Concrete request with budget and timeline.",
"done": false
}
}Comprobar la firma (Node.js)
import crypto from 'node:crypto'; // rawBody: the request body as a string, before JSON.parse function isFromFormchan(rawBody, signature, secret) { const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex'); const a = Buffer.from(expected), b = Buffer.from(signature || ''); return a.length === b.length && crypto.timingSafeEqual(a, b); }
Si no llegan los mensajes, revisa la URL del action y la opción “Aceptar envíos solo desde estos sitios” en los ajustes del formulario.
Dedica tu atención a las consultas importantes.
Gratis hasta 100 mensajes al mes. Solo necesitas una dirección de correo. Sin tarjeta de crédito.
Empieza gratis