POST
/chat.scheduleMessageSchedule a message
Schedules a message to be sent to a channel at a future time. Provide channel and post_at, then use text, blocks, or attachments to define the message content. A successful response includes the scheduled message identifier and scheduled timestamp.
- RetriesRetries up to 2×, 500ms backoff, 30s timeout.
tokenstringoptional
Authentication token with the `chat:write` scope.
Optional scheduled message configuration, including the destination, send time, content, formatting, and threading options.
channelstringoptional
Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name. See [below](#channels) for more details.
textstringoptional
How this field works and whether it is required depends on other fields you use in your API call. [See below](#text_usage) for more detail.
post_atstringoptional
Unix EPOCH timestamp of time in future to send the message.
parsestringoptional
Change how messages are treated. Defaults to `none`. See [chat.postMessage](chat.postMessage#formatting).
as_userbooleanoptional
Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See [chat.postMessage](chat.postMessage#authorship).
link_namesbooleanoptional
Find and link channel names and usernames.
attachmentsstringoptional
A JSON-based array of structured attachments, presented as a URL-encoded string.
blocksstringoptional
A JSON-based array of structured blocks, presented as a URL-encoded string.
unfurl_linksbooleanoptional
Pass true to enable unfurling of primarily text-based content.
unfurl_mediabooleanoptional
Pass false to disable unfurling of media content.
thread_tsnumberoptional
Provide another message's `ts` value to make this message a reply. Avoid using a reply's `ts` value; use its parent instead.
reply_broadcastbooleanoptional
Used in conjunction with `thread_ts` and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to `false`.
200Returns the scheduled message, including its channel, message content, scheduled timestamp, and unique `scheduled_message_id`.
channelstringrequired
messageobjectrequired
okbooleanrequired
post_atintegerrequired
scheduled_message_idstringrequired
defaultReturned when the scheduled time is invalid or the message cannot be scheduled, including when `post_at` is in the past or too far in the future.
callstackstringoptional
Note: PHP callstack is only visible in dev/qa
errorstringrequired
okbooleanrequired
Error handling
post_at must be a Unix EPOCH timestamp in the future. parse defaults to none, as_user defaults to false, and reply_broadcast defaults to false when omitted; thread_ts must identify the parent message when scheduling a threaded reply.