n8n2erpnext HRMS Nodes
Community n8n nodes for controlled ERPNext/Frappe HRMS automation across employees, attendance, leave, payroll-adjacent workflows, and shifts.
HRMS automation for connected operations
This is the first n8n2erpnext package. It gives SME and mid-market teams a controlled boundary for employee, attendance, leave, payroll-adjacent, and shift workflows without writing a separate Frappe client for every automation.
Supported ERPNext resources
Employee, Attendance, Employee Checkin, Leave Application, Leave Allocation, Expense Claim, Salary Slip, Shift Assignment, Holiday List, Custom DocType, and Frappe Method.
Operations and API
Standard HRMS resources expose Create, Get, Get Many, Update, Delete, Submit, and Cancel. The node supports Frappe document API v1 at /api/resource/:doctype and API v2 at /api/v2/document/:doctype. A whitelisted Frappe Method operation is available for controlled method calls.
Typical workflow
ERPNext Webhook or client request -> n8n Webhook -> validation, mapping, approval, or notification logic -> ERPNext HRMS node -> ERPNext document or downstream system. Read workflows should prefer Get Many with explicit fields, such as employee name, status, company, and department.
Verified behavior
- All supported HRMS resources were exercised through Get Many against the ERPNext LXD test instance; empty DocTypes returned safely as empty arrays.
- Custom DocType was exercised with Company and Frappe Method with
frappe.client.get_count. - API v1 and v2 employee read webhooks returned HTTP 200.
- A 200-request stress run returned 200/200 successful responses with no errors.
- The audit found that single-document Get can expose sensitive HR/PII fields, so the public-ish demo surface is restricted to allowlisted Get Many fields.
Scope
HRMS is intentionally separate from Accounting, Buying, Selling, and Stock. Broader adoption still requires per-workflow permission review, credential redaction checks, and production data-retention controls.
Integration and security boundary
The node authenticates to Frappe with an ERPNext API credential and supports an internal URL plus Site Host Header for self-hosted deployments. Use a dedicated integration user with scoped roles, explicit fields for read workflows, private or authenticated webhooks, HTTPS, and controlled execution-data retention. Never expose API keys, secrets, authorization headers, raw upstream errors, or full ERPNext documents through a public workflow.
Build and release
Each package is released as an MIT-licensed n8n community node with TypeScript build/lint checks, n8n node-cli validation, npm audit, and packed-artifact review. Install the package from npm or inspect the source at GitHub. Temporary write-test workflows are deactivated after verification.