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

n8n-nodes-halopsacomplete

v5.2.0

Published

An n8n node to connect to HaloPSA API

Downloads

297

Readme

n8n-nodes-halopsacomplete

An n8n community node for integrating with HaloPSA API.

Development

This repo uses pnpm with a committed lockfile and supply-chain controls in pnpm-workspace.yaml (see SECURITY.md). Development requires Node.js 22.22.3+ (CI and dependency engines). After clone:

corepack enable && corepack prepare [email protected] --activate
pnpm install --frozen-lockfile
pnpm run audit:supply-chain
pnpm run build

Use pnpm only for installs in this repo. With Corepack enabled, npm install and yarn install are rejected. Do not commit package-lock.json or yarn.lock (see SECURITY.md).

Live preview with n8n-node dev

n8n-node dev

Requires Node.js 22.22.3+.

Installation

Follow the installation guide in the n8n community nodes documentation.

npm install n8n-nodes-halopsacomplete

Prerequisites

  • HaloPSA instance with API access
  • OAuth 2.0 Client ID and Client Secret from HaloPSA
  • Your HaloPSA base URL (e.g., https://your-domain.halopsa.com)

Setup

Setting up OAuth 2.0 in HaloPSA

  1. Log into your HaloPSA instance
  2. Navigate to Configuration > Integrations > HaloPSA API
  3. Create a new OAuth 2.0 Client Application
  4. Set the Grant Type to "Client Credentials"
  5. Configure the appropriate scopes (recommend "all" for full access)
  6. Note down the Client ID and Client Secret for use in n8n

Configuring Credentials in n8n

  1. Base API URL: Your HaloPSA instance URL (e.g., https://your-domain.halopsa.com)
  2. Client ID: OAuth 2.0 Client ID from HaloPSA
  3. Client Secret: OAuth 2.0 Client Secret from HaloPSA
  4. Scope: OAuth 2.0 scope (default: "all" for full API access)

Dynamic filters and options (expressions)

Operations that support Filters also expose Filters (JSON) for runtime values (e.g. {"client_id": {{ $json.client_id }}}). JSON keys override the same keys from the UI Filters collection.

Get by ID on Tickets, Users, Assets, Projects, and Ticket Statuses also support Options (JSON) with the same override behavior.

Use the JSON fields when driving values from webhooks, upstream nodes, or expressions; use the UI collections for static values.

Return All on list operations paginates through the HaloPSA API automatically (1000 rows per page).

Supported Operations

Triggers

HaloPSA Trigger

Receive real-time webhook notifications from HaloPSA for ticket events:

  • New Ticket Logged — New ticket created
  • Ticket Updated by User — User updated a ticket
  • Closed — Ticket closed
  • 1st SLA Warning / 2nd SLA Warning — SLA breach warnings
  • Ticket Deadline — Ticket reached its deadline
  • Ticket Status Changed — Status changed
  • Ticket Deleted — Ticket deleted

The trigger creates and manages webhooks in HaloPSA (subscription and cleanup).

Resources (actions)

| Resource | Documentation | |----------|----------------| | Action (ticket actions / notes) | actions.md | | Agent | agents.md | | Appointment | appointments.md | | Approval Process | approval-processes.md | | Approval Process Rule | approval-process-rules.md | | Asset | assets.md | | Attachment | attachments.md | | Automation | automations.md | | Canned Text | canned-text.md | | Category | categories.md | | Client | clients.md | | Contract | contracts.md | | Contract Rule | contract-rules.md | | Contract Schedule | contract-schedules.md | | Contract Schedule Plan | contract-schedule-plans.md | | Custom API Call | custom-api.md | | Feed | feed.md | | Field Info | field-info.md | | Holiday | holidays.md | | Invoice | invoices.md | | Invoice Payment | invoice-payments.md | | Item | items.md | | Notification | notifications.md | | Knowledge Base | knowledge-base.md | | Lookup | lookups.md | | Opportunity | opportunities.md | | Outcome | outcomes.md | | Product Branch | product-branches.md | | Product Component | product-components.md | | Project | projects.md | | Purchase Order | purchase-orders.md | | Quotation | quotations.md | | Raynet | raynet.md | | Raynet Details | raynet-details.md | | Recurring Invoice | recurring-invoices.md | | Release | releases.md | | Release Note Group | release-note-groups.md | | Reporting | reporting.md | | Sales Order | sales-orders.md | | Secure Secret Link | secure-secret-links.md | | Security Check | security-checks.md | | Site | sites.md | | Supplier | suppliers.md | | Survey | surveys.md | | Tag | tags.md | | Team | teams.md | | Top Level | top-levels.md | | Transcription | transcription-store.md | | Ticket | tickets.md | | Ticket Approval | ticket-approvals.md | | Ticket To-Do | ticket-todos.md | | To-Do Group | todo-groups.md | | Ticket Status | ticket-statuses.md | | Ticket Type | ticket-types.md | | Timesheet | timesheet.md | | Timesheet Event | timesheet-event.md | | User | users.md | | Webhook | webhooks.md | | Webhook Event | webhookEvents.md |

API paths not listed above can be called with Custom API Call. swagger.json at the repo root is the OpenAPI reference for discovering endpoints and payloads.

Resources

License

MIT