Squarespace contact forms
with a real backend.
Use a Squarespace Code Block to post directly to Form Plume. Keep your site hosted in Squarespace while Form Plume handles delivery, storage, spam filtering, uploads, integrations, and webhooks.
<form
action="PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE"
method="POST"
>
<input type="hidden" name="_redirect" value="/thank-you">
<label for="sq-name">Name</label>
<input id="sq-name" name="name" required>
<label for="sq-email">Email</label>
<input id="sq-email" type="email" name="email" required>
<label for="sq-message">Message</label>
<textarea id="sq-message" name="message" rows="5" required></textarea>
<button type="submit">Send message</button>
</form>The full guide
A flexible backend for Squarespace forms.
Use a Code Block when built-in form storage is too limited, add a hosted thank-you route, and keep submissions flowing into email and integrations.
- 1Create your Form Plume accountStart free and give your Squarespace form a hosted endpoint for email, submissions, spam filtering, uploads, integrations, and webhooks.Start free
- 2Create the form and copy the endpointCopy the endpoint URL from Form Plume. It looks like
https://api.formplume.com/f/your-slug - 3Connect it inside SquarespacePlace the endpoint in a Code Block form action when Squarespace's built-in form storage or email behavior is too limited. Test on the published Squarespace page and verify the thank-you route, email, and dashboard copy.
You can use this AI prompt to hand the platform-specific wiring to an assistant without accidentally creating a backend.
Know when the built-in form is enough
Squarespace's built-in form block is convenient for simple sites. Keep it when basic email delivery and its storage options are all you need.
Use Form Plume when you need a hosted backend with a submissions dashboard, stronger spam filtering, file upload handling, integrations, signed webhooks, or a delivery path that does not depend on Squarespace form settings.
Add a Code Block form
Place a Code Block where the form should appear and paste a plain HTML form.
<form action="PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE" method="POST">
<input type="hidden" name="_redirect" value="/thank-you">
<input type="hidden" name="source" value="squarespace-contact">
<label for="sq-name">Name</label>
<input id="sq-name" name="name" autocomplete="name" required>
<label for="sq-email">Email</label>
<input id="sq-email" type="email" name="email" autocomplete="email" required>
<label for="sq-message">Message</label>
<textarea id="sq-message" name="message" rows="5" required></textarea>
<button type="submit">Send message</button>
</form>The form posts directly to Form Plume. Squarespace continues to host and design the page, while Form Plume handles email notifications, dashboard storage, spam filtering, uploads, integrations, and webhooks.
Use a hosted thank-you page
Create a normal Squarespace thank-you page and send visitors there with _redirect.
<input type="hidden" name="_redirect" value="/thank-you">A real page is easier to track than an inline confirmation. It also gives you space to set expectations, link back to the site, or show a next-step CTA.
Keep the thank-you page published before testing the form. A redirect to a draft or private page can make a successful submission feel broken.
Work around built-in form constraints
The built-in Squarespace form block may limit where submissions can go, how hidden fields behave, or whether your exact upload and webhook flow is possible. A Code Block gives you direct access to action, method, hidden inputs, and enctype.
If you only need a small form, keep the Code Block simple. If the site needs multiple forms, use distinct source values so Form Plume can show which page generated each submission.
Add file uploads
Use multipart encoding when you need visitors to send an attachment.
<form
action="PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE"
method="POST"
enctype="multipart/form-data"
>
<label for="sq-file">Attachment</label>
<input id="sq-file" type="file" name="attachment" accept=".pdf,.png,.jpg">
<button type="submit">Send</button>
</form>The upload goes to Form Plume rather than through the notification email itself, which keeps the email path reliable.
Test the published page
Save, publish, and test from the live Squarespace page. Confirm the Form Plume dashboard entry, email notification, redirect, spam status, and any Slack, Google Sheets, Mailchimp, ActiveCampaign, or webhook integration.
If nothing arrives, view the live page source and confirm the Code Block rendered a real form with your endpoint.
Primary sources
FAQ
Squarespace form questions
before you replace the block.
One line. Zero backend.
