@blickwerk/n8n-nodes-microsoft-planner 1.3.9 → 1.5.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.
- package/LICENSE.md +21 -21
- package/README.md +459 -309
- package/dist/credentials/MicrosoftPlannerOAuth2Api.credentials.js +3 -2
- package/dist/nodes/MicrosoftPlanner/BucketDescription.d.ts +3 -0
- package/dist/nodes/MicrosoftPlanner/BucketDescription.js +173 -0
- package/dist/nodes/MicrosoftPlanner/CommentDescription.d.ts +3 -0
- package/dist/nodes/MicrosoftPlanner/CommentDescription.js +160 -0
- package/dist/nodes/MicrosoftPlanner/GenericFunctions.d.ts +18 -2
- package/dist/nodes/MicrosoftPlanner/GenericFunctions.js +74 -9
- package/dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.d.ts +3 -0
- package/dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.js +607 -42
- package/dist/nodes/MicrosoftPlanner/PlanDescription.d.ts +3 -0
- package/dist/nodes/MicrosoftPlanner/PlanDescription.js +285 -0
- package/dist/nodes/MicrosoftPlanner/TaskDescription.js +532 -81
- package/dist/nodes/MicrosoftPlanner/planner.svg +51 -13
- package/package.json +63 -58
package/README.md
CHANGED
|
@@ -1,309 +1,459 @@
|
|
|
1
|
-
# n8n-nodes-microsoft-planner
|
|
2
|
-
|
|
3
|
-
This is an n8n community node that allows you to interact with Microsoft Planner in your n8n workflows.
|
|
4
|
-
|
|
5
|
-
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
6
|
-
|
|
7
|
-
[Microsoft Planner](https://www.microsoft.com/en-us/microsoft-365/business/task-management-software) is a task management tool that helps teams organize, assign, and collaborate on tasks.
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
|
12
|
-
|
|
13
|
-
### Community Node
|
|
14
|
-
|
|
15
|
-
1. Go to **Settings > Community Nodes** in your n8n instance
|
|
16
|
-
2. Select **Install**
|
|
17
|
-
3. Enter `@blickwerk/n8n-nodes-microsoft-planner` in **Enter npm package name**
|
|
18
|
-
4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes
|
|
19
|
-
5. Select **Install**
|
|
20
|
-
|
|
21
|
-
After installing the node, you can use it like any other node in your workflows.
|
|
22
|
-
|
|
23
|
-
### Manual Installation
|
|
24
|
-
|
|
25
|
-
To install manually:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npm install @blickwerk/n8n-nodes-microsoft-planner
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Prerequisites
|
|
32
|
-
|
|
33
|
-
You need to have:
|
|
34
|
-
- An active Microsoft 365 subscription
|
|
35
|
-
- A Microsoft Planner plan created
|
|
36
|
-
- Azure AD App Registration with the following API permissions:
|
|
37
|
-
- `Tasks.ReadWrite` - Read and write tasks
|
|
38
|
-
- `Group.ReadWrite.All` - Read and write all groups (required for Planner)
|
|
39
|
-
- `User.Read.All` - Read all users (required for user assignment by email)
|
|
40
|
-
|
|
41
|
-
## Setting up Azure AD App
|
|
42
|
-
|
|
43
|
-
1. Go to [Azure Portal](https://portal.azure.com/)
|
|
44
|
-
2. Navigate to **Azure Active Directory > App registrations**
|
|
45
|
-
3. Click **New registration**
|
|
46
|
-
4. Give it a name (e.g., "n8n Microsoft Planner Integration")
|
|
47
|
-
5. Select **Accounts in this organizational directory only**
|
|
48
|
-
6. Add redirect URI: `https://your-n8n-instance.com/rest/oauth2-credential/callback`
|
|
49
|
-
7. Click **Register**
|
|
50
|
-
|
|
51
|
-
### Configure API Permissions
|
|
52
|
-
|
|
53
|
-
1. Go to **API permissions**
|
|
54
|
-
2. Click **Add a permission**
|
|
55
|
-
3. Select **Microsoft Graph**
|
|
56
|
-
4. Select **Delegated permissions**
|
|
57
|
-
5. Add the following permissions:
|
|
58
|
-
- `Tasks.ReadWrite` - Read and write tasks
|
|
59
|
-
- `Group.ReadWrite.All` - Read and write all groups (required for Planner)
|
|
60
|
-
- `User.Read.All` - Read all users' basic profiles (required for user assignment)
|
|
61
|
-
6. Click **Grant admin consent**
|
|
62
|
-
|
|
63
|
-
**Note**: The `User.Read.All` permission is required if you want to assign tasks to users by email address.
|
|
64
|
-
|
|
65
|
-
### Create Client Secret
|
|
66
|
-
|
|
67
|
-
1. Go to **Certificates & secrets**
|
|
68
|
-
2. Click **New client secret**
|
|
69
|
-
3. Add a description and select expiration
|
|
70
|
-
4. Copy the **Value** (you won't see it again!)
|
|
71
|
-
|
|
72
|
-
### Get Application Details
|
|
73
|
-
|
|
74
|
-
- **Client ID**: Found on the app overview page
|
|
75
|
-
- **Client Secret**: The value you copied in the previous step
|
|
76
|
-
|
|
77
|
-
## Credentials
|
|
78
|
-
|
|
79
|
-
Configure the Microsoft Planner OAuth2 API credentials in n8n:
|
|
80
|
-
|
|
81
|
-
1. In n8n, go to **Credentials > New**
|
|
82
|
-
2. Search for **Microsoft Planner OAuth2 API**
|
|
83
|
-
3. Enter your **Client ID** and **Client Secret**
|
|
84
|
-
4. Click **Connect my account**
|
|
85
|
-
5. Complete the OAuth flow
|
|
86
|
-
|
|
87
|
-
## Features
|
|
88
|
-
|
|
89
|
-
- **Resource Locator UI**: Choose between "From List" (dropdown) or "By ID" (manual input) for Buckets
|
|
90
|
-
- **User Assignment**: Assign tasks to users by email address
|
|
91
|
-
- **Priority Management**: Easy-to-use priority dropdown (Urgent, Important, Medium, Low)
|
|
92
|
-
- **
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
- **
|
|
101
|
-
- **
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
###
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
- **
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
- **
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
- **
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
-
|
|
231
|
-
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
- **
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
240
|
-
|
|
241
|
-
###
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
- **
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
-
|
|
281
|
-
-
|
|
282
|
-
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
-
|
|
295
|
-
-
|
|
296
|
-
-
|
|
297
|
-
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
1
|
+
# n8n-nodes-microsoft-planner
|
|
2
|
+
|
|
3
|
+
This is an n8n community node that allows you to interact with Microsoft Planner in your n8n workflows.
|
|
4
|
+
|
|
5
|
+
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
6
|
+
|
|
7
|
+
[Microsoft Planner](https://www.microsoft.com/en-us/microsoft-365/business/task-management-software) is a task management tool that helps teams organize, assign, and collaborate on tasks.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
|
12
|
+
|
|
13
|
+
### Community Node
|
|
14
|
+
|
|
15
|
+
1. Go to **Settings > Community Nodes** in your n8n instance
|
|
16
|
+
2. Select **Install**
|
|
17
|
+
3. Enter `@blickwerk/n8n-nodes-microsoft-planner` in **Enter npm package name**
|
|
18
|
+
4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes
|
|
19
|
+
5. Select **Install**
|
|
20
|
+
|
|
21
|
+
After installing the node, you can use it like any other node in your workflows.
|
|
22
|
+
|
|
23
|
+
### Manual Installation
|
|
24
|
+
|
|
25
|
+
To install manually:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install @blickwerk/n8n-nodes-microsoft-planner
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Prerequisites
|
|
32
|
+
|
|
33
|
+
You need to have:
|
|
34
|
+
- An active Microsoft 365 subscription
|
|
35
|
+
- A Microsoft Planner plan created
|
|
36
|
+
- Azure AD App Registration with the following API permissions:
|
|
37
|
+
- `Tasks.ReadWrite` - Read and write tasks
|
|
38
|
+
- `Group.ReadWrite.All` - Read and write all groups (required for Planner and comments)
|
|
39
|
+
- `User.Read.All` - Read all users (required for user assignment by email)
|
|
40
|
+
|
|
41
|
+
## Setting up Azure AD App
|
|
42
|
+
|
|
43
|
+
1. Go to [Azure Portal](https://portal.azure.com/)
|
|
44
|
+
2. Navigate to **Azure Active Directory > App registrations**
|
|
45
|
+
3. Click **New registration**
|
|
46
|
+
4. Give it a name (e.g., "n8n Microsoft Planner Integration")
|
|
47
|
+
5. Select **Accounts in this organizational directory only**
|
|
48
|
+
6. Add redirect URI: `https://your-n8n-instance.com/rest/oauth2-credential/callback`
|
|
49
|
+
7. Click **Register**
|
|
50
|
+
|
|
51
|
+
### Configure API Permissions
|
|
52
|
+
|
|
53
|
+
1. Go to **API permissions**
|
|
54
|
+
2. Click **Add a permission**
|
|
55
|
+
3. Select **Microsoft Graph**
|
|
56
|
+
4. Select **Delegated permissions**
|
|
57
|
+
5. Add the following permissions:
|
|
58
|
+
- `Tasks.ReadWrite` - Read and write tasks
|
|
59
|
+
- `Group.ReadWrite.All` - Read and write all groups (required for Planner and comments)
|
|
60
|
+
- `User.Read.All` - Read all users' basic profiles (required for user assignment)
|
|
61
|
+
6. Click **Grant admin consent**
|
|
62
|
+
|
|
63
|
+
**Note**: The `User.Read.All` permission is required if you want to assign tasks to users by email address. The `Group.ReadWrite.All` permission is required for both Planner operations and creating/reading comments.
|
|
64
|
+
|
|
65
|
+
### Create Client Secret
|
|
66
|
+
|
|
67
|
+
1. Go to **Certificates & secrets**
|
|
68
|
+
2. Click **New client secret**
|
|
69
|
+
3. Add a description and select expiration
|
|
70
|
+
4. Copy the **Value** (you won't see it again!)
|
|
71
|
+
|
|
72
|
+
### Get Application Details
|
|
73
|
+
|
|
74
|
+
- **Client ID**: Found on the app overview page
|
|
75
|
+
- **Client Secret**: The value you copied in the previous step
|
|
76
|
+
|
|
77
|
+
## Credentials
|
|
78
|
+
|
|
79
|
+
Configure the Microsoft Planner OAuth2 API credentials in n8n:
|
|
80
|
+
|
|
81
|
+
1. In n8n, go to **Credentials > New**
|
|
82
|
+
2. Search for **Microsoft Planner OAuth2 API**
|
|
83
|
+
3. Enter your **Client ID** and **Client Secret**
|
|
84
|
+
4. Click **Connect my account**
|
|
85
|
+
5. Complete the OAuth flow
|
|
86
|
+
|
|
87
|
+
## Features
|
|
88
|
+
|
|
89
|
+
- **Resource Locator UI**: Choose between "From List" (dropdown) or "By ID" (manual input) for Buckets
|
|
90
|
+
- **User Assignment**: Assign tasks to users by email address
|
|
91
|
+
- **Priority Management**: Easy-to-use priority dropdown (Urgent, Important, Medium, Low)
|
|
92
|
+
- **Comprehensive Task Support**: Full support for Task details including Checklist items and Attachments
|
|
93
|
+
- **Full CRUD Support**: Manage Tasks, Plans, and Buckets
|
|
94
|
+
- **Comment Support**: Create and retrieve comments on tasks
|
|
95
|
+
|
|
96
|
+
## Operations
|
|
97
|
+
|
|
98
|
+
### Task
|
|
99
|
+
|
|
100
|
+
- **Create** - Create a new task (supports Checklist and Attachments)
|
|
101
|
+
- **Get** - Get a task by ID (optionally include details)
|
|
102
|
+
- **Get Many** - Get multiple tasks from a plan or bucket
|
|
103
|
+
- **Update** - Update an existing task (supports Checklist and Attachments)
|
|
104
|
+
- **Delete** - Delete a task
|
|
105
|
+
- **Get Files** - Get all files attached to a task
|
|
106
|
+
|
|
107
|
+
### Plan
|
|
108
|
+
|
|
109
|
+
- **Create** - Create a new plan in a group
|
|
110
|
+
- **Get** - Get a plan by ID (optionally include details)
|
|
111
|
+
- **Get Many** - Get all plans (My Plans or Group Plans)
|
|
112
|
+
- **Update** - Update a plan (supports Title, Category Labels, and Sharing)
|
|
113
|
+
- **Delete** - Delete a plan
|
|
114
|
+
|
|
115
|
+
### Bucket
|
|
116
|
+
|
|
117
|
+
- **Create** - Create a new bucket in a plan
|
|
118
|
+
- **Get** - Get a bucket by ID
|
|
119
|
+
- **Get Many** - Get all buckets in a plan
|
|
120
|
+
- **Update** - Update a bucket title and order
|
|
121
|
+
- **Delete** - Delete a bucket
|
|
122
|
+
|
|
123
|
+
### Comment
|
|
124
|
+
|
|
125
|
+
- **Create** - Create a new comment on a task
|
|
126
|
+
- **Get Many** - Get all comments from a task
|
|
127
|
+
|
|
128
|
+
## Usage
|
|
129
|
+
|
|
130
|
+
### Creating a Task
|
|
131
|
+
|
|
132
|
+
To create a task:
|
|
133
|
+
1. Enter the **Plan ID** (you can find this in Microsoft Planner URL or via Graph Explorer)
|
|
134
|
+
2. Select a **Bucket** from the dropdown (loads automatically based on the Plan ID)
|
|
135
|
+
3. Enter the **Title** of the task
|
|
136
|
+
|
|
137
|
+
Optional fields:
|
|
138
|
+
- **Description**: Detailed task description
|
|
139
|
+
- **Priority**: Select from dropdown
|
|
140
|
+
- Urgent (highest priority)
|
|
141
|
+
- Important
|
|
142
|
+
- Medium (default)
|
|
143
|
+
- Low
|
|
144
|
+
- **Assigned To**: Comma-separated list of user emails (e.g., `user1@domain.com, user2@domain.com`)
|
|
145
|
+
- **Due Date Time**: When the task should be completed
|
|
146
|
+
- **Start Date Time**: When work on the task should begin
|
|
147
|
+
- **Percent Complete**: Task completion percentage (0-100)
|
|
148
|
+
- **Checklist**: Add multiple checklist items with titles and checked status
|
|
149
|
+
- **Attachments**: Add external references/attachments with URLs, aliases, and types (Word, Excel, etc.)
|
|
150
|
+
- **Description**: Detailed task description (stored in task details)
|
|
151
|
+
|
|
152
|
+
### Getting Tasks
|
|
153
|
+
|
|
154
|
+
**Get a single task:**
|
|
155
|
+
- Enter the **Task ID** manually (no dropdown available for single task lookups)
|
|
156
|
+
|
|
157
|
+
**Get many tasks:**
|
|
158
|
+
- Choose filter type: **Plan** or **Bucket**
|
|
159
|
+
- Enter the **Plan ID**
|
|
160
|
+
- If filtering by Bucket: Select bucket from dropdown or enter Bucket ID manually
|
|
161
|
+
- Set a limit or return all tasks
|
|
162
|
+
|
|
163
|
+
### Updating a Task
|
|
164
|
+
|
|
165
|
+
To update a task:
|
|
166
|
+
1. Enter the **Task ID** manually
|
|
167
|
+
2. Update any of these fields:
|
|
168
|
+
- Title
|
|
169
|
+
- Description
|
|
170
|
+
- Priority (via dropdown)
|
|
171
|
+
- Assigned users (via email list)
|
|
172
|
+
- **Due Date Time**
|
|
173
|
+
- **Start Date Time**
|
|
174
|
+
- **Percent Complete**
|
|
175
|
+
- **Move to different bucket**
|
|
176
|
+
- **Checklist**: Add new items or update existing ones (supports "Replace All" mode)
|
|
177
|
+
- **Attachments**: Add new references (supports "Replace All" mode)
|
|
178
|
+
- **Description**: Update the task description
|
|
179
|
+
|
|
180
|
+
### Getting Files from a Task
|
|
181
|
+
|
|
182
|
+
To get all files attached to a task:
|
|
183
|
+
1. Enter the **Task ID** manually
|
|
184
|
+
2. The operation returns:
|
|
185
|
+
- **taskId**: The task ID
|
|
186
|
+
- **fileCount**: Number of attached files
|
|
187
|
+
- **files**: Array of file objects with:
|
|
188
|
+
- **url**: Decoded SharePoint URL (ready to use)
|
|
189
|
+
- **alias**: Display name of the file
|
|
190
|
+
- **type**: File type (e.g., PowerPoint, Word, Excel, PDF, Other)
|
|
191
|
+
- **previewPriority**: Priority for preview display
|
|
192
|
+
- **lastModifiedDateTime**: When the file reference was last modified
|
|
193
|
+
- **lastModifiedBy**: Who last modified the reference
|
|
194
|
+
|
|
195
|
+
### Creating a Comment
|
|
196
|
+
|
|
197
|
+
To create a comment on a task:
|
|
198
|
+
1. Select **Comment** as the resource
|
|
199
|
+
2. Choose **Create** operation
|
|
200
|
+
3. Enter the **Task ID** manually
|
|
201
|
+
4. Enter the **Content** of the comment
|
|
202
|
+
5. Optionally select **Content Type**:
|
|
203
|
+
- **Text** (default): Plain text that will be wrapped in HTML
|
|
204
|
+
- **HTML**: Custom HTML content
|
|
205
|
+
|
|
206
|
+
The comment will be created as a conversation thread in the Microsoft 365 Group associated with the plan. If the task doesn't have a conversation thread yet, one will be created automatically.
|
|
207
|
+
|
|
208
|
+
### Getting Comments from a Task
|
|
209
|
+
|
|
210
|
+
To get all comments from a task:
|
|
211
|
+
1. Select **Comment** as the resource
|
|
212
|
+
2. Choose **Get Many** operation
|
|
213
|
+
3. Enter the **Task ID** manually
|
|
214
|
+
4. The operation returns:
|
|
215
|
+
- **taskId**: The task ID
|
|
216
|
+
- **commentCount**: Number of comments
|
|
217
|
+
- **comments**: Array of comment objects with:
|
|
218
|
+
- **id**: Comment ID
|
|
219
|
+
- **content**: Comment body (HTML)
|
|
220
|
+
- **from**: Author information
|
|
221
|
+
- **createdDateTime**: When the comment was created
|
|
222
|
+
- **lastModifiedDateTime**: When the comment was last modified
|
|
223
|
+
|
|
224
|
+
**Note**: Once a comment is posted in Planner, it cannot be deleted or edited via the Microsoft Graph API or the Planner UI (for Basic plans). This is a limitation of the Microsoft 365 Groups conversation system that Planner uses.
|
|
225
|
+
|
|
226
|
+
### Working with Plans
|
|
227
|
+
|
|
228
|
+
The **Plan** resource allows you to manage Microsoft Planner plans:
|
|
229
|
+
|
|
230
|
+
- **Create**: Requires an **Owner Group** (selected from dropdown or entered as ID) and a **Title**.
|
|
231
|
+
- **Get Many**:
|
|
232
|
+
- **My Plans**: Lists plans the authenticated user is a member of.
|
|
233
|
+
- **Group Plans**: Requires a **Group ID** to list plans owned by that specific group.
|
|
234
|
+
- **Get**: Retrieve full plan metadata. Enable **Include Details** to get category descriptions (labels) and other metadata.
|
|
235
|
+
- **Update**:
|
|
236
|
+
- Change the plan **Title**.
|
|
237
|
+
- **Category Descriptions**: Update the labels for the 25 color-coded categories (Category 1-25).
|
|
238
|
+
- **Shared With**: Update plan members using a JSON mapping of user IDs.
|
|
239
|
+
- **Delete**: Permanently removes the plan.
|
|
240
|
+
|
|
241
|
+
### Working with Buckets
|
|
242
|
+
|
|
243
|
+
The **Bucket** resource manages the columns or categories within a plan:
|
|
244
|
+
|
|
245
|
+
- **Create**: Requires a **Plan ID** and a **Name**.
|
|
246
|
+
- **Upsert**: When enabled, the node will check if a bucket with the same name already exists in the plan and return that instead of creating a duplicate.
|
|
247
|
+
- **Get Many**: Lists all buckets within a specific **Plan ID**.
|
|
248
|
+
- **Update**: Change the bucket **Name** and its **Order Hint** (controlling the position in the UI).
|
|
249
|
+
- **Delete**: Removes the bucket from the plan.
|
|
250
|
+
|
|
251
|
+
### How to Find Plan IDs
|
|
252
|
+
|
|
253
|
+
You can find your Plan ID in several ways:
|
|
254
|
+
|
|
255
|
+
1. **From Planner URL**: Open Microsoft Planner in browser, the URL contains the Plan ID:
|
|
256
|
+
```
|
|
257
|
+
https://tasks.office.com/.../ planId=YOUR_PLAN_ID_HERE /...
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
2. **Via Microsoft Graph Explorer**:
|
|
261
|
+
- Go to https://developer.microsoft.com/graph/graph-explorer
|
|
262
|
+
- Sign in
|
|
263
|
+
- Run: `GET /me/planner/plans`
|
|
264
|
+
- Copy the `id` field from the plan you want
|
|
265
|
+
|
|
266
|
+
### Resource Locator (From List / By ID)
|
|
267
|
+
|
|
268
|
+
When creating tasks or filtering by bucket:
|
|
269
|
+
- **From List**: Select from dropdown (automatically loads based on Plan ID)
|
|
270
|
+
- **By ID**: Manually enter the ID if you already know it
|
|
271
|
+
|
|
272
|
+
For Get/Update/Delete operations, you need to manually enter the Task ID.
|
|
273
|
+
|
|
274
|
+
## Compatibility
|
|
275
|
+
|
|
276
|
+
Tested with n8n version 1.0.0 and above.
|
|
277
|
+
|
|
278
|
+
## Resources
|
|
279
|
+
|
|
280
|
+
- [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
|
|
281
|
+
- [Microsoft Graph Planner API documentation](https://docs.microsoft.com/en-us/graph/api/resources/planner-overview)
|
|
282
|
+
- [Microsoft Graph Explorer](https://developer.microsoft.com/en-us/graph/graph-explorer)
|
|
283
|
+
|
|
284
|
+
## Version History
|
|
285
|
+
|
|
286
|
+
### 1.5.5
|
|
287
|
+
- **Bug Fix: $select Duplication**
|
|
288
|
+
- Fixed an issue where the `$select` query parameter was sent twice during pagination, causing "Query option '$select' was specified more than once" error.
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
### 1.5.4
|
|
292
|
+
- **New Feature: $select Support**
|
|
293
|
+
- Added "Select Properties" field to "Get Many" operations for Tasks, Plans, Buckets, and Comments.
|
|
294
|
+
- **Improved Task Assignments**
|
|
295
|
+
- Fixed silent failures for task assignments.
|
|
296
|
+
- Added robust user lookup (ID, Email, UPN) and error reporting for missing users.
|
|
297
|
+
- Added support for Array inputs (expressions) in the "Assigned To" field.
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
### 1.5.3
|
|
301
|
+
- **UI Improvements for Attachments and Checklists**
|
|
302
|
+
- Refactored to use a grouped UI pattern for better usability
|
|
303
|
+
- Replaced separate fields with a unified structure using `fixedCollection`
|
|
304
|
+
- **Updated Logic for Updates**
|
|
305
|
+
- Replaced "Replace All" toggle with a clearer **Operation Mode** dropdown (Append vs Replace)
|
|
306
|
+
- Renamed "Mode" to "Input Mode" for better clarity between Manual and JSON inputs
|
|
307
|
+
- Fixed logic for replacing items with matching IDs during updates
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
### 1.5.2
|
|
311
|
+
- **Maintenance release**
|
|
312
|
+
- Removed runtime dependency on `n8n-core` to comply with n8n community node requirements
|
|
313
|
+
- No functional changes to node behavior
|
|
314
|
+
|
|
315
|
+
### 1.5.1
|
|
316
|
+
- **Maintenance release**
|
|
317
|
+
- Replaced deprecated `requestOAuth2` helper with `httpRequestWithAuthentication` in Microsoft Planner API requests
|
|
318
|
+
- Removed `console` logging from the Microsoft Planner node and helper to satisfy n8n community package scan requirements
|
|
319
|
+
|
|
320
|
+
### 1.5.0
|
|
321
|
+
- **Major feature release** (with contributions from United Workspace GmbH)
|
|
322
|
+
- **Added Comment Support**
|
|
323
|
+
- Create and retrieve comments on Planner tasks
|
|
324
|
+
- Automatic conversation thread management
|
|
325
|
+
- Support for both HTML and plain text comments
|
|
326
|
+
- **Enhanced Task Details**
|
|
327
|
+
- **Checklist Support**: Full support for adding and managing checklist items
|
|
328
|
+
- **Attachments (References)**: Support for adding external URLs and files to tasks
|
|
329
|
+
- **Replace All Options**: New toggles to replace existing checklists or attachments entirely
|
|
330
|
+
- **Plan Resource Support**
|
|
331
|
+
- CRUD operations for Plans
|
|
332
|
+
- Manage Category Labels (1-25)
|
|
333
|
+
- Manage Plan members (Shared With)
|
|
334
|
+
- **Bucket Resource Support**
|
|
335
|
+
- CRUD operations for Buckets
|
|
336
|
+
- Manage bucket names and positioning (Order Hint)
|
|
337
|
+
- **Robust Encoding**: Improved handling of special characters in attachment URLs
|
|
338
|
+
- **Internal Improvements**: Comprehensive build audit, improved error handling and data fetch reliability
|
|
339
|
+
|
|
340
|
+
### 1.4.0
|
|
341
|
+
- **Updated branding**
|
|
342
|
+
- New Planner icon/logo
|
|
343
|
+
- Added About Blickwerk Media section with company info and social links
|
|
344
|
+
|
|
345
|
+
### 1.3.9
|
|
346
|
+
- **Added Get Files operation**
|
|
347
|
+
- Retrieve all files attached to a task
|
|
348
|
+
- URLs are properly decoded for direct use
|
|
349
|
+
- Returns file metadata including alias, type, and last modified info
|
|
350
|
+
|
|
351
|
+
### 1.3.8
|
|
352
|
+
- **Fixed priority values**
|
|
353
|
+
- Corrected priority mapping: Urgent (1), Important (3), Medium (5), Low (9)
|
|
354
|
+
- Priority values now match Microsoft Planner API specifications
|
|
355
|
+
|
|
356
|
+
### 1.3.7
|
|
357
|
+
- **Fixed Update Task response handling**
|
|
358
|
+
- Fetch complete updated task data after PATCH operation
|
|
359
|
+
- Always returns full task object with all current values
|
|
360
|
+
- Fixes empty array and undefined description issues
|
|
361
|
+
|
|
362
|
+
### 1.3.6
|
|
363
|
+
- **Improved Update Task response**
|
|
364
|
+
- Update Task now returns complete task data including description
|
|
365
|
+
- Better user experience with full task details in response
|
|
366
|
+
|
|
367
|
+
### 1.3.5
|
|
368
|
+
- **Documentation update**
|
|
369
|
+
- Synced README with npm package (no code changes)
|
|
370
|
+
|
|
371
|
+
### 1.3.4
|
|
372
|
+
- **Fixed "Empty Payload" error in Update Task**
|
|
373
|
+
- Update Task now works correctly even when no fields are selected
|
|
374
|
+
- Only sends PATCH request when there are actual fields to update
|
|
375
|
+
- Improved error handling for update operations
|
|
376
|
+
|
|
377
|
+
### 1.3.3
|
|
378
|
+
- **Restructured Get Many Tasks for better UX**
|
|
379
|
+
- Added "Filter By" dropdown to choose between Plan or Bucket filtering
|
|
380
|
+
- Plan ID and Bucket are now separate fields (not in collection)
|
|
381
|
+
- Bucket dropdown now properly loads when Plan ID is entered
|
|
382
|
+
- Simplified Get/Update/Delete Task to use "By ID" only (no dropdown)
|
|
383
|
+
- Resource Locator UI for buckets with "From List" / "By ID" toggle
|
|
384
|
+
|
|
385
|
+
### 1.3.0 - 1.3.2
|
|
386
|
+
- Added resource locator UI for Buckets and Tasks
|
|
387
|
+
- Converted from loadOptions to listSearch methods
|
|
388
|
+
- Various fixes for dropdown loading issues
|
|
389
|
+
|
|
390
|
+
### 1.2.4
|
|
391
|
+
- **Fixed Bucket and Task dropdowns not showing!**
|
|
392
|
+
- Changed field type from 'string' back to 'options' for proper dropdown display
|
|
393
|
+
- Buckets now load correctly when Plan ID is entered
|
|
394
|
+
- Tasks dropdown now works properly
|
|
395
|
+
|
|
396
|
+
### 1.2.3
|
|
397
|
+
- Improved error handling for Buckets and Tasks loading
|
|
398
|
+
- Better fallback values when data cannot be loaded
|
|
399
|
+
- Added console logging for debugging dropdown issues
|
|
400
|
+
|
|
401
|
+
### 1.2.2
|
|
402
|
+
- Removed Plan dropdown (Plans cannot be loaded via API)
|
|
403
|
+
- Plan ID is now manual input only
|
|
404
|
+
- Buckets and Tasks still have dynamic dropdowns
|
|
405
|
+
- Simplified and more reliable plan selection
|
|
406
|
+
|
|
407
|
+
### 1.2.1
|
|
408
|
+
- Fixed Plans not loading (improved API endpoint to fetch from groups)
|
|
409
|
+
- Allow manual ID input in all dropdown fields
|
|
410
|
+
- You can now choose from dropdown OR paste IDs manually
|
|
411
|
+
- Added placeholders and better descriptions for all ID fields
|
|
412
|
+
- Improved error handling for plans loading
|
|
413
|
+
|
|
414
|
+
### 1.2.0
|
|
415
|
+
- **Major UX Improvement**: Added dynamic dropdowns for Plans, Buckets, and Tasks
|
|
416
|
+
- No more manual ID lookup - select from dropdown menus
|
|
417
|
+
- Plans load automatically from your Microsoft 365 account
|
|
418
|
+
- Buckets load dynamically based on selected Plan
|
|
419
|
+
- Tasks load from selected Plan or Bucket
|
|
420
|
+
- Improved user experience with clearer field labels
|
|
421
|
+
|
|
422
|
+
### 1.1.1
|
|
423
|
+
- Fixed startDateTime not being set (was returning null)
|
|
424
|
+
- Fixed user assignment by adding User.Read.All permission requirement
|
|
425
|
+
- Added error logging for failed user lookups
|
|
426
|
+
- Improved README documentation with all required permissions
|
|
427
|
+
|
|
428
|
+
### 1.1.0
|
|
429
|
+
- Added priority dropdown (Urgent, Important, Medium, Low) instead of number input
|
|
430
|
+
- Added user assignment functionality (assign tasks by email)
|
|
431
|
+
- Improved user experience with better field descriptions
|
|
432
|
+
|
|
433
|
+
### 1.0.1
|
|
434
|
+
- Fixed DateTime format handling (automatic conversion to ISO 8601)
|
|
435
|
+
- Improved error handling for invalid date formats
|
|
436
|
+
|
|
437
|
+
### 1.0.0
|
|
438
|
+
- Initial release
|
|
439
|
+
- Support for creating and retrieving Planner tasks
|
|
440
|
+
- OAuth2 authentication
|
|
441
|
+
- CRUD operations (Create, Read, Update, Delete)
|
|
442
|
+
|
|
443
|
+
## License
|
|
444
|
+
|
|
445
|
+
[MIT](LICENSE.md)
|
|
446
|
+
|
|
447
|
+
## Author
|
|
448
|
+
|
|
449
|
+
Developed and maintained by **Blickwerk Media UG**
|
|
450
|
+
|
|
451
|
+
## Credits
|
|
452
|
+
|
|
453
|
+
This node was invented and developed by [**Blickwerk Media UG**](https://github.com/blickwerk/n8n-nodes-microsoft-planner). **United Workspace GmbH** contributed to its further development – we thank them for their contributions.
|
|
454
|
+
|
|
455
|
+
**Web**: [blickwerk.media](https://blickwerk.media)
|
|
456
|
+
|
|
457
|
+
## Support
|
|
458
|
+
|
|
459
|
+
For issues, questions, or contributions, please visit the [GitHub repository](https://github.com/blickwerk/n8n-nodes-microsoft-planner).
|