> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# chat_schedule_message

> Schedule a message for later, up to 120 days ahead. The returned `scheduled_message_id` is what cancels it.

<div className="tool-route"><span className="tool-row-method" data-method="POST">POST</span><code>{"https://slack.com/api/chat.scheduleMessage"}</code></div>

```python slack_chat_schedule_message.py theme={null}
from charter.packs import slack

result = await slack.chat_schedule_message.ainvoke({"channel": ..., "postAt": ..., "text": ...})
```

<Note>
  Requires `chat:write`, `channels:read`, `groups:read`, `im:read`, `mpim:read`, `channels:history`, `groups:history`, `im:history`, `mpim:history`, `users:read`, `reactions:write`.
</Note>

## Body

<div className="reference-table">
  | Field                                                           | Type      | Description                                                                                                                                                                                                                                                                       |
  | --------------------------------------------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `channel` <span className="required" title="required">\*</span> | `string`  | The channel to post in.                                                                                                                                                                                                                                                           |
  | `postAt` <span className="required" title="required">\*</span>  | `integer` | Unix timestamp representing the future time the message should post to Slack. Seconds, not milliseconds: 1700000000, not 1700000000000. At most 120 days ahead, beyond which Slack answers `time_too_far`, and at most thirty scheduled messages per channel in any five minutes. |
  | `text` <span className="required" title="required">\*</span>    | `string`  | The message text, as Slack markup.                                                                                                                                                                                                                                                |
  | `threadTs`                                                      | `string`  | Post into this thread rather than the channel.                                                                                                                                                                                                                                    |
</div>
