Posts
Publishing and scheduling.
4 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.
posts.publish
POST · mutating
Publish an approved draft to its platform. For platforms with a posting API (twitter, linkedin via Composio) this hits the real API. For manual-only platforms (kickstarter, indiegogo, hackernews, producthunt, reddit) it marks the draft ready-for-human and queues it for paste-and-publish — see posts.list_manual_queue + posts.mark_published.
When the agent calls it: Returns manualPublish=true when the platform has no posting API. The draft is in the queue for human paste — do NOT call publish again. Tell the user "I drafted and queued for posting; check the Manual Publish queue."
- AI tool:
posts_publish - API:
POST /api/invoke/posts.publish
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}posts.schedule
POST · mutating
Schedule an approved draft for a future time.
- AI tool:
posts_schedule - API:
POST /api/invoke/posts.schedule
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
scheduledFor |
any | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"scheduledFor": {}
},
"required": [
"id",
"scheduledFor"
]
}posts.mark_published
POST · mutating
After a human pastes a ready-for-human draft into the actual platform, call this to flip its status to published. Optionally records the external URL of the live post for analytics + linking.
- AI tool:
posts_mark_published - API:
POST /api/invoke/posts.mark_published
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
externalUrl |
string | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"externalUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"id"
]
}posts.list_manual_queue
GET
List drafts in the Manual Publish queue — agent prepared them, human needs to paste into the platform UI. Use this to surface the queue to the user.
- AI tool:
posts_list_manual_queue - API:
GET /api/invoke/posts.list_manual_queue
Input
| Field | Type | Required | Description |
|---|---|---|---|
missionId |
string | — | |
limit |
integer | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"missionId": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
}
}