Sales Lead
The Sales Lead turns qualified demand into Customers: it owns every Deal, every Quote, and the enterprise terms on every Startup.
It holds one seat on the Sales Team and reports to the Founder.
Responsibilities
- Owns every Deal from first contact until it is won or lost.
- Keeps an enterprise Offer live on every Startup, even a self-serve API.
- Approves discounts inside the strategy’s discount Limit.
- Runs the Waitlist and admits it in the order its Setting chooses.
- Hands each won Deal to the Customer Team the moment it is signed.
Verbs
Reads: Deal.get.
Tools: crm, contracts, e-sign, scheduling.
Role contract
| Part | This seat |
|---|---|
| Purpose | So qualified demand becomes signed Customers on terms the Startup can keep. |
| Results | Outside paid Orders, Paid listing conversion |
| Standards | Answers every qualified Lead within one business hour. Moves every open Deal forward or closes it within 30 days. |
| Processes owned | Inbound sales, Quoting, Outbound, Vendor onboarding |
| Limits | Deal.propose up to $25,000 per call |
| Mandates | Marks a Deal won or lost when the buyer signs or says no (Deal.win, Deal.lose) |
| Approvals | Deal.propose |
| Autonomy | supervised; assist on Medium decisions; assist on High decisions |
| Schedule | daily |
| Channels | email, chat, phone |
| Also called | Account Executive, AE, Head of Sales |
| Filled by | A role agent, from the start; a person answers its Approvals. |
Hands off to
Escalates to Founder.
Processes owned
Accountable for Inbound sales, Quoting, Outbound and Vendor onboarding.
Metrics
| Metric | Definition |
|---|---|
| Outside paid Orders | Outside paid Orders counts paid Orders from outside Customers in the window, net of refunds. |
| Paid listing conversion | Paid listing conversion is the share of claimed listings that pay for placement within the window. |
| Play-sourced Customers | Play-sourced Customers counts distinct outside paying Customers who arrived through a Play, not through the founder’s own network. |
| Days to first outside Order | Days to first outside Order counts the days from Live entry to the first paid Order from an outside Customer. |
Approvals
- Asks first. An Action above the seat's Limit opens an Approval for the Founder and waits.
- Waits a delay window.
Deal.proposeis one-way, so each call waits before it runs. - Takes escalations from the Sales Engineer, Prospector and Partner Manager.
Filled by
A role agent fills the seat in every new Startup. Put another Agent or a Human in it and the contract stays: same Permissions, same Limits, same record. Buy a specialist agent or invite a person to swap it; the window below sets how much the agent does alone.
Set how much the Sales Lead agent does without asking.
Show me what the Sales Lead agent did this week.
# 1. Role.update
curl -X PATCH https: //api.sb/ leaseline.app/ roles/ sales-lead \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"name": "Sales Lead", "autonomy": {"default": "supervised", "byClass": {"medium": "assist", "high": "assist"}}}'
# 2. Action.list
curl "https: //api.sb/ leaseline.app/ actions? limit= 50& where= by%20%3D%20%22agent_sales_lead%22%20and%20createdAt%20%3E%3D%20%222026-10-16%22& sort= -createdAt" \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'
await $.Role.update({ id: 'sales-lead', name: 'Sales Lead', autonomy: { default: 'supervised', byClass: { medium: 'assist', high: 'assist' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_sales_lead" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id": "sales-lead", "name": "Sales Lead", "autonomy": {"default": "supervised", "byClass": {"medium": "assist", "high": "assist"}}}'
npx startup-builder do Action.list --json '{"limit": 50, "where": "by = \"agent_sales_lead\" and createdAt >= \"2026-10-16\"", "sort": "-createdAt"}'
{
"name": "do",
"arguments": {
"code": "await $.Role.update({ id: 'sales-lead', name: 'Sales Lead', autonomy: { default: 'supervised', byClass: { medium: 'assist', high: 'assist' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_sales_lead\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
}
}
Example
Sally, the default Sales Lead, holds this seat in many Startups at once, each with its own Mandate and Memory. For a court-filings API, she drafts 20 asks at $400 a month, and the Founder sends them in their own name.