Send Text to Slack
Pipe your prompts and LLM captions straight into a Slack channel
Every node in the ComfyUI-Slack pack sends something to Slack; this is the one that sends words. Send Text to Slack posts a message to a channel or DM the moment the workflow reaches it - the obvious place to pipe an LLM caption, the positive prompt you just used, or a "render #12 of the batch is done" status line. No file upload, no encode step, so it's instant and basically free to sprinkle through a workflow.
How it works
It's an output node with no outputs, like its media siblings. You feed it a text string, it posts it via the Slack SDK, and that's it. The useful twist is Markdown translation: the pack rewrites standard Markdown into Slack's mrkdwn format before sending. **bold** becomes *bold*, _italic_ becomes _italic_, [text](url) becomes <url|text>, # Heading becomes bold text (mrkdwn has no headings), and - item becomes a bullet. Code spans and fenced blocks pass through untouched because they're already valid Slack.
That's why the node pairs so well with the LLM nodes in the ecosystem - a caption node that emits Markdown can feed this directly and come out looking right in Slack, instead of dumping raw ** everywhere.
The inputs that matter
text- the message body, a multiline field. This is the whole point; wire a caption or prompt string in here.channel- same rules as every node in the pack:#general,@alice, or a rawC…/U…ID. A user gets a DM.filename_prefix- only matters ifsave_outputis on; that's the base name of the local copy.
Everything else is optional. save_output writes the message to disk as a .md file - and note the detail the README is careful about: the saved copy stores the original Markdown source, not the Slack-translated version, so what you archive is what you wrote. user_id prepends an @-mention (the pack's Slack listener auto-fills it), and thread_ts lets you reply under an existing thread instead of cluttering the channel root.
Install
Part of ComfyUI-Slack, so install is identical to the rest of the pack - ComfyUI Manager (search "ComfyUI-Slack"), or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/claussteinmassl/ComfyUI-Slack
pip install -r requirements.txt
Light dependencies (slack-sdk, Pillow, imageio-ffmpeg), no models. The recurring chore is the Slack app: create one from the README's manifest, install it, set SLACK_BOT_TOKEN in the environment you launch ComfyUI from, and /invite @ComfyUI to the channel. The token comes from the environment, never the node UI - miss it and you'll get SLACK_BOT_TOKEN environment variable is not set at run time.
Troubleshooting
Text is the least failure-prone node here because there's no encoding step - it's one API call. The Slack-side gotchas are the usual ones: not_in_channel means the invite's missing, and a private channel won't resolve by name until the bot is a member (raw IDs always work). If your Markdown shows up as literal ** and _, you're probably feeding it a string that isn't going through this node's translation - double-check you're connected to text and not posting from somewhere else.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Message to post. Standard Markdown (**bold**, _italic_, [text](url), # headings, `code`, - bullets) is translated to Slack formatting. | |
| channel | STRING | Channel or user: #general, @alice, or a raw ID. A user (@name or U…) is sent as a direct message. Names resolve automatically; the bot must be a member of private channels. | |
| filename_prefix | STRING | ComfyUI | — |
| save_output | BOOLEAN | false | Also write the message to disk (as a .md file) in addition to sending it to Slack. |
| save_location | COMBO | Where the saved copy is written. 'ComfyUI output folder' uses ComfyUI's output directory with an auto-incrementing counter; 'Absolute path' writes into the folder set below. | |
| output_folder | STRING | Base folder for the saved copy. Used only when save_location is 'Absolute path'; combined with filename_prefix. | |
| thread_tsopt | STRING | Slack thread to reply under. Connect a Slack Thread Start node here to post into the same thread as other send nodes. Leave unconnected to post to the channel root. Also auto-filled by the Slack listener. | |
| user_idopt | STRING | Slack user ID to @-mention at the start of the message. Auto-filled by the Slack listener. |
Outputs (0)
No outputs