Post messages, open modals and route approvals through Slack from any Windmill script, flow or app. Connect once — with OAuth or a bot token — then reuse the same resource everywhere, and let Slack events, slash commands and interactive buttons trigger your flows back.
What you can do with Slack
Complete, deployable projects built around Slack — the fastest way to get something real running.
Set up in 2 steps
Connect from the Resources page
Open Resources, click Add a resource/API and pick slack from the OAuth APIs list. Click Connect, allow access in the window that opens, then name the resource and save it. You are redirected to the Slack workspace your browser is signed in to.
Run your first script
Fork any script below and run it against a test channel. Messages are posted by the connected Slack app, not under your own name.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Send Message Using Block Kit
Send Message To A Private Channel
Archive Channel
Send Message Using Block Kit
Unarchive Channel
List Reminders
Find Message
List Replies
Send a Custom Message
Update Profile
Send Group Message
Delete Reminder
Send Message to a Public Channel
Delete File
Update Message
Create a Channel
Reply to a Message Thread
Send Message to a Private Channel
Invite User to Channel
Get Reminder
List Channels
Create Reminder
Set Channel Topic
List Members in Channel
Remove Star
Get Channel
Complete Reminder
List Files
Upload File
Send direct message
Flows
Multi-step workflows that already wire Slack to something else.
List Slack channels and send shared message to selected channels
Example handler for slack bot commands and @mentions
Whenever an HackerNews message contains a mention, publish it to slack with sentiment analysed
OCR receipt pictures in gdrive folder and send result to Slack
See account data over the last 3 days as a pie chart
Ban a user, notify them by email, and us by Slack
Slack Alert EUR/USD Exchange rate
Trigger flows from Slack
Slack is not only a destination. These inbound paths are supported today.
Slash commands
A command like /deploy staging hits a webhook and starts a flow with the arguments as inputs.
Events API
Subscribe to message, reaction_added or app_mention and run a script once per event.
Interactive blocks
Buttons and modals resume a suspended flow step.
Resource type
slack — the shape of the credential every script on this page expects.
| Field | Type | Required | What it is |
|---|---|---|---|
| token | string | No | The slack token |
Questions
OAuth or a bot token?
Both give the workspace a bot token, so messages go out as the app either way. OAuth is one click and needs no Slack app of your own, but its scopes are fixed: posting, joining channels and uploading files. Create your own app when a script needs a scope outside that set — reading channel history, for instance.
Do I need a paid Slack plan?
No. A free workspace covers everything the scripts here do.
Is my token stored on the hub?
Never. It lives only in your own Windmill workspace, encrypted at rest.
There is no Connect button on my instance
Self-hosted instances need an OAuth client configured once by an admin before the tile appears. Until then, use a bot token.