Reach out
How do I reach the first 100 people on my list? Your agent sends as you from your own inbox and accounts, within the Mandate you grant, and books every call a reply asks for.
You, to your agent
Send the first 25 from my inbox on Tuesday, as me.
Warm a second inbox for more, and book every call a reply asks for.
curl -X POST https://api.sb/leaseline.app/mandates/authorize \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"agent":"workers/worker_3","verb":"Message.schedule","for":"people/dana","topics":["first-customers"],"limit":{"perDay":25},"expiresAt":"2026-12-24"}'
curl -X POST https://api.sb/leaseline.app/mailboxes/mailbox_2/warm \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cap":40}'
curl -X POST https://api.sb/leaseline.app/messages/message_3/schedule \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"at":"2026-10-27T14:00:00Z"}'
curl -X POST https://api.sb/leaseline.app/meetings/book \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contact":"contact_71","at":"2026-10-29T15:00:00Z"}'import { $ } from 'startup-builder'
await $.Mandate.authorize({ agent: 'workers/ worker_3', verb: 'Message.schedule', for: 'people/ dana', topics: ['first-customers'], limit: { perDay: 25 }, expiresAt: '2026-12-24' }) // send as you, 25 a day, for 60 days
await $.Mailbox.warm({ mailbox: 'mailbox_2', cap: 40 }) // a second inbox ramps to 40 a day; yours sends now
await $.Message.schedule({ message: 'message_3', at: '2026-10-27T14: 00: 00Z' }) // the first batch, from dana@leaseline.app
return await $.Meeting.book({ contact: 'contact_71', at: '2026-10-29T15: 00: 00Z' }) // Jordan at Cedar Row said yes: booked on your calendar
npx startup-builder do Mandate.authorize --json '{"agent":"workers/worker_3","verb":"Message.schedule","for":"people/dana","topics":["first-customers"],"limit":{"perDay":25},"expiresAt":"2026-12-24"}'
npx startup-builder do Mailbox.warm --json '{"mailbox":"mailbox_2","cap":40}'
npx startup-builder do Message.schedule --json '{"message":"message_3","at":"2026-10-27T14:00:00Z"}'
npx startup-builder do Meeting.book --json '{"contact":"contact_71","at":"2026-10-29T15:00:00Z"}'{
"name": "do",
"arguments": {
"code": "await $.Mandate.authorize({ agent: 'workers/worker_3', verb: 'Message.schedule', for: 'people/dana', topics: ['first-customers'], limit: { perDay: 25 }, expiresAt: '2026-12-24' }) // send as you, 25 a day, for 60 days\nawait $.Mailbox.warm({ mailbox: 'mailbox_2', cap: 40 }) // a second inbox ramps to 40 a day; yours sends now\nawait $.Message.schedule({ message: 'message_3', at: '2026-10-27T14:00:00Z' }) // the first batch, from dana@leaseline.app\nreturn await $.Meeting.book({ contact: 'contact_71', at: '2026-10-29T15:00:00Z' }) // Jordan at Cedar Row said yes: booked on your calendar"
}
}Response200
application/json{
"$id": "https: //api.sb/ leaseline.app/ meetings/ meeting_12",
"$type": "Meeting",
"contact": "Jordan Reyes, operations lead, Cedar Row Rentals",
"at": "2026-10-29T15: 00: 00Z",
"from": "a reply to the first batch",
"batch": {
"sent": 25,
"replies": 3,
"interested": 1,
"notNow": 1,
"stopped": 1
},
"cost": {
"usd": 0
}
}
sample- The first 100 sends, in batches you approve: free from your inbox
- First run
- Partly works today
- Status
- API · browser agent
- Runs by
- Your inbox, LinkedIn and X sign-ins, once, in a live view.
- Connect once
What you get
| Field | What it says |
|---|---|
| Sent from | Your own inbox or account, so every reply comes back to you. |
| Sent as | You: your name, your voice and your signature, within the Mandate you grant. |
| Batch | The day’s sends, each with its first line and the evidence it quotes, approved in one sitting. |
| Reply | Interested, not now, wrong person or stop, read from the reply itself. |
| Meeting | Booked on your calendar when a reply says yes, with the thread attached. |
| Stopped | Who gets no further send, and why: unsubscribed, bounced or asked to stop. |
| Cost | The most the batch can cost, shown before it sends, and what it cost after. |
How it runs
| When | What happens | Runs by | Your part | Takes |
|---|---|---|---|---|
| Day 0 | Connect your inbox, LinkedIn and X, and grant one Mandate to send as you (Email and inboxes) | API · browser agent | sign in once and approve the Mandate | the same day |
| Day 0 | Write and check the sending records on your domain, and start warming a second inbox for volume (Warm-up) | API | nothing | 14 days to full volume |
| Day 1 | Send the first 25 hand-picked emails from your own inbox, each quoting the evidence it rests on (Email and inboxes) | API | approve the batch, about 10 minutes | replies within days |
| Day 1 | Send a LinkedIn connection request to the same people, as you (LinkedIn) | browser agent | nothing | accepts within days |
| Every reply | Read the reply, book the yes, and stop every send to anyone who asks (Replies read) | API | take the calls | minutes after the reply |
| Days 4 and 8 | Follow up where nobody replied, once or twice, never after a reply (Follow-ups) | API | nothing | replies within days |
| Week 3 on | Send from the warmed inbox at up to 40 a day, and add a letter or a gift for the accounts that matter most (Mail and gifts) | API | approve each gift above your Limit | a gift lands in about a week |
Jobs inside it
Where and how it runs
| Where it works | How it runs | Connect once |
|---|---|---|
| Gmail, Outlook, LinkedIn, X, Reddit | API · browser agent | Your inbox, LinkedIn and X sign-ins, once, in a live view. |
Your agent acts as you on every Venue you authorize. Where a Venue has no API, a browser agent signs in as you and does the steps.
Plays that use it
| Play | Strategy that runs it |
|---|---|
| Cold email | Hands-on |
| LinkedIn outbound | Hands-on |
| Customer referrals | Hands-on |
Reference
| Tool | Runs today |
|---|---|
POST /{namespace}/messages/{message}/schedule | Coming |
POST /{namespace}/mandates/authorize | Coming |
POST /{namespace}/domains/{domain}/authenticate | Coming |
POST /{namespace}/mailboxes/{mailbox}/warm | Coming |
Prospect.enroll | Works today |
POST /{namespace}/prospects/{prospect}/engage | Coming |
POST /{namespace}/meetings/book | Coming |
POST /{namespace}/mandates/{mandate}/spend | Coming |
Prospect.suppress | Works today |
Compiled, not written: edit the records it reads (catalog/reach-out), then regenerate. Every step runs from a sentence or a line of code. In your words: the CRM words you know, and where each lives here.