npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@qomodome/node-red-slack

v1.1.1

Published

Node-RED nodes for calling Slack Web API with reusable token config

Readme

node-red-slack

Node-RED nodes to call Slack Web API methods.

What you get

  • slack-config: stores one Slack bot token (xoxb-...) and reuses it across flows.
  • slack-api: generic Slack API caller.
  • No runtime dependencies outside Node.js built-ins.

Requirements

  • Node.js 18+
  • Node-RED 3+
  • A Slack bot token with the scopes required by the API methods you call

Installation

From the Node-RED editor:

  1. Go to Manage palette > Install tab
  2. Search for @qomodome/node-red-slack
  3. Click Install

From the command line:

npm install @qomodome/node-red-slack

Use the node

  1. Add a slack-config node and set your bot token.
  2. Add a slack-api node and link it to that config.
  3. Send a message where:
msg.topic = "chat.postMessage";
msg.payload = {
  channel: "#my-channel",
  text: "Hello from Node-RED"
};
return msg;

If msg.topic is missing, slack-api uses its Default Method field.

Node reference

slack-config

  • name (optional): label in editor
  • token (required): Slack bot token

slack-api

  • slack config (required): reference to slack-config
  • default method (optional): fallback method when msg.topic is empty
  • default channel (optional): fallback channel when msg.payload.channel is missing or empty

Message contract

Input:

  • msg.topic (string): Slack method, for example chat.postMessage
  • msg.payload (object): request body sent to Slack
  • msg.payload.channel (optional): if provided, overrides the node default channel. This is channel field in body request

Output on success:

  • msg.payload: Slack response body (parsed JSON when possible)
  • msg.slack:
    • method
    • statusCode
    • ok

Error behavior:

  • Emits node.error(err, msg) and calls done(err)
  • Fails when config/token/method is missing
  • Fails when msg.payload is not an object
  • Fails on HTTP status >= 400
  • Fails when Slack responds with ok: false
  • No built-in retry/backoff

Use Node-RED catch nodes and your own flow logic for retries and recovery.

Local Docker run

From repository root:

docker compose up --build

Then open:

http://localhost:1880

Notes:

  • This setup auto-installs the local module into /data/node_modules.
  • Flows persist in a named Docker volume mounted at /data.
  • Rebuild after source changes:
docker compose up --build --force-recreate

Development

Run tests:

npm test

Configure your git with custom hooks:

git config core.hooksPath .githooks

Publishing

The publish process is automated via GitHub Actions when pushing a tag that matches the package.json version. To publish a new version:

npm version X.Y.Z
git push origin main vX.Y.Z

For manual publish (not recommended - use only for emergencies):

  1. Verify you have an npm account and are logged in with npm whoami. If not, run npm login --scope=@qomodome --auth-type=web and follow the prompts.
  2. Update version in package.json
  3. Verify contents with npm pack --dry-run
  4. Publish to npm:
npm publish --access public

License

MIT License. See LICENSE for details.