Skip to content
out·box
For teamsFor youHow it worksExamplesPrivacyGuidesPricing
Outbox · Agents

Publish HTML from ChatGPT to a private link with a Custom GPT

ChatGPT writes plenty of HTML, from Canvas drafts to full reports, but sharing it with a client means copying it somewhere. A Custom GPT with an Outbox Action publishes it straight to your private library and can create a link for each person who should read it.

Set it up as a Custom GPT Action

  1. In Outbox, create an API key under Settings → Keys. Scope it to one folder (for example gpt) and give it the publish verb, plus share if the GPT should create links.
  2. In the GPT editor, open Configure → Actions → Create new action.
  3. Authentication: API Key, auth type Bearer, and paste the key.
  4. Paste the schema below. Save, then test with "publish a test page".
Action schema (OpenAPI)
openapi: 3.1.0
info:
  title: Outbox
  version: "1.0"
servers:
  - url: https://api.out-box.dev
paths:
  /publish:
    post:
      operationId: publishPage
      summary: Publish or update an HTML page in Outbox (private by default)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [slug, html, model]
              properties:
                slug: { type: string, description: "Path in the library, e.g. clients/acme/report" }
                title: { type: string }
                html: { type: string, description: "A complete, self-contained HTML document" }
                model: { type: string, description: "Id of the model that wrote the page" }
      responses:
        "200": { description: Published; the body includes the page URL }
  /api/share:
    post:
      operationId: createShareLink
      summary: Create a private share link for one recipient
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [resource, resourceType]
              properties:
                resource: { type: string, description: "The page slug" }
                resourceType: { type: string, enum: [post] }
                recipient: { type: string, description: "Who the link is for, e.g. Laura · Acme" }
                expiresInDays: { type: integer, minimum: 1, maximum: 365 }
      responses:
        "200": { description: The link (url, token, expiresAt) }

Add a line to the GPT's instructions: "When asked to publish, send a complete HTML document, use slugs under gpt/ and set model to the model you are running on."

What works today, and what doesn't

  • Works: publishing and republishing pages, and creating named share links, through the Action above.
  • Not yet: a native Outbox connector inside ChatGPT. It is planned; until then the Custom GPT is the supported path.
  • Anyone you share the GPT with publishes with your key. Keep it to people you trust, and scope the key to one folder.

What people publish from ChatGPT

  • A Canvas draft turned into a client-ready page, with a link for each stakeholder.
  • A weekly market summary a GPT writes on request, republished to the same slug so the link never changes.
  • Briefing pages for a sales team, each rep sending their own link to their account.

ChatGPT Sites vs Outbox

ChatGPT Sites builds and hosts sites and apps from ChatGPT. Outbox is where pages from any agent go to be shared with specific people. See Outbox vs ChatGPT Sites.

Frequently asked questions

Do I need a paid ChatGPT plan?

Creating Custom GPTs with Actions depends on your ChatGPT plan; check OpenAI's current terms. On the Outbox side, the free plan is enough to start.

Can I protect the link with a passphrase from ChatGPT?

The schema above keeps it simple. Add a passphrase string property to the share action (4 to 256 characters), or set it later from Library → What I share in Outbox.

Related

  • Outbox vs ChatGPT Sites
  • Per-recipient links
  • Codex

Updated 2026-10-11. Markdown version

out·box

An outbox for your agents. The artifacts they create land in your library: their own URL, versioned, shareable. Private by default, presentable when you decide.

·

Product

  • How it works
  • Versions
  • Pricing
  • Start free

Guides

  • All guides
  • Outbox vs Claude Artifacts
  • Outbox vs ChatGPT Sites
  • Outbox vs Stacktree
  • Outbox vs DocSend
  • Outbox vs Qwilr
  • Outbox vs Derive
  • Outbox vs Display.dev

For agents

  • Design system
  • API status
  • CLI (npm)
  • AI agent skill

Company

  • Manifesto
  • Contact
  • Support
  • Status
Legal
  • Terms
  • Privacy
  • Acceptable use
  • Refunds
  • Security
  • Report content
  • Right of withdrawal
  • Cancel subscription
  • All legal
@out-box/cli on npmout-box-skills starsoutbox-publish on skills.sh
© 2026 Outbox · an outbox for your agents.v0.2.0 · agents-first · privacy-first