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

@processlink/node-red-contrib-processlink

v1.9.2

Published

Node-RED nodes for Process Link platform integration - upload files, send emails, send SMS alerts, and connect to industrial automation systems

Readme


What's Included

| Node | What it does | |------|--------------| | files upload | Upload files to Process Link | | send email | Send emails with optional file attachments | | send SMS | Send SMS messages | | notify group | Notify a managed group (email + SMS) | | system info | Output device diagnostics (hostname, memory, disk, uptime, etc.) |

All messaging nodes use the ProcessMail API and output on two pins: success (1) and error (2). System info has a single output.

Installation

Palette Manager (recommended): Menu > Manage palette > Install > search @processlink/node-red-contrib-processlink

npm:

cd ~/.node-red
npm install @processlink/node-red-contrib-processlink

Getting Started

  1. Log in to the Process Link Portal
  2. Go to Developer > API Keys and generate a key
  3. Copy your Site ID and API Key
  4. In Node-RED, drag any Process Link node into your flow
  5. Double-click it, click the pencil icon next to "Config", and enter your credentials
[Inject] > [File In] > [files upload] --+-- success > [Debug]
                                        +-- error   > [Debug]

Node Reference

Files Upload

Uploads files to Process Link.

Config: Set a filename (overrides msg.filename), pick a destination folder, and optionally prefix filenames with a timestamp.

Input: msg.payload (Buffer or string) with the file content. msg.filename as an optional fallback.

Success output: msg.file_id, msg.statusCode (201)

Send Email

Sends emails via ProcessMail. Supports To, CC, BCC, Reply-To, plain text or HTML body.

Input: msg.to, msg.subject, msg.body, msg.bodyType ("text" or "html")

Attachments: Connect an upload node first — msg.file_id is picked up automatically. For multiple files, collect IDs into msg.attachments as [{ fileId: "uuid" }].

Success output: msg.email_id, msg.statusCode (200)

Send SMS

Sends SMS messages via ProcessMail. Phone numbers must be in E.164 format (+61412345678).

Input: msg.to (string or array), msg.body

Success output: msg.message_id, msg.payload.segment_count, msg.statusCode (200)

Notify Group

Sends notifications to a managed group. Instead of hardcoding recipients in your flow, you reference a group key (e.g. maintenance-alerts). Org admins manage members and their preferred channels (email, SMS, or both) in ProcessMail — no flow changes needed.

Input: msg.group_key, msg.subject, msg.body

Options: Branded email template, link-only attachments (sends download links instead of inline files), HTML body support.

Attachments: Same as send email — connect an upload node or pass msg.attachments.

Success output: msg.payload.notifications_sent (e.g. { email: 3, sms: 2 }), msg.payload.total_recipients

Setup:

  1. Create a notification group in ProcessMail
  2. Add members and set contact preferences
  3. Use the group key in this node

System Info

Outputs system diagnostics: hostname, platform, OS, CPU, memory, disk, network, uptime, Node-RED version, and more.

Triggers on deploy (optional) or on any incoming message. Single output with everything in msg.payload.


Example Flows

We include a demo flow with examples for every node. Import it into Node-RED to try things out.

Download the demo flow — copy the JSON, then Menu > Import > Clipboard.

[
    {
        "id": "pl-inject",
        "type": "inject",
        "z": "",
        "name": "Upload File",
        "props": [],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 110,
        "y": 100,
        "wires": [["pl-file-in"]]
    },
    {
        "id": "pl-file-in",
        "type": "file in",
        "z": "",
        "name": "Read File",
        "filename": "/tmp/myfile.csv",
        "filenameType": "str",
        "format": "",
        "chunk": false,
        "sendError": false,
        "encoding": "none",
        "allProps": true,
        "x": 270,
        "y": 100,
        "wires": [["pl-upload"]]
    },
    {
        "id": "pl-upload",
        "type": "processlink-files-upload",
        "z": "",
        "name": "Upload to Process Link",
        "server": "",
        "filename": "",
        "timeout": "30000",
        "apiUrl": "https://files.processlink.com.au/api/v1/sites/{siteId}/files/upload",
        "x": 470,
        "y": 100,
        "wires": [["pl-debug-success"], ["pl-debug-error"]]
    },
    {
        "id": "pl-debug-success",
        "type": "debug",
        "z": "",
        "name": "Success",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "x": 680,
        "y": 80,
        "wires": []
    },
    {
        "id": "pl-debug-error",
        "type": "debug",
        "z": "",
        "name": "Error",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "x": 670,
        "y": 120,
        "wires": []
    }
]

After importing, update the file path and add your credentials.


Security

API keys are stored encrypted by Node-RED, all communication uses HTTPS, and keys are never logged or exposed in flow exports.

Requirements

  • Node-RED >= 2.0.0
  • Node.js >= 18.0.0

Support

License

MIT