Current section
Files
Jump to
Current section
Files
priv/docs/methods/chat.postMessage.json
{
"args": {
"as_user": {
"desc": "(Legacy) Pass true to post the message as the authed user instead of as a bot. Defaults to false. Can only be used by classic apps. See legacy `as_user` parameter below.",
"example": "true",
"required": false,
"type": "boolean"
},
"attachments": {
"desc": "A JSON-based array of structured attachments, presented as a URL-encoded string. The `text` field is not enforced as required when using `blocks` or `attachments`.",
"example": "[{\"pretext\": \"pre-hello\", \"text\": \"text-world\"}]",
"required": false
},
"blocks": {
"desc": "A JSON-based array of structured blocks, presented as a URL-encoded string. The usage of the `text` field changes depending on whether you're using `blocks`. The `text` field is not enforced as required when using `blocks` or `attachments`. However, we highly recommended that you include `text` to provide a fallback when using `blocks`, as described above. It is expected behavior that screen readers will default to the top-level `text` field of your post, and will not read the content of any interior `blocks` in the underlying structure of the message. do not include a top-level `text` field if the message has `blocks`, and allow Slack attempt to build it for you by appending content from supported `blocks` to be read by the screen reader.",
"example": "[{\"type\": \"section\", \"text\": {\"type\": \"plain_text\", \"text\": \"Hello world\"}}]",
"required": false
},
"channel": {
"desc": "An encoded ID or channel name that represents a channel, private group, or IM channel to send the message to. See below for more details.",
"required": true,
"type": "string"
},
"current_draft_last_updated_ts": {
"desc": "This field represents the timestamp of the draft's last update at the time this API is called. If the current message is a draft, this field can be provided to ensure synchronization with the server.",
"example": "1524523204.000192",
"required": false,
"type": "string"
},
"icon_emoji": {
"desc": "Emoji to use as the icon for this message. Overrides `icon_url`.",
"example": ":chart_with_upwards_trend:",
"required": false
},
"icon_url": {
"desc": "URL to an image to use as the icon for this message.",
"example": "http://lorempixel.com/48/48",
"required": false
},
"link_names": {
"desc": "Find and link user groups. No longer supports linking individual users; use syntax shown in Mentioning Users instead.",
"example": "true",
"required": false,
"type": "boolean"
},
"markdown_text": {
"desc": "Accepts message text formatted in markdown. This argument should not be used in conjunction with `blocks` or `text`. Limit this field to 12,000 characters.",
"example": "**This is bold text**",
"required": false,
"type": "string"
},
"metadata": {
"desc": "JSON object with event\\_type and event\\_payload fields, presented as a URL-encoded string. You can also provide Work Object entity metadata using this parameter. Metadata you post to Slack is accessible to any app or user who is a member of that workspace.",
"example": "{\"event_type\": \"task_created\", \"event_payload\": { \"id\": \"11223\", \"title\": \"Redesign Homepage\"}}",
"required": false
},
"mrkdwn": {
"default": "true",
"desc": "Disable Slack markup parsing by setting to `false`. Enabled by default. The behavior of `parse` is different for text formatted with `mrkdwn`. By default, or when `parse` is set to `none`, `mrkdwn` formatting is implemented. To ignore `mrkdwn` formatting, set `parse` to `full`.",
"example": "false",
"required": false,
"type": "boolean"
},
"parse": {
"desc": "Change how messages are treated. See below. The behavior of `parse` is different for text formatted with `mrkdwn`. By default, or when `parse` is set to `none`, `mrkdwn` formatting is implemented. To ignore `mrkdwn` formatting, set `parse` to `full`.",
"example": "full",
"required": false
},
"reply_broadcast": {
"desc": "Used in conjunction with `thread_ts` and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to `false`.",
"example": "true",
"required": false,
"type": "boolean"
},
"text": {
"desc": "How this field works and whether it is required depends on other fields you use in your API call. See below for more detail. The usage of the `text` field changes depending on whether you're using `blocks`. The `text` field is not enforced as required when using `blocks` or `attachments`. However, we highly recommended that you include `text` to provide a fallback when using `blocks`, as described above. It is expected behavior that screen readers will default to the top-level `text` field of your post, and will not read the content of any interior `blocks` in the underlying structure of the message. do not include a top-level `text` field if the message has `blocks`, and allow Slack attempt to build it for you by appending content from supported `blocks` to be read by the screen reader.",
"example": "Hello world",
"required": false
},
"thread_ts": {
"desc": "Provide another message's `ts` value to make this message a reply. Avoid using a reply's `ts` value; use its parent instead.",
"required": false
},
"unfurl_links": {
"desc": "Pass true to enable unfurling of primarily text-based content. If you want to suppress link unfurls in messages containing Block Kit blocks, set `unfurl_links` and `unfurl_media` to false.",
"example": "true",
"required": false,
"type": "boolean"
},
"unfurl_media": {
"desc": "Pass false to disable unfurling of media content. If you want to suppress link unfurls in messages containing Block Kit blocks, set `unfurl_links` and `unfurl_media` to false.",
"example": "false",
"required": false,
"type": "boolean"
},
"username": {
"desc": "Set your bot's user name.",
"example": "My Bot",
"required": false
}
},
"desc": "Sends a message to a channel.",
"errors": {
"as_user_not_supported": "The `as_user` parameter does not function with workspace apps.",
"attachment_payload_limit_exceeded": "Attachment payload size is too long.",
"cannot_reply_to_message": "This message type cannot have thread replies.",
"channel_not_found": "Value passed for `channel` was invalid.",
"draft_already_deleted": "The draft has already been deleted.",
"draft_already_sent": "The draft has already been sent.",
"draft_has_conflict": "The client draft version is out of sync with the server draft version.",
"draft_not_found": "The draft was not found.",
"duplicate_channel_not_found": "Channel associated with `client_msg_id` was invalid.",
"duplicate_message_not_found": "No duplicate message exists associated with `client_msg_id`.",
"invalid_blocks": "Blocks submitted with this message are not valid.",
"invalid_blocks_format": "The `blocks` is not a valid JSON object or doesn't match the Block Kit syntax.",
"invalid_metadata_format": "Invalid metadata format provided.",
"invalid_metadata_schema": "Invalid metadata schema provided.",
"is_archived": "Channel has been archived.",
"markdown_text_conflict": "Markdown text cannot be used in conjunction with `blocks` or `text` argument.",
"message_limit_exceeded": "Members on this team are sending too many messages. For more details, see https://slack.com/help/articles/115002422943-Usage-limits-for-free-workspaces.",
"messages_tab_disabled": "Messages tab for the app is disabled.",
"metadata_must_be_sent_from_app": "Message metadata can only be posted or updated using an app-level token.",
"metadata_too_large": "Metadata exceeds size limit.",
"missing_file_data": "Attempted to share a file but some required data was missing.",
"msg_blocks_too_long": "Blocks submitted with this message are too long.",
"no_text": "No message text provided.",
"not_in_channel": "Cannot post user messages to a channel they are not in.",
"rate_limited": "Application has posted too many messages, read the Rate Limit documentation for more information.",
"restricted_action": "A workspace preference prevents the authenticated user from posting.",
"restricted_action_non_threadable_channel": "Cannot post thread replies into a non\\_threadable channel.",
"restricted_action_read_only_channel": "Cannot post any message into a read-only channel.",
"restricted_action_thread_locked": "Cannot post replies to a thread that has been locked by admins.",
"restricted_action_thread_only_channel": "Cannot post top-level messages into a thread-only channel.",
"slack_connect_canvas_sharing_blocked": "Admin has disabled Canvas File sharing in all Slack Connect communications.",
"slack_connect_file_link_sharing_blocked": "Admin has disabled Slack File sharing in all Slack Connect communications.",
"slack_connect_lists_sharing_blocked": "Admin has disabled Lists sharing in all Slack Connect communications.",
"team_not_found": "This error occurs if, when using an org-wide token, the `channel_name` is passed instead of the `channel_id`.",
"too_many_attachments": "Too many attachments were provided with this message. A maximum of 100 attachments are allowed on a message.",
"too_many_contact_cards": "Too many contact\\_cards were provided with this message. A maximum of 10 contact cards are allowed on a message."
},
"rate_limit": {
"label": "Special rate limits apply.",
"url": "https://docs.slack.dev/apis/web-api/rate-limits"
},
"scopes": {
"bot": [
{
"name": "chat:write",
"url": "https://docs.slack.dev/reference/scopes/chat.write"
}
],
"user": [
{
"name": "chat:write",
"url": "https://docs.slack.dev/reference/scopes/chat.write"
}
]
}
}