Manipulate messages throughout Slack

Retrieving messages

Find conversations, and dig into a conversations history to find specific messages, or message threads

Sending messages

Transform monologues into conversations, and conversations into workflows, by learning how apps can publish messages

Modifying messages

Messages are not set in stone β€”Β reflect changing info and interaction by updating or deleting messages

Scheduling messages

Queue up messages for publication at a specific time with the scheduled messages API

Working with files

Treat files like regular messages and host files inside Slack.

Working with metadata

Messages in Slack can be infused with structured metadata about what's happening.

Sending messages using Incoming Webhooks

Creating an Incoming Webhook gives you a unique URL to which you send a JSON payload with the message text and some options.

Composing and designing messages

Fancy formatting and stackable Block Kit components give you formidable tools for visual customization.

Making messages interactive

Go beyond static communication and enter a realm of complex workflows.

Reference guides

Reference: Message payloads

Messages pack many fields besides message text alone. Your field guide to the deep dark woods of messaging.

Reference: Block Kit

Follow these field guides down the rabbit hole to build the perfect block burrow for your app.

Unfurling links in messages

Your guide to unfurling link previews within messages.

Formatting text for app surfaces

A guide to using the mrkdwn syntax for your app-published text in messages, modals, and tabs.

Migrate your legacy message compositions to blocks

Transforming your legacy message attachments into modern Block Kit layouts.