action
distinta, y un campo oculto en lugar de tener el ID del endpoint
incorporado en la URL. Esta guía cubre el cambio en sí y el puñado de
diferencias de comportamiento que vale la pena conocer antes de dar el
salto, para que nada se rompa en silencio.
El cambio central
Un formulario típico de Formspree envía directamente a un endpoint con tu ID de formulario incrustado en la URL:/submit, e identifica tu formulario mediante un campo oculto
access_key en el cuerpo, no mediante la URL:
action, y un nuevo input oculto
access_key. Cualquier otro campo, tu email, message, o cualquier
campo personalizado que ya tenga tu formulario, conserva su nombre y
funciona sin cambios, ya que ningún servicio reserva esos nombres.
Obtén tu access_key (fp_…) creando un formulario en el
panel (o pidiéndole a un agente que lo haga
mediante la herramienta MCP create_form),
consulta Tu primer formulario si estás empezando desde
cero.
Si estás usando la integración AJAX/fetch de Formspree
El patrón tiene la misma forma, solo apuntando a una URL distinta y conaccess_key en el cuerpo en lugar de en la ruta del endpoint:
200 con
{"success": true, "message": "Submission received.", "id": "sub_..."},
verifica res.ok o success de la misma forma que verificarías la
respuesta de Formspree.
Mapeo del resto de tu configuración
Diferencias que vale la pena conocer antes de cambiar
Sin acertijos de spam. Si tu formulario de Formspree tenía reCAPTCHA o hCaptcha conectado, simplemente elimínalo, no busques un equivalente que configurar. Formpaste depende completamente de heurísticas del lado del servidor (honeypot, tiempo, densidad de enlaces, tasa, correo desechable) que nunca le muestran un acertijo a tu visitante. Si tenías un campo honeypot para Formspree, renómbralo abotcheck, ese es el
nombre específico que verifica Formpaste, y ocúltalo con CSS
(display:none), no con type="hidden", para que los bots poco
sofisticados que se saltan los inputs ocultos igual caigan en la trampa.
Consulta Prevenir spam.
Los envíos sospechosos se ponen en cuarentena, no se descartan ni se
bloquean en silencio. Un envío que se puntúa como spam sigue llegando a
un lugar donde puedes verlo, la pestaña Spam del panel, en lugar de
desaparecer. En Free esa vista es de solo lectura; reentregar un falso
positivo (“rescate”) es una acción Pro. Si
tu filtro de spam de Formspree descartaba envíos en silencio, dedica
tiempo a revisar la pestaña de cuarentena ocasionalmente después de
migrar, por si algo legítimo necesita un empujón.
Sin API REST para formularios o envíos. Formpaste no tiene una API
REST general de crear-formulario/listar-envíos. Los formularios se crean
en el panel o mediante la herramienta MCP create_form; los envíos se
leen mediante el panel, la exportación CSV, o la herramienta MCP
list_submissions, consulta Recuperar envíos
si estabas programando algo contra la superficie de API de Formspree.
Un servidor MCP, si estás configurando esto con un agente. Si estás
migrando un formulario con la ayuda de Claude Code, Cursor, u otro agente
que hable MCP, puede crear el formulario y devolverte directamente un
snippet ya conectado, consulta Servidor MCP y los
prompts de cookbook. Esto no es un equivalente
de Formspree; es una superficie nueva que Formpaste tiene y Formspree no.
Los planes son más simples. Formpaste tiene exactamente dos planes,
Free y Pro (cuatro niveles de cuota de envíos dentro de Pro), en lugar de
la estructura multinivel de Formspree.
Consulta Plan Pro si estás evaluando si tu uso
actual encaja en los 250 envíos/mes de Free.
Después de cambiar
- Actualiza la URL de
actiony agregaaccess_keyen cada formulario que estés migrando. - Verifica el correo de destino de cada formulario (OTP único por dirección), consulta Tu primer formulario.
- Renombra cualquier campo honeypot a
botchecky confirma que esté oculto con CSS. - Elimina cualquier widget/script de CAPTCHA, no se necesita y Formpaste no lo leerá.
- Establece la lista permitida de dominios una vez que hayas confirmado que los envíos están llegando, para que el formulario no quede abierto a cualquier origen indefinidamente.
- Envía una prueba real y confirma que llega al inbox del panel y a tu correo.
Tu primer formulario
Recorrido completo para crear un formulario y verificar su destino.
Snippets por framework
Ejemplos listos para HTML, React, Next.js, Astro, Vue, y Svelte.
Prevenir spam
Cómo funciona el filtrado.
Recuperar envíos
Panel, exportación CSV, y la herramienta MCP, sin API REST.