Skip to content
Publishing channels · Storyblok

Publish to your Storyblok space

Connect a Storyblok space and CiteAgentic creates each approved piece as a story in the content type you choose, with the title and markdown body written into your own fields. No OAuth app, no plugin.

You need a Storyblok space and permission to create a personal access token.

Connecting Storyblok takes about five minutes and needs three values: your numeric space ID, the content type new stories should use, and a personal access token. Once connected, every approved draft can be pushed to Storyblok on demand or on a schedule.

What is the Storyblok integration?

The Storyblok integration creates each approved CiteAgentic draft as a new story in your space using the Storyblok Management API. It authenticates with a personal access token you generate yourself, so there is no app to install and nothing to approve in an OAuth screen.

By default stories are created as drafts, so nothing goes live on your site until you open it in Storyblok and publish. You can switch that to publish immediately if you prefer.

Why does it write markdown instead of richtext?

Storyblok's Richtext field stores content as structured JSON in a ProseMirror-style tree, not as text. Writing into it reliably would mean synthesising that tree and guessing at your component nesting.

Storyblok's Markdown and Textarea field types store plain strings, and CiteAgentic already renders every draft to clean markdown. So the integration writes markdown into a field you nominate. Point it at a Markdown field and your content arrives fully formatted, with headings, lists and links intact.

If your content type only has a Richtext body today, add a Markdown field to it and point the integration at that.

What do you need before you start?

You need three things, all from your own Storyblok account:

  • A Storyblok space, and its numeric space ID.
  • A content type component for the new stories, for example page or article. It must already exist in the space.
  • A personal access token with write access to that space.

You also need to know which region your space is hosted in. A token issued against a US space will fail against the EU host, which is the single most common setup mistake.

Where do you find your space ID, content type and token?

All three live in your Storyblok account, in three different places.

Space ID: open your space and go to Settings → General. It is a long number, e.g. 288868932106293.

Content type: open Block Library and find the content-type block your pages use. You need its technical name (lowercase, no spaces), not its display name.

Personal access token: go to My account → Account settings → Personal access tokens, create a token, and copy it. Storyblok shows it once.

How do you connect Storyblok in CiteAgentic?

Open Site Settings → Integrations → Publishing channels, click + Storyblok, and fill in the form.

The fields map as follows:

FieldRequiredWhat to enter
Space IDYesThe numeric space ID from Settings → General
RegionNoWhere the space is hosted. Defaults to EU
Content typeYesThe component technical name, e.g. page
Title field keyNoDefaults to title
Body field keyNoA Markdown or Textarea field. Defaults to content
Parent folder IDNoNumeric folder ID. Blank creates at the space root
On publishNoCreate as draft (default) or publish immediately
Personal access tokenYesStored encrypted and never shown again

Click Test & connect. CiteAgentic fetches the space to validate the token, the region and the space ID, then lists the space's components to confirm your content type actually exists. If it does not, the error names the ones that do, so you can correct a typo without leaving the screen.

Which regions are supported?

Storyblok shards its Management API by data residency, and CiteAgentic supports all five hosts:

RegionManagement API host
EU (default)mapi.storyblok.com
United Statesapi-us.storyblok.com
Canadaapi-ca.storyblok.com
Australiaapi-ap.storyblok.com
Chinaapp.storyblokchina.cn

Pick the one matching your space. If you are unsure, try EU first: a mismatch returns an authentication error rather than doing anything harmful.

How do you publish a draft to Storyblok?

There are two ways, and both use the same connection.

On demand: open any draft in Content Studio and choose Share ▾ → Publish to Storyblok. The story is created immediately and the draft is marked published.

On a schedule: link the Storyblok channel to a day in the content calendar. Once you approve that piece, it is created in Storyblok on its scheduled date.

Each piece becomes a story whose name and slug come from the draft title, with your title field and markdown body field filled in. Storyblok stories have no inherent public URL because your front end owns routing, so CiteAgentic links back to the story in the Storyblok editor.

What errors might you see, and what do they mean?

The connection test translates Storyblok's responses into plain language. These are the ones you are most likely to hit:

  • "Authentication failed." The token is wrong or expired, or the Region does not match where the space is hosted. Check the region before regenerating the token.
  • "Space … not found." The space ID is wrong, or it belongs to an account the token cannot reach.
  • "Space ID must be the numeric space ID." You entered a space name or slug. Use the number from Settings → General.
  • "Content type … not found." The component name is wrong. The message lists the components that do exist in the space.
  • "Storyblok rate-limited the request." Storyblok allows 3 requests per second on Starter and 6 on Growth and above. Wait a moment and retry.

If a scheduled publish fails, the channel is flagged with the error in Site Settings and the failure is recorded against that draft, so nothing fails silently.

Frequently asked questions

Does this publish to a Richtext field?
No. Richtext stores ProseMirror-style JSON rather than text, so the integration writes markdown into a Markdown or Textarea field you nominate. If your content type only has a Richtext body, add a Markdown field and point the integration at that.
Are stories published live straight away?
Not by default. Stories are created as drafts so you can review them in Storyblok first. Switch the "On publish" setting to publish immediately if you would rather skip that step.
Where do I find my space ID?
Open the space and go to Settings → General. It is a long number such as 288868932106293, not the space name or slug.
What access does the personal access token need?
Write access to the target space. A personal access token grants access to every space your account can reach, based on your permissions in each.
Can I create stories inside a folder?
Yes. Put the folder's numeric ID in the Parent folder ID field and new stories are created inside it. Leave it blank to create at the space root.
Is my token stored securely?
Yes. It is encrypted at rest with AES-256-GCM and never shown again after you save it. Only non-secret config such as the space ID and content type is readable back.

Ready to connect?

Site Settings → Integrations → Publishing channels → + Storyblok. Add your space ID, content type, and a personal access token.