You're encountering a CORS policy error when using Webflow Logic to call an external API. It works in Designer preview but fails on the deployed site, indicating a client-side browser restriction caused by cross-origin requests.
1. Understand the Environment Differences
- Webflow Designer preview uses a proxy or development environment that may not enforce browser-level CORS in the same way as published sites.
- Upon publishing, Webflow Logic runs in the browser unless explicitly configured to run server-side — meaning real CORS rules will apply based on the target API's headers.
2. Determine the Type of Webflow Logic Execution
- Client-side Logic (e.g., triggered by form submissions or button interactions): These result in browser-based fetch requests which are subject to CORS.
- Server-side Logic workflows (e.g., triggered by CMS entry creation, form submissions with Logic-only processing): These run on Webflow's backend and are not subject to CORS policies.
- The external API must respond with the appropriate Access-Control-Allow-Origin header.
- To allow calls from your specific site, the API must return:
Access-Control-Allow-Origin: https://yoursite.webflow.io
or your custom domain.- Alternatively:
Access-Control-Allow-Origin: *
(not recommended for private APIs).
4. Use a Webhook Instead of a Direct Fetch
- If the external API supports it, use a webhook to push data to Webflow rather than pulling it from Logic.
- This avoids browser-based execution entirely, sidestepping CORS.
5. Use Server-Side Logic Triggers Whenever Possible
- To avoid CORS issues entirely, trigger your Logic workflow using:
- Form submissions that are processed solely with Logic (without client-side API calls).
- CMS or Ecommerce events, which initiate Logic server-side.
6. Use a Secure Proxy Server
- If you control a server or serverless environment (e.g., Vercel, Netlify), set up a proxy that:
- Fetches from the external API.
- Adds the appropriate CORS headers.
- Webflow frontend Logic then calls your proxy instead.
- Webflow itself does not offer built-in proxying features.
Summary
You're hitting a CORS error because your deployed Webflow site executes Logic in the browser, and the API you're calling doesn't allow requests from your domain. To fix this, use server-side Logic workflows, update the API’s CORS headers, or implement a secure proxy to handle the request.