Website content
Studio → Website Content. Manage your websites and generate the copy for their pages.
Add a site
Choose New website, then import its structure. The import wizard writes nothing until you finish it, so you can back out at any step.
- SourceWhere the page list comes from
- Review pagesUncheck what you don't want
- AI briefsWriting instructions per page
- ImportNothing is written until here
Source
Four ways to import the page list:
| From a URL | Give it your site address. It checks robots.txt, /sitemap.xml and sitemap indexes automatically, and falls back to scanning the homepage navigation if none exist. |
| Paste | A plain list of URLs or page titles works, no XML required. Every page you list is a page, even one with pages beneath it; only a path segment you did not list becomes a folder. Indent a title under its parent to nest it. A CSV with name and URL columns keeps both, and a type column of page or folder decides per row. |
| Upload | Your sitemap.xml, or a JSON export of a site from this platform. |
| Describe it | The AI proposes a sitemap from your description, which you edit in the next step. |
A URL carries only a path, so an import built from one names every page from its
slug (story-of-timekeeping becomes Story of Timekeeping) and orders the tree
alphabetically. A JSON export carries the tree itself: page
names as you wrote them, the order you arranged them in, which nodes are folders,
and the content each page holds. Download one with the download button under the
page tree, edit it wherever you like, and import it back. Pages are matched against
what is already there, so re-importing updates your pages rather than duplicating
them, and pages you removed from the file stay put; delete those here. Content that
comes back changed arrives as a draft, which withdraws its approval the same way
editing the page would.
Review pages
Everything found, with checkboxes. Likely archives and pagination pages are unchecked for you; check them again if you want them. Nothing is written yet.
AI briefs
A brief is the writing instruction for a page, and it is the input the content generator runs on. The wizard drafts one per page automatically.
Set the site brief here too. It applies to every page as global instructions: tone, audience, and things to always or never say. Edit it freely.
If you already have per-page instructions, load them from a JSON file instead of generating them. They are matched to pages by URL path.
Generate page content
The tree mirrors your site's structure. Instructions set on a folder apply to every page beneath it, so a section can share a tone without repeating itself.
The page tree is on the left; the page you are on opens with four tabs:
| Instructions | This page's brief. |
| Content | The copy, field by field. |
| Summary | What the page says, condensed. |
| Preview | How it will look. |
Set instructions on a folder to apply them to everything beneath it, such as "write in a casual tone, target audience: developers", rather than repeating them per page.
A page's own brief carries down to the pages under it in the same way. When a sub-page should not follow it, tick Ignore parent instructions at the top of its AI Instructions panel. That page and everything under it then keep only the site brief and their own instructions.
A page can have pages under it, so a section landing page needs no folder above it. To change your mind later, the ⋯ menu in the editor header turns a folder into a page, or an empty page into a folder.
Reference links point the AI at pages or articles to use as inspiration.
Metadata is the meta title and meta description search engines show for the page. It has its own tab beside the instructions, with a preview of the search result. Generate both from the draft copy, then edit them freely; they save with the page.
A second pair of eyes
Copy that reads well can still drift from the messaging guidelines, or miss a rule buried in a long brief. Website settings can name an editor agent: a second agent that reads every generated page before it is saved, corrects wording that breaks the guidelines, and writes down what it changed and why.
Build the editor in Agents like any other, and give it only the guideline knowledge bases: messaging, terminology, claims, the house style. The copywriter still holds the product knowledge; the editor's job is to check, not to write, and an agent carrying everything the writer carries starts rewriting for taste. Its instructions should say what it enforces.
The editor changes words and nothing else. Fields, blocks, pictures and links come back exactly as the writer placed them, so a page never loses its shape. Its notes land on the page's Review tab, one line per change naming the rule it serves, and a page that needed nothing says so too.
What the editor is told to enforce and report starts as a platform default. Editor instructions in Website settings replace it for the whole site, and a page's Editor notes are added for that page only, so a product section can ask for stricter claims checking than a careers page without touching the agent itself.
A page can pick a different editor in its AI Instructions panel, or tick Skip the editor on this page to keep the writer's draft as is. Either way, Proofread in the page toolbar runs the editor on demand over the saved copy, including pages written before an editor was set and pages you edited by hand. The editor works in the background, so a long page takes a minute or two and you can keep reading meanwhile. When it is done its proposal opens as a checklist, one row per field, with the words that moved marked in the text and the editor's reason under each. Tick the rows to take and apply them; the rest stay as they were. The Review tab keeps the record either way, saying which changes were applied, and Review proposed changes reopens anything still waiting.
For a site written before the editor existed, select the draft pages in the tree and use the proofread button beside Generate. Each page goes to the editor in the background, the way generation does, and comes back corrected with its changes listed on the Review tab. Only drafts are taken: an approved page is not changed behind the person who approved it.
No editor agent yet? Create an editor agent in Website settings makes one with the reviewer's role already written and nothing attached, and names it as the site's editor. Open it and attach your guideline knowledge bases; that is the one step only you can do.
The review
Subject-matter experts approve faster when they can see where a claim came from. Name a Review agent in Website settings and it writes, after every generated page, a review of the page: every fact, figure and specification with the knowledge base or reference it came from and why it was used, the search terms and questions the page covers, and the trademarks and acronyms it uses. It shows on the page's Review tab and is never published or pushed to a CMS.
The review agent is chosen the same way as the editor, from Agents, and a page can name its own. Tracing a fact takes the source, and only the agent that wrote the page holds it: an editor kept to the guidelines, which is the right editor, cannot say where a figure came from. So the usual choice is Same as the copywriter, which has the writer review its own page, page-level copywriter overrides included. Its call costs about what the writer's does. A guideline-only agent in this slot still checks the SEO terms, trademarks and acronyms; it just cannot fill the facts section.
The review agent reads the page the way a visitor does, top to bottom in the template's field order, each field and block under its name, so a rule about the first mention of a term is judged against the right place on the page. What it writes is instructions like any other. The site's Review instructions replace the default, so a site can ask for whatever its reviewers check, and a page's Review notes are added for that page only. Write review on the tab reviews a page that has none yet, or one whose copy changed since. Unsaved edits are saved first, so the review describes the copy it will sit beside; the review agent then works in the background, the tab says so while it does, and the review appears there as soon as it is written. A review that could not be written says so on the tab, and Write review tries again.
To review many pages at once, select them in the tree and pick Write reviews from the menu beside Generate, the same menu that proofreads a selection. Reviews are written in the background, one page at a time; since they change no copy, the pages stay editable and keep their status while they wait, and the Review tab says which page is being looked at.
A review describes the saved copy as it stood when the review was asked for: Write review saves your edits first, and a selection takes what is saved. Edit the page afterwards and the review is older than the page; Rewrite review replaces it, and Clear review removes it so the next run starts clean. Image alt text is part of what is reviewed, which is why a review can cite words that are not visible on the page until the image is opened.
Open full view shows the proofreading and the review as one document at reading width, with Copy for pasting into a review thread and Download Word for the expert who reviews offline.
Generate all empty fills every page in the current folder that has no content yet. It first reports how many pages that is and warns that it will spend credits, because on a large site both numbers are significant.
Images
An image field takes its picture from one of three places:
| Choose image | The media library, your logos and brand assets, and stock photography. The picker also has an Upload tab. |
| Upload | A file from your computer, or one dropped straight onto the thumbnail. It is added to the media library, so the same picture can be used again on any page and is pushed to your CMS as an asset. |
| Web address | A picture that already lives somewhere else. The address is stored as it is and reaches your CMS unchanged; nothing is copied. |
Alt text is written for you when a picture is placed and the field is still empty. The AI looks at the picture itself, together with the page it lands on, the field it sits in and the copy beside it, and writes one sentence. The wand next to the alt text runs it again; anything you type yourself is left alone. The page's copywriter agent is the one writing, so its instructions and the site's tone apply.
For a section with many pictures, upload the whole batch from Media → Upload first, then place them from the picker's media library, where the newest files come first.
Pictures, videos and embeds in text
A rich text field takes pictures, videos and embedded content between its paragraphs, from two toolbar buttons:
| Insert image or video | The media library picker, Upload tab included. A picture is placed with the alt text the library knows for it. A video shows its poster until the page is pushed, since it plays from your CMS. |
| Embed from the web | A YouTube, Vimeo, Wistia or Loom link, a link to a picture or video file, or the embed code a service gives you, such as a form or a booking widget. Pasting a video link straight into the text does the same. |
Click a picture or embed to select it. Its alt text, title or caption is typed underneath, and Backspace removes it. Embed code is never run inside the editor: it is shown as code and reaches your website exactly as pasted.
Pulling a page keeps everything its rich text held. A block the editor has no picture for, such as a component your CMS nests in its text, shows as a chip with the block's name and goes back untouched. Regenerating a field keeps its pictures, videos and embeds where they stood.
On push, a library picture or video is uploaded to your CMS as an asset, once per file. Storyblok's rich text has no video or embed of its own, so Connect CMS asks which component your space uses for them and which field of it holds the address. Without one, a video or embed is pushed as a link and embed code is left out.
Send pages through review
By default a page runs draft → approved → published, and anyone who can edit content can approve. The status chip in the page header sets any of them by hand, on a page with no copy too, so a page that needs no new text is marked approved as it stands. To set many at once, select the pages and turn on Status in Edit settings. Where copy has to be signed off before it goes live, set up an approval workflow from Website content → Approval workflow.
An approval workflow is a ladder of steps a page climbs between draft and approved: a subject matter expert reads it, the writer revises, someone signs off. You choose the steps and what each move is called, and every move can be limited to the roles or the people who should make it. A move that names nobody is open to anyone who can review.
Two steps carry meaning the others do not:
| Entry | Where a page lands when its first draft is written. |
| Final | Reaching it marks the page approved and ready to publish. |
Approval is then something people reach by walking a page up the ladder, rather than a button anyone can press: the page editor shows only the moves you personally can make, and tells you which step a page is waiting on when the next move is not yours. Sending a page back asks for a note, which reaches whoever picks it up, both in their notifications and on the page's Activity tab, alongside every other move the page has made.
Two things follow from turning an approval workflow on. Withdrawing an approval becomes one of the workflow's own moves, restricted like any other, rather than something anyone who can edit content can do. And a page that has not reached the final step cannot be pushed to your CMS, individually or in a site-wide sync. That is the point.
Change a page that has already been approved
An approved page opens read-only, with an Edit page button and a line saying what editing costs: the page goes back to the start of the review, because nobody has read the text it will then hold. There is nothing to un-approve first: one click, and it is an ordinary page again.
The copy that was signed off is kept. While a page carries edits that have not been approved, the editor says so beside the workflow steps. A published page reads Published · unapproved changes, since your website goes on showing the approved copy until the new one is approved and pushed. Pressing it opens Changes since approval, which lists the fields that differ and what each said before, and offers to put the approved copy back. Restore approved version is also in the page's ⋯ menu: it discards the edits made since, and the page is approved again without going back through review, because the text it holds is the text that was signed off.
Setting an approval workflow up needs a permission of its own, separate from the one that lets someone move pages through it. See the permission reference in the developer documentation for both.
Content templates
A content template defines the fields a page type has: a blog post has a title, excerpt and body, while a product page has different ones. Templates mirror the component schemas in your CMS rather than being page designs.
Templates can be nestable, meaning they can be used inside block fields of other templates.
A page template also carries the metadata instructions its pages are written with: one block for the meta title, one for the meta description. Each starts as the platform default, and customizing it lets a product page follow a different pattern from a campaign page.
You can import them from a CMS export. Paste a Storyblok-style JSON export and every nested component is discovered and turned into a content template, with field types inferred from the values.
Sync with your CMS
Content generated here can be pushed to your CMS and pulled back, so the app and the site stay in step rather than diverging.
- Sync components brings the CMS's component schemas in as content templates.
- Push components sends yours the other way.
Storyblok and Adobe Experience Manager are supported today. In Experience Manager, pages map to content fragments and content templates to content fragment models.
Pull before a big push. The sync compares against what it last saw, so a colleague's change made directly in the CMS is best brought in before you overwrite it from here.
Where the copy comes from
Generated pages read your knowledge bases and your brand identity. A site generated before those are filled in reads like generic marketing, while the same site generated afterward sounds like your organization. Fill them in first.
