Integrate the SDK once. Define content blocks in code or the dashboard, then target, publish, translate, and roll back live, no store review, no redeploy. Built for React Native, iOS, Android, and Web.
# install the SDK + CLI $ npm i @contentflow/sdk # wire it up once import { ContentFlow } from '@contentflow/sdk' const cf = new ContentFlow({ key: 'cf_live_xxx', // key → tenant }) await cf.sync() // pull live blocks cf.render('home_hero') ✓ live
Drop-in clients for React Native, iOS, Android, and Web. One key resolves your tenant, syncs live blocks, and renders them natively. SDK docs →
Everything the dashboard does, over HTTP at /api/v1. Sync blocks, push strings, fire campaigns, read analytics. API reference →
Cards-as-code. Define block types in your repo, version them in git, and ship them with a single cf push. CLI docs →
Subscribe to content.published, campaign.sent, and more. Keep your systems in lockstep with what's live. Webhook docs →
Model real UI, banners, cards, tiles, carousels, popups, as typed blocks. Render them natively, not as raw JSON you have to babysit.
Publish and roll back any block instantly. If a launch goes sideways, revert without a redeploy or a store review.
Ship a block to a segment, a locale, or a single user. Push, WhatsApp, SMS, popup, in-app, all from one place.
Extract strings, auto-translate, review, and deliver, gated so nothing half-translated ever reaches production.
Define block types in code with the CLI, or let non-devs manage instances in the dashboard. Same source of truth.
Seed existing content as instances with a stable externalId. Re-run sync safely, no duplicates, ever.