Description
n8n-nodes-runn-dotsandarrows
This is an n8n community node. It lets you use the Runn API in your n8n workflows.
Runn is a resource planning and project forecasting platform. This node allows you to manage people, projects, and clients, and react to changes in real time using the trigger node.
n8n is a fair-code licensed workflow automation platform.
Installation |
Operations |
Credentials |
Compatibility |
Usage |
Resources |
Version history
Installation
Follow the installation guide in the n8n community nodes documentation.
Local Development
Install dependencies
npm installBuild before you run
npm run buildStart n8n with the custom node loaded (recommended)
npm run devAlternative: use globally installed n8n
npm run dev:local
Operations
Actuals
| Operation | Description |
| —————— | ————————————————————————————————— |
| Create or Update | Create or update an actual. Overwrites any existing actual for the same date, person, project, role, and workstream. |
| Delete | Delete an actual by ID |
| Get All | Get all actuals, with an optional Modified After date filter |
Assignments
| Operation | Description |
| ———– | ————————————————————————————————————— |
| Create | Create a new assignment. Required: Person ID, Project ID, Role ID, Start Date, End Date, Minutes Per Day. Optional: Billable, Include Non-Working Days, Note, Phase ID, Workstream ID |
| Delete | Delete an assignment by ID |
| Get All | Get all assignments, with optional filters: Person ID, Project ID, Role ID, Start Date, End Date, Modified After, Only Active |
People
| Operation | Description |
| ———– | ———————— |
| Archive | Archive a person |
| Create | Create a new person |
| Delete | Delete a person |
| Get All | Get all people |
| Get One | Get a single person |
| Unarchive | Unarchive a person |
| Update | Update a person |
Projects
| Operation | Description |
| ———— | ————————– |
| Add Note | Add a note to a project |
| Archive | Archive a project |
| Create | Create a new project |
| Delete | Delete a project |
| Get All | Get all projects |
| Get One | Get a single project |
| Unarchive | Unarchive a project |
| Update | Update a project |
Clients
| Operation | Description |
| ————- | ——————— |
| Archive | Archive a client |
| Create | Create a new client |
| Get All | Get all clients |
| Get One | Get a single client |
| Unarchive | Unarchive a client |
| Update | Update a client |
Contracts
| Operation | Description |
| ———– | ————————————————————————————————————– |
| Get All | Get all contracts, with optional filters: Modified After, Sort By (id / createdAt / updatedAt), Order (asc / desc) |
Time Offs
| Operation | Description |
| —————- | ———————————————————————————————————————— |
| Create Leave | Create a leave time off for a person. Automatically merges overlapping time offs. Required: Person ID, Start Date, End Date. Optional: Minutes Per Day, Note. |
| Get All Leave | Get all leave time offs, with optional filters: Person ID, Start Date, End Date, Modified After, Sort By, Order. |
Runn Trigger
The trigger node polls the Runn API and fires when records are created, updated, or deleted.
Resources: People, Projects, Clients, Assignments, Actuals, Contracts, Users, Teams
Events: Created, Updated, Deleted
Each trigger output includes a runnLink field with a direct link to the changed record in the Runn app.
Credentials
To use this node you need a Runn API key:
| Field | Description |
| ———– | —————————————————————————————– |
| API Key | Your Runn API key. Generate one in Runn under Settings → API. |
The node authenticates using a Bearer token in the Authorization header.
Compatibility
- Requires Node.js v18 or higher
- Uses the
runn-api-clientnpm package - n8n community nodes documentation
- Runn API documentation
- How to generate a Runn API token
- GitHub repository
- Wrapped raw HTTP errors in
NodeApiErrorso status codes and response bodies surface correctly in the n8n UI - Renamed resource options to singular: Actual, Assignment, Client, Contract, Person, Project, Time Off
- Replaced
runn-api-clientnpm dependency with n8n’s built-inhttpRequestWithAuthenticationhelper — removes the external dependency that blocked n8n Cloud vetting - Converted trigger node from
setInterval-based polling to n8n’s nativepolling: true+poll()pattern - Added
authenticateproperty to credentials so auth headers are injected automatically by n8n - Added Time Offs resource with Create Leave (POST
/time-offs/leave/) and Get All Leave (GET/time-offs/leave/) operations - Added Contracts resource with Get All operation (GET
/contracts/), supporting optional filters: Modified After, Sort By, and Order - Added Delete operation to Assignments resource
- Fixed date timezone bug: dates no longer shift by one day for users in timezones ahead of UTC
- Added Create operation to Assignments resource (POST
/assignments/) with required fields (Person ID, Project ID, Role ID, Start Date, End Date, Minutes Per Day) and optional fields (Billable, Include Non-Working Days, Note, Phase ID, Workstream ID) - Added Assignments resource with Get All operation, supporting server-side filters (Person ID, Project ID, Role ID, Start Date, End Date, Modified After) and client-side Only Active filter
- Added Actuals resource with Create or Update, Delete, and Get All operations
- Added Team ID or Name field to the People > Create operation — accepts either a numeric ID or a team name (resolved automatically)
- Fixed credential test: corrected API base URL and added required headers so the green “Connection tested” badge now appears
- Fixed
updatePerson: First Name, Last Name, and Email are no longer required fields (partial updates now work) - Fixed trigger node: removed duplicate fields in trigger output
- Fixed error handling: all write operations now handle network errors safely
- Removed debug-level logging from production API calls
- Initial release
- People resource with Archive, Create, Delete, Get All, Get One, Unarchive, and Update operations
- Projects resource with Add Note, Archive, Create, Delete, Get All, Get One, Unarchive, and Update operations
- Clients resource with Archive, Create, Get All, Get One, Unarchive, and Update operations
- Runn Trigger node for polling-based event detection across all resources
- Bearer token authentication with credential test
Usage
1. Add the Runn node (or Runn Trigger) to your workflow
2. Configure your Runn API credentials
3. Select a resource (Actuals, Assignments, Clients, Contracts, People, Projects, or Time Offs)
4. Choose an operation
5. Fill in the required parameters
6. Execute the workflow
Tip: Use the Runn Trigger node to automatically start workflows when records change in Runn — no webhooks required, it uses polling.
Resources
Attribution
This project is based on n8n-nodes-runn by Roman Rodomansky @ Ralabs, which is in turn based on the n8n community node starter template. Both are released under the MIT License. This package extends the original with additional resources, operations, and improvements.