App Schema Reference (Marketing HQ)

How the KB’s knowledge domains map to entities/tables in your custom app. The app holds the live, queryable records; the KB holds the durable understanding. Same concepts, different jobs.

Core entities and their KB counterparts

App tableHolds (live data)KB domain (durable knowledge)
brandsbrand records, status, ownerBrand_Architecture, 02 Brand Guidelines
products / skuslive SKUs, stock, price, marketplace links03 Products & Catalogue
channelsmarketplace accounts, health scores04 Channels & Marketplaces
campaignsstatus, dates, budget, results06 Campaigns (briefs + post-mortems)
tasksassignments, deadlines, completion05 Playbooks (the how) + 08 (the who)
kpis / metricsdaily/weekly numbersKPI_Definitions (the definitions)
peopleroster, roles08 Team & People
assetscreative files, links02/03 (asset libraries)

Suggested relationships (matrix without explosion)

  • campaignsbrands (many-to-many via campaign_brands)
  • campaignschannels (many-to-many via campaign_channels)
  • productschannels (a SKU listed on N marketplaces via listings)
  • taskspeople (owner) and → campaigns (parent)

This is exactly the brand × channel matrix from the org design — modeled as join tables instead of nested folders. Backed by Supabase, “show every active TikTok Shop campaign for startup brand X” becomes one query, not a folder dig.

Principle

The KB tells you what a good campaign brief contains. The app tells you the status of campaign #47. Don’t duplicate; link.