Publish and post
Can my agent post as me on LinkedIn, X and Reddit? Yes: connect each account once, and your agent posts as you by API where one exists and by browser agent where none does.
You, to your agent
Publish the rent ledger guide.
Post it on LinkedIn, X and Reddit, as me.
curl -X POST https://api.sb/leaseline.app/content/contents%2Fcontent_57/publish \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
curl -X POST https://api.sb/leaseline.app/posts/posts%2Fpost_63/schedule \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"at":"2026-10-28T14:00:00Z"}'
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_4","verb":"Post.publish","for":"people/dana","topics":["rent-ledger"],"limit":{"perDay":3},"expiresAt":"2026-12-24"}'
curl -X POST https://api.sb/leaseline.app/posts/posts%2Fpost_64/publish \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"import { $ } from 'startup-builder'
const page = await $.Content.publish({ content: 'contents/ content_57' }) // live once its page audit passes
await $.Post.schedule({ post: 'posts/ post_63', at: '2026-10-28T14: 00: 00Z' }) // LinkedIn and X, on the calendar
await $.Mandate.authorize({ agent: 'workers/ worker_4', verb: 'Post.publish', for: 'people/ dana', topics: ['rent-ledger'], limit: { perDay: 3 }, expiresAt: '2026-12-24' }) // post as you, three a day
const post = await $.Post.publish({ post: 'posts/ post_64' }) // the Reddit answer, by browser agent
return { page, post }
npx startup-builder do Content.publish --json '{"content":"contents/content_57"}'
npx startup-builder do Post.schedule --json '{"post":"posts/post_63","at":"2026-10-28T14:00:00Z"}'
npx startup-builder do Mandate.authorize --json '{"agent":"workers/worker_4","verb":"Post.publish","for":"people/dana","topics":["rent-ledger"],"limit":{"perDay":3},"expiresAt":"2026-12-24"}'
npx startup-builder do Post.publish --json '{"post":"posts/post_64"}'{
"name": "do",
"arguments": {
"code": "const page = await $.Content.publish({ content: 'contents/content_57' }) // live once its page audit passes\nawait $.Post.schedule({ post: 'posts/post_63', at: '2026-10-28T14:00:00Z' }) // LinkedIn and X, on the calendar\nawait $.Mandate.authorize({ agent: 'workers/worker_4', verb: 'Post.publish', for: 'people/dana', topics: ['rent-ledger'], limit: { perDay: 3 }, expiresAt: '2026-12-24' }) // post as you, three a day\nconst post = await $.Post.publish({ post: 'posts/post_64' }) // the Reddit answer, by browser agent\nreturn { page, post }"
}
}Response200
application/json{
"page": {
"$id": "https: //api.sb/ leaseline.app/ contents/ content_57",
"$type": "Content",
"status": "Published",
"url": "https: //leaseline.app/ guides/ rent-ledger-template",
"audit": {
"passed": true,
"fixed": [
"image alt text",
"a second H1"
],
"checked": [
"title",
…
sample- A post on every connected account: free, and 1.5¢ a post on X
- First run
- Coming
- Status
- API · browser agent
- Runs by
- Each account you post from, once: LinkedIn, X, Reddit and the rest.
- Connect once
What you get
| Field | What it says |
|---|---|
| Post | The words, the media and the page it points to, as it went out. |
| Account | The account it went out from, which is yours. |
| Runs by | API or browser agent, read from the Action that sent it. |
| Live at | The link to the post or page once it is up, and when it went up. |
| Page audit | Title, headings, canonical, broken links and load time, checked before the page goes live. |
| Calendar | Every scheduled date, with who drafts the piece and when you approve it. |
| Cost | What the post cost, settled per call. Posts on your own accounts are free on most Venues. |
How it runs
| When | What happens | Runs by | Your part | Takes |
|---|---|---|---|---|
| Once | Connect each account you post from | API | sign in once per account | minutes |
| Once | Give your agent a Mandate to post as you, within a daily limit | API | approve the Mandate | a minute |
| Each page | Audit the page, fix what search engines and answer bots cannot read, then publish it (Page audit) | API | nothing | seconds |
| Each page | Put the page live, add it to the sitemap and push it to the search engines (Publish pages) | API | nothing | minutes |
| Each post | Put the post on the calendar for the hour its audience reads (Publishing calendar) | API | approve the first post from each page | until the slot |
| At the slot | Post on LinkedIn, X, Instagram, YouTube and TikTok (Post by API) | API | nothing | seconds |
| At the slot | Post on Reddit, Product Hunt, Hacker News and company pages, signed in as you (Post by browser agent) | browser agent | nothing | a minute or two |
Jobs inside it
Where and how it runs
| Where it works | How it runs | Connect once |
|---|---|---|
| LinkedIn, X, Reddit, YouTube, Instagram, TikTok, Product Hunt, Hacker News | API · browser agent | Each account you post from, once: LinkedIn, X, Reddit and the rest. |
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 |
|---|---|
| Founder voice | Hands-on |
| Community answers | Passive |
| Programmatic SEO | Passive |
Reference
Compiled, not written: edit the records it reads (catalog/publish-and-post), 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.