n8n-nodes-halopsacomplete
v5.2.0
Published
An n8n node to connect to HaloPSA API
Downloads
297
Maintainers
Keywords
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 buildUse 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 devRequires Node.js 22.22.3+.
Installation
Follow the installation guide in the n8n community nodes documentation.
npm install n8n-nodes-halopsacompletePrerequisites
- 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
- Log into your HaloPSA instance
- Navigate to Configuration > Integrations > HaloPSA API
- Create a new OAuth 2.0 Client Application
- Set the Grant Type to "Client Credentials"
- Configure the appropriate scopes (recommend "all" for full access)
- Note down the Client ID and Client Secret for use in n8n
Configuring Credentials in n8n
- Base API URL: Your HaloPSA instance URL (e.g., https://your-domain.halopsa.com)
- Client ID: OAuth 2.0 Client ID from HaloPSA
- Client Secret: OAuth 2.0 Client Secret from HaloPSA
- 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
