@joshuanode/n8n-nodes-scalepad 0.0.5 → 0.0.6

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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # n8n-nodes-scalepad
2
2
 
3
- This is an n8n community node for the **ScalePad Core API**. It provides integration with ScalePad's operational and financial insights platform for MSPs.
3
+ This is an n8n community node for **ScalePad**. It provides integration with both the **Core API** and **Lifecycle Manager API** for MSPs.
4
4
 
5
5
  [Installation](#installation) | [Operations](#operations) | [Credentials](#credentials) | [Usage](#usage) | [Resources](#resources)
6
6
 
@@ -26,29 +26,44 @@ npm install @joshuanode/n8n-nodes-scalepad
26
26
 
27
27
  ## Operations
28
28
 
29
- This node provides access to the following ScalePad resources:
30
-
31
- | Resource | API Endpoint | Operations |
32
- |----------|-------------|------------|
33
- | **Clients** | `/core/v1/clients` | Get, Get Many |
34
- | **Contacts** | `/core/v1/contacts` | Get, Get Many |
35
- | **Contracts** | `/core/v1/service/contracts` | Get, Get Many |
36
- | **Hardware Assets** | `/core/v1/assets/hardware` | Get, Get Many |
37
- | **Members** | `/core/v1/members` | Get, Get Many |
38
- | **Opportunities** | `/core/v1/opportunities` | Get, Get Many |
39
- | **SaaS** | `/core/v1/assets/saas` | Get, Get Many |
40
- | **Tickets** | `/core/v1/service/tickets` | Get, Get Many |
41
-
42
- - **Get** - Retrieve a single record by ID
43
- - **Get Many** - Retrieve multiple records with optional filtering and pagination
29
+ This node provides access to both ScalePad Core API and Lifecycle Manager API resources.
30
+
31
+ ### Core API Resources
32
+
33
+ | Resource | Operations |
34
+ |----------|------------|
35
+ | **Client** | Get, Get Many |
36
+ | **Contact** | Get, Get Many |
37
+ | **Contract (Core)** | Get, Get Many |
38
+ | **Hardware Asset** | Get, Get Many |
39
+ | **Member** | Get, Get Many |
40
+ | **Opportunity** | Get, Get Many |
41
+ | **SaaS** | Get, Get Many |
42
+ | **Ticket** | Get, Get Many |
43
+
44
+ ### Lifecycle Manager Resources
45
+
46
+ | Resource | Operations |
47
+ |----------|------------|
48
+ | **Action Item** | Create, Get, Get Many, Update, Delete, Toggle Completion |
49
+ | **Assessment** | Create, Get, Get Many, Update, Delete, Update Completion, Evaluate |
50
+ | **Assessment Template** | Get Many |
51
+ | **Contract (Lifecycle)** | Create, Get, Get Many, Update, Delete |
52
+ | **Goal** | Create, Get, Get Many, Update, Delete, Update Status, Update Schedule, Link/Unlink Meetings, Link/Unlink Initiatives |
53
+ | **Hardware Lifecycle** | Get Many |
54
+ | **Initiative** | Create, Get, Get Many, Update, Delete, Update Status/Schedule/Priority/Budget, Link/Unlink Meetings, Link/Unlink Goals, Link/Unlink Action Items |
55
+ | **Meeting** | Create, Get, Get Many, Update, Delete, Update Completion, Add/Remove Attendees, Link/Unlink Initiatives, Link/Unlink Goals, Link/Unlink Action Items |
56
+ | **Note** | Create, Get, Get Many, Update, Toggle Archive |
44
57
 
45
58
  ### Features
46
59
 
60
+ - Full CRUD operations for Lifecycle Manager resources
47
61
  - Automatic cursor-based pagination (up to 200 records per page)
48
62
  - Filtering support per resource
49
63
  - Sorting support (clients)
50
64
  - Rate limit error handling (50 req/5sec)
51
65
  - Production and Sandbox environment support
66
+ - Link/unlink relationships between meetings, initiatives, goals, and action items
52
67
 
53
68
  ## Credentials
54
69
 
@@ -70,6 +85,8 @@ This node provides access to the following ScalePad resources:
70
85
  - **API Key**: Your generated API key
71
86
  - **Environment**: `Production` or `Sandbox`
72
87
 
88
+ The same API key provides access to both Core API and Lifecycle Manager API.
89
+
73
90
  ## Usage
74
91
 
75
92
  ### Get All Clients
@@ -80,24 +97,33 @@ Operation: Get Many
80
97
  Return All: true
81
98
  ```
82
99
 
83
- ### Get a Client's Contacts
100
+ ### Create a Meeting
84
101
 
85
102
  ```
86
- Resource: Contact
87
- Operation: Get Many
88
- Additional Fields:
89
- Client ID: <client-uuid>
103
+ Resource: Meeting
104
+ Operation: Create
105
+ Client ID: <client-uuid>
106
+ Title: Quarterly Business Review
107
+ Scheduled At: 2024-03-15T10:00:00Z
90
108
  ```
91
109
 
92
- ### Get Open Tickets for a Client
110
+ ### Get Action Items for a Client
93
111
 
94
112
  ```
95
- Resource: Ticket
113
+ Resource: Action Item
96
114
  Operation: Get Many
97
- Limit: 50
98
- Additional Fields:
115
+ Filters:
99
116
  Client ID: <client-uuid>
100
- Status: open
117
+ Is Completed: false
118
+ ```
119
+
120
+ ### Link an Initiative to a Meeting
121
+
122
+ ```
123
+ Resource: Meeting
124
+ Operation: Link Initiative
125
+ Meeting ID: <meeting-uuid>
126
+ Initiative ID: <initiative-uuid>
101
127
  ```
102
128
 
103
129
  ## API Limits
@@ -116,10 +142,6 @@ Additional Fields:
116
142
  | **404** | Resource not found | Verify resource ID |
117
143
  | **429** | Rate limit exceeded | Reduce request frequency |
118
144
 
119
- ## API Status
120
-
121
- The ScalePad Core API is currently in **beta** with **read-only** access (GET operations only).
122
-
123
145
  ## Resources
124
146
 
125
147
  - [ScalePad API Documentation](https://developer.scalepad.com/)
@@ -997,10 +997,10 @@ class ScalePadCore {
997
997
  }
998
998
  let responseData;
999
999
  if (returnAll) {
1000
- responseData = await GenericFunctions_1.scalePadCoreApiRequestAllItems.call(this, 'GET', `${lmBasePath}/assets/hardware-lifecycles`, {}, qs);
1000
+ responseData = await GenericFunctions_1.scalePadCoreApiRequestAllItems.call(this, 'GET', `${lmBasePath}/assets/hardware/lifecycles`, {}, qs);
1001
1001
  }
1002
1002
  else {
1003
- const response = await GenericFunctions_1.scalePadCoreApiRequest.call(this, 'GET', `${lmBasePath}/assets/hardware-lifecycles`, {}, qs);
1003
+ const response = await GenericFunctions_1.scalePadCoreApiRequest.call(this, 'GET', `${lmBasePath}/assets/hardware/lifecycles`, {}, qs);
1004
1004
  responseData = response.data || [];
1005
1005
  }
1006
1006
  responseData.forEach((item) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joshuanode/n8n-nodes-scalepad",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "n8n community node for ScalePad Core API and Lifecycle Manager",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",