@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
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
|
34
|
-
|
|
35
|
-
| **
|
|
36
|
-
| **
|
|
37
|
-
| **
|
|
38
|
-
| **
|
|
39
|
-
| **
|
|
40
|
-
| **
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
###
|
|
100
|
+
### Create a Meeting
|
|
84
101
|
|
|
85
102
|
```
|
|
86
|
-
Resource:
|
|
87
|
-
Operation:
|
|
88
|
-
|
|
89
|
-
|
|
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
|
|
110
|
+
### Get Action Items for a Client
|
|
93
111
|
|
|
94
112
|
```
|
|
95
|
-
Resource:
|
|
113
|
+
Resource: Action Item
|
|
96
114
|
Operation: Get Many
|
|
97
|
-
|
|
98
|
-
Additional Fields:
|
|
115
|
+
Filters:
|
|
99
116
|
Client ID: <client-uuid>
|
|
100
|
-
|
|
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
|
|
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
|
|
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) => {
|