> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frontic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Storyblok

![Storyblok](https://mintcdn.com/frontic/zwqcoY8MRIYLLSYv/images/connectors/storyblok.svg?fit=max\&auto=format\&n=zwqcoY8MRIYLLSYv\&q=85\&s=d3185f3df91d66699c8842e54e21a02f)

The Storyblok connector syncs stories from a Storyblok space into Frontic. It supports **draft and published modes**, **folder-based filtering** for selective imports, and **auto-deletion** of stories removed in Storyblok - so your Frontic content stays in sync with the source as it changes.

&#x20;Auth

Access token

&#x20;Update methods

Trigger · Polling

&#x20;Resources

Stories

The Storyblok connector follows the standard integration model - see [how integrations work](https://docs.frontic.com/connectors/overview.md) for Connection, Channels, and Data Feeds. This page covers the Storyblok-specific configuration.

## Connection settings

**Space ID** `string` *required*

Your Storyblok space ID. Find it in Storyblok under **Settings → Space → General**.

**Access Token** `string` *required*

A Content Delivery API token for your space. Use a draft token if you've enabled draft mode (below); otherwise a public token suffices.

**Draft Mode** `boolean` (default: false)

When on, the connector reads from Storyblok's draft API - pulling unpublished stories alongside published ones. Useful for preview environments. Off by default; production-style integrations should leave this off.

The connection populates the channel's available languages from your space's configured locales.

## Channels

A Storyblok channel in Frontic carries which translations the connector pulls per story.

**Channel Name** `string` *required*

A label for the channel in Frontic.

**Available Translations** `multiselect` *required*

Storyblok locale codes the connector pulls per story.

**Fallback Translation** `select` *required*

The translation used when a story field is missing in another locale.

The **Refresh** button re-fetches your space's configured languages - use it after enabling new locales in Storyblok.

## Data Feeds

The Storyblok connector exposes one feed type:

| Feed | What it pulls |
| - | - |
| **Content** | Stories from your space - every story across every configured language is pulled and merged by story ID. |

The standard **Settings → Updates → Schema** setup wizard applies - see [Data Feeds in the overview](https://docs.frontic.com/connectors/overview.md#data-feeds). For Storyblok specifically:

### Per-feed config

**Folders** `string[]`

Optional list of folder slugs to restrict the feed to. When set, only stories under these folders are pulled - useful when one Storyblok space serves multiple Frontic projects.

### Update methods

* **Trigger** - Storyblok webhooks (Settings → Webhooks) push story updates and deletions to the feed's inbound URL in real-time.
* **Polling** - scheduled refresh.

The Ingest API isn't used by Storyblok. Each Storyblok feed exposes a manual **Refresh** action.

## What the data looks like

### Stories merged across languages

Stories in Storyblok are stored once and translated via the language layer. The connector merges all language variants of a story into a single record set, then emits one record per (channel translation, story) pair. The Source ID is the story's Storyblok ID.

### Folder filtering

When **Folders** is set on a feed, the connector applies the allow-list against the default-language pass - stories not in any allowed folder are skipped before translation merging.

### Auto-deletion

When a refresh runs, the connector reconciles its previous result against the current state of Storyblok. Stories that have been **deleted in Storyblok** are deleted in Frontic too - so you don't end up with orphan content. This is unique to Storyblok among Frontic's connectors today.

### Draft vs. published

When **Draft Mode** is on at the connection level, the connector pulls drafts alongside published stories. Use this for preview environments; combine with a separate Frontic project (or scope) so drafts don't leak into production.

## Good to know

* **Auto-deletion is the connector's behavior.** The connector reconciles aggressively against Storyblok's current state.
* **Folder allow-list applies at the default-language pass.** If a story exists in a non-default language but its default-language version is excluded by folder filter, the non-default language version is skipped too.
* **Custom field types.** Storyblok's custom field types come through on the raw payload. Resolve them in your Value Composer if you need them as first-class fields.

## Related

> [card] [Contentful](https://docs.frontic.com/connectors/contentful.md)
>
> Contentful's CMS connector - environment selection.

> [card] [Custom Integration](https://docs.frontic.com/connectors/custom.md)
>
> For pushing supplemental records via the Ingest API.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.