social_publish
Publish the caller's OWN social drafts on the caller's OWN channels through the official APIs (spec 2026-11-09-own-channel-publish): the X account connected to this autario account (POST /2/tweets) and the LinkedIn company page of the connected LinkedIn login (POST /rest/posts with the organization id of the LinkedIn connector). The drafts are the rows of the account's private dataset social_drafts (columns drafted_at, channel x|linkedin, topic, draft, data_source, link, status, posted_at, plus post_url and error once published), which the daily social routine writes with status draft. Four actions: targets lists the channels (connection, can_publish, and the reason plus a connect URL when it cannot post yet: not connected, the login did not grant tweet.write / w_organization_social, no organization id on the LinkedIn connector); drafts returns the rows; approve {draft_id} flips ONE row from draft (or failed, skipped) to approved after checking the channel and the text length (X 280 weighted characters with every URL counting 23, LinkedIn 3000); run publishes every approved row now, one per channel, exactly once (the row is set to posting before the request and never taken twice), writes status posted + posted_at + post_url and one row into the account's social_posts dataset (day, channel, url, title, kind, views) that the funnel widget reads, or status failed + error with the vendor's own sentence and a bell notification. The worker runs the same run on the refresh cycle, so approving is enough; run is for "post it now". A row with status draft is NEVER published: only a person, or this tool on their behalf, approves. Own channels only: nothing here posts to Reddit, Hacker News, a forum or anybody else's thread, and nothing comments. Requires the caller's own autario account (OAuth); every row and connection is the caller's. Use when asked "post today's draft", "approve the LinkedIn draft", "which channels can autario post to", "publish the approved posts now".
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "social_publish"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | targets = the channels this account can post to; drafts = the social_drafts rows; approve = set one draft to approved (needs draft_id); run = publish every approved draft now, one per channel. | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| draft_id | No | approve only: the row id (dd_id) from drafts. |