DocsProposal request pluginWebflow

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.

For service companies taking proposal requests on their own website.

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

It is on the plugin page in your dashboard. Paste it here and every code example on this page carries it.

The plugin page is also where you list the web addresses your form is allowed to appear on, and it will not appear anywhere you have not listed. The overview walks through getting a key.

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 Link to the hosted form instead 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 vrfp_embed_your_key_here with the key from your dashboard. That is the only edit it needs.

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

Two lines: where the form goes, and the script that loads it. The link inside the first line is a plain fallback for a visitor whose script never runs, cleared the moment it does. Its wording — Request a proposal — is yours to change; nothing else is affected.

  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.

    The Webflow Designer with the Pages menu open and the Contact page ringed.
    The Pages menu is beside the + at the top left of the Designer.
  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.

    The Webflow Add panel open, with Code embed under the Advanced heading ringed.
    Code embed is under Advanced, below the Basic elements.
  3. Paste and save

    Paste the snippet into the editor and press Save and Close. The canvas now shows a placeholder block, not the form — the Designer does not run embedded code, so that is expected.

    The Webflow HTML embed code editor holding the snippet, with Save and Close ringed at the bottom right.
    Save and Close is the bottom right of the code editor.
  4. Publish

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

    The Webflow publish menu listing the webflow.io address and the custom domain, both ticked, with the publish button ringed.
    Both addresses are listed here, and each is a separate address to register.

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, not 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 short. 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 10 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 placed under suspected spam.
  3. Open Settings → Website plugin in your VendoRFP dashboard. 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 Console tab 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 on another platform