Add a form to a Squarespace site
A Code Block holds the form; the endpoint receives the submit. Squarespace form blocks stay for what they’re good at, and this handles everything else.
- Free plan
- No plugin to install
- Set up in minutes
Squarespace in three steps.
- 1
Create a form and copy its Public Key
Sign up and copy the Public Key for the form responses should land in.
- 2
Insert a Code Block
Add a Code Block to the page and paste the form markup. Display the code as-is is unchecked by default. Leave it that way.
- 3
Style and publish
Add inline styles or classes matching the site’s typography, then publish and send a test submission.
Copy this into Squarespace.
Swap in your form’s key and submissions start landing in your inbox.
<form action="https://api.surveyowl.co/v1/submit/sk_live_…" method="POST">
<input name="name" type="text" placeholder="Name" required />
<input name="email" type="email" placeholder="Email" required />
<textarea name="project" placeholder="Tell us about the project"></textarea>
<button type="submit">Get in touch</button>
</form>What people build with it.
Inquiry forms that should feed Sheets, Notion, or a webhook.
Sites on plans without form-storage or Google Drive storage.
Landing pages where the form block’s styling options fall short.
Squarespace forms, answered.
1. Create a form and copy its Public Key: Sign up and copy the Public Key for the form responses should land in. 2. Insert a Code Block: Add a Code Block to the page and paste the form markup. Display the code as-is is unchecked by default. Leave it that way. 3. Style and publish: Add inline styles or classes matching the site’s typography, then publish and send a test submission.
Squarespace’s native form block sends email and stores a limited history. When the destination should be a spreadsheet, a Slack channel, or an API, a Code Block with the form pointed at the endpoint is the shortest path, and no developer plan is required for a plain form embed.
Code Blocks sanitize some attributes on lower plans; if the action is stripped, move the form into a Code Injection block or upgrade to a plan that allows unfiltered HTML. The markup itself never changes.