Loading blog posts...
Loading blog posts...
Loading...

Most guides about ChatGPT Sites focus on the "describe what you want" magic. That's the easy part. The real work shows up after: managing deployments, controlling access, handling secrets, and remembering that every URL you generate is live. This guide treats Sites like what it really is: a lightweight release pipeline for small web apps.
ChatGPT Sites turns Codex from a code generator into a hosted-app workflow. You describe a dashboard, tracker, or internal tool in plain English, and you don't just get code files. You get a live URL with hosting, analytics, identity management, and access controls baked in.
That shift matters because it closes the usual gap between "it works locally" and "it's deployed." There’s no separate hosting service to set up, no CI/CD pipeline to wire, and no DNS to touch unless you want a custom domain. The flip side is straightforward: Sites is best for focused internal tools and prototypes, not full production engineering stacks.
Important
Every Sites deployment URL is a production deployment. There's no staging environment. If you need to review before going live, explicitly ask ChatGPT to save a version without deploying it.
Creation starts with the @Sites command in ChatGPT web (Work interface) or the desktop app. Describe what you want, and ChatGPT generates a complete site you can preview, refine, and deploy.
text@Sites Create a project status dashboard showing: - Active projects with completion percentages - Team member assignments - Upcoming deadlines in the next 14 days - Filter by department
That prompt produces a working dashboard, not a code snippet. ChatGPT handles the HTML, CSS, JavaScript, and hosting setup. You’ll see the site in a preview pane where you can click around before you deploy.
Refinement is conversational. If the colors don’t match your brand or the date format looks off, spell out the change:
textChange the header color to #1a365d and format all dates as DD MMM YYYY
Each change creates a new version. If something breaks, you can roll back. It’s lightweight versioning, closer to "git commits without the command line" than a full repo workflow.
Codex CLI and IDE extensions can help you edit and test locally, but they don’t give you the Sites management screens. Publishing, access controls, analytics, secrets, and settings live in the ChatGPT web or desktop interface.
| Task | Where to Do It | Notes |
|---|---|---|
| Create site | ChatGPT web/desktop | Use @Sites command |
| Edit code locally | Codex CLI/IDE | For advanced customization |
| Deploy/publish | ChatGPT web/desktop | Every deploy is production |
| Set access controls | ChatGPT web/desktop | Default: owner/admin only |
| View analytics | ChatGPT web/desktop | Built-in traffic metrics |
| Manage secrets | ChatGPT web/desktop | Never store in prompts |
| Custom domains | ChatGPT web/desktop | Not available in Enterprise at launch |
This split setup usually works well for teams: build and tweak however you like, then come back to ChatGPT for deployment and governance. It’s a separation between development and operations, on purpose.

New sites default to owner and workspace admins only. That default matters because every deployment goes live immediately at its URL. If someone has the URL but doesn’t have access, they’ll hit an authentication prompt instead of seeing the site.
Access tiers look like this:
Owner/admin only - Default. Only you and workspace admins can view. Keep it here while you’re iterating.
Selected users/groups - Share with specific people or groups in your workspace. This is the typical setting for team tools.
Anyone in workspace - Everyone in your ChatGPT Business or Enterprise workspace can access. Works well for company dashboards.
Public internet - Anyone with the URL can view. Enterprise workspaces usually have this disabled by default and require an admin to turn it on.
Warning
Enterprise workspaces cannot publish publicly without explicit admin enablement. If you're building something intended for external users, confirm this setting with your workspace admin before investing development time.
For public sites, the "Sign in with ChatGPT" flow handles authentication. Visitors sign in with a ChatGPT account, and analytics can show who accessed the site. For workspace-restricted sites, the visitor’s workspace identity is used automatically.
Sites is more than static pages. It comes with primitives that would normally mean stitching together extra services:
D1 (structured data) - SQLite-compatible storage for form submissions, user preferences, or app state. No separate database setup.
R2 (object storage) - File storage for uploads, images, or documents. Think "simple S3-like bucket" that’s integrated with your site.
Analytics - Automatic tracking for unique visitors and page views. You can see metrics like "190 unique visitors, 359 page views over seven days" without adding tracking code.
Identity - Built-in authentication, so you can avoid OAuth setup and custom user management for simple access control.
These pieces are what make Sites practical for real internal tools. A project tracker can store data in D1. An asset library can serve files from R2. A dashboard can show who’s actually using it.

Secrets follow one hard rule: don’t put credentials in prompts, files, or page content. Put them in Site settings, and only there.
text@Sites Add Slack integration to post updates when project status changes
That prompt explains the integration. The Slack webhook URL belongs in Site settings after the site exists, not in the conversation. Keeping secrets out of chat history, version snapshots, and generated comments is the whole point.
Tip
When ChatGPT generates code that needs a secret (API key, webhook URL, database connection), it creates a placeholder. You fill in the actual value through Site settings, keeping the credential out of any exportable or shareable content.
OpenAI's security documentation covers sandboxing, approval workflows, and audit trails for Codex. For Sites, the practical bits are:
Sites doesn’t support data residency requirements at launch. PHI, payment card data, and policy-violating uses are prohibited. If the project touches regulated data, Sites probably isn’t the right fit.
Before switching access from owner-only, run a real review. A solid checklist:
Content review - Read every page. AI-generated text can include made-up details, awkward phrasing, or incorrect info. Your team owns what gets published.
Interactive behavior - Click every button, test every form, and validate dynamic elements. Broken flows create bad UX and can mean lost data.
Sign-in flows - If authentication is required, test it the way your audience will use it. Try a different account or an incognito window.
Visitor data collection - Know what data is collected and where it goes. Form submissions land in D1. Analytics track visitors. Third-party integrations may receive data too.
External dependencies - If the site calls external APIs, check reliability and fit. A dashboard that goes stale because an API flakes out reflects back on your tool.

OpenAI positions Sites for focused, reviewable web outputs rather than complex products. Where it tends to shine:
Project hubs - Dashboards for status, timelines, and ownership. The fast iteration loop helps you tune layout and clarity quickly.
Launch trackers - Countdown pages with task lists and stakeholder visibility. With D1, the tracker keeps state across visits.
Internal calculators - Pricing estimators, resource allocation tools, budget planners. Built-in primitives handle the logic and storage without lots of external plumbing.
Onboarding pages - New hire info, process docs, team directories. Access controls keep sensitive info inside the workspace.
Prototypes - Working mockups for stakeholder review before committing to a full build. Sites is well-suited to early validation.
What’s usually a poor match: apps that require specific frameworks, private network access, background services, or complex database operations. Sites is intentionally lightweight.
Stack Overflow's 2026 Pulse data shows daily AI-agent use at work rose to 37% (up from 14% in 2025), with OpenAI Codex showing 22% usage and 56% stated interest among coding-agent tools. But Gartner reports only 35% of software engineering leaders see significant ROI from AI in the SDLC.
That gap between adoption and ROI usually comes from fuzzy goals. Teams that start with "let's see what AI can build" often struggle to prove value. Teams that start with "weekly reporting is too slow" and use Sites to fix that specific pain can actually measure the result.
Note
Research from arXiv reports more than fivefold active-user growth for Codex in H1 2026, with more than 10% of users managing three or more projects simultaneously. The users seeing value tend to be those with clear, bounded problems rather than exploratory experimentation.
The pattern that works: pick one internal friction point, build a focused site for it, then measure the improvement. A tracker that cuts 30 minutes from a weekly status meeting has clear ROI. A generic "AI-built dashboard" typically doesn’t.
Codex CLI is the escape hatch when conversation alone isn’t enough. Export the site’s code, edit it in your editor or IDE, test locally, then deploy the updated version through the ChatGPT interface.
This hybrid approach is a good fit when requirements are easier to express in code, like:
One constraint stays in place: Codex CLI doesn’t include the Sites management views. Local edits are fine, but deployment, access controls, and analytics still happen in ChatGPT. Plan for it as a hybrid workflow, not a fully local environment.
Site shows stale data after update - Sites caches aggressively. Ask ChatGPT to clear the cache or deploy a new version. If you’re using D1, double-check the query logic.
Access controls don't seem to work - Access changes can take a few minutes to propagate. Test in an incognito window so cached auth doesn’t mislead you.
External API calls fail - Outbound connections are restricted by network policies. Confirm the endpoint is allowed for Sites. Some internal/private APIs won’t be reachable.
Custom domain not available - Enterprise workspaces don’t support custom domains at launch. That’s a product limitation, not a misconfiguration.
Analytics show unexpected traffic - Bots and crawlers can inflate counts. Analytics separate unique visitors from page views, but they won’t filter all automated traffic.
Site disappeared from dashboard - Sites are tied to the conversation that created them. If that conversation is deleted, management becomes harder to find. The URL stays live until the site is explicitly deleted.

ChatGPT Sites is available to Business and Enterprise plan subscribers, with availability depending on plan, region, and workspace settings.
Enterprise-specific considerations:
Public publishing disabled by default - Workspace admins need to turn it on. This helps prevent accidental exposure of internal tools.
Custom domains not available at launch - Enterprise sites use OpenAI-provided URLs. If branded URLs are a must-have, this is a current blocker.
Data residency not supported - Sites doesn’t guarantee residency in specific regions. For strict data sovereignty requirements, that may be a deal-breaker.
Audit trails available - Enterprise plans include telemetry and audit trails for compliance. Deployments are tracked with who/what/when.
The OpenAI Help Center covers training and data-control notes for enterprise contexts.
Start here (your first step)
Open ChatGPT web, type @Sites Create a simple team status page with three project cards, and deploy it. You can usually get through the full loop in under five minutes, and it makes the workflow click.
Quick wins (immediate impact)
Deep dive (for those who want more)
ChatGPT Sites shifts Codex from "AI writes code" to "AI creates, hosts, and helps govern web experiences." It’s strongest for focused internal tools where speed and iteration matter more than framework choice.
The mindset you need: every deploy is production. Save versions before deploying, review generated content carefully, and set access controls on purpose. Building is fast, but governance still sits with your team.
Start with a bounded problem you can measure. A tracker that saves 30 minutes a week beats a flashy demo that doesn’t change anything. Teams that get ROI tend to connect the tool’s capabilities to a specific outcome.