Claude-built websites

Contengi for websites built with Claude.

Claude Code built the site in a weekend. Add one signed endpoint and Contengi puts an agent directly on its blog, so posts get written, published, edited and taken down without anyone opening a code editor.

Signed webhookOne prompt to Claude Code
Claude websitesyoursite.com
CONNECTED
  1. WriteDrafted a post on retainer pricingready for review
  2. PublishSigned POST to /api/contengi200, live
  3. EditRewrote the intro, checked 9 linksdiff ready
  4. PublishRepublished at /blog/retainer-pricingsame URL

Read, write, publish, edit, republish

An agent that works directly on your blog.

Read

Reads what is already live

The CMS lists every post Contengi has published to your site, with what is live and what has changes waiting. Refreshing an older post? Give the agent its URL and it reads the live page.

Content library and CMS
Write

Writes in your brand voice

The SEO agent researches the keyword, reads your knowledge base and hard rules, and drafts the post. Four slop filters run before you ever see it.

Content agents
Publish

Publishes when you say so

Each post goes to your endpoint as signed JSON with the title, slug, SEO fields, body, FAQ and featured image. Your site stores it and replies with the live URL, which Contengi keeps.

Content library and CMS
Edit

Edits one section at a time

Ask the edit agent to tighten an intro, add a section or fix a stat. It changes only what you asked for, checks the links and shows you a diff you can revert.

Content library and CMS
Republish

Republishes at the same URL

An edited or refreshed post goes back over the original. If Contengi cannot find that original, the publish stops, so a second copy never appears at a new address.

Content agents
Claude

Works from your own Claude too

Connect Contengi to Claude and the same blog is one chat away. Claude can open a live post, edit it section by section and leave it waiting for you to publish.

Claude connector

Under the hood

How the connection is built.

A site Claude built has no admin panel, so Contengi becomes one. The connection is a single endpoint in your own code, which means it works with any stack Claude chose and any host you deploy to.

Connection
One HTTPS endpoint on your site, for example /api/contengi. Contengi sends each post to it as JSON.
Security
Every request is signed with HMAC-SHA256 over the timestamp and the body, in the X-Contengi-Signature and X-Contengi-Timestamp headers. Your endpoint checks the signature and rejects stale timestamps, so nobody else can post to your blog.
What arrives
Title, slug, SEO title, meta description, excerpt, body HTML, FAQ, links, read time, keywords, author and featured image.
Where it is stored
Wherever your site already keeps content: a database, Supabase, a headless CMS or files in the repo. Each post is keyed on its slug, which is its URL.
Updates
An edit arrives flagged as an update with the live URL. Your endpoint replaces the post at that slug and the address never changes.
Unpublish and delete
A signed PATCH takes a post back to draft and a signed DELETE removes it, both from the Contengi CMS.
Reading
Contengi keeps a copy of every post it publishes, so edits start from exactly what went out. For older posts it reads the live page.
No backend?
Static sites can pull a JSON or RSS feed of published posts instead, behind a private token.

Setup: One prompt to Claude Code

Connected in four steps.

Step 1

Add your site in Contengi

In Settings, Integrations, add a custom website with the endpoint URL, for example yoursite.com/api/contengi. Copy the signing secret it shows you.

Step 2

Paste the prompt into Claude Code

Claude builds the endpoint against the contract below, in whatever stack your site already uses.

Step 3

Add the secret and deploy

Save the signing secret as CONTENGI_SIGNING_SECRET in your hosting environment and deploy.

Step 4

Hit Test

Contengi sends a signed test post. A 200 with a URL means you are live.

Copy, paste, deploy

The prompt that builds it.

Paste this into Claude Code in your site's repo. It covers the whole contract: signature check, upsert on slug, unpublish, delete and the blog pages.

Prompt
Add a Contengi publishing endpoint to this site at /api/contengi.
Use the framework and conventions this project already uses.
1. Verify every request. Read the raw body, compute HMAC-SHA256 of "<X-Contengi-Timestamp>.<raw body>" using the CONTENGI_SIGNING_SECRET environment variable, and compare it to the X-Contengi-Signature header (format sha256=<hex>) with a constant-time check. Reject timestamps older than five minutes.
2. POST: upsert the post keyed on "slug", never on "blog_id". Store title, seo_title, meta_description, excerpt, body_html, faq, author_name and featured_image. If "test" is true, store nothing. Reply 200 with {"url": "<the post's live URL>"}.
3. PATCH with action "unpublish": set the post at "slug" back to draft so its URL returns 404. Keep the record.
4. DELETE with action "delete": remove the post at "slug".
5. Render posts at /blog/[slug] and list them at /blog, with seo_title and meta_description in the page head.

Store posts in the site's existing database or content store. If there is none, suggest one before building.

Other integrations.

All integrations

FAQ

Common questions

Do I need to know how to code?

No. You paste one prompt into Claude Code and it writes the endpoint. The only manual step is saving the signing secret in your hosting settings.

Which stacks does it work with?

Any stack that can answer an HTTPS request: Next.js, Astro, SvelteKit, Remix, Express and the rest. Hosting on Vercel, Netlify, Cloudflare or your own server all work the same way.

What if my site is fully static?

Use a pull feed instead. Contengi serves your published posts as a private JSON or RSS feed and your site reads it at build time or on request.

Can Contengi unpublish or delete posts on my site?

Yes. The CMS sends a signed PATCH to unpublish and a signed DELETE to delete, and your endpoint handles both. Contengi only reports a post as gone once your site replies 200.

Can I edit posts from Claude as well?

Yes. With the Claude connector, the Claude you built the site with can open a live post, edit it section by section and leave it waiting for you to publish.

Keep exploring

Related features and reads

Give your Claude-built site a blog that runs itself.

Connect your site once, with a strategist setting up your knowledge base alongside. Then write, edit and publish from one place.