πŸ—‚οΈ Content Repository in Reels – Why It Matters

The Content Repository in Reels works like a headless CMS.
Instead of hardcoding values, you can store, manage, and fetch content dynamically via APIs.

It’s a centralized hub where structured data (like text, dropdown values, policy details, FAQs, offers, configurations, etc.) can be defined once and reused anywhere.


:small_blue_diamond: Why Use It?

  • :rocket: Dynamic updates – Change content on the fly
  • :counterclockwise_arrows_button: Reusable data – The same content can be consumed across multiple apps/services
  • :woman_technologist: Easy to manage – Content can be added/edited anytime via UI or APIs
  • :hammer_and_wrench: Efficiency – Reduces repeated code changes and speeds up updates

:small_blue_diamond: Example: Insurance Industry

Imagine an insurance company managing policy details and premium plans across their apps:

  • :white_check_mark: With Content Repository β†’ New policy details are added into the repository (via UI or internal process). Apps fetch it via API, and customers instantly see the updated content.

This makes it easier to:

  • :rocket: Launch new products faster
  • :counterclockwise_arrows_button: Update claim process info instantly

:small_blue_diamond: What is a Schema?

A schema is the structure of your data. It defines what content can exist, the fields it must have, their data types, and formats.

Think of it as a blueprint for your content.

Example fields for an insurance policy schema:

  • policyName β†’ string
  • premiumAmount β†’ number
  • coverageDetails β†’ text/markdown
  • eligibilityCriteria β†’ JSON object
  • contactEmail β†’ email

Schemas ensure all content follows a consistent structure, making it easy to fetch, display, and reuse dynamically across apps, workflows, and documents.


:small_blue_diamond: How It Works (with APIs & Examples)

:one: Create a Schema
POST {{baseUrl}}/api/schemas/create

Payload Example:

{"schemaName": "InsurancePolicy","schema": {"type": "object","properties": {"policyName": { "type": "string", "format": "input" },"premiumAmount": { "type": "string", "format": "number" },"coverageDetails": { "type": "string", "format": "markdown" },"eligibilityCriteria": { "type": "string", "format": "json" },"contactEmail": { "type": "string", "format": "email" }}},"description": "Schema for storing dynamic insurance policy data","tags": ["insurance", "policy"] } 

Response Example:

{"schemaId": "062a69c2-e1d7-4728-86c0-164fb1531eee","schemaName": "InsurancePolicy","description": "Schema for storing dynamic insurance policy data" } 

:two: Fetch a Schema by ID
GET {{baseUrl}}/api/schemas/{schemaId}

Response Example:

{"schemaId": "062a69c2-e1d7-4728-86c0-164fb1531eee","schemaName": "InsurancePolicy","schema": {"policyName": "string","premiumAmount": "string","coverageDetails": "string","eligibilityCriteria": "json","contactEmail": "string"} } 

:three: Fetch Content Using Schema
POST {{baseUrl}}/api/one

Payload Example (Fetch Content):

{"schemaId": "062a69c2-e1d7-4728-86c0-164fb1531eee","filter": { "policyName": "Family Health Protect Plan" } } 

Response Example:

{"policyName": "Family Health Protect Plan","premiumAmount": "500","coverageDetails": "Covers family of 4 with wellness benefits","eligibilityCriteria": {"minAge": 18,"maxAge": 60},"contactEmail": "support@insureco.com" } 

:white_check_mark: Note: /api/one is used only for fetching content based on the schema. Adding or updating content is handled via the UI or backend process; no separate API is required.


:small_blue_diamond: Example with Workflow

Imagine a workflow for insurance claims:

  • A customer submits a claim.
  • The workflow calls the Content Repository API ( /api/one ) to fetch the claim process steps (stored using a schema).
  • The portal displays the correct claim process instantly.
  • The same data is reused in emails and notifications.

Result: One central source of truth feeds all systems efficiently.


:small_blue_diamond: Additional Advantage – Generate PDF

POST {{baseUrl}}/api/genaral/generate-by-data

Use Cases:

  • Insurance policy PDFs
  • Claim reports
  • Customer onboarding forms

:white_check_mark: Benefits Recap

  • Define schema once β†’ Use everywhere
  • Add/update content dynamically (via UI or backend)
  • Fetch and display structured data instantly
  • Generate PDFs dynamically from the same data
  • Keep apps, workflows, and documents consistent

In short:
The Content Repository in Reels = your API-driven dynamic content hub, perfect for keeping apps fresh, consistent, and fast to update.

Thanks @Rocky , for guiding me through the entire process

4 Likes

That’s really helpful, thanks! @Sam

3 Likes