Bolt guide
Bolt form backend powered by Formserve
Connect a Bolt-generated website form without building a backend API.
Overview
What you are building
Bolt.new is strong for shipping a site quickly, but the generated form still needs a reliable submissions backend. Formserve gives the form a real POST destination while keeping the generated layout, styles, and frontend structure intact.
Requirements
Before you start
Existing Bolt form UI
Use the generated form that already exists in the Bolt project.
Endpoint URL
Create a Formserve endpoint first and use the real public URL in the prompt or code edit.
Field names
Make sure visible form fields still render meaningful name attributes.
Live test
Test the generated site after deployment, not only in preview.
Setup steps
Connect the form
Start from the generated page
Do not replace the form or redesign the section. Keep the generated Bolt output and only fix form submission behavior.
Point the form to Formserve
Use a direct POST flow with the endpoint URL and include _honeypot as a hidden field.
Keep friendly feedback
Add or preserve loading, success, and failure states so the site still feels polished.
Test from Bolt preview and live deploy
Send a test submission from the live URL and verify it appears in Formserve.
Code
Minimal HTML contract
Every framework eventually sends these same fields. If your tool generates a component, ask it to preserve styling and only adjust the submission behavior.
<form action="https://formserve.io/f/YOUR_ENDPOINT_KEY" method="POST">
<input type="text" name="_honeypot" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" />
<input type="text" name="name" required />
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<button type="submit">Send message</button>
</form>
Testing checklist
- ✓ Preserve the generated Bolt layout and spacing.
- ✓ Check every field has a name attribute.
- ✓ Configure allowed domains before the final test.
- ✓ Confirm the inbox receives the submission with the correct field values.
Common mistakes
- ! Replacing the whole generated component instead of patching submission behavior.
- ! Omitting _honeypot.
- ! Using placeholder success text that never waits for the real request.
- ! Not validating the final live deploy.