Run a Press Room
for Every Client
A full newsroom on each client's own domain — embargoes, journalist lists, media kits and feeds — driven by 27 API tools instead of a vendor portal. No subdomain with someone else's name on it, no per-seat licence, and no read-only API.
The only press room your agent can write to
Every newsroom vendor lets you read your releases over an API. Writing one still means a human in a portal. Here the whole press room — releases, contacts, boilerplates, media kits — is 27 tools over MCP, the CLI or plain HTTP, so a client's announcement is something you can hand to an assistant and review, not type twice.
// The whole release, in one call
await press_create({
headline: 'Northwind closes its Series A',
release_type: 'press_release', // or statement | media_alert | newsbyte
dateline_city: 'WILMINGTON',
embargo_until: '2026-08-11T09:00:00Z',
boilerplate_id: boilerplate.id,
contact_id: contact.id,
media_kit_id: kit.id
});
Held until the moment you choose
Set an embargo and the release stays off the public newsroom until its time. Each journalist gets their own preview link with its own expiry, so you can brief early without handing anyone a URL they can forward. Revoke one without touching the rest. A sweeper publishes on schedule whether or not anyone is awake.
One Key Each
ExpiringA separate preview token per journalist. Mint, list, and revoke them individually.
Publishes Itself
ScheduledQueue a release for 9am Tuesday. It goes live on time without anyone pressing a button.
Four Kinds
TypedA crisis statement is not a launch. Each type filters separately on the public index.
A media list, not a mailing list
Press contacts are stored records with region, beat and timezone — so the right name sits at the foot of the right release instead of being retyped each time. Boilerplates are stored too, one marked default per client, so the "About" paragraph never drifts between announcements.
Contacts
Region · BeatReusable press contacts. Attach one to a release and its block renders at the foot of the page.
Boilerplates
VersionedOne canonical "About the company" per client, marked default so new releases pick it up.
Subscribers
Double opt-inJournalists confirm by email before they hear from you, pick topics, and unsubscribe in one click.
Assets a journalist can actually get
Logos, headshots and product shots attach to a kit, and the kit builds a single ZIP the newsroom serves directly. No form in front of it, no email wall, no "contact us for assets" — the two things most likely to make a reporter use a screenshot from your homepage instead. Download counts are recorded, so you can tell whether anyone took it.
One ZIP
Built for youAttach assets from your media library; the kit packages them into a single download.
Ungated
No formPublic by default. A reporter on deadline gets the logo without filling anything in.
Counted
Per kitDownload counts on the kit and view counts on each release — evidence the coverage was read.
It looks like the client's site, because it is the client's site
The newsroom is not an embed or an iframe on a vendor domain. It is pages in the same project, using the same theme, navigation and components as the rest of the site, shipped in the same deploy. Start from one of six newsroom templates — Minimal, Agency, Corporate, Startup Dark, Startup Light, or the original one-click Newsroom — then edit the templates like any other page.
Six Starters
Apply oneMinimal, Agency, Corporate, Startup Dark, Startup Light — plus the original Newsroom.
Your Templates
LiquidThe index and release pages are Liquid templates you own. Change the markup, not a theme setting.
One Deploy
Same siteNewsroom, blog, docs and marketing pages ship together on the client's own domain.
Readable by people, parsable by machines
Every release carries correct NewsArticle structured data with a real dateline — something only 4 of the 30 live corporate newsrooms we surveyed in July 2026 emit at all. Add .md to any release URL and you get clean markdown, which is what an AI assistant reads when it decides how to describe your client. RSS, Atom and JSON feeds come as standard, alongside an llms.txt for crawlers that want the whole site at once.
Every client, one workspace
Each client is its own project with its own domain, its own contacts and its own boilerplate — isolated from the others, but managed from a single account by the same team and the same agent. Adding the tenth newsroom costs what the first one did.