@joshuanode/n8n-nodes-scalepad 0.0.3 → 0.0.5

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 (42) hide show
  1. package/README.md +41 -121
  2. package/dist/nodes/ScalePadCore/ScalePadCore.node.js +798 -53
  3. package/dist/nodes/ScalePadCore/descriptions/ActionItemDescription.d.ts +3 -0
  4. package/dist/nodes/ScalePadCore/descriptions/ActionItemDescription.js +306 -0
  5. package/dist/nodes/ScalePadCore/descriptions/AssessmentDescription.d.ts +3 -0
  6. package/dist/nodes/ScalePadCore/descriptions/AssessmentDescription.js +291 -0
  7. package/dist/nodes/ScalePadCore/descriptions/AssessmentTemplateDescription.d.ts +3 -0
  8. package/dist/nodes/ScalePadCore/descriptions/AssessmentTemplateDescription.js +59 -0
  9. package/dist/nodes/ScalePadCore/descriptions/ContractDescription.js +242 -21
  10. package/dist/nodes/ScalePadCore/descriptions/GoalDescription.d.ts +3 -0
  11. package/dist/nodes/ScalePadCore/descriptions/GoalDescription.js +468 -0
  12. package/dist/nodes/ScalePadCore/descriptions/HardwareLifecycleDescription.js +5 -66
  13. package/dist/nodes/ScalePadCore/descriptions/InitiativeDescription.d.ts +3 -0
  14. package/dist/nodes/ScalePadCore/descriptions/InitiativeDescription.js +565 -0
  15. package/dist/nodes/ScalePadCore/descriptions/LmContractDescription.d.ts +3 -0
  16. package/dist/nodes/ScalePadCore/descriptions/LmContractDescription.js +342 -0
  17. package/dist/nodes/ScalePadCore/descriptions/MeetingDescription.d.ts +3 -0
  18. package/dist/nodes/ScalePadCore/descriptions/MeetingDescription.js +501 -0
  19. package/dist/nodes/ScalePadCore/descriptions/NoteDescription.d.ts +3 -0
  20. package/dist/nodes/ScalePadCore/descriptions/NoteDescription.js +289 -0
  21. package/dist/nodes/ScalePadLifecycleManager/ScalePadLifecycleManager.node.d.ts +6 -0
  22. package/dist/nodes/ScalePadLifecycleManager/ScalePadLifecycleManager.node.js +837 -0
  23. package/dist/nodes/ScalePadLifecycleManager/descriptions/ActionItemDescription.d.ts +3 -0
  24. package/dist/nodes/ScalePadLifecycleManager/descriptions/ActionItemDescription.js +306 -0
  25. package/dist/nodes/ScalePadLifecycleManager/descriptions/AssessmentDescription.d.ts +3 -0
  26. package/dist/nodes/ScalePadLifecycleManager/descriptions/AssessmentDescription.js +291 -0
  27. package/dist/nodes/ScalePadLifecycleManager/descriptions/AssessmentTemplateDescription.d.ts +3 -0
  28. package/dist/nodes/ScalePadLifecycleManager/descriptions/AssessmentTemplateDescription.js +59 -0
  29. package/dist/nodes/ScalePadLifecycleManager/descriptions/ContractDescription.d.ts +3 -0
  30. package/dist/nodes/ScalePadLifecycleManager/descriptions/ContractDescription.js +342 -0
  31. package/dist/nodes/ScalePadLifecycleManager/descriptions/GoalDescription.d.ts +3 -0
  32. package/dist/nodes/ScalePadLifecycleManager/descriptions/GoalDescription.js +468 -0
  33. package/dist/nodes/ScalePadLifecycleManager/descriptions/HardwareLifecycleDescription.d.ts +3 -0
  34. package/dist/nodes/ScalePadLifecycleManager/descriptions/HardwareLifecycleDescription.js +81 -0
  35. package/dist/nodes/ScalePadLifecycleManager/descriptions/InitiativeDescription.d.ts +3 -0
  36. package/dist/nodes/ScalePadLifecycleManager/descriptions/InitiativeDescription.js +565 -0
  37. package/dist/nodes/ScalePadLifecycleManager/descriptions/MeetingDescription.d.ts +3 -0
  38. package/dist/nodes/ScalePadLifecycleManager/descriptions/MeetingDescription.js +501 -0
  39. package/dist/nodes/ScalePadLifecycleManager/descriptions/NoteDescription.d.ts +3 -0
  40. package/dist/nodes/ScalePadLifecycleManager/descriptions/NoteDescription.js +289 -0
  41. package/dist/nodes/ScalePadLifecycleManager/scalepad.svg +17 -0
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # n8n-nodes-scalepad
2
2
 
3
- This is an n8n community node for **ScalePad Core API** and **Lifecycle Manager**. It provides comprehensive integration with ScalePad's operational and financial insights platform for MSPs.
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.
4
4
 
5
5
  [Installation](#installation) | [Operations](#operations) | [Credentials](#credentials) | [Usage](#usage) | [Resources](#resources)
6
6
 
@@ -28,186 +28,106 @@ npm install @joshuanode/n8n-nodes-scalepad
28
28
 
29
29
  This node provides access to the following ScalePad resources:
30
30
 
31
- ### Resources Available
32
-
33
- | Resource | Description | Operations |
31
+ | Resource | API Endpoint | Operations |
34
32
  |----------|-------------|------------|
35
- | **Clients** | Client/customer information | Get, Get Many |
36
- | **Contacts** | Contact details | Get, Get Many |
37
- | **Contracts** | Contract records | Get, Get Many |
38
- | **Hardware Assets** | Hardware asset data | Get, Get Many |
39
- | **Hardware Lifecycle** | Lifecycle tracking, warranties, EOL status | Get, Get Many |
40
- | **Members** | Team member information | Get, Get Many |
41
- | **Opportunities** | Sales opportunities | Get, Get Many |
42
- | **SaaS** | SaaS subscription data | Get, Get Many |
43
- | **Tickets** | Support ticket records | Get, Get Many |
44
-
45
- ### Operations
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 |
46
41
 
47
42
  - **Get** - Retrieve a single record by ID
48
- - **Get Many** - Retrieve multiple records with filtering, sorting, and pagination
43
+ - **Get Many** - Retrieve multiple records with optional filtering and pagination
49
44
 
50
45
  ### Features
51
46
 
52
- **Automatic Pagination** - Handles up to 200 records per request with cursor-based pagination
53
- **Advanced Filtering** - Filter with operators (eq, ne, contains, gt, lt)
54
- **Sorting** - Sort results ascending or descending
55
- **Rate Limit Handling** - Automatic handling of 50 req/5sec limit
56
- ✅ **Comprehensive Error Messages** - Detailed error descriptions and resolutions
47
+ - Automatic cursor-based pagination (up to 200 records per page)
48
+ - Filtering support per resource
49
+ - Sorting support (clients)
50
+ - Rate limit error handling (50 req/5sec)
51
+ - Production and Sandbox environment support
57
52
 
58
53
  ## Credentials
59
54
 
60
- ### Authentication: API Key
55
+ ### API Key Authentication
61
56
 
62
57
  **Requirements:**
63
58
  - ScalePad Partner account
64
59
  - Administrator permissions
65
60
 
66
- **Setup Steps:**
61
+ **Setup:**
67
62
 
68
63
  1. Sign in to [ScalePad Hub](https://hub.scalepad.com)
69
64
  2. Navigate to **API (BETA)** in the top menu
70
65
  3. Click **+ Generate** to create a new API key
71
- 4. Enter a descriptive name
72
- 5. Set expiry (default: 2 years)
73
- 6. Copy the API key immediately (won't be shown again)
66
+ 4. Copy the API key immediately (it won't be shown again)
74
67
 
75
- **Configuration in n8n:**
68
+ **In n8n:**
76
69
 
77
70
  - **API Key**: Your generated API key
78
- - **Environment**:
79
- - `Production` - https://api.scalepad.com
80
- - `Sandbox` - https://api-sandbox.scalepad.com
71
+ - **Environment**: `Production` or `Sandbox`
81
72
 
82
73
  ## Usage
83
74
 
84
- ### Example 1: Get All Active Clients
75
+ ### Get All Clients
85
76
 
86
77
  ```
87
78
  Resource: Client
88
79
  Operation: Get Many
89
80
  Return All: true
90
- Additional Fields:
91
- Filter:
92
- - Field: status
93
- - Operator: eq
94
- - Value: active
95
81
  ```
96
82
 
97
- ### Example 2: Monitor Hardware Approaching End of Life
83
+ ### Get a Client's Contacts
98
84
 
99
85
  ```
100
- Resource: Hardware Lifecycle
86
+ Resource: Contact
101
87
  Operation: Get Many
102
- Return All: true
103
88
  Additional Fields:
104
- EOL Status: approaching_eol
89
+ Client ID: <client-uuid>
105
90
  ```
106
91
 
107
- ### Example 3: Get Client's Open Tickets
92
+ ### Get Open Tickets for a Client
108
93
 
109
94
  ```
110
95
  Resource: Ticket
111
96
  Operation: Get Many
112
- Return All: false
113
97
  Limit: 50
114
98
  Additional Fields:
115
- Client ID: {{$json["client_id"]}}
99
+ Client ID: <client-uuid>
116
100
  Status: open
117
- Priority: high
118
- ```
119
-
120
- ### Example 4: List Expiring Warranties
121
-
122
- ```
123
- Resource: Hardware Lifecycle
124
- Operation: Get Many
125
- Return All: true
126
- Additional Fields:
127
- Warranty Status: expiring_soon
128
101
  ```
129
102
 
130
103
  ## API Limits
131
104
 
132
- ### Rate Limits
133
-
134
- - **Limit**: 50 requests per 5 seconds
135
- - **Automatic Handling**: The node handles rate limit errors with descriptive messages
136
- - **Best Practice**: Use filters to reduce the number of requests needed
137
-
138
- ### Pagination
139
-
140
- - **Maximum**: 200 records per request
141
- - **Type**: Cursor-based pagination
142
- - **Auto-pagination**: Enable "Return All" to automatically fetch all pages
143
-
144
- ### Performance Tips
145
-
146
- 1. **Use filters** to reduce data transfer
147
- ```
148
- Additional Fields > Client ID: specific-client-id
149
- ```
150
-
151
- 2. **Limit results** for large datasets
152
- ```
153
- Return All: false
154
- Limit: 100
155
- ```
156
-
157
- 3. **Apply sorting** for ordered results
158
- ```
159
- Sort Field: created_at
160
- Sort Direction: DESC
161
- ```
105
+ | Limit | Value |
106
+ |-------|-------|
107
+ | Rate limit | 50 requests per 5 seconds |
108
+ | Page size | Up to 200 records per request |
109
+ | Pagination | Cursor-based (automatic with "Return All") |
162
110
 
163
111
  ## Error Handling
164
112
 
165
- The node provides comprehensive error handling:
166
-
167
- | Error Code | Meaning | Resolution |
168
- |------------|---------|------------|
169
- | **401** | Authentication failed | Check API key validity and expiration |
170
- | **404** | Resource not found | Verify resource ID and access permissions |
171
- | **429** | Rate limit exceeded | Reduce request frequency or add delays |
172
- | **500** | Server error | Retry request or contact ScalePad support |
173
-
174
- All errors include:
175
- - HTTP status code
176
- - Error message
177
- - Detailed description
178
- - Suggested resolution
113
+ | Code | Meaning | Resolution |
114
+ |------|---------|------------|
115
+ | **401** | Authentication failed | Check API key validity |
116
+ | **404** | Resource not found | Verify resource ID |
117
+ | **429** | Rate limit exceeded | Reduce request frequency |
179
118
 
180
119
  ## API Status
181
120
 
182
- **Current Status**: Beta (Read-Only)
183
-
184
- The ScalePad Core API is currently in beta with read-only access (GET operations only). Full CRUD operations (POST, PATCH, DELETE) will be available in future releases based on partner feedback.
121
+ The ScalePad Core API is currently in **beta** with **read-only** access (GET operations only).
185
122
 
186
123
  ## Resources
187
124
 
188
- - [ScalePad Core API Documentation](https://developer.scalepad.com/)
189
- - [ScalePad Community](https://community.scalepad.com/)
190
- - [n8n Documentation](https://docs.n8n.io/)
191
-
192
- ## Version History
193
-
194
- ### 0.0.1
195
- - Initial release
196
- - ScalePad Core API support (read-only)
197
- - Lifecycle Manager integration
198
- - 9 resources with Get and Get Many operations
199
- - Automatic pagination
200
- - Advanced filtering and sorting
201
- - Comprehensive error handling
202
-
203
- ## Support
204
-
205
- - **GitHub Issues**: [Report a bug](https://github.com/ajoshuasmith/n8n-nodes-scalepad/issues)
206
- - **ScalePad Community**: [community.scalepad.com](https://community.scalepad.com/)
125
+ - [ScalePad API Documentation](https://developer.scalepad.com/)
126
+ - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
207
127
 
208
128
  ## Contributing
209
129
 
210
- Contributions are welcome! If you'd like to help improve this node for the MSP community, feel free to open an issue or submit a pull request on [GitHub](https://github.com/ajoshuasmith/n8n-nodes-scalepad).
130
+ Contributions welcome. Open an issue or submit a pull request on [GitHub](https://github.com/ajoshuasmith/n8n-nodes-scalepad).
211
131
 
212
132
  ## License
213
133