A connector is a piece of Frontic that knows how to talk to a specific source system — be it Shopware, Shopify, commercetools, some other system or even a CSV file drop. The connector handles the source’s quirks for you — splitting inline variants, resolving translations, normalizing prices — so the records that land on your Data Feeds are already shaped for Frontic. You use a connector to set up an integration: a configured, credentialed link in your Frontic project that pulls data in (or accepts data pushed at it). This page covers how integrations work end-to-end. For vendor-specific setup, click into a connector below.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.
What’s in an integration
Connection
Auth and host for one source system. Valid options come from the source itself.
Channels
Translations the channel covers, plus connector-specific source segmentation where applicable.
Data Feeds
One feed per resource type, each with assigned channels and an update method.
How data flows from source to project
Source
Your Shopware store, Shopify shop, CSV file drop, ERP — whatever’s authoritative for the data.
Integration
The connector’s link to that source. Auth, host, channel config — everything that decides what to pull and from where.
Data Feeds
Live records inside Frontic, one feed per resource type. The connector keeps these in sync with the source via the feed’s update methods.
Data Syncs
The mapping layer that decides how feed records become storage records — including which channel powers which project scope, which channel locale fills which project locale, and how the Value Composer reshapes each field.
Connection
Every integration carries one set of credentials to talk to one source system. Connection settings sit at the integration level — host URL, API keys, OAuth tokens, SFTP credentials, whatever the source needs. Frontic stores secrets encrypted and redacts them in logs. Once connected, the connector pulls reference data from the source — typically the list of valid sales channels, currencies, and languages — and uses it to populate dropdowns when you configure channels or feeds. A Refresh action is available wherever reference data is shown, in case you’ve added a sales channel or locale on the source side and want Frontic to pick it up without recreating the integration.Channels
Every channel carries fields that describe which translations it covers:- Channel name — your label.
- Available translations — the locales this channel covers.
- Fallback translation — used when a translation is missing on a record.
- Shopware adds Sales Channel (validated against the live list of Shopware sales channels) and Currencies (validated against the sales channel’s currencies).
- commercetools and Akeneo each add Currencies, validated against the source’s enabled currency set.
- Other integrations may not declare any additional channel fields today — their channels carry only the basic fields, and any source-side segmentation lives at the connection or feed level instead.
Data Feeds
A Data Feed is a sync source for one resource type. The connector declares which feed types it supports — Shopware for example exposes Products, Categories, and CMS Pages; Reviews.io exposes Product Reviews and Company Reviews; the File Importer simply exposes Content. You’ll see only the feed types relevant to the connector you picked. Each feed fetches data from all your channels — a Shopware Products feed, for instance, runs against every channel you’ve assigned it to, pulling the catalog for each (sales channel × currencies × translations) combination.The setup wizard
Adding a feed walks through three steps, with a Finish indicator on the progress bar marking the completion state:Updates
Configure the update methods this feed uses to stay in sync (see below). Only the methods the connector supports are offered.
What the connector does for you
A connector isn’t a passthrough. Each adapter normalizes its source’s quirks before records reach your Data Sync — so what arrives is already in a shape your Value Composer can map cleanly. What that means varies by connector:Variant denormalization
Where the source mixes parent products and their variants in one structure, the connector splits them into separate records linked by
parentId — so blocks drive grids off products and detail off variants.Currency-resolved prices
When the source carries multi-currency pricing, the connector pre-filters the price array to the channel’s currencies and stamps
currencyCode and currencyPrecision on each entry.Translation merging
Source-side localized payloads are resolved to the right value per channel translation. Your sync references field names directly — no walking source-specific translation structures.
Reconciliation on refresh
Where a connector supports it, a refresh diffs the previous result against the source’s current state and emits deletes for records that disappeared — your storage doesn’t accumulate orphans.
Reserved $-prefix namespace
When a connector normalizes source data, it sometimes stamps the result onto the feed record under a reserved $-prefix key so it sits next to your record’s own fields without colliding with them. For example:
$rel— relation metadata (Shopware uses this to expose a flat list of category IDs as$rel.categoryIdsso syncs don’t have to walk the full association)$options— variant-defining attributes$properties— descriptive attributes that don’t drive variant selection
Update methods
Frontic supports three update methods for keeping feeds in sync. Each connector declares which combinations it supports — some support all three, some only a subset.Trigger
The source pushes a webhook to Frontic on every change — near-real-time delivery for time-sensitive catalogs.
Polling
Frontic pulls from the source on a schedule. Lower bandwidth than triggers, with a built-in safety net behind them.
Ingest API
The source pushes records into Frontic’s Ingest API. You control timing, batching, and payload shape from your code.
Change detection
When a record arrives at Frontic — through any update method — the connector takes a fingerprint of it and compares against the version already on file. If nothing has materially changed, the write is dropped early: no storage update, no cache to purge in your frontend, no downstream re-render. Intake itself still happens (and still counts as an API Update), but real updates further down the queue don’t get held up by no-op churn. If you control the source, prefer to push only when something has actually changed — that’s always cheapest. If you can’t (a nightly file drop with yesterday’s content, a webhook fired by an unrelated edit), the fingerprint check keeps the downstream impact minimal. When you change a configuration like the Value Composer, the storage schema, or the sync’s channel/locale mappings, the fingerprint shifts on every affected record — Frontic re-emits them automatically, so the new shape lands downstream without a manual refresh.Data Syncs — mapping integration to project
Up to this point, everything is integration-side. The Data Sync is where the integration meets your project. A Data Sync sits between a feed and a storage and carries two kinds of mappings:Channel → Scope
For every project scope, pick which integration channel powers it. The same channel can power many scopes (one Shopware sales channel feeding both
public and b2b scopes), or different scopes can be powered by different channels (one channel per scope).Channel locale → Project locale
For every project locale within a scope, pick which translation from the mapped channel fills it. The same channel translation can map to many project locales (a single
de translation feeding de-DE, de-AT, and de-CH).null. That makes partially-translated catalogues safe to ship: the experience still renders, it just renders the fallback locale’s value where translation hasn’t caught up.
Available connectors
Shopify
Shopify Admin API connector for products, blogs, pages, and metaobjects.
Shopware
Shopware 6 connector with companion plugin, end-to-end onboarding, and webhook updates.

commercetools
commercetools connector for products and categories via OAuth 2.0.

Akeneo
Akeneo PIM connector for product attributes, families, and categories.
Contentful
Contentful connector for editorial content with environment selection.
Storyblok
Storyblok connector for stories with draft / published mode toggle.

Reviews.io
Reviews.io connector for product and company reviews.
n8n
n8n recipe pack for Frontic — push records via the Ingest API from any n8n workflow.
File Importer
SFTP-based CSV connector for nightly exports and partner-supplied feeds.
Custom
For source systems without a first-party connector — push any JSON shape via the Ingest API.