Core concepts
Workspaces, products, channels, feeds, and how data flows through Catalyte.
Catalyte models commerce with four primitives: workspaces, products, channels, and feeds. Once you have the picture, every feature slots in.
Workspace
The top-level container. Everything is scoped to a workspace: products, members, API keys, OAuth grants, channels, logs. Row-Level Security in the database enforces strict isolation between workspaces.
Product
A single sellable item, identified by a sku that is unique within your workspace. The shape is intentionally flat:
{
"sku": "TSHIRT-BLACK-M",
"title": "Heavyweight tee",
"description": "12oz cotton, boxy fit.",
"brand": "Atelier",
"price_amount": 48.00,
"price_currency": "USD",
"inventory_quantity": 120,
"image_url": "https://cdn.example.com/tee-black.jpg",
"url": "https://shop.example.com/tee-black-m",
"tags": ["staple", "unisex"]
}Prices are decimal amounts in the listed currency (e.g. 48.00 USD = $48.00), stored at 2-decimal precision and serialized to each channel's expected format on the way out.
Channel
A destination for your products. Channels come in three shapes:
- Feed channels — Google, Meta, TikTok, Pinterest. They pull a URL.
- SFTP channels — ChatGPT (ACP), Amazon, eBay, custom. We push on a schedule.
- AI channels — the MCP server and the public directory. Agents read live.
Feed
The serialized view of your catalog for one channel. A Google feed is XML; a Meta feed is CSV; an ACP feed is JSON. The shape is fixed by the channel; the contents are your products, transformed to fit.
How data flows
- You write to products via the UI, CSV import, REST, or MCP.
- Catalyte stores them in Postgres with full row-level isolation.
- Each enabled channel has a feed URL and/or an SFTP schedule.
- External platforms pull, or Catalyte pushes, on their own clock.
- Every event lands in Logs.