Migrate from Formspree
Swap the action URL and rename a control field or two — your _gotcha honeypot works on Formcrest unchanged.
Before and after
A typical Formspree form:
<form action="https://formspree.io/f/abcdwxyz" method="POST"> <input type="email" name="email" required /> <textarea name="message" required></textarea> <input type="text" name="_gotcha" style="display:none" /> <input type="hidden" name="_next" value="https://your-site.com/thanks" /> <button type="submit">Send</button> </form>
The same form on Formcrest:
<form action="https://api.formcrest.com/v1/submit/abc123" method="POST"> <input type="email" name="email" required /> <textarea name="message" required></textarea> <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off" /> <input type="hidden" name="redirect" value="https://your-site.com/thanks" /> <button type="submit">Send</button> </form>
Field mapping
| Formspree | Formcrest |
|---|---|
action="https://formspree.io/f/<id>" | action="…/v1/submit/<formId>" — your form's own endpoint from the dashboard |
_gotcha honeypot | Works as-is — _gotcha is one of our accepted honeypot field names |
_next redirect | Rename to redirect, or set the success URL once in the form's settings |
_subject | Configure the notification subject in the form's settings (with template variables on Pro) |
_replyto | Not needed as a field — set Reply-To in the form's notification settings, or rely on the submission's email field |
_cc / multiple recipients | Add verified destination emails to the form — multi-recipient guide |
Step by step
- Create a Formcrest account, verify the destination email that should receive submissions, and create a form — you'll get the endpoint URL.
- Update your HTML as shown above and deploy.
- Send a test submission and check it arrives. Your Formspree endpoint keeps working during the transition, so switch pages one at a time with no downtime.
Feature notes
- Using
@formspree/react? Swap to theuseFormSubmithook from@formcrest/sdk/react— the shape is very close. See React & Next.js. - AJAX without a library: send
Accept: application/jsonfor a JSON response — JavaScript (fetch). - Captcha: Formspree uses reCAPTCHA/hCaptcha; Formcrest uses Cloudflare Turnstile — setup guide.
- File uploads, webhooks, autoresponders, and Slack/Discord/Sheets/Notion delivery are available on Pro — see plans.
General advice (zero-downtime strategy, what to check after the swap) is in the main migration guide. Coming from web3forms instead? See that guide.