> ## Documentation Index
> Fetch the complete documentation index at: https://docs.colossal.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Projects are the top-level commerce environments in Colossal.

Colossal provides a number of core commerce primitives:

* **[Products](/concepts/products)**
* **[Cart](/concepts/cart)**
* **[Customers](/concepts/customers)**
* **[Checkout](/concepts/checkout-and-payments)**
* **[Orders](/concepts/orders)**

These primitives are designed to seamlessly work with one another, but can also be used as stand-alone services and work with third-party connections or your existing infrastructure.

The core flow is the following:

* Merchant creates and publishes products
* Customers add products to carts
* Checkout is created from the cart
* Customers pay on the Colossal Checkout page
* An order is created

At the same time, you can use [**Colossal Cart**](/concepts/cart#real-time-cart-modifications) and [**Cart Automations**](/concepts/cart#real-time-cart-modifications) with your own checkout and product services.

## Surfaces

Each of these primitives is exposed across multiple surfaces:

* **[Events](/apps/colossal-app/events)** are typed operations that any automation step invokes directly. Use them in App Action steps when you wire deterministic operations from event or step data.
* **[Actions](/apps/colossal-app/actions)** are typed operations that any automation step invokes directly. Use them in App Action steps when you wire deterministic operations from event or step data.
* **[Tools](/apps/colossal-app/tools)** are LLM-callable functions. Use them when you want an LLM to pick what to call. Most write tools wrap the matching action (so they route through your approval policy). Read tools return shapes tuned for the LLM, sometimes richer than the matching action. For example, `get_customer_details` includes `order_count` while the `get_customer` action does not.
* **[Storefront API](/api-reference/overview)** is the public GraphQL surface. Use it from your storefront, an MCP server, or any external client that needs read or write access.

## Projects

A project is your commerce environment. Each project has its own products, prices, customers, integrations, automations, and team members.

Projects support multiple roles. Owners manage team settings and invites, builders can work in the chat and builder surfaces, and members are the default role for non-admin collaborators.

Projects usually have a storefront, but that's just one of multiple commerce surfaces that will be available. We are working on adding support for agentic protocols, allowing AI agents to discover and purchase products on behalf of users.

<Frame>
  <iframe src="https://pub-ba469dfa04d142b989e362d6623888e7.r2.dev/org-hierarchy-4.html" style={{width: "100%", height: "340px", border: "none"}} />
</Frame>

## Custom domains

When creating a project using chat, Colossal automatically deploys a storefront for it on a free subdomain. But for production storefronts, we recommend adding your own domain.

You can do this either in the chat or by clicking **Edit custom domain** in the menu when clicking the **Publish** button in preview.

<Frame>
  <img src="https://mintcdn.com/colossal/jv4ShGZVjwyiwRuc/images/connect-domain-dashboard.png?fit=max&auto=format&n=jv4ShGZVjwyiwRuc&q=85&s=0b3867c08626fc944eb0fde0bcd54588" alt="Connect domain dashboard" width="1310" height="604" data-path="images/connect-domain-dashboard.png" />
</Frame>
