# Selling

URL: /systems/sales/selling · Id: `page:systems/sales/selling`

> How SalesBuilder turns demand into accepted Offers, by self-serve checkout, by Deals and Quotes, and by outbound sent as the Startup or for a person.

Selling turns demand into accepted [Offers](/business/nouns/offer). [SalesBuilder](/code/builders/sales) sells two ways: self-serve, where a buyer accepts a published Offer alone, and assisted, where a [Deal](/business/nouns/deal) carries one buyer to a signed [Quote](/business/nouns/quote).

## Self-serve first
Most Offers sell with no conversation. A buyer reads the pricing page, checks out, and becomes a [Customer](/business/nouns/customer). An [Agent](/business/nouns/agent) buys the same Offer through the API: a 402 reply names the Offer, the Agent accepts it, and the call goes through.

Assisted selling starts when a buyer needs what the published Offer does not say: committed volume, an annual invoice, a security review, custom terms. If a better page could answer the question, the answer is the page, not a Deal.

## Deals and Quotes
A Deal is the pursuit of one buyer's acceptance of one or more Offers, and it ends won or lost. Its path runs through five [Verbs](/business/nouns/verb).

1. [qualify](/business/nouns/lead/qualify) confirms a [Lead](/business/nouns/lead) matches the Offer's [ICP](/business/nouns/icp) and opens the Deal.
2. [request](/business/nouns/quote/request) asks for terms: the Offers, the volume and the term wanted.
3. [propose](/business/nouns/deal/propose) sends the buyer a Quote: a priced proposal, valid until a date.
4. [accept](/business/nouns/quote/accept) records the Customer taking the Quote before its `validUntil` date. Each one-time line becomes an [Order](/business/nouns/order), and each recurring line a [Subscription](/business/nouns/subscription) at the quoted terms.
5. The accepted Quote wins its Deal, and the [Customer Team](/agents/customer) starts onboarding. [lose](/business/nouns/deal/lose) instead closes a Deal as lost, with the reason the buyer gave.

A Quote that reaches `validUntil` unaccepted [expires](/business/nouns/quote/expire). An expired Quote never converts; the [Sales Engineer](/agents/sales/sales-engineer) sends a new one.

Each Quote starts from the list [Price](/business/nouns/price). A discount inside the discount [Limit](/business/nouns/limit) goes out at once. A discount beyond it creates an [Approval](/business/nouns/approval), and the Quote waits for it.

A Quote never promises what delivery cannot meet. Its terms come from the Offer, its concessions from a fixed list, and its [Agreement](/business/nouns/agreement) from the [Legal Team](/agents/legal). An enterprise Quote ships with the inherited security report and prefilled questionnaire answers.

Every [Interface](/business/nouns/interface) proposes a Quote the same way:

**Ask**

```text
Propose the latest deal with a quote.
```

**API**

```bash
curl -X POST https://api.sb/quietcopy.com/deals/deal_1/propose \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"quote":"quote_1"}'
```

```json
{
  "api": "https://api.sb/quietcopy.com",
  "deal": {
    "$id": "https://api.sb/quietcopy.com/deals/deal_1",
    "$type": "Deal",
    "status": "Proposed"
  },
  "action": {
    "$id": "https://api.sb/quietcopy.com/actions/action_1",
    "operation": "Deal.propose",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/quietcopy.com/actions/action_1"
  }
}
```

**SDK**

```ts
import { $ } from 'startup-builder'

const deal = await $.Deal.propose({ deal: 'deal_1', quote: 'quote_1' })
```

**CLI**

```bash
npx startup-builder do Deal.propose --json '{"deal":"deal_1","quote":"quote_1"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Deal.propose({ deal: 'deal_1', quote: 'quote_1' })"
  }
}
```

## A Deal, start to finish
rostercraft.app schedules shifts for clinics at $12 per staff member a month. A group of 30 clinics asks for one contract, an annual invoice, and single sign-on. The [Sales Engineer](/agents/sales/sales-engineer) answers in writing within minutes and opens a two-week [paid pilot](/workflows/sales/plays/paid-pilot) in three clinics.

The pilot's results become the success criteria. The Quote prices 1,800 staff at $10, inside the discount Limit, and the group's operations director signs from a link. The Deal is won on day 16, and onboarding starts the same afternoon.

## Outbound
Outbound reaches people who never asked. A [Prospect](/business/nouns/prospect) is a person or [Organization](/business/nouns/organization) a [Startup](/business/nouns/startup) found but who has never engaged. Each Prospect is held with its legal basis for contact, and a researched list is a list of Prospects, never of Leads.

The [Prospector](/agents/sales/prospector) enrolls each [Contact](/business/nouns/contact) in a [Sequence](/business/nouns/sequence): send a [Message](/business/nouns/message), wait, branch, or stop. A reply, a purchase, or an opt-out ends the enrollment at once. Before every send, the Sequence reads [Consent](/business/nouns/consent) and [Suppression](/business/nouns/suppression), and a monthly touch Limit caps the rest.

## Two ways to send
An Agent sends outbound in one of two modes. As itself, it writes from the Startup's own [Mailbox](/business/nouns/mailbox) and accounts and says that it is an Agent.

For a person, it sends under delegation. A founder connects their own email or LinkedIn account and grants a [Mandate](/business/nouns/mandate) scoped by [Channel](/business/nouns/channel), volume, topics, and Limits. The Agent drafts and sends as that founder, who is the author of record.

Every send records who sent it, for whom, and under which Mandate. The founder's stream shows everything sent in their name, one-way sends wait out the Mandate's delay window, and pausing or revoking takes effect at once. Delegated sending wakes the [legal floor](/systems/legal-and-corporate/floor) rows for bot disclosure and each venue's automation terms.

## Who sells
The [Sales Team](/agents/sales) holds four [Roles](/business/nouns/role). The [Sales Lead](/agents/sales/sales-lead) owns every Deal, Quote, and enterprise term, and the Sales Engineer answers Leads and runs pilots. The Prospector runs outbound, and the [Partner Manager](/agents/sales/partner-manager) serves the Organizations that resell, refer, or integrate.

Each Role is a seat a [Worker](/business/nouns/worker) fills: a role agent with its own name in each Startup, another Agent, or a [Human](/business/nouns/human). One Agent holds seats in many Startups, each with its own Mandate and [Memory](/business/nouns/memory).

No human sits in the path of a sale. A person can watch any Deal and step in. A large Deal that stalls twice can bring in a commissioned human closer, paid only when the Deal is won.

## Measure the chain
The Sales Team reads four numbers: time to quote, win rate, sales cycle, and open Deal value. They explain the pipeline. The chain is judged further down: the accepted Offer, the delivered result, collected revenue, the cost to acquire, and the next purchase.

## Next
- [Revenue chain](/systems/sales/revenue-chain): every record from first touch to renewal.
- [Selling to agents](/products/selling/selling-to-agents): when the buyer is an Agent.
- [Customers](/products/selling/customers): the people ladder, from [Visitor](/business/nouns/visitor) to Customer.
- [Demand](/systems/sales/demand): where the Leads come from.