URL: /revenue/deals/status/won · Id: `page:/revenue/deals/status/won`

# Won Deals: what moves them on

> Won Deals: the first paid Order, the handoff to Onboarding, and the call that starts the Customer.

A won [Deal](https://startupbuilder.dev/business/nouns/deal) is a buyer who said yes. It becomes a [Customer](https://startupbuilder.dev/business/nouns/customer) when the first [Order](https://startupbuilder.dev/business/nouns/order) is paid, and Onboarding takes it from there.

## It moves on when
| To | When | The call | Event |
| --- | --- | --- | --- |
| A paying Customer | the first Order is paid | <Op verb="Order.pay" /> | `Order.paid` |
| Onboarding | the Won Deal starts the hub Workflow `onboard-customer` | <Op verb="Customer.activate" /> | `Customer.activated` |

## Who owns it
| Title | What it does here |
| --- | --- |
| [AE](/capabilities/how-your-agents-act#ae) | hands over the Quote’s promises in the brief |
| [Onboarding](/capabilities/how-your-agents-act#onboarding) | gets the Customer to its first outcome by day 14 |

## How long it sits
| Deals | Window | Median days to get here | Stall line |
| --- | --- | --- | --- |
| `9` | 90 days | sales cycle, Not live yet, [gaps #2](/code/reference#not-live-yet) | none: it is a final Deal status |

The stall line is twice the median, read from each Deal’s `statusSince` · sample

## The call that moves it

```text title="From Won to a paying Customer · Ask"
Maple Street Homes signed. Take their first payment and start onboarding. Charge nothing in this run.
```

```ts title="From Won to a paying Customer · SDK"
import { $ } from 'startup-builder'

const { deals } = await $.Deal.list({ where: 'status = "Won" and statusSince >= "2026-07-21"', total: true })   // 9 won in 90 days
await $.Order.pay({ order: 'order_21' }, { mode: 'try' })   // the first $29
return await $.Customer.activate({ customer: 'customer_47', offer: 'offer_1' }, { mode: 'try' })   // Onboarding takes it from here, by day 14
```

```json title="From Won to a paying Customer · Response · sample"
{
  "customer": {
    "$id": "https://api.sb/leaseline.app/customers/customer_47",
    "$type": "Customer",
    "status": "activated",
    "since": "2026-10-19T10:12:00Z",
    "outside": true
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/action_23",
    "operation": "Customer.activate",
    "status": "done",
    "mode": "try"
  }
}
```

## Plays that unstick it
| Play | What it does |
| --- | --- |
| [Run it beside the old tool](/plays/run-beside) | Runs a new Customer’s work beside their old tool every day, fixes each difference you caused, and books the switch when the report reads zero. |
| [Product-led growth](/plays/product-led) | Gives free Customers enough to reach the result twice, then shows the upgrade inside the task at the Limit, with the real Price. |
| [Waitlist interviews](/plays/signup-interviews) | Interviews each Waitlist signup with your disclosed agent, admits by fit under a published cap, and sends a result built on their company. |