Schedule a Telegram publication
schedule_postUse when the author explicitly asks to schedule a post to a connected channel or group. Supply an exact ISO date with UTC offset and an idempotency key. The server uses the shared publishing rules and stores an immutable delivery snapshot.
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": {
"postId": "<postId>",
"channelId": "<channelId>",
"scheduledAt": "<scheduledAt>",
"idempotencyKey": "<idempotencyKey>"
},
"name": "schedule_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | Owner-bound postId from search_posts/search_post_drafts/create_post_draft. | |
| timezone | No | IANA time zone, e.g. Asia/Bangkok; the scheduledAt UTC offset specifies the exact instant. | |
| channelId | Yes | Owner-bound channel id from list_channels; never invent a recipient. | |
| scheduledAt | Yes | Exact publication time as ISO 8601 with UTC offset, e.g. 2026-10-29T10:00:00+07:00. Resolve the user time zone before scheduling. | |
| idempotencyKey | Yes | Stable 8-128 character key using letters, digits, dot, underscore, colon or hyphen. Reuse with identical arguments for the same intended schedule after a lost response. | |
| pinAfterPublish | No | Pin this bot-delivered publication after successful delivery when the user requests it; notify group members (Telegram disables pin notifications in channels). Pin failures are reported separately and never resend the post. Does not apply to native/inline sharing. | |
| expectedRevision | No | Current revision from get_post/last mutation. On conflict reread and compare changes; never bypass revision. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| message | Yes |