npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-leadtime

v0.1.11

Published

n8n community node for the Leadtime ERP Public API - Project management, time tracking, billing, and more for digital service companies

Readme

n8n-nodes-leadtime

n8n community node for Leadtime ERP - Project management, time tracking, billing, and more for digital service companies.

📦 Installation

npm install n8n-nodes-leadtime

After installation, restart n8n. The node will appear in the node palette under Leadtime.

🔑 Authentication

The node uses API key authentication. To get your API key:

  1. Log in to your Leadtime workspace
  2. Go to SettingsAPI Keys
  3. Create a new API key
  4. Copy the key and paste it into the node credentials

🎯 Features

Comprehensive API Coverage

The node provides access to 200+ operations across all Leadtime ERP modules:

Project Management

Project (12 operations)

  • Get Many, Get, Create, Update (Full/Partial), Delete
  • Upload File, Get File URL
  • Get Team Members, Get Statistics

Task (18 operations)

  • Get Many (with filters), Get, Create, Update (Full/Partial), Delete
  • Bulk Create, Bulk Update, Bulk Delete
  • Add Comment, Get Comments
  • Get File URL, Upload File
  • Get Time Bookings, Get Statistics

Task Comment (4 operations)

  • Get Many, Get, Create, Update, Delete

Task Template (5 operations)

  • Get Many, Get, Create, Update, Delete

Sprint (6 operations)

  • Get Many, Get, Create, Update, Delete

Project Template (5 operations)

  • Get Many, Get, Create, Update, Delete

CRM & Contacts

Contact (1 operation)

  • Get Many (with filters)

Organizations (16 operations)

Organization - Customer/partner management

  • Get Many, Get, Create, Update (Full/Partial), Delete

Organization Member - External contacts

  • Get Many, Get, Create, Update, Delete

Organization Member Journal - Member journal

  • Get Many, Get, Create, Update, Delete

Time & Attendance

Time Tracking (22 operations)

Time Booking - Log working hours

  • Get Many, Create, Update, Delete

Timetable - Unified calendar view

  • Get (employee schedule)

Attendance - Clock in/out

  • Create/Update, Delete

Vacation Management:

  • Request, Update, Cancel
  • Approve, Decline
  • Get (Pending/Upcoming/History)
  • Stats & Compensation

Sick Days:

  • Request, Update, Delete
  • History

Overtime:

  • Get Stats
  • Get Compensation History

Analytics & Insights

Analytics (5 operations)

Insight - Business intelligence

  • Project Chart (working hours analysis)
  • Staff Chart (employee time analysis)
  • Turnover Chart (revenue analysis & forecast)
  • Goal Chart (employee goal progress)
  • Workload Chart (open tasks analysis)

Administration

Settings & Configuration (29 operations)

Workspace:

  • Details, Upload File
  • List Users, Quick Search
  • Product List, Manual Position Categories

Product Management:

  • Product Catalog (CRUD with variants)
  • Product Categories (Get/Delete)

Settings:

  • Subscription Status
  • Basic Settings (localization, attendance, sprints)
  • Company Settings (master data)
  • Permissions List

Roles:

  • Get Many, Get (with permissions)

VAT Rates:

  • Get Many

Task Settings:

  • Custom Fields, Activities, Statuses, Types

Project Settings:

  • Categories, Statuses, Phases
  • Custom Fields
  • Support Contingents

Personal

Personal Tools (13 operations)

Account:

  • Get Info
  • Get/Update Employee Data

Journal:

  • Get Many, Create, Update (Full/Partial), Delete

Notification:

  • Get Many (with unread filter)

Sales

Sales Tools (2 operations)

Sales:

  • Get Estimates
  • Get Opportunities

💡 Usage Examples

Create a Task with Time Tracking

{
  "resource": "task",
  "operation": "create",
  "projectId": "{{ $json.projectId }}",
  "title": "Implement new feature",
  "typeId": "{{ $json.typeId }}",
  "statusId": "{{ $json.statusId }}",
  "priority": "High",
  "estimatedTime": 8,
  "assignedToId": "{{ $json.userId }}",
  "description": "<p>Detailed task description</p>"
}

Add Comment with Time Booking

{
  "resource": "taskComment",
  "operation": "create",
  "taskIdentifier": "{{ $json.taskId }}",
  "comment": "Completed implementation",
  "statusId": "{{ $json.doneStatusId }}",
  "timeBookingHours": 2,
  "timeBookingActivityId": "{{ $json.activityId }}"
}

Get Invoice PDF

{
  "resource": "invoice",
  "operation": "getFileUrl",
  "invoiceId": "{{ $json.invoiceId }}",
  "fileType": "pdf",
  "documentType": "invoice"
}

Upload File to Workspace

{
  "resource": "workspace",
  "operation": "uploadFile",
  "file": "{{ $binary.file }}"
}

Get Project Analytics

{
  "resource": "insight",
  "operation": "getProjectChart",
  "projectIds": "{{ $json.projectIds }}",
  "model": "timeSeries",
  "period": "weeks",
  "breakdown": "byUser",
  "startDate": "2024-01-01",
  "endDate": "2024-12-31"
}

Bulk Create Tasks

{
  "resource": "task",
  "operation": "bulkCreate",
  "tasksJson": JSON.stringify([
    {
      "title": "Task 1",
      "projectId": "...",
      "typeId": "...",
      "statusId": "..."
    },
    {
      "title": "Task 2",
      "projectId": "...",
      "typeId": "...",
      "statusId": "..."
    }
  ])
}

🎨 Dynamic Dropdowns

The node provides 12 intelligent dropdown methods that automatically populate with data from your Leadtime workspace:

| Dropdown | Purpose | Depends On | | --------------------- | ------------------------- | ---------- | | loadProjects | Select projects | - | | loadEmployees | Select employees | - | | loadTeams | Select teams | - | | loadTaskStatuses | Select task statuses | - | | loadTaskTypes | Select task types | - | | loadActivities | Select work activities | - | | loadProjectCategories | Select project categories | - | | loadProjectStatuses | Select project statuses | - | | loadProjectPhases | Select project phases | - | | loadProjectTaskTypes | Task types for project | Project | | loadTypeStatuses | Statuses for task type | Task Type | | loadProjectUsers | Team members | Project |

Cascading Dropdowns Example

When creating a task, dropdowns cascade intelligently:

1. Select Project → loads project-specific task types
2. Select Task Type → loads allowed statuses for that type
3. Select Status → ready to assign
4. Select Assignee → loads only team members from selected project

🔧 Development

Prerequisites

  • Node.js >= 18
  • n8n >= 1.0.0
  • TypeScript >= 5.x

Local Development

git clone https://github.com/workcio/workc.git
cd workc
npm install
nx build n8n-nodes-leadtime

# Link for local testing
cd dist/libs/integrations/n8n-nodes-leadtime
npm link
cd ~/.n8n/custom
npm link n8n-nodes-leadtime

# Start n8n
n8n start

📖 Documentation

  • Leadtime API Documentation - Official API reference
  • n8n Community Nodes - n8n developer docs

🐛 Known Limitations

  • ⚠️ No webhook/trigger support (would require separate trigger node)
  • ⚠️ Batch file upload not implemented (single file upload works)
  • ⚠️ Some complex nested data structures require JSON input

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Coding Guidelines

  • ✅ TypeScript strict mode
  • ✅ Consistent error handling (try/catch with type guards)
  • ✅ Use i === 0 pattern for array responses to avoid duplicates
  • ✅ Full URLs for all API calls
  • ✅ Conditional fields with displayOptions.show

📝 License

MIT License - see LICENSE file

Copyright (c) 2024 Lukas Ebner / Leadtime Labs GmbH

👤 Author

Lukas Ebner
Leadtime Labs GmbH
https://leadtime.de

📮 Support

  • 🐛 GitHub Issues
  • 💬 n8n Community Forum
  • 📧 Email: [email protected]
  • 📚 Leadtime Help Center

🙏 Acknowledgments

  • n8n - Workflow automation platform
  • Leadtime - ERP for digital service companies

Made with ❤️ for the n8n Community