HOAcrew

Add the form to Webflow

One Code embed element on the page you want it on. Custom code needs a paid Webflow plan, and the step people miss is the staging address, so both have a section of their own.

Where the code goes
a Code embed element
How the form arrives
Inside your page
the visitor never leaves your site
What you paste
Two lines of HTML
Addresses per key
10
list every spelling your site answers on

Paste it into a Code embed element

You need your key first.

It is on the plugin page in your console, under Settings, Website plugin. That page is also where you list the web addresses your form is allowed to appear on, and it will not work anywhere you have not listed. The overview walks through getting one.

Custom code needs a paid Webflow plan.

The Code embed element requires an active Site plan on the project, or a paid Workspace. A free Starter project publishes to its .webflow.io address with the custom code stripped out, so you follow every step below, publish, and see nothing — with no error to explain it. If that is where you are, use A link, if you would rather not embed it at the bottom of this page; it works on every plan and needs no code. Webflow’s own “Custom code embed” help article states the current requirement.

This is the code. Replace hoac_embed_your_key_here with the key from your console. That is the only edit it needs.

The snippet

<div data-hoacrew-proposal-form data-key="hoac_embed_your_key_here"><a href="https://hoacrew.com/embed/w/hoac_embed_your_key_here">Request a proposal</a></div>
<script src="https://hoacrew.com/embed/v1.js" async></script>

Two lines: the place the form goes, and the script that puts it there. The link inside the first line is a plain one to your hosted form, and it is what a visitor gets if the script never arrives — a browser with scripting off, a corporate proxy, a blocker. The loader clears it the moment it runs, so nobody sees both. That wording is yours: change Request a proposal to whatever you would rather it said and nothing else is affected.

  1. 1

    Open the page in the Designer

    Open your project, then the page you want the form on. Click where it should sit so Webflow knows where to put the new element.

  2. 2

    Drag in a Code embed element

    Press the + in the top left to open the Add panel, find Code embed under Advanced, and drag it onto the page. A code editor opens as soon as it lands. Older Webflow projects label the same element Embed.

  3. 3

    Paste and save

    Paste the snippet into the editor and press Save & Close. The canvas now shows a placeholder block rather than the form — the Designer does not run embedded code, which is normal and is not a failed paste.

  4. 4

    Publish

    Press Publish and choose the domains to publish to. The form appears on the published site.

Register both spellings of your address.

To a browser, acme-lawns.com and www.acme-lawns.com are two different places. If your site answers on both, list both on the plugin page. The same goes for http:// against https://. This is the reason behind almost every form that never appears.

Register your staging address too

Every Webflow project also answers at an address ending in .webflow.io, and that is where most people look first after publishing. It is a different web address from your real domain, so a form that draws on acme-lawns.com shows the fallback button rather than the form on acme-lawns.webflow.io unless you have listed both.

Add your .webflow.io address on the plugin page while you are building, and take it off once the site is live if you would rather keep the list tidy. Removing it takes effect on the next page load and does not touch anything on the site itself.

Three addresses is normal here.

A Webflow site in progress often needs all three: the staging address, your domain, and your domain with www. in front. You have room for ten on one key.

How to tell it worked

  1. Open the published page — not the Designer preview, which still shows the placeholder.
  2. The form is there with your company’s name on it. Send a test, taking more than a few seconds over it: a submission completed unusually fast is filed as suspected spam.
  3. Open Settings → Website plugin in your HOAcrew console. Your test is in the list.

If your site has a security policy

Most websites have no Content-Security-Policy and this section does not apply to them. If yours has one — a security plugin added it, your host sets it, or whoever built the site wrote one — it needs to allow two things from us:

The two allowances

script-src  https://hoacrew.com
frame-src   https://hoacrew.com

The first lets the loader script run. The second lets the form’s frame render. Allow the first and forget the second and you get a blank space where the form should be, with a line in the browser’s developer console naming frame-src. Nothing else is needed: the form loads no fonts, no analytics and no other company’s code, so there is no third allowance hiding behind these two.

Webflow does not give you a place to set one, so this only comes up if your domain is behind something you added yourself — typically a Cloudflare rule that adds headers as pages leave.

The same form, somewhere else