n8n-nodes-alga-psa
v0.3.0
Published
Alga PSA community node for n8n
Maintainers
Readme
n8n-nodes-alga-psa
Alga PSA community node package for self-hosted n8n instances.
What This Package Provides
This package adds one node to n8n:
- Node name:
Alga PSA - Credential:
Alga PSA API - Resources:
- Ticket
- Contact
- Client
- Board
- Status
- Priority
Requirements
- Self-hosted n8n (community nodes are not available on n8n Cloud when unverified)
- Alga PSA API access with an API key
Installation
Option 1: n8n UI (Self-Hosted)
- Open your n8n instance.
- Go to
Settings -> Community Nodes. - Install package:
n8n-nodes-alga-psa. - Restart n8n if prompted.
Option 2: Manual npm Install (Self-Hosted)
Install in the n8n environment where your instance runs:
npm install n8n-nodes-alga-psaThen restart n8n.
For manual/custom installation paths, follow n8n's manual community-node installation guidance for your deployment type.
Credential Setup
Create credential type Alga PSA API with:
Base URLexample:https://algapsa.comAPI Keyyour Alga PSA key (sent asx-api-keyheader)- Field names in node credentials:
baseUrl,apiKey
Operation Matrix
| Resource | Operations | | --- | --- | | Ticket | Create, Get, List, List Comments, Search, Update, Add Comment, Update Status, Update Assignment, Delete | | Contact | Create, Get, List, Update, Delete | | Client | List | | Board | List | | Status | List | | Priority | List |
Ticket Field Requirements
Ticket create requires:
titleclient_idboard_idstatus_idpriority_id
Create/Update optional fields are grouped under additional options.
Contact Field Requirements
Contact create requires:
full_name
Contact create/update optional fields:
emailclient_idrolenotesis_inactivephone_numbers
Contact list supports:
PageLimitclient_idsearch_termis_inactive
phone_numbers is authored as JSON in the first pass and must be an array of objects with a required phone_number field.
Ticket Comment Operations
Ticket comment support stays under the Ticket resource:
List CommentsrequiresticketIdand supports optionallimit,offset, andorder.Add CommentrequiresticketIdandcomment_text, with optionalis_internal.time_spentis intentionally not exposed because the current Alga PSA ticket comment implementation does not persist or use it.
Lookup Fields and Manual Fallback
For ticket client_id, board_id, status_id, and priority_id, plus contact client_id:
- Use dynamic list lookups (
From List) when available. - Use manual UUID input (
By ID) if lookups fail or if you already know the ID.
Output and Error Behavior
- API responses unwrap
{ data: ... }for easier downstream use. - Paginated list responses, including
Contact -> List, preservepaginationmetadata. - Delete, including
Contact -> Delete, returns a non-empty success object containingsuccess,id, anddeleted. - Continue On Fail is supported with item-level error objects containing
error.code,error.message, anderror.detailswhen available.
Example Workflows
Four minimal importable examples are included:
examples/create-update-assignment.workflow.jsonexamples/search-update-status.workflow.jsonexamples/add-comment-then-list-comments.workflow.jsonexamples/create-update-contact.workflow.json
These demonstrate:
- Ticket create -> update assignment
- Ticket search -> update status
- Ticket add comment -> list comments
- Contact create -> update
