Skip to main content
Menu
On this page

Custom domains

Serve a Fillo form on your own domain by embedding the native renderer in a route you control.

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

  1. Create a route in your application, such as https://app.example.com/contact.
  2. Render the published form on that route with @usefillo/react or @usefillo/dom.
  3. Style the surrounding page and set its metadata in your framework.
  4. Keep the form ID in application configuration, or define and sync the form in code.
tsx
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.

Updated

Was this page helpful?