n8n-nodes-leadtime 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +363 -3
  2. package/package.json +2 -1
package/README.md CHANGED
@@ -1,7 +1,367 @@
1
1
  # n8n-nodes-leadtime
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ n8n community node for Leadtime ERP - Project management, time tracking, billing, and more for digital service companies.
4
4
 
5
- ## Building
5
+ ## 📦 Installation
6
6
 
7
- Run `nx build n8n-nodes-leadtime` to build the library.
7
+ ```bash
8
+ npm install n8n-nodes-leadtime
9
+ ```
10
+
11
+ After installation, restart n8n. The node will appear in the node palette under **Leadtime**.
12
+
13
+ ## 🔑 Authentication
14
+
15
+ The node uses API key authentication. To get your API key:
16
+
17
+ 1. Log in to your Leadtime workspace
18
+ 2. Go to **Settings** → **API Keys**
19
+ 3. Create a new API key
20
+ 4. Copy the key and paste it into the node credentials
21
+
22
+ ## 🎯 Features
23
+
24
+ ### Comprehensive API Coverage
25
+
26
+ The node provides access to **200+ operations** across all Leadtime ERP modules:
27
+
28
+ ### Project Management
29
+
30
+ **Project** (12 operations)
31
+ * Get Many, Get, Create, Update (Full/Partial), Delete
32
+ * Upload File, Get File URL
33
+ * Get Team Members, Get Statistics
34
+
35
+ **Task** (18 operations)
36
+ * Get Many (with filters), Get, Create, Update (Full/Partial), Delete
37
+ * Bulk Create, Bulk Update, Bulk Delete
38
+ * Add Comment, Get Comments
39
+ * Get File URL, Upload File
40
+ * Get Time Bookings, Get Statistics
41
+
42
+ **Task Comment** (4 operations)
43
+ * Get Many, Get, Create, Update, Delete
44
+
45
+ **Task Template** (5 operations)
46
+ * Get Many, Get, Create, Update, Delete
47
+
48
+ **Sprint** (6 operations)
49
+ * Get Many, Get, Create, Update, Delete
50
+
51
+ **Project Template** (5 operations)
52
+ * Get Many, Get, Create, Update, Delete
53
+
54
+ ### CRM & Contacts
55
+
56
+ **Contact** (1 operation)
57
+ * Get Many (with filters)
58
+
59
+ **Organizations** (16 operations)
60
+
61
+ **Organization** - Customer/partner management
62
+ * Get Many, Get, Create, Update (Full/Partial), Delete
63
+
64
+ **Organization Member** - External contacts
65
+ * Get Many, Get, Create, Update, Delete
66
+
67
+ **Organization Member Journal** - Member journal
68
+ * Get Many, Get, Create, Update, Delete
69
+
70
+ ### Time & Attendance
71
+
72
+ **Time Tracking** (22 operations)
73
+
74
+ **Time Booking** - Log working hours
75
+ * Get Many, Create, Update, Delete
76
+
77
+ **Timetable** - Unified calendar view
78
+ * Get (employee schedule)
79
+
80
+ **Attendance** - Clock in/out
81
+ * Create/Update, Delete
82
+
83
+ **Vacation Management:**
84
+ * Request, Update, Cancel
85
+ * Approve, Decline
86
+ * Get (Pending/Upcoming/History)
87
+ * Stats & Compensation
88
+
89
+ **Sick Days:**
90
+ * Request, Update, Delete
91
+ * History
92
+
93
+ **Overtime:**
94
+ * Get Stats
95
+ * Get Compensation History
96
+
97
+ ### Analytics & Insights
98
+
99
+ **Analytics** (5 operations)
100
+
101
+ **Insight** - Business intelligence
102
+ * Project Chart (working hours analysis)
103
+ * Staff Chart (employee time analysis)
104
+ * Turnover Chart (revenue analysis & forecast)
105
+ * Goal Chart (employee goal progress)
106
+ * Workload Chart (open tasks analysis)
107
+
108
+ ### Administration
109
+
110
+ **Settings & Configuration** (29 operations)
111
+
112
+ **Workspace:**
113
+ * Details, Upload File
114
+ * List Users, Quick Search
115
+ * Product List, Manual Position Categories
116
+
117
+ **Product Management:**
118
+ * Product Catalog (CRUD with variants)
119
+ * Product Categories (Get/Delete)
120
+
121
+ **Settings:**
122
+ * Subscription Status
123
+ * Basic Settings (localization, attendance, sprints)
124
+ * Company Settings (master data)
125
+ * Permissions List
126
+
127
+ **Roles:**
128
+ * Get Many, Get (with permissions)
129
+
130
+ **VAT Rates:**
131
+ * Get Many
132
+
133
+ **Task Settings:**
134
+ * Custom Fields, Activities, Statuses, Types
135
+
136
+ **Project Settings:**
137
+ * Categories, Statuses, Phases
138
+ * Custom Fields
139
+ * Support Contingents
140
+
141
+ ### Personal
142
+
143
+ **Personal Tools** (13 operations)
144
+
145
+ **Account:**
146
+ * Get Info
147
+ * Get/Update Employee Data
148
+
149
+ **Journal:**
150
+ * Get Many, Create, Update (Full/Partial), Delete
151
+
152
+ **Notification:**
153
+ * Get Many (with unread filter)
154
+
155
+ ### Sales
156
+
157
+ **Sales Tools** (2 operations)
158
+
159
+ **Sales:**
160
+ * Get Estimates
161
+ * Get Opportunities
162
+
163
+ ## 💡 Usage Examples
164
+
165
+ ### Create a Task with Time Tracking
166
+
167
+ ```json
168
+ {
169
+ "resource": "task",
170
+ "operation": "create",
171
+ "projectId": "{{ $json.projectId }}",
172
+ "title": "Implement new feature",
173
+ "typeId": "{{ $json.typeId }}",
174
+ "statusId": "{{ $json.statusId }}",
175
+ "priority": "High",
176
+ "estimatedTime": 8,
177
+ "assignedToId": "{{ $json.userId }}",
178
+ "description": "<p>Detailed task description</p>"
179
+ }
180
+ ```
181
+
182
+ ### Add Comment with Time Booking
183
+
184
+ ```json
185
+ {
186
+ "resource": "taskComment",
187
+ "operation": "create",
188
+ "taskIdentifier": "{{ $json.taskId }}",
189
+ "comment": "Completed implementation",
190
+ "statusId": "{{ $json.doneStatusId }}",
191
+ "timeBookingHours": 2,
192
+ "timeBookingActivityId": "{{ $json.activityId }}"
193
+ }
194
+ ```
195
+
196
+ ### Get Invoice PDF
197
+
198
+ ```json
199
+ {
200
+ "resource": "invoice",
201
+ "operation": "getFileUrl",
202
+ "invoiceId": "{{ $json.invoiceId }}",
203
+ "fileType": "pdf",
204
+ "documentType": "invoice"
205
+ }
206
+ ```
207
+
208
+ ### Upload File to Workspace
209
+
210
+ ```json
211
+ {
212
+ "resource": "workspace",
213
+ "operation": "uploadFile",
214
+ "file": "{{ $binary.file }}"
215
+ }
216
+ ```
217
+
218
+ ### Get Project Analytics
219
+
220
+ ```json
221
+ {
222
+ "resource": "insight",
223
+ "operation": "getProjectChart",
224
+ "projectIds": "{{ $json.projectIds }}",
225
+ "model": "timeSeries",
226
+ "period": "weeks",
227
+ "breakdown": "byUser",
228
+ "startDate": "2024-01-01",
229
+ "endDate": "2024-12-31"
230
+ }
231
+ ```
232
+
233
+ ### Bulk Create Tasks
234
+
235
+ ```json
236
+ {
237
+ "resource": "task",
238
+ "operation": "bulkCreate",
239
+ "tasksJson": JSON.stringify([
240
+ {
241
+ "title": "Task 1",
242
+ "projectId": "...",
243
+ "typeId": "...",
244
+ "statusId": "..."
245
+ },
246
+ {
247
+ "title": "Task 2",
248
+ "projectId": "...",
249
+ "typeId": "...",
250
+ "statusId": "..."
251
+ }
252
+ ])
253
+ }
254
+ ```
255
+
256
+ ## 🎨 Dynamic Dropdowns
257
+
258
+ The node provides **12 intelligent dropdown methods** that automatically populate with data from your Leadtime workspace:
259
+
260
+ | Dropdown | Purpose | Depends On |
261
+ | --------------------- | ------------------------- | ---------- |
262
+ | loadProjects | Select projects | - |
263
+ | loadEmployees | Select employees | - |
264
+ | loadTeams | Select teams | - |
265
+ | loadTaskStatuses | Select task statuses | - |
266
+ | loadTaskTypes | Select task types | - |
267
+ | loadActivities | Select work activities | - |
268
+ | loadProjectCategories | Select project categories | - |
269
+ | loadProjectStatuses | Select project statuses | - |
270
+ | loadProjectPhases | Select project phases | - |
271
+ | loadProjectTaskTypes | Task types for project | Project |
272
+ | loadTypeStatuses | Statuses for task type | Task Type |
273
+ | loadProjectUsers | Team members | Project |
274
+
275
+ ### Cascading Dropdowns Example
276
+
277
+ When creating a task, dropdowns cascade intelligently:
278
+
279
+ ```
280
+ 1. Select Project → loads project-specific task types
281
+ 2. Select Task Type → loads allowed statuses for that type
282
+ 3. Select Status → ready to assign
283
+ 4. Select Assignee → loads only team members from selected project
284
+ ```
285
+
286
+ ## 🔧 Development
287
+
288
+ ### Prerequisites
289
+
290
+ * Node.js >= 18
291
+ * n8n >= 1.0.0
292
+ * TypeScript >= 5.x
293
+
294
+ ### Local Development
295
+
296
+ ```bash
297
+ git clone https://github.com/workcio/workc.git
298
+ cd workc
299
+ npm install
300
+ nx build n8n-nodes-leadtime
301
+
302
+ # Link for local testing
303
+ cd dist/libs/integrations/n8n-nodes-leadtime
304
+ npm link
305
+ cd ~/.n8n/custom
306
+ npm link n8n-nodes-leadtime
307
+
308
+ # Start n8n
309
+ n8n start
310
+ ```
311
+
312
+ ## 📖 Documentation
313
+
314
+ * **Leadtime API Documentation** - Official API reference
315
+ * **n8n Community Nodes** - n8n developer docs
316
+
317
+ ## 🐛 Known Limitations
318
+
319
+ * ⚠️ No webhook/trigger support (would require separate trigger node)
320
+ * ⚠️ Batch file upload not implemented (single file upload works)
321
+ * ⚠️ Some complex nested data structures require JSON input
322
+
323
+ ## 🤝 Contributing
324
+
325
+ Contributions are welcome! Please:
326
+
327
+ 1. Fork the repository
328
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
329
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
330
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
331
+ 5. Open a Pull Request
332
+
333
+ ### Coding Guidelines
334
+
335
+ * ✅ TypeScript strict mode
336
+ * ✅ Consistent error handling (try/catch with type guards)
337
+ * ✅ Use `i === 0` pattern for array responses to avoid duplicates
338
+ * ✅ Full URLs for all API calls
339
+ * ✅ Conditional fields with `displayOptions.show`
340
+
341
+ ## 📝 License
342
+
343
+ MIT License - see LICENSE file
344
+
345
+ Copyright (c) 2024 Lukas Ebner / Leadtime Labs GmbH
346
+
347
+ ## 👤 Author
348
+
349
+ **Lukas Ebner**
350
+ Leadtime Labs GmbH
351
+ <https://leadtime.de>
352
+
353
+ ## 📮 Support
354
+
355
+ * 🐛 GitHub Issues
356
+ * 💬 n8n Community Forum
357
+ * 📧 Email: support@leadtime.de
358
+ * 📚 Leadtime Help Center
359
+
360
+ ## 🙏 Acknowledgments
361
+
362
+ * n8n - Workflow automation platform
363
+ * Leadtime - ERP for digital service companies
364
+
365
+ ---
366
+
367
+ **Made with ❤️ for the n8n Community**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-leadtime",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "n8n community node for the Leadtime ERP Public API - Project management, time tracking, billing, and more for digital service companies",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -19,6 +19,7 @@
19
19
  "type": "git",
20
20
  "url": "https://github.com/workcio/workc.git"
21
21
  },
22
+ "homepage": "https://leadtime.de",
22
23
  "type": "commonjs",
23
24
  "main": "./src/index.js",
24
25
  "types": "./src/index.d.ts",