@processlink/node-red-contrib-processlink 1.9.2

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

npm install @processlink/node-red-contrib-processlink

Process Link

Node-RED Integration

Connect your Node-RED flows to the Process Link platform

npm version npm downloads Node-RED License: MIT


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.

Quick start flow (file upload)
[
    {
        "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

Node Info

Version: 1.9.2
Updated 14 hours ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

10 in the last week

Nodes

  • processlink-config
  • processlink-files-upload
  • processlink-system-info
  • processlink-mail
  • processlink-sms
  • processlink-notify-group

Keywords

  • node-red
  • processlink
  • process-link
  • files
  • upload
  • api
  • industrial
  • iot
  • automation
  • manufacturing
  • scada
  • plc
  • system-info
  • diagnostics
  • monitoring
  • sms
  • alerts
  • notifications
  • notification-groups

Maintainers