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
    }
  }
}