n8n-nodes-autotask 0.2.1 → 0.3.0
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 +256 -256
- package/dist/nodes/Autotask/helpers/cache/init.js +14 -3
- package/dist/nodes/Autotask/helpers/cache/init.js.map +1 -1
- package/dist/nodes/Autotask/helpers/cache/service.js +9 -0
- package/dist/nodes/Autotask/helpers/cache/service.js.map +1 -1
- package/dist/nodes/Autotask/helpers/entity/picklist.js +41 -16
- package/dist/nodes/Autotask/helpers/entity/picklist.js.map +1 -1
- package/dist/nodes/Autotask/helpers/entity-values/value-helper.d.ts +1 -1
- package/dist/nodes/Autotask/helpers/entity-values/value-helper.js +8 -7
- package/dist/nodes/Autotask/helpers/entity-values/value-helper.js.map +1 -1
- package/dist/nodes/Autotask/helpers/resource-operations.helper.js +7 -1
- package/dist/nodes/Autotask/helpers/resource-operations.helper.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/field-processor.d.ts +4 -0
- package/dist/nodes/Autotask/operations/base/field-processor.js +132 -0
- package/dist/nodes/Autotask/operations/base/field-processor.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js +12 -0
- package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-many.js +13 -0
- package/dist/nodes/Autotask/operations/base/get-many.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-operation.js +14 -1
- package/dist/nodes/Autotask/operations/base/get-operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/common/picklist-labels/description.d.ts +3 -0
- package/dist/nodes/Autotask/operations/common/picklist-labels/description.js +31 -0
- package/dist/nodes/Autotask/operations/common/picklist-labels/description.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/picklist-labels/index.d.ts +2 -0
- package/dist/nodes/Autotask/operations/common/picklist-labels/index.js +7 -0
- package/dist/nodes/Autotask/operations/common/picklist-labels/index.js.map +1 -0
- package/dist/nodes/Autotask/resources/companies/description.js +1 -1
- package/dist/nodes/Autotask/resources/companies/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/companyNotes/description.js +1 -1
- package/dist/nodes/Autotask/resources/companyNotes/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/contacts/description.js +16 -14
- package/dist/nodes/Autotask/resources/contacts/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/products/description.js +1 -1
- package/dist/nodes/Autotask/resources/products/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/projectCharges/description.js +1 -1
- package/dist/nodes/Autotask/resources/projectCharges/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/projectNotes/description.js +1 -1
- package/dist/nodes/Autotask/resources/projectNotes/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/projectPhases/description.js +1 -1
- package/dist/nodes/Autotask/resources/projectPhases/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/projects/description.js +1 -1
- package/dist/nodes/Autotask/resources/projects/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/ticketNotes/description.js +1 -1
- package/dist/nodes/Autotask/resources/ticketNotes/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/tickets/description.js +1 -1
- package/dist/nodes/Autotask/resources/tickets/description.js.map +1 -1
- package/dist/nodes/Autotask/resources/timeEntries/description.js +1 -1
- package/dist/nodes/Autotask/resources/timeEntries/description.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,256 +1,256 @@
|
|
|
1
|
-
# n8n-nodes-autotask
|
|
2
|
-
|
|
3
|
-

|
|
4
|
-

|
|
5
|
-
|
|
6
|
-
This is an n8n community node for integrating with Autotask PSA. It provides a comprehensive set of operations to interact with Autotask entities through their REST API.
|
|
7
|
-
|
|
8
|
-

|
|
9
|
-
|
|
10
|
-
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
11
|
-
|
|
12
|
-
[Installation](#installation)
|
|
13
|
-
[Authentication](#authentication)
|
|
14
|
-
[Features](#features)
|
|
15
|
-
[Usage](#usage)
|
|
16
|
-
[Configuration](#configuration)
|
|
17
|
-
[Limitations](#limitations)
|
|
18
|
-
[Troubleshooting](#troubleshooting)
|
|
19
|
-
[Resources](#resources)
|
|
20
|
-
[License](#license)
|
|
21
|
-
|
|
22
|
-
## Installation
|
|
23
|
-
|
|
24
|
-
Follow these steps to install this node:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# Install with npm
|
|
28
|
-
npm install n8n-nodes-autotask
|
|
29
|
-
|
|
30
|
-
# Install with pnpm
|
|
31
|
-
pnpm install n8n-nodes-autotask
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Requirements:**
|
|
35
|
-
- n8n version 1.0.0 or later
|
|
36
|
-
- Node.js version 18.10 or later
|
|
37
|
-
- pnpm version 9.1 or later (if using pnpm)
|
|
38
|
-
|
|
39
|
-
## Authentication
|
|
40
|
-
|
|
41
|
-
To use this node, you need to have API access to your Autotask instance. Follow these steps to set up authentication:
|
|
42
|
-
|
|
43
|
-
1. In Autotask, go to **Admin > API User Security**
|
|
44
|
-
2. Create or select an API user
|
|
45
|
-
3. Note the API Integration Code, Username, and Secret
|
|
46
|
-
4. In n8n, create a new credential of type **Autotask API**
|
|
47
|
-
5. Enter your API Integration Code, Username, and Secret
|
|
48
|
-
6. Select your Autotask zone
|
|
49
|
-
7. Select your timezone (affects how dates and times are displayed and entered)
|
|
50
|
-
8. Configure caching options as needed (this will cache dynamically fetched field picklists)
|
|
51
|
-
|
|
52
|
-
## Features
|
|
53
|
-
|
|
54
|
-
### Supported Resources
|
|
55
|
-
|
|
56
|
-
The node supports the following Autotask resources:
|
|
57
|
-
|
|
58
|
-
| Resource | Description |
|
|
59
|
-
|----------|-------------|
|
|
60
|
-
| Billing Code | Manage billing codes for time entries and charges |
|
|
61
|
-
| Company | Manage organisations in Autotask |
|
|
62
|
-
| Company Note | Manage notes attached to companies |
|
|
63
|
-
| Contact | Manage contacts associated with companies |
|
|
64
|
-
| Product | Manage products in the catalogue |
|
|
65
|
-
| Project | Manage projects |
|
|
66
|
-
| Project Charge | Manage charges associated with projects |
|
|
67
|
-
| Project Note | Manage notes attached to projects |
|
|
68
|
-
| Project Phase | Manage phases within projects |
|
|
69
|
-
| Project Task | Manage tasks within projects |
|
|
70
|
-
| Resource | Manage staff resources |
|
|
71
|
-
| Search Filter | Build advanced search filters |
|
|
72
|
-
| Ticket | Manage service tickets |
|
|
73
|
-
| Ticket History | View historical changes to tickets |
|
|
74
|
-
| Ticket Note | Manage notes attached to tickets |
|
|
75
|
-
| Time Entry | Manage time entries for billing |
|
|
76
|
-
|
|
77
|
-
### Operations
|
|
78
|
-
|
|
79
|
-
For most resources, the following operations are available:
|
|
80
|
-
|
|
81
|
-
- **Create**: Add new records
|
|
82
|
-
- **Read**: Retrieve a single record by ID
|
|
83
|
-
- **Update**: Modify existing records
|
|
84
|
-
- **Delete**: Remove records
|
|
85
|
-
- **Get Many**: Retrieve multiple records with basic filtering options. This operation allows you to:
|
|
86
|
-
- Filter records using simple field conditions (equals)
|
|
87
|
-
- Filtering on User Defined Fields (UDFs)
|
|
88
|
-
- Automatically paginate through large result sets
|
|
89
|
-
- Choose to get all results or limit to a specific number (1-500)
|
|
90
|
-
- Set a maximum number of records to return when not retrieving all records
|
|
91
|
-
- **Get Many Advanced**: Build complex queries with multiple filter conditions and logical operators. This operation provides:
|
|
92
|
-
- Support for complex AND/OR logic in filters
|
|
93
|
-
- Nested condition groups for sophisticated queries
|
|
94
|
-
- Filtering on User Defined Fields (UDFs)
|
|
95
|
-
- Advanced operators like contains, beginsWith, endsWith, exists, notExists
|
|
96
|
-
- Support for IN and NOT IN operators with multiple values
|
|
97
|
-
- Choose to get all results or limit to a specific number (1-500)
|
|
98
|
-
- Set a maximum number of records to return when not retrieving all records
|
|
99
|
-
- **Count**: Get the number of matching records
|
|
100
|
-
- **Get Entity Info**: Retrieve metadata about the entity
|
|
101
|
-
- **Get Field Info**: Retrieve field definitions for the selected entity
|
|
102
|
-
|
|
103
|
-
### Advanced Features
|
|
104
|
-
|
|
105
|
-
- **Resource Mapping**: Dynamically map fields based on entity definitions
|
|
106
|
-
- **Advanced Filtering**: Build complex queries with multiple conditions
|
|
107
|
-
- **File-based Caching**: Improved performance with persistent caching that can be shared between workflows and runs
|
|
108
|
-
- **Timezone Handling**: Automatic conversion between local time and UTC
|
|
109
|
-
|
|
110
|
-
## Usage
|
|
111
|
-
|
|
112
|
-
### Basic Example: Creating a Ticket
|
|
113
|
-
|
|
114
|
-
1. Add an **Autotask** node to your workflow
|
|
115
|
-
2. Select **Ticket** as the resource
|
|
116
|
-
3. Select **Create** as the operation
|
|
117
|
-
4. Configure the required fields (Title, Status, etc.)
|
|
118
|
-
5. Connect to a trigger or previous node
|
|
119
|
-
6. Execute the workflow
|
|
120
|
-
|
|
121
|
-
### Intermediate Example: Querying Projects with Filters
|
|
122
|
-
|
|
123
|
-
1. Add an **Autotask** node to your workflow
|
|
124
|
-
2. Select **Project** as the resource
|
|
125
|
-
3. Select **Get Many** as the operation
|
|
126
|
-
4. Add filter conditions (e.g., Status equals "Active")
|
|
127
|
-
5. Choose whether to retrieve all results or limit the number:
|
|
128
|
-
- Toggle "Get All" to true to retrieve all matching records
|
|
129
|
-
- Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
|
|
130
|
-
6. Connect to a trigger or previous node
|
|
131
|
-
7. Execute the workflow
|
|
132
|
-
|
|
133
|
-
### Advanced Example: Complex Filtering with Get Many Advanced
|
|
134
|
-
|
|
135
|
-
1. Add an **Autotask** node to your workflow
|
|
136
|
-
2. Select **Ticket** as the resource
|
|
137
|
-
3. Select **Get Many Advanced** as the operation
|
|
138
|
-
4. Build a complex filter, for example:
|
|
139
|
-
```json
|
|
140
|
-
{
|
|
141
|
-
"op": "and",
|
|
142
|
-
"items": [
|
|
143
|
-
{
|
|
144
|
-
"field": "Status",
|
|
145
|
-
"op": "notEqual",
|
|
146
|
-
"value": 5
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
"op": "or",
|
|
150
|
-
"items": [
|
|
151
|
-
{
|
|
152
|
-
"field": "Priority",
|
|
153
|
-
"op": "Equal",
|
|
154
|
-
"value": 6
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"field": "DueDateTime",
|
|
158
|
-
"op": "lessThan",
|
|
159
|
-
"value": "{{ $now.plus(3, 'days').toLocal()}}"
|
|
160
|
-
}
|
|
161
|
-
]
|
|
162
|
-
}
|
|
163
|
-
]
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
5. Choose whether to retrieve all results or limit the number:
|
|
167
|
-
- Toggle "Get All" to true to retrieve all matching records
|
|
168
|
-
- Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
|
|
169
|
-
6. Execute the workflow to retrieve tickets that are not complete AND either have priority 6 OR are due within the next 3 days
|
|
170
|
-
|
|
171
|
-
### Advanced Example: Working with Parent-Child Relationships
|
|
172
|
-
|
|
173
|
-
Many Autotask entities have parent-child relationships (e.g., Companies and Contacts). To work with these:
|
|
174
|
-
|
|
175
|
-
1. First, retrieve or create the parent entity
|
|
176
|
-
2. Use the parent entity's ID in the child entity operations
|
|
177
|
-
3. For example, to create a Contact for a Company:
|
|
178
|
-
- First node: Get or create the Company
|
|
179
|
-
- Second node: Create a Contact with the Company ID
|
|
180
|
-
|
|
181
|
-
## Configuration
|
|
182
|
-
|
|
183
|
-
### Caching Options
|
|
184
|
-
|
|
185
|
-
The node includes an enhanced file-based caching system to improve performance by reducing API calls:
|
|
186
|
-
|
|
187
|
-
- **Enable Field Caching**: Toggle caching on/off
|
|
188
|
-
- **Cache TTL**: How long to cache field values (in seconds)
|
|
189
|
-
- **Cache Entity Info**: Whether to cache entity information and field definitions
|
|
190
|
-
- **Entity Info TTL**: How long to cache entity information
|
|
191
|
-
- **Cache Reference Fields**: Whether to cache reference field values
|
|
192
|
-
- **Reference Fields TTL**: How long to cache reference field values
|
|
193
|
-
- **Cache Picklists**: Whether to cache picklist values
|
|
194
|
-
- **Picklists TTL**: How long to cache picklist values
|
|
195
|
-
- **File-based Cache**: Cache is stored in files that can be shared between workflows and runs
|
|
196
|
-
- **Cache Directory**: Optional path to a directory where cache files will be stored
|
|
197
|
-
|
|
198
|
-
### Timezone Handling
|
|
199
|
-
|
|
200
|
-
All dates and times in the Autotask API are in UTC. The node automatically converts between your selected timezone and UTC:
|
|
201
|
-
|
|
202
|
-
- When creating or updating records, local times are converted to UTC
|
|
203
|
-
- When retrieving records, UTC times are converted to your local timezone
|
|
204
|
-
- The timezone is configured in the credentials
|
|
205
|
-
|
|
206
|
-
## Limitations
|
|
207
|
-
|
|
208
|
-
### API Limits
|
|
209
|
-
|
|
210
|
-
- Maximum 500 records per page in query results
|
|
211
|
-
- Maximum 50 pages per query operation
|
|
212
|
-
- Maximum 500 OR conditions in filters
|
|
213
|
-
- Maximum 1 User Defined Field per query
|
|
214
|
-
|
|
215
|
-
### Entity-Specific Limitations
|
|
216
|
-
|
|
217
|
-
- Some entities may not support all operations (e.g., Project Phases cannot be deleted)
|
|
218
|
-
- Parent-child relationships require specific handling
|
|
219
|
-
- Some fields may be read-only or have specific validation rules
|
|
220
|
-
|
|
221
|
-
### Performance Considerations
|
|
222
|
-
|
|
223
|
-
- Large queries may be slow and should be optimised with filters
|
|
224
|
-
- Complex workflows with many API calls may hit rate limits
|
|
225
|
-
|
|
226
|
-
## Troubleshooting
|
|
227
|
-
|
|
228
|
-
### Common Issues
|
|
229
|
-
|
|
230
|
-
- **Authentication Errors**: Verify your API credentials and ensure the API user has appropriate permissions
|
|
231
|
-
- **Field Validation Errors**: Check field requirements in the Autotask API documentation
|
|
232
|
-
- **Rate Limiting**: If you encounter rate limiting, reduce the frequency of API calls or implement retry logic
|
|
233
|
-
|
|
234
|
-
### Reporting Bugs
|
|
235
|
-
|
|
236
|
-
If you encounter any bugs or issues with this integration:
|
|
237
|
-
|
|
238
|
-
1. Check the [GitHub Issues](https://github.com/msoukhomlinov/n8n-nodes-autotask/issues) to see if the problem has already been reported
|
|
239
|
-
2. If not, please submit a new issue with:
|
|
240
|
-
- A clear description of the problem
|
|
241
|
-
- Steps to reproduce the issue
|
|
242
|
-
- Expected vs actual behaviour
|
|
243
|
-
- Your environment details (n8n version, Node.js version)
|
|
244
|
-
- Any relevant error messages or screenshots
|
|
245
|
-
|
|
246
|
-
Bug reports should be submitted via GitHub at: https://github.com/msoukhomlinov/n8n-nodes-autotask/issues
|
|
247
|
-
|
|
248
|
-
## Resources
|
|
249
|
-
|
|
250
|
-
- [Autotask API Documentation](https://ww6.autotask.net/help/developerhelp/Content/APIs/REST/REST_API_Home.htm)
|
|
251
|
-
- [n8n Documentation](https://docs.n8n.io/)
|
|
252
|
-
- [GitHub Repository](https://github.com/msoukhomlinov/n8n-nodes-autotask)
|
|
253
|
-
|
|
254
|
-
## License
|
|
255
|
-
|
|
256
|
-
[MIT](LICENSE)
|
|
1
|
+
# n8n-nodes-autotask
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
This is an n8n community node for integrating with Autotask PSA. It provides a comprehensive set of operations to interact with Autotask entities through their REST API.
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
11
|
+
|
|
12
|
+
[Installation](#installation)
|
|
13
|
+
[Authentication](#authentication)
|
|
14
|
+
[Features](#features)
|
|
15
|
+
[Usage](#usage)
|
|
16
|
+
[Configuration](#configuration)
|
|
17
|
+
[Limitations](#limitations)
|
|
18
|
+
[Troubleshooting](#troubleshooting)
|
|
19
|
+
[Resources](#resources)
|
|
20
|
+
[License](#license)
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
Follow these steps to install this node:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Install with npm
|
|
28
|
+
npm install n8n-nodes-autotask
|
|
29
|
+
|
|
30
|
+
# Install with pnpm
|
|
31
|
+
pnpm install n8n-nodes-autotask
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Requirements:**
|
|
35
|
+
- n8n version 1.0.0 or later
|
|
36
|
+
- Node.js version 18.10 or later
|
|
37
|
+
- pnpm version 9.1 or later (if using pnpm)
|
|
38
|
+
|
|
39
|
+
## Authentication
|
|
40
|
+
|
|
41
|
+
To use this node, you need to have API access to your Autotask instance. Follow these steps to set up authentication:
|
|
42
|
+
|
|
43
|
+
1. In Autotask, go to **Admin > API User Security**
|
|
44
|
+
2. Create or select an API user
|
|
45
|
+
3. Note the API Integration Code, Username, and Secret
|
|
46
|
+
4. In n8n, create a new credential of type **Autotask API**
|
|
47
|
+
5. Enter your API Integration Code, Username, and Secret
|
|
48
|
+
6. Select your Autotask zone
|
|
49
|
+
7. Select your timezone (affects how dates and times are displayed and entered)
|
|
50
|
+
8. Configure caching options as needed (this will cache dynamically fetched field picklists)
|
|
51
|
+
|
|
52
|
+
## Features
|
|
53
|
+
|
|
54
|
+
### Supported Resources
|
|
55
|
+
|
|
56
|
+
The node supports the following Autotask resources:
|
|
57
|
+
|
|
58
|
+
| Resource | Description |
|
|
59
|
+
|----------|-------------|
|
|
60
|
+
| Billing Code | Manage billing codes for time entries and charges |
|
|
61
|
+
| Company | Manage organisations in Autotask |
|
|
62
|
+
| Company Note | Manage notes attached to companies |
|
|
63
|
+
| Contact | Manage contacts associated with companies |
|
|
64
|
+
| Product | Manage products in the catalogue |
|
|
65
|
+
| Project | Manage projects |
|
|
66
|
+
| Project Charge | Manage charges associated with projects |
|
|
67
|
+
| Project Note | Manage notes attached to projects |
|
|
68
|
+
| Project Phase | Manage phases within projects |
|
|
69
|
+
| Project Task | Manage tasks within projects |
|
|
70
|
+
| Resource | Manage staff resources |
|
|
71
|
+
| Search Filter | Build advanced search filters |
|
|
72
|
+
| Ticket | Manage service tickets |
|
|
73
|
+
| Ticket History | View historical changes to tickets |
|
|
74
|
+
| Ticket Note | Manage notes attached to tickets |
|
|
75
|
+
| Time Entry | Manage time entries for billing |
|
|
76
|
+
|
|
77
|
+
### Operations
|
|
78
|
+
|
|
79
|
+
For most resources, the following operations are available:
|
|
80
|
+
|
|
81
|
+
- **Create**: Add new records
|
|
82
|
+
- **Read**: Retrieve a single record by ID
|
|
83
|
+
- **Update**: Modify existing records
|
|
84
|
+
- **Delete**: Remove records
|
|
85
|
+
- **Get Many**: Retrieve multiple records with basic filtering options. This operation allows you to:
|
|
86
|
+
- Filter records using simple field conditions (equals)
|
|
87
|
+
- Filtering on User Defined Fields (UDFs)
|
|
88
|
+
- Automatically paginate through large result sets
|
|
89
|
+
- Choose to get all results or limit to a specific number (1-500)
|
|
90
|
+
- Set a maximum number of records to return when not retrieving all records
|
|
91
|
+
- **Get Many Advanced**: Build complex queries with multiple filter conditions and logical operators. This operation provides:
|
|
92
|
+
- Support for complex AND/OR logic in filters
|
|
93
|
+
- Nested condition groups for sophisticated queries
|
|
94
|
+
- Filtering on User Defined Fields (UDFs)
|
|
95
|
+
- Advanced operators like contains, beginsWith, endsWith, exists, notExists
|
|
96
|
+
- Support for IN and NOT IN operators with multiple values
|
|
97
|
+
- Choose to get all results or limit to a specific number (1-500)
|
|
98
|
+
- Set a maximum number of records to return when not retrieving all records
|
|
99
|
+
- **Count**: Get the number of matching records
|
|
100
|
+
- **Get Entity Info**: Retrieve metadata about the entity
|
|
101
|
+
- **Get Field Info**: Retrieve field definitions for the selected entity
|
|
102
|
+
|
|
103
|
+
### Advanced Features
|
|
104
|
+
|
|
105
|
+
- **Resource Mapping**: Dynamically map fields based on entity definitions
|
|
106
|
+
- **Advanced Filtering**: Build complex queries with multiple conditions
|
|
107
|
+
- **File-based Caching**: Improved performance with persistent caching that can be shared between workflows and runs
|
|
108
|
+
- **Timezone Handling**: Automatic conversion between local time and UTC
|
|
109
|
+
|
|
110
|
+
## Usage
|
|
111
|
+
|
|
112
|
+
### Basic Example: Creating a Ticket
|
|
113
|
+
|
|
114
|
+
1. Add an **Autotask** node to your workflow
|
|
115
|
+
2. Select **Ticket** as the resource
|
|
116
|
+
3. Select **Create** as the operation
|
|
117
|
+
4. Configure the required fields (Title, Status, etc.)
|
|
118
|
+
5. Connect to a trigger or previous node
|
|
119
|
+
6. Execute the workflow
|
|
120
|
+
|
|
121
|
+
### Intermediate Example: Querying Projects with Filters
|
|
122
|
+
|
|
123
|
+
1. Add an **Autotask** node to your workflow
|
|
124
|
+
2. Select **Project** as the resource
|
|
125
|
+
3. Select **Get Many** as the operation
|
|
126
|
+
4. Add filter conditions (e.g., Status equals "Active")
|
|
127
|
+
5. Choose whether to retrieve all results or limit the number:
|
|
128
|
+
- Toggle "Get All" to true to retrieve all matching records
|
|
129
|
+
- Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
|
|
130
|
+
6. Connect to a trigger or previous node
|
|
131
|
+
7. Execute the workflow
|
|
132
|
+
|
|
133
|
+
### Advanced Example: Complex Filtering with Get Many Advanced
|
|
134
|
+
|
|
135
|
+
1. Add an **Autotask** node to your workflow
|
|
136
|
+
2. Select **Ticket** as the resource
|
|
137
|
+
3. Select **Get Many Advanced** as the operation
|
|
138
|
+
4. Build a complex filter, for example:
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"op": "and",
|
|
142
|
+
"items": [
|
|
143
|
+
{
|
|
144
|
+
"field": "Status",
|
|
145
|
+
"op": "notEqual",
|
|
146
|
+
"value": 5
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"op": "or",
|
|
150
|
+
"items": [
|
|
151
|
+
{
|
|
152
|
+
"field": "Priority",
|
|
153
|
+
"op": "Equal",
|
|
154
|
+
"value": 6
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"field": "DueDateTime",
|
|
158
|
+
"op": "lessThan",
|
|
159
|
+
"value": "{{ $now.plus(3, 'days').toLocal()}}"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
5. Choose whether to retrieve all results or limit the number:
|
|
167
|
+
- Toggle "Get All" to true to retrieve all matching records
|
|
168
|
+
- Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
|
|
169
|
+
6. Execute the workflow to retrieve tickets that are not complete AND either have priority 6 OR are due within the next 3 days
|
|
170
|
+
|
|
171
|
+
### Advanced Example: Working with Parent-Child Relationships
|
|
172
|
+
|
|
173
|
+
Many Autotask entities have parent-child relationships (e.g., Companies and Contacts). To work with these:
|
|
174
|
+
|
|
175
|
+
1. First, retrieve or create the parent entity
|
|
176
|
+
2. Use the parent entity's ID in the child entity operations
|
|
177
|
+
3. For example, to create a Contact for a Company:
|
|
178
|
+
- First node: Get or create the Company
|
|
179
|
+
- Second node: Create a Contact with the Company ID
|
|
180
|
+
|
|
181
|
+
## Configuration
|
|
182
|
+
|
|
183
|
+
### Caching Options
|
|
184
|
+
|
|
185
|
+
The node includes an enhanced file-based caching system to improve performance by reducing API calls:
|
|
186
|
+
|
|
187
|
+
- **Enable Field Caching**: Toggle caching on/off
|
|
188
|
+
- **Cache TTL**: How long to cache field values (in seconds)
|
|
189
|
+
- **Cache Entity Info**: Whether to cache entity information and field definitions
|
|
190
|
+
- **Entity Info TTL**: How long to cache entity information
|
|
191
|
+
- **Cache Reference Fields**: Whether to cache reference field values
|
|
192
|
+
- **Reference Fields TTL**: How long to cache reference field values
|
|
193
|
+
- **Cache Picklists**: Whether to cache picklist values
|
|
194
|
+
- **Picklists TTL**: How long to cache picklist values
|
|
195
|
+
- **File-based Cache**: Cache is stored in files that can be shared between workflows and runs
|
|
196
|
+
- **Cache Directory**: Optional path to a directory where cache files will be stored
|
|
197
|
+
|
|
198
|
+
### Timezone Handling
|
|
199
|
+
|
|
200
|
+
All dates and times in the Autotask API are in UTC. The node automatically converts between your selected timezone and UTC:
|
|
201
|
+
|
|
202
|
+
- When creating or updating records, local times are converted to UTC
|
|
203
|
+
- When retrieving records, UTC times are converted to your local timezone
|
|
204
|
+
- The timezone is configured in the credentials
|
|
205
|
+
|
|
206
|
+
## Limitations
|
|
207
|
+
|
|
208
|
+
### API Limits
|
|
209
|
+
|
|
210
|
+
- Maximum 500 records per page in query results
|
|
211
|
+
- Maximum 50 pages per query operation
|
|
212
|
+
- Maximum 500 OR conditions in filters
|
|
213
|
+
- Maximum 1 User Defined Field per query
|
|
214
|
+
|
|
215
|
+
### Entity-Specific Limitations
|
|
216
|
+
|
|
217
|
+
- Some entities may not support all operations (e.g., Project Phases cannot be deleted)
|
|
218
|
+
- Parent-child relationships require specific handling
|
|
219
|
+
- Some fields may be read-only or have specific validation rules
|
|
220
|
+
|
|
221
|
+
### Performance Considerations
|
|
222
|
+
|
|
223
|
+
- Large queries may be slow and should be optimised with filters
|
|
224
|
+
- Complex workflows with many API calls may hit rate limits
|
|
225
|
+
|
|
226
|
+
## Troubleshooting
|
|
227
|
+
|
|
228
|
+
### Common Issues
|
|
229
|
+
|
|
230
|
+
- **Authentication Errors**: Verify your API credentials and ensure the API user has appropriate permissions
|
|
231
|
+
- **Field Validation Errors**: Check field requirements in the Autotask API documentation
|
|
232
|
+
- **Rate Limiting**: If you encounter rate limiting, reduce the frequency of API calls or implement retry logic
|
|
233
|
+
|
|
234
|
+
### Reporting Bugs
|
|
235
|
+
|
|
236
|
+
If you encounter any bugs or issues with this integration:
|
|
237
|
+
|
|
238
|
+
1. Check the [GitHub Issues](https://github.com/msoukhomlinov/n8n-nodes-autotask/issues) to see if the problem has already been reported
|
|
239
|
+
2. If not, please submit a new issue with:
|
|
240
|
+
- A clear description of the problem
|
|
241
|
+
- Steps to reproduce the issue
|
|
242
|
+
- Expected vs actual behaviour
|
|
243
|
+
- Your environment details (n8n version, Node.js version)
|
|
244
|
+
- Any relevant error messages or screenshots
|
|
245
|
+
|
|
246
|
+
Bug reports should be submitted via GitHub at: https://github.com/msoukhomlinov/n8n-nodes-autotask/issues
|
|
247
|
+
|
|
248
|
+
## Resources
|
|
249
|
+
|
|
250
|
+
- [Autotask API Documentation](https://ww6.autotask.net/help/developerhelp/Content/APIs/REST/REST_API_Home.htm)
|
|
251
|
+
- [n8n Documentation](https://docs.n8n.io/)
|
|
252
|
+
- [GitHub Repository](https://github.com/msoukhomlinov/n8n-nodes-autotask)
|
|
253
|
+
|
|
254
|
+
## License
|
|
255
|
+
|
|
256
|
+
[MIT](LICENSE)
|
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.initializeCache = initializeCache;
|
|
4
4
|
const service_1 = require("./service");
|
|
5
|
+
let lastCacheState = {};
|
|
5
6
|
async function initializeCache(context) {
|
|
6
7
|
try {
|
|
7
8
|
const credentials = await context.getCredentials('autotaskApi');
|
|
8
|
-
|
|
9
|
+
const credentialsId = credentials.Username || 'default';
|
|
10
|
+
const cacheEnabled = credentials.cacheEnabled;
|
|
11
|
+
if (!cacheEnabled && lastCacheState.enabled === true) {
|
|
12
|
+
console.debug('Cache disabled in credentials, clearing all cache instances');
|
|
13
|
+
service_1.CacheService.clearAllInstances();
|
|
14
|
+
}
|
|
15
|
+
lastCacheState = {
|
|
16
|
+
credentialsId,
|
|
17
|
+
enabled: cacheEnabled,
|
|
18
|
+
};
|
|
19
|
+
if (cacheEnabled) {
|
|
9
20
|
return service_1.CacheService.getInstance({
|
|
10
|
-
enabled:
|
|
21
|
+
enabled: cacheEnabled,
|
|
11
22
|
ttl: credentials.cacheTTL,
|
|
12
23
|
entityInfo: {
|
|
13
24
|
enabled: credentials.cacheEntityInfo,
|
|
@@ -21,7 +32,7 @@ async function initializeCache(context) {
|
|
|
21
32
|
enabled: credentials.cachePicklists,
|
|
22
33
|
ttl: credentials.cachePicklistsTTL,
|
|
23
34
|
},
|
|
24
|
-
},
|
|
35
|
+
}, credentialsId, credentials.cacheDirectory, credentials.cacheMaxSize);
|
|
25
36
|
}
|
|
26
37
|
}
|
|
27
38
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/init.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/init.ts"],"names":[],"mappings":";;AAYA,0CA+CC;AA1DD,uCAAyC;AAGzC,IAAI,cAAc,GAGd,EAAE,CAAC;AAKA,KAAK,UAAU,eAAe,CACpC,OAAmE;IAEnE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAmC,CAAC;QAClG,MAAM,aAAa,GAAI,WAAW,CAAC,QAAmB,IAAI,SAAS,CAAC;QACpE,MAAM,YAAY,GAAG,WAAW,CAAC,YAAuB,CAAC;QAGzD,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC7E,sBAAY,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;QAGD,cAAc,GAAG;YAChB,aAAa;YACb,OAAO,EAAE,YAAY;SACrB,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YAClB,OAAO,sBAAY,CAAC,WAAW,CAC9B;gBACC,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,WAAW,CAAC,QAAkB;gBACnC,UAAU,EAAE;oBACX,OAAO,EAAE,WAAW,CAAC,eAA0B;oBAC/C,GAAG,EAAE,WAAW,CAAC,kBAA4B;iBAC7C;gBACD,eAAe,EAAE;oBAChB,OAAO,EAAE,WAAW,CAAC,oBAA+B;oBACpD,GAAG,EAAE,WAAW,CAAC,iBAA2B;iBAC5C;gBACD,SAAS,EAAE;oBACV,OAAO,EAAE,WAAW,CAAC,cAAyB;oBAC9C,GAAG,EAAE,WAAW,CAAC,iBAA2B;iBAC5C;aACD,EACD,aAAa,EACb,WAAW,CAAC,cAAwB,EACpC,WAAW,CAAC,YAAsB,CAClC,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -288,6 +288,15 @@ class CacheService {
|
|
|
288
288
|
instance.clear().catch(error => {
|
|
289
289
|
console.warn('Failed to clear cache instance:', error);
|
|
290
290
|
});
|
|
291
|
+
if (instance.filePath && fs.existsSync(instance.filePath)) {
|
|
292
|
+
try {
|
|
293
|
+
fs.unlinkSync(instance.filePath);
|
|
294
|
+
console.debug(`Deleted cache file: ${instance.filePath}`);
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
console.warn(`Failed to delete cache file ${instance.filePath}:`, error);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
291
300
|
}
|
|
292
301
|
CacheService.instances.clear();
|
|
293
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/service.ts"],"names":[],"mappings":"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"}
|