Publishing for the first time
- Click the Publish button in the top-right corner of the workspace toolbar.
- The publish panel slides open.
- Click Deploy (or the equivalent button for your project type).
- Run your project’s build command (
pnpm run build) inside the sandbox - Upload the compiled output to Cloudflare Pages
- Return a unique URL like
https://your-project-name.pages.dev
Re-deploying
After the first deploy, the Publish panel shows your current deployment URL. Click Deploy again at any time to push the latest changes from your sandbox to Cloudflare. You don’t need to commit to GitHub first — the build runs directly from the project’s current files in the sandbox.Deployment URL
Every published project gets a stable URL at*.pages.dev. This URL is permanent for the project — re-deploying updates the content but keeps the same address.
The URL is shown in the Publish panel and can be copied directly. Share it with anyone — they don’t need a Botflow account to view your app.
Custom domains (Pro and Max)
Pro and Max plan users can serve a published project from their own domain instead of the*.pages.dev URL. The Domain section of the Publish panel offers two approaches — Managed and CNAME — on a small toggle.
Managed domains (recommended)
With a managed domain, Botflow runs the DNS for you — no records to copy, no registrar fiddling per project.Add your domain once
Go to the Domains page and add your apex domain (e.g.
myapp.com). Botflow gives you nameservers to set at your registrar. Once the domain points at Botflow, its status flips from pending to active.Assign it to a project
In the Publish panel’s Managed tab, pick the domain, choose a subdomain (e.g.
www, app, or @ for the apex), and click Assign domain. Botflow creates the DNS records and provisions SSL automatically.CNAME (bring your own DNS)
Prefer to keep your DNS where it is? Use the CNAME tab to point a hostname at your project without moving nameservers.- Open the Publish panel and switch the Domain section to CNAME.
- Enter your hostname (e.g.
www.myapp.com) and click Add custom domain. - At your registrar or DNS provider, add a CNAME record pointing that hostname at your project’s
*.pages.devaddress (shown in the panel):
| Type | Name | Value |
|---|---|---|
| CNAME | www (or your subdomain) | your-pages-project.pages.dev |
- Botflow polls for the record and provisions an SSL certificate automatically once it’s detected.
Domain status
The Publish panel shows the current status of an attached domain:- Pending — Botflow is waiting on DNS (the nameserver delegation for managed domains, or the CNAME record for the CNAME flow)
- Active — the domain is live and SSL is provisioned
- Error — DNS isn’t configured correctly; re-check your records
Removing a domain
Click the trash icon next to the domain in the Publish panel to detach it. Your app continues to be available at the*.pages.dev URL.
Build requirements
Botflow runs your project’s build command and uploads the output directory. Make sure:- Your
package.jsonhas abuildscript (e.g."build": "vite build") - The build output goes to a standard directory (
dist/,out/,.next/— Botflow auto-detects these) - All required environment variables are set in the ENV panel