Nodes/ComfyUI-Slack/Send Text to Slack
ComfyUI Node

Send Text to Slack

Pipe your prompts and LLM captions straight into a Slack channel

By claussteinmassl·Created 4 months ago·Updated 3 months ago· 1
Send Text to Slack
      text
      channel
      filename_prefixComfyUI
      save_outputfalse
      save_location
      output_folder
      thread_ts
      user_id

      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 raw C…/U… ID. A user gets a DM.
      • filename_prefix - only matters if save_output is 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.

      CategorySlack

      Inputs (8)

      NameTypeDefaultDescription
      textSTRINGMessage to post. Standard Markdown (**bold**, _italic_, [text](url), # headings, `code`, - bullets) is translated to Slack formatting.
      channelSTRINGChannel 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_prefixSTRINGComfyUI
      save_outputBOOLEANfalseAlso write the message to disk (as a .md file) in addition to sending it to Slack.
      save_locationCOMBOWhere 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_folderSTRINGBase folder for the saved copy. Used only when save_location is 'Absolute path'; combined with filename_prefix.
      thread_tsoptSTRINGSlack 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_idoptSTRINGSlack user ID to @-mention at the start of the message. Auto-filled by the Slack listener.

      Outputs (0)

      No outputs