# Introduction (/)

Bring support conversations and order information together, then read them anywhere.

EcomSquad brings a customer's conversation and their order information into one
**ticket**, ready to read in OneInbox, your AI assistant, or your own
application.

## How it works [#how-it-works]

1. **Connect your sources.** A [mailbox](/connect#connect-a-mailbox) supplies
   conversations; a [Shopify store](/connect#connect-a-shopify-store) supplies orders.
2. **EcomSquad syncs and stores them.** Each support conversation becomes a
   [ticket](/tickets) with its customer and the orders linked to it.
3. **Read tickets where you work.** In OneInbox, from an assistant over [MCP](/mcp),
   or from your server with the [Context API](/reference).

Reads return stored data. A separate [refresh](/tickets#refresh-a-ticket) asks
the store for current order information. Nothing in EcomSquad's API sends customer
email or changes merchant orders. Trainer exercises are simulated and separate
from connected support data.

## Choose your starting point [#choose-your-starting-point]

<Card title="Connect your data" href="/connect">
  For administrators: connect a store and mailbox, and check that data has arrived.
</Card>

<Card title="Connect an AI assistant" href="/mcp">
  Find a ticket and understand its orders from Claude or another MCP client.
</Card>

<Card title="Quickstart" href="/quickstart">
  For developers: read a ticket and its messages with curl.
</Card>

<Card title="API Reference" href="/reference">
  Every endpoint, field, and error in the Context API.
</Card>

## Before you begin [#before-you-begin]

Ask your EcomSquad administrator for access to your organization and its Platform
address. Sign in with the email address they provisioned, using the link sent to
your inbox. Requesting a sign-in link does not create organization access.

The API lives at `https://api.meetwillow.cx/api/v1`, and the MCP server at
`https://api.meetwillow.cx/api/v1/mcp`.

## Where this is going [#where-this-is-going]

The Context API is becoming the one layer between the sources and every app.
Apps, starting with OneInbox, will read customers, orders, and tickets through it
instead of from source records; the decision is
[ADR 0009](https://github.com/HighOutputVentures/ecomsquad/blob/main/docs/adr/0009-context-api-is-the-semantic-layer.md).
Nothing below is built. Do not code against it; the [API Reference](/reference)
describes what exists.

| Record   | Built today                                                                                    | Planned, not built                                                                                                  |
| -------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Customer | One email address: its conversations, synced Shopify orders and spend, and the store's record. | A customer keyed by email with its **other emails**, its addresses, its orders from every source, and its campaign. |
| Order    | One Shopify order: status, items, fulfillments, and tracking when verified.                    | One order built from every source: the store, fulfillment, shipping, and the ad it came from.                       |
| Ticket   | A support conversation with its customer and linked orders, each with how it was linked.       | Its source platform and its link to one customer.                                                                   |
| Sources  | IMAP mail and Shopify.                                                                         | Klaviyo, Meta, and Amazon. Fields that need a source wait for its connector.                                        |

A customer may write from an address other than the one they bought with. A
[second check](/tickets#linked-orders) can verify one order for such a sender and
record their address as an **other email**, which members see in OneInbox. The
Context API does not return it; returning it with the customer is planned.

Stuck? See [Troubleshooting](/troubleshooting).
