Skip to content

redanthrax/halopsa-node

Repository files navigation

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 (see SECURITY.md). Development requires Node.js 22+ (transitive isolated-vm from n8n-workflow). After clone:

corepack enable && corepack prepare pnpm@10.19.0 --activate
pnpm install --frozen-lockfile
pnpm run audit:supply-chain
pnpm run build

Installation

Follow the installation guide in the n8n community nodes documentation.

npm install n8n-nodes-halopsacomplete

Prerequisites

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

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors