Dashboard
Integrations

Integrations

Webflow

Add live PolicifyAI policies to Webflow using the custom code embed component. Policies auto-update without re-publishing your site.

Method 1: Embed component (recommended)

1

Open your Webflow project

In the Designer, open the page where you want to display the policy (e.g. /privacy-policy).

2

Add an Embed element

In the left panel, click Add (+) and search for Embed. Drag it onto the canvas.

3

Paste the embed code

Double-click the Embed element to open the code editor and paste your pre-filled snippet from PolicifyAI → Dashboard → Integrations.

4

Save and publish

Click Save & Close, then publish your site. The policy will load live.

<!-- Paste into a Webflow Embed component -->
<script
  src="https://policifyai.com/embed.js"
  data-site-key="YOUR_SITE_KEY"
  data-policy="privacy-policy"
  async>
</script>

Method 2: Page-level custom code

For more control, add the embed to the page's Head or Body code settings:

1

Open Page Settings

In the Designer, click the ⚙️ icon next to the page name in the Pages panel.

2

Custom Code → Before </body> tag

Paste the embed snippet in the Before </body> tag section.

3

Publish

Publish the site to make the change live.

Method 3: Site-wide code

If you're using the legal hub (all policies in one widget), add the script once to your site settings:

1

Go to Site Settings → Custom Code

In the Webflow dashboard, open your project settings and navigate to Custom Code.

2

Footer code

Paste the hub embed script in the Footer Code section.

💡 Site-wide embeds load on every page. Use a container with a specific ID only on relevant pages to control where the policy renders.

Using Symbols

To reuse a policy across multiple pages, convert the embed element into a Symbol:

  1. Select the Embed element on your canvas
  2. Right-click → Create Symbol
  3. Name it "Privacy Policy" or similar
  4. Drag the symbol onto any other page where you need it

CMS collections

For agency use cases where different pages need different policies, store the policy type slug (e.g. privacy-policy) as a plain text field in a CMS Collection and use Webflow's dynamic binding to populate the embed attribute. This requires a short JavaScript snippet to read the bound value:

<!-- CMS-driven embed via data attribute on container -->
<div id="policify-embed" data-ptype="[CMS Policy Type Field]"></div>
<script>
  const el = document.getElementById('policify-embed')
  const policyType = el.getAttribute('data-ptype')
  const s = document.createElement('script')
  s.src = 'https://policifyai.com/embed.js'
  s.setAttribute('data-site-key', 'YOUR_SITE_KEY')
  s.setAttribute('data-policy', policyType)
  s.setAttribute('data-container', 'policify-embed')
  document.body.appendChild(s)
</script>

Troubleshooting

Embed shows blank in Designer

The Designer preview doesn't execute JavaScript. Publish and preview in a browser to see the policy.

Script blocked by browser

Check your browser's DevTools for CSP errors. Webflow's hosting supports loading scripts from external domains.

Policy not updating after regeneration

The embed caches for 5 minutes. Hard-refresh the page (Ctrl+Shift+R) or wait 5 minutes after regenerating.