Framer
Untested: Not yet tested on a live site. The steps follow how the form address works today; if one differs, tell us.
Framer's own form sends leads through a webhook from Framer's servers, which FormParcel holds in Spam today. Put a FormParcel form in an Embed instead.
Framer forms
A Framer form with Send To › Webhook posts from Framer’s servers, not from the visitor’s browser. It carries no bot-check proof, so each lead is held in your Spam folder.
- Server key for webhooks and server posts Coming soon: A per-form key for a site builder's webhook or your own server, so a lead posted from a server is delivered instead of held in Spam. Until it ships, use an Embed.
Add an Embed
Insert an Embed on the page, choose HTML, and paste this. The embed sends from the visitor’s browser and runs the bot check. We have not yet tried this route on a live Framer site.
Example form address. Use yours from the dashboard.
<form action="https://f.formparcel.live/f/f_k7QmXp2aVb9sTn4cLw8RhE" method="POST" onsubmit="if(!window.FormParcel){event.preventDefault();var f=this;f.setAttribute('data-fp-wait','1');setTimeout(function(){if(f.getAttribute('data-fp-wait')){f.removeAttribute('data-fp-wait');HTMLFormElement.prototype.submit.call(f)}},10000)}">
<!-- Spam trap: people never see it, bots fill it in. Keep it hidden. -->
<div aria-hidden="true" style="position:absolute;left:-10000px;">
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off">
</div>
<label for="name">Name</label>
<input type="text" id="name" name="name" required>
<label for="email">Email</label>
<input type="email" id="email" name="email" required>
<label for="message">Message</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Send</button>
</form>
<!-- FormParcel bot check: no cookies, no widget. Without it, submissions wait in your Spam folder. -->
<script src="https://f.formparcel.live/f/formparcel.js" async></script>- The embed runs in its own frame, so the visitor sees FormParcel’s short confirmation inside it.
- Leave the form’s allowed origins empty: the post comes from the embed’s frame, not from your domain.
curl, and every post from a page that does not load the script. The dashboard then shows Bot check not installed under Needs action. Fix: keep the script line on every page that has the form. Learn moreCheck it
Submit the form once from the published site and open its receipt under Leads. If it says Held as spam, see Bot check.