Custom domains keep respondents on a hostname your product controls. Today, the way to get there is native embedding — not attaching a CNAME to the hosted /f page.
Supported path
- Create a route in your application, such as
https://app.example.com/contact. - Render the published form on that route with
@usefillo/reactor@usefillo/dom. - Style the surrounding page and set its metadata in your framework.
- Keep the form ID in application configuration, or define and sync the form in code.
import { FilloForm } from "@usefillo/react";
import "@usefillo/react/styles.css";
export default function ContactPage() {
return (
<main>
<h1>Contact support</h1>
<FilloForm formId="your-published-form-id" showTitle={false} />
</main>
);
}Published form IDs can load and submit without a key. If your workspace restricts browser origins for publishable-key sync, add the production origin when the embed also syncs a code-defined form.
What's not available
Fillo doesn't currently issue or verify DNS records for a custom hosted-form hostname. There's no dashboard custom-domain setting, no automatic certificate flow, and no supported CNAME target for /f pages.
Don't reverse-proxy the hosted page as if it were a stable white-label HTML contract. The native renderer is the supported way to put a form under your domain, and it keeps you in control of routing, cookies, headers, metadata, and the surrounding UI.
Plan status
Native and headless embedding are available on every plan, Free included.
Related
- Quickstart: Install the renderer and load a published form.
- Branding: Match the form and surrounding route to your product.
- Blocked by CORS policy: Fix an origin or custom API configuration.