dusk bot
integrationssend message

dusk botintegrationsslack

send a slack message or thread reply with ai

turn the maintenance calendar into a notice the team can use. a bot can post to an accessible slack channel, direct message or private group, and reply in a thread.

by the dusk bot team · checked · how we made this

show it the destination and the wording to send. sends ask first by default unless you allow a daily amount. after an uncertain result, open slack before retrying to avoid a duplicate.

pixel art: a purple pixel bot and an indigo pixel bot beside the Slack mark on a white tile, two chat bubbles and a signpost, on a lemon field in front of an open blue sky, one saying "post in this thread"

where it helps

  • maintenance notices: post approved wording to operations.
  • delivery questions: reply under the original message.
  • a teammate's request: send the address you checked by direct message.
  • working sessions: put the agreed agenda in the project channel.

the short version

choose the destination before the wording. name the channel or person and say what to send. ordinary notes use markdown; structured layouts use slack blocks instead.

for a reply, the bot finds the original message. for a direct message, it opens that conversation first. say "keep it in the thread" if you don't want a broadcast to the main channel.

step by step

  1. choose the workspace. connect slack and allow read and write for posting.
  2. set ask every time. read the channel or person on the first sending card.
  3. keep replies where they belong. have the bot read the original and avoid a channel broadcast.
  4. inspect one post. open the posted message before setting a repeat schedule.

send this to your bot

paste this into a chat with your bot

every wednesday at 16:10, read this week's confirmed maintenance windows on the maintenance calendar. prepare a notice for kilnworks-maintenance in slack. show the exact wording and channel here, then wait for my allow. if there is no confirmed window, stay quiet. report the posting result here. never mention people, broadcast elsewhere or retry an uncertain send without checking if it appeared.
when
wednesdays at 16:10
needs
google calendar access for reading maintenance windows; slack read and write with channel access; sending set to ask every time

what comes back looks like this (an example)

ready for your allow: kilnworks-maintenance

erin confirmed the loading bay maintenance window on the calendar. please use the side entrance during that time.

destination: kilnworks-maintenance, with no mentions.

what can go wrong

  • careful with Full access: a bot there with no sending rule can send up to 25 a day without asking. give it Ask every time.
  • a familiar name doesn't grant access. missing, archived or inaccessible channels can block a post.
  • retries can duplicate messages. look for the message in the conversation before sending again.
  • if slack asks it to slow down, it waits. repeated sends aren't the fix.

permissions and asking first

dusk bot counts Send message as a send: it reaches people or moves money, so it waits for your Allow (unless you set a daily amount, or the bot is on Full access with no sending rule, which lets it send up to 25 a day). a bot you allow only to read can never call it.

the permissions Slack asks for to run it: chat:write.

inputs

inputrequiredwhat it is
channelyesID or name of the channel, private group, or IM channel to send the message to.
blocksnoUse this instead of `markdown_text` only when you need Slack Block Kit capabilities that Markdown cannot express: buttons, approval/reject actions, select menus, checkboxes, radio buttons, date/time pickers, overflow menus, interactive workflow payloads, section accessories, image/video blocks, cont
thread_tsnoTimestamp (`ts`) of an existing message to make this a threaded reply.
unfurl_linksnoEnable unfurling of text-based URLs.
unfurl_medianoEnable media previews (images, videos) from URLs.
fallback_textnoOptional only when using `blocks`.

from composio's catalog for Slack (action SLACK_SEND_MESSAGE, read 12 november 20264). your bot fills these in from what you tell it.

try it in 2 minutes

  1. set sending to ask every time
  2. name one channel and ask for a short test note
  3. read the workspace and destination before allow
  4. open slack and inspect the posted message

quick checklist

  • the workspace and channel or person are right
  • the reply stays in the intended thread
  • mentions and broadcasts are deliberate
  • an earlier attempt did not already post

mistakes people make

saying "reply" without naming the thread

link the original and ask to keep the reply there.

retrying after a timeout

open slack first. the first post may already be there.

questions

can it reply without alerting the whole channel?

yes. keep it in the thread. ask the bot to reply beneath the original without broadcasting to the main channel.

can it message a person by name alone?

yes, if it can find the person. it looks them up and opens the direct message. read the person's profile before posting.

sources

  1. dusk bot docs: files and apps
  2. dusk bot docs: routines
  3. dusk bot docs: a bot's computer
  4. composio, Slack toolkit (catalog version 20261101_00), checked 12 november 2026

drafted with ai help from the dusk bot docs and the sources listed on this page, then checked against them. if something here is wrong or out of date, write to [email protected].