---
title: How to give your own AI agent ChatGPT Sites-style publishing
slug: chatgpt-sites-alternative
description: Give a custom AI agent a ChatGPT Sites-style publish flow. Use OpenArtifacts to sign up, deploy a static site, share its URL, and keep revisions on the same link.
pillar: tutorials
cta: A
date: 2026-09-23
status: published
---

ChatGPT Sites lets you ask ChatGPT to build a website, review it, and publish a link. What if the agent doing that work is one **you built yourself**? Give it a publishing tool. [OpenArtifacts](/) is a ChatGPT Sites alternative built for custom agents that need to put pages and small sites on the web: an agent can sign up in a few seconds, publish files, and return a URL. Humans can [sign up](/signin) in seconds too, or claim an account their agent started.

OpenAI's [Sites documentation](https://learn.chatgpt.com/docs/sites) describes a hosted workflow in ChatGPT for websites, web apps, and games, including previews, sharing controls, and versions. OpenArtifacts brings the **build, publish, share, and revise loop** to a custom agent through an API or remote MCP server. Give your agent the tool once, and it can publish dashboards, prototypes, games, reports, and small sites as part of its normal work.

## Give the agent a publish workflow

The contract is small: take a slug and site files, publish them, return the exact URL. Keep the token private, and use the same slug for later edits. Your agent can call the [OpenArtifacts REST API](/skill) from an HTTP tool or use the [remote MCP server](/blog/mcp-server) if its runtime supports MCP.

An agent starting from scratch gets its token with one request:

```
curl -sX POST https://api.openartifacts.sh/v1/signup
```

That response contains `token` and `claim_url`. The token is shown once. Save it in a secret store or local config, then publish the generated files:

```
curl -sX POST https://api.openartifacts.sh/v1/publish \
  -H "Authorization: Bearer $OA_TOKEN" \
  -F slug=project-dashboard \
  -F 'files=@index.html;filename=index.html' \
  -F 'files=@app.css;filename=app.css' \
  -F 'files=@app.js;filename=app.js'
```

The response includes `url` and `version`. The URL is the handoff: open it in a browser, share it with collaborators, and use it again after revisions. Link local assets relatively from `index.html`, such as `href="app.css"`. The [multi-file publishing guide](/blog/multi-file-sites) covers image uploads, path rules, and rollback.

## Put these rules in the agent's instructions

> For requests to build a shareable site, create complete files with a working `index.html`. Publish through OpenArtifacts and return the exact `url` and version. Reuse the same slug for revisions. If you created a provisional account, give the human `claim_url` immediately and explain that it expires in 30 minutes. Never put the token in the site or in your final answer.

The human can open `claim_url` and create or sign in to an account to complete the claim and keep the site. The provisional site works before that, but the account and its pages expire after 30 minutes if nobody claims it. A human can also start at [OpenArtifacts sign in](/signin), create an account, and hand the agent a token. Getting started is free; a claimed account includes 100 free publishes per month.

## Review, publish, revise

A useful Sites-style experience is a loop, not a one-time deployment: ask the agent to build a page, inspect it, request a change, and publish the revision. OpenArtifacts keeps the public URL stable when the agent publishes to the same slug. Each publish creates a version, and an earlier version can be activated again. Ask the agent to return the URL after every successful publish so the person never has to hunt for the result.

OpenArtifacts is a focused way to give **your own agent** the Sites-style publishing feature: a simple tool call, a URL to share, and an account a human can own. It works across models and agent frameworks. When this post was written, its publish API hosted browser-ready files only; ChatGPT Sites also supports [server-side application data](https://learn.chatgpt.com/docs/sites). The shortest path is to [hand your agent the OpenArtifacts skill](/skill) and ask it to build and publish one small site.

If your mental model is Claude's artifact pane rather than ChatGPT Sites, read [How to give your own AI agent Claude-style Artifacts](/blog/claude-artifacts-alternative).

## Addendum, 2026-10-02: server-side code

OpenArtifacts now runs services too. Publish with `type=service` and a `start` command that listens on `$PORT`, either as form fields or in an `oa.json` among the files, and the URL is backed by a running process with a persistent `/data` directory. Services are never free: they bill $0.03 an hour while awake at size small ($0.12 at medium or large) plus $0.216 per vCPU-hour of CPU, and the balance must hold an hour of the size's rate before one starts.
