Add a post
create_postAdd a social post for a brand. By default it goes to all of the brand's connected accounts and waits for the person's approval in Echoly (returns status 'pending' and a url to review it). Brands set to automatic approval may schedule it right away if it passes their checks.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | A short label for the type of post, e.g. daily-stats or announcement. | |
| text | No | The post text. X allows 280 characters; Telegram captions with images 1,024. Leave out when sending thread. | |
| brand | No | Brand name or id from list_brands. Optional when the workspace has one brand. | |
| draft | No | true: save as a draft without asking for approval yet. | |
| facts | No | The numbers and facts the text relies on, e.g. {"newPlayers": 120}. Automatic approval holds posts whose numbers aren't here. | |
| thread | No | A thread instead of text: 2–10 posts. X, Bluesky and Mastodon publish them as replies to each other (each within 280 / 300 / 500 characters); Telegram and Discord get them as one message. Every post counts toward the X limit. | |
| accounts | No | Where to post: account ids, platforms ("x", "telegram", "bluesky", "mastodon", "discord") or @handles. Default: all connected accounts of the brand. | |
| image_urls | No | Up to 4 https image URLs (JPEG, PNG, GIF or WebP, 5 MB each). | |
| publish_at | No | When to post: ISO 8601 with offset (2026-11-01T09:00:00+08:00), or YYYY-MM-DDTHH:mm in the workspace time zone. Leave out to post as soon as it's approved. |