@opentabs-dev/opentabs-plugin-asana 0.0.74

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 (113) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15297 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/asana-api.d.ts +8 -0
  5. package/dist/asana-api.d.ts.map +1 -0
  6. package/dist/asana-api.js +86 -0
  7. package/dist/asana-api.js.map +1 -0
  8. package/dist/index.d.ts +14 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +78 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/tools/add-followers.d.ts +33 -0
  13. package/dist/tools/add-followers.d.ts.map +1 -0
  14. package/dist/tools/add-followers.js +28 -0
  15. package/dist/tools/add-followers.js.map +1 -0
  16. package/dist/tools/add-task-to-section.d.ts +8 -0
  17. package/dist/tools/add-task-to-section.d.ts.map +1 -0
  18. package/dist/tools/add-task-to-section.js +26 -0
  19. package/dist/tools/add-task-to-section.js.map +1 -0
  20. package/dist/tools/create-project.d.ts +30 -0
  21. package/dist/tools/create-project.d.ts.map +1 -0
  22. package/dist/tools/create-project.js +50 -0
  23. package/dist/tools/create-project.js.map +1 -0
  24. package/dist/tools/create-section.d.ts +13 -0
  25. package/dist/tools/create-section.d.ts.map +1 -0
  26. package/dist/tools/create-section.js +28 -0
  27. package/dist/tools/create-section.js.map +1 -0
  28. package/dist/tools/create-story.d.ts +16 -0
  29. package/dist/tools/create-story.d.ts.map +1 -0
  30. package/dist/tools/create-story.js +28 -0
  31. package/dist/tools/create-story.js.map +1 -0
  32. package/dist/tools/create-task.d.ts +40 -0
  33. package/dist/tools/create-task.d.ts.map +1 -0
  34. package/dist/tools/create-task.js +53 -0
  35. package/dist/tools/create-task.js.map +1 -0
  36. package/dist/tools/delete-task.d.ts +7 -0
  37. package/dist/tools/delete-task.d.ts.map +1 -0
  38. package/dist/tools/delete-task.js +24 -0
  39. package/dist/tools/delete-task.js.map +1 -0
  40. package/dist/tools/get-current-user.d.ts +13 -0
  41. package/dist/tools/get-current-user.d.ts.map +1 -0
  42. package/dist/tools/get-current-user.js +30 -0
  43. package/dist/tools/get-current-user.js.map +1 -0
  44. package/dist/tools/get-project.d.ts +23 -0
  45. package/dist/tools/get-project.d.ts.map +1 -0
  46. package/dist/tools/get-project.js +25 -0
  47. package/dist/tools/get-project.js.map +1 -0
  48. package/dist/tools/get-stories-for-task.d.ts +18 -0
  49. package/dist/tools/get-stories-for-task.d.ts.map +1 -0
  50. package/dist/tools/get-stories-for-task.js +41 -0
  51. package/dist/tools/get-stories-for-task.js.map +1 -0
  52. package/dist/tools/get-subtasks.d.ts +35 -0
  53. package/dist/tools/get-subtasks.d.ts.map +1 -0
  54. package/dist/tools/get-subtasks.js +41 -0
  55. package/dist/tools/get-subtasks.js.map +1 -0
  56. package/dist/tools/get-task.d.ts +33 -0
  57. package/dist/tools/get-task.d.ts.map +1 -0
  58. package/dist/tools/get-task.js +29 -0
  59. package/dist/tools/get-task.js.map +1 -0
  60. package/dist/tools/get-tasks-for-project.d.ts +35 -0
  61. package/dist/tools/get-tasks-for-project.d.ts.map +1 -0
  62. package/dist/tools/get-tasks-for-project.js +41 -0
  63. package/dist/tools/get-tasks-for-project.js.map +1 -0
  64. package/dist/tools/get-tasks-for-section.d.ts +35 -0
  65. package/dist/tools/get-tasks-for-section.d.ts.map +1 -0
  66. package/dist/tools/get-tasks-for-section.js +41 -0
  67. package/dist/tools/get-tasks-for-section.js.map +1 -0
  68. package/dist/tools/get-user.d.ts +11 -0
  69. package/dist/tools/get-user.d.ts.map +1 -0
  70. package/dist/tools/get-user.js +25 -0
  71. package/dist/tools/get-user.js.map +1 -0
  72. package/dist/tools/list-projects.d.ts +27 -0
  73. package/dist/tools/list-projects.d.ts.map +1 -0
  74. package/dist/tools/list-projects.js +38 -0
  75. package/dist/tools/list-projects.js.map +1 -0
  76. package/dist/tools/list-sections.d.ts +12 -0
  77. package/dist/tools/list-sections.d.ts.map +1 -0
  78. package/dist/tools/list-sections.js +27 -0
  79. package/dist/tools/list-sections.js.map +1 -0
  80. package/dist/tools/list-tags.d.ts +14 -0
  81. package/dist/tools/list-tags.d.ts.map +1 -0
  82. package/dist/tools/list-tags.js +41 -0
  83. package/dist/tools/list-tags.js.map +1 -0
  84. package/dist/tools/list-teams.d.ts +14 -0
  85. package/dist/tools/list-teams.d.ts.map +1 -0
  86. package/dist/tools/list-teams.js +41 -0
  87. package/dist/tools/list-teams.js.map +1 -0
  88. package/dist/tools/list-users-for-workspace.d.ts +14 -0
  89. package/dist/tools/list-users-for-workspace.d.ts.map +1 -0
  90. package/dist/tools/list-users-for-workspace.js +41 -0
  91. package/dist/tools/list-users-for-workspace.js.map +1 -0
  92. package/dist/tools/list-workspaces.d.ts +8 -0
  93. package/dist/tools/list-workspaces.d.ts.map +1 -0
  94. package/dist/tools/list-workspaces.js +23 -0
  95. package/dist/tools/list-workspaces.js.map +1 -0
  96. package/dist/tools/schemas.d.ts +189 -0
  97. package/dist/tools/schemas.d.ts.map +1 -0
  98. package/dist/tools/schemas.js +222 -0
  99. package/dist/tools/schemas.js.map +1 -0
  100. package/dist/tools/search-tasks.d.ts +39 -0
  101. package/dist/tools/search-tasks.d.ts.map +1 -0
  102. package/dist/tools/search-tasks.js +52 -0
  103. package/dist/tools/search-tasks.js.map +1 -0
  104. package/dist/tools/update-project.d.ts +30 -0
  105. package/dist/tools/update-project.d.ts.map +1 -0
  106. package/dist/tools/update-project.js +49 -0
  107. package/dist/tools/update-project.js.map +1 -0
  108. package/dist/tools/update-task.d.ts +39 -0
  109. package/dist/tools/update-task.d.ts.map +1 -0
  110. package/dist/tools/update-task.js +49 -0
  111. package/dist/tools/update-task.js.map +1 -0
  112. package/dist/tools.json +2865 -0
  113. package/package.json +55 -0
@@ -0,0 +1,2865 @@
1
+ {
2
+ "sdkVersion": "0.0.74",
3
+ "iconSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.78 12.653c-2.882 0-5.22 2.336-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.34 5.22-5.22-2.336-5.22-5.22-5.22zm-13.56 0c-2.88 0-5.22 2.337-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.338 5.22-5.22-2.336-5.22-5.22-5.22zm12-6.525c0 2.883-2.337 5.22-5.22 5.22-2.882 0-5.22-2.337-5.22-5.22 0-2.88 2.338-5.22 5.22-5.22 2.883 0 5.22 2.34 5.22 5.22z\" fill=\"#F06A6A\"/></svg>",
4
+ "iconInactiveSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.78 12.653c-2.882 0-5.22 2.336-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.34 5.22-5.22-2.336-5.22-5.22-5.22zm-13.56 0c-2.88 0-5.22 2.337-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.338 5.22-5.22-2.336-5.22-5.22-5.22zm12-6.525c0 2.883-2.337 5.22-5.22 5.22-2.882 0-5.22-2.337-5.22-5.22 0-2.88 2.338-5.22 5.22-5.22 2.883 0 5.22 2.34 5.22 5.22z\" fill=\"#999999\"/></svg>",
5
+ "iconDarkSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.78 12.653c-2.882 0-5.22 2.336-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.34 5.22-5.22-2.336-5.22-5.22-5.22zm-13.56 0c-2.88 0-5.22 2.337-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.338 5.22-5.22-2.336-5.22-5.22-5.22zm12-6.525c0 2.883-2.337 5.22-5.22 5.22-2.882 0-5.22-2.337-5.22-5.22 0-2.88 2.338-5.22 5.22-5.22 2.883 0 5.22 2.34 5.22 5.22z\" fill=\"#F06A6A\"/></svg>",
6
+ "iconDarkInactiveSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.78 12.653c-2.882 0-5.22 2.336-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.34 5.22-5.22-2.336-5.22-5.22-5.22zm-13.56 0c-2.88 0-5.22 2.337-5.22 5.22s2.338 5.22 5.22 5.22 5.22-2.338 5.22-5.22-2.336-5.22-5.22-5.22zm12-6.525c0 2.883-2.337 5.22-5.22 5.22-2.882 0-5.22-2.337-5.22-5.22 0-2.88 2.338-5.22 5.22-5.22 2.883 0 5.22 2.34 5.22 5.22z\" fill=\"#999999\"/></svg>",
7
+ "tools": [
8
+ {
9
+ "name": "get_task",
10
+ "displayName": "Get Task",
11
+ "description": "Get detailed information about a specific task by its GID.",
12
+ "summary": "Get details of a specific task",
13
+ "icon": "square-check-big",
14
+ "group": "Tasks",
15
+ "input_schema": {
16
+ "type": "object",
17
+ "properties": {
18
+ "task_gid": {
19
+ "type": "string",
20
+ "minLength": 1,
21
+ "description": "Task GID to retrieve"
22
+ },
23
+ "opt_fields": {
24
+ "description": "Comma-separated list of fields to return (defaults to standard task fields)",
25
+ "type": "string"
26
+ }
27
+ },
28
+ "required": [
29
+ "task_gid"
30
+ ],
31
+ "additionalProperties": false
32
+ },
33
+ "output_schema": {
34
+ "type": "object",
35
+ "properties": {
36
+ "task": {
37
+ "type": "object",
38
+ "properties": {
39
+ "gid": {
40
+ "type": "string",
41
+ "description": "Task GID"
42
+ },
43
+ "name": {
44
+ "type": "string",
45
+ "description": "Task name"
46
+ },
47
+ "completed": {
48
+ "type": "boolean",
49
+ "description": "Whether the task is completed"
50
+ },
51
+ "assignee_gid": {
52
+ "type": "string",
53
+ "description": "Assignee user GID, or empty if unassigned"
54
+ },
55
+ "assignee_name": {
56
+ "type": "string",
57
+ "description": "Assignee display name, or empty if unassigned"
58
+ },
59
+ "due_on": {
60
+ "type": "string",
61
+ "description": "Due date (YYYY-MM-DD), or empty if none"
62
+ },
63
+ "due_at": {
64
+ "type": "string",
65
+ "description": "Due datetime (ISO 8601), or empty if none"
66
+ },
67
+ "start_on": {
68
+ "type": "string",
69
+ "description": "Start date (YYYY-MM-DD), or empty if none"
70
+ },
71
+ "notes": {
72
+ "type": "string",
73
+ "description": "Plain-text task description"
74
+ },
75
+ "html_notes": {
76
+ "type": "string",
77
+ "description": "HTML task description (truncated to 2000 chars)"
78
+ },
79
+ "projects": {
80
+ "type": "array",
81
+ "items": {
82
+ "type": "object",
83
+ "properties": {
84
+ "gid": {
85
+ "type": "string",
86
+ "description": "Project GID"
87
+ },
88
+ "name": {
89
+ "type": "string",
90
+ "description": "Project name"
91
+ }
92
+ },
93
+ "required": [
94
+ "gid",
95
+ "name"
96
+ ],
97
+ "additionalProperties": false
98
+ },
99
+ "description": "Projects this task belongs to"
100
+ },
101
+ "tags": {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "object",
105
+ "properties": {
106
+ "gid": {
107
+ "type": "string",
108
+ "description": "Tag GID"
109
+ },
110
+ "name": {
111
+ "type": "string",
112
+ "description": "Tag name"
113
+ }
114
+ },
115
+ "required": [
116
+ "gid",
117
+ "name"
118
+ ],
119
+ "additionalProperties": false
120
+ },
121
+ "description": "Tags applied to this task"
122
+ },
123
+ "parent_gid": {
124
+ "type": "string",
125
+ "description": "Parent task GID, or empty if top-level"
126
+ },
127
+ "num_subtasks": {
128
+ "type": "number",
129
+ "description": "Number of subtasks"
130
+ },
131
+ "created_at": {
132
+ "type": "string",
133
+ "description": "ISO 8601 creation timestamp"
134
+ },
135
+ "modified_at": {
136
+ "type": "string",
137
+ "description": "ISO 8601 last modified timestamp"
138
+ },
139
+ "permalink_url": {
140
+ "type": "string",
141
+ "description": "Permanent URL to the task in Asana"
142
+ },
143
+ "resource_subtype": {
144
+ "type": "string",
145
+ "description": "Task subtype (default_task, milestone, section, approval)"
146
+ }
147
+ },
148
+ "required": [
149
+ "gid",
150
+ "name",
151
+ "completed",
152
+ "assignee_gid",
153
+ "assignee_name",
154
+ "due_on",
155
+ "due_at",
156
+ "start_on",
157
+ "notes",
158
+ "html_notes",
159
+ "projects",
160
+ "tags",
161
+ "parent_gid",
162
+ "num_subtasks",
163
+ "created_at",
164
+ "modified_at",
165
+ "permalink_url",
166
+ "resource_subtype"
167
+ ],
168
+ "additionalProperties": false,
169
+ "description": "Task details"
170
+ }
171
+ },
172
+ "required": [
173
+ "task"
174
+ ],
175
+ "additionalProperties": false
176
+ }
177
+ },
178
+ {
179
+ "name": "create_task",
180
+ "displayName": "Create Task",
181
+ "description": "Create a new task in a workspace. Optionally assign to a project, user, or parent task.",
182
+ "summary": "Create a new task",
183
+ "icon": "plus",
184
+ "group": "Tasks",
185
+ "input_schema": {
186
+ "type": "object",
187
+ "properties": {
188
+ "name": {
189
+ "type": "string",
190
+ "minLength": 1,
191
+ "description": "Task name"
192
+ },
193
+ "workspace": {
194
+ "type": "string",
195
+ "minLength": 1,
196
+ "description": "Workspace GID to create the task in"
197
+ },
198
+ "projects": {
199
+ "description": "Project GIDs to add the task to",
200
+ "type": "array",
201
+ "items": {
202
+ "type": "string"
203
+ }
204
+ },
205
+ "assignee": {
206
+ "description": "Assignee user GID",
207
+ "type": "string"
208
+ },
209
+ "due_on": {
210
+ "description": "Due date in YYYY-MM-DD format",
211
+ "type": "string"
212
+ },
213
+ "due_at": {
214
+ "description": "Due datetime in ISO 8601 format",
215
+ "type": "string"
216
+ },
217
+ "start_on": {
218
+ "description": "Start date in YYYY-MM-DD format",
219
+ "type": "string"
220
+ },
221
+ "notes": {
222
+ "description": "Plain-text task description",
223
+ "type": "string"
224
+ },
225
+ "parent": {
226
+ "description": "Parent task GID to create as a subtask",
227
+ "type": "string"
228
+ }
229
+ },
230
+ "required": [
231
+ "name",
232
+ "workspace"
233
+ ],
234
+ "additionalProperties": false
235
+ },
236
+ "output_schema": {
237
+ "type": "object",
238
+ "properties": {
239
+ "task": {
240
+ "type": "object",
241
+ "properties": {
242
+ "gid": {
243
+ "type": "string",
244
+ "description": "Task GID"
245
+ },
246
+ "name": {
247
+ "type": "string",
248
+ "description": "Task name"
249
+ },
250
+ "completed": {
251
+ "type": "boolean",
252
+ "description": "Whether the task is completed"
253
+ },
254
+ "assignee_gid": {
255
+ "type": "string",
256
+ "description": "Assignee user GID, or empty if unassigned"
257
+ },
258
+ "assignee_name": {
259
+ "type": "string",
260
+ "description": "Assignee display name, or empty if unassigned"
261
+ },
262
+ "due_on": {
263
+ "type": "string",
264
+ "description": "Due date (YYYY-MM-DD), or empty if none"
265
+ },
266
+ "due_at": {
267
+ "type": "string",
268
+ "description": "Due datetime (ISO 8601), or empty if none"
269
+ },
270
+ "start_on": {
271
+ "type": "string",
272
+ "description": "Start date (YYYY-MM-DD), or empty if none"
273
+ },
274
+ "notes": {
275
+ "type": "string",
276
+ "description": "Plain-text task description"
277
+ },
278
+ "html_notes": {
279
+ "type": "string",
280
+ "description": "HTML task description (truncated to 2000 chars)"
281
+ },
282
+ "projects": {
283
+ "type": "array",
284
+ "items": {
285
+ "type": "object",
286
+ "properties": {
287
+ "gid": {
288
+ "type": "string",
289
+ "description": "Project GID"
290
+ },
291
+ "name": {
292
+ "type": "string",
293
+ "description": "Project name"
294
+ }
295
+ },
296
+ "required": [
297
+ "gid",
298
+ "name"
299
+ ],
300
+ "additionalProperties": false
301
+ },
302
+ "description": "Projects this task belongs to"
303
+ },
304
+ "tags": {
305
+ "type": "array",
306
+ "items": {
307
+ "type": "object",
308
+ "properties": {
309
+ "gid": {
310
+ "type": "string",
311
+ "description": "Tag GID"
312
+ },
313
+ "name": {
314
+ "type": "string",
315
+ "description": "Tag name"
316
+ }
317
+ },
318
+ "required": [
319
+ "gid",
320
+ "name"
321
+ ],
322
+ "additionalProperties": false
323
+ },
324
+ "description": "Tags applied to this task"
325
+ },
326
+ "parent_gid": {
327
+ "type": "string",
328
+ "description": "Parent task GID, or empty if top-level"
329
+ },
330
+ "num_subtasks": {
331
+ "type": "number",
332
+ "description": "Number of subtasks"
333
+ },
334
+ "created_at": {
335
+ "type": "string",
336
+ "description": "ISO 8601 creation timestamp"
337
+ },
338
+ "modified_at": {
339
+ "type": "string",
340
+ "description": "ISO 8601 last modified timestamp"
341
+ },
342
+ "permalink_url": {
343
+ "type": "string",
344
+ "description": "Permanent URL to the task in Asana"
345
+ },
346
+ "resource_subtype": {
347
+ "type": "string",
348
+ "description": "Task subtype (default_task, milestone, section, approval)"
349
+ }
350
+ },
351
+ "required": [
352
+ "gid",
353
+ "name",
354
+ "completed",
355
+ "assignee_gid",
356
+ "assignee_name",
357
+ "due_on",
358
+ "due_at",
359
+ "start_on",
360
+ "notes",
361
+ "html_notes",
362
+ "projects",
363
+ "tags",
364
+ "parent_gid",
365
+ "num_subtasks",
366
+ "created_at",
367
+ "modified_at",
368
+ "permalink_url",
369
+ "resource_subtype"
370
+ ],
371
+ "additionalProperties": false,
372
+ "description": "The created task"
373
+ }
374
+ },
375
+ "required": [
376
+ "task"
377
+ ],
378
+ "additionalProperties": false
379
+ }
380
+ },
381
+ {
382
+ "name": "update_task",
383
+ "displayName": "Update Task",
384
+ "description": "Update an existing task — change name, completion status, assignee, dates, or notes.",
385
+ "summary": "Update an existing task",
386
+ "icon": "pencil",
387
+ "group": "Tasks",
388
+ "input_schema": {
389
+ "type": "object",
390
+ "properties": {
391
+ "task_gid": {
392
+ "type": "string",
393
+ "minLength": 1,
394
+ "description": "Task GID to update"
395
+ },
396
+ "name": {
397
+ "description": "New task name",
398
+ "type": "string"
399
+ },
400
+ "completed": {
401
+ "description": "Whether the task is completed",
402
+ "type": "boolean"
403
+ },
404
+ "assignee": {
405
+ "description": "New assignee user GID",
406
+ "type": "string"
407
+ },
408
+ "due_on": {
409
+ "description": "Due date in YYYY-MM-DD format",
410
+ "type": "string"
411
+ },
412
+ "due_at": {
413
+ "description": "Due datetime in ISO 8601 format",
414
+ "type": "string"
415
+ },
416
+ "start_on": {
417
+ "description": "Start date in YYYY-MM-DD format",
418
+ "type": "string"
419
+ },
420
+ "notes": {
421
+ "description": "Plain-text task description",
422
+ "type": "string"
423
+ }
424
+ },
425
+ "required": [
426
+ "task_gid"
427
+ ],
428
+ "additionalProperties": false
429
+ },
430
+ "output_schema": {
431
+ "type": "object",
432
+ "properties": {
433
+ "task": {
434
+ "type": "object",
435
+ "properties": {
436
+ "gid": {
437
+ "type": "string",
438
+ "description": "Task GID"
439
+ },
440
+ "name": {
441
+ "type": "string",
442
+ "description": "Task name"
443
+ },
444
+ "completed": {
445
+ "type": "boolean",
446
+ "description": "Whether the task is completed"
447
+ },
448
+ "assignee_gid": {
449
+ "type": "string",
450
+ "description": "Assignee user GID, or empty if unassigned"
451
+ },
452
+ "assignee_name": {
453
+ "type": "string",
454
+ "description": "Assignee display name, or empty if unassigned"
455
+ },
456
+ "due_on": {
457
+ "type": "string",
458
+ "description": "Due date (YYYY-MM-DD), or empty if none"
459
+ },
460
+ "due_at": {
461
+ "type": "string",
462
+ "description": "Due datetime (ISO 8601), or empty if none"
463
+ },
464
+ "start_on": {
465
+ "type": "string",
466
+ "description": "Start date (YYYY-MM-DD), or empty if none"
467
+ },
468
+ "notes": {
469
+ "type": "string",
470
+ "description": "Plain-text task description"
471
+ },
472
+ "html_notes": {
473
+ "type": "string",
474
+ "description": "HTML task description (truncated to 2000 chars)"
475
+ },
476
+ "projects": {
477
+ "type": "array",
478
+ "items": {
479
+ "type": "object",
480
+ "properties": {
481
+ "gid": {
482
+ "type": "string",
483
+ "description": "Project GID"
484
+ },
485
+ "name": {
486
+ "type": "string",
487
+ "description": "Project name"
488
+ }
489
+ },
490
+ "required": [
491
+ "gid",
492
+ "name"
493
+ ],
494
+ "additionalProperties": false
495
+ },
496
+ "description": "Projects this task belongs to"
497
+ },
498
+ "tags": {
499
+ "type": "array",
500
+ "items": {
501
+ "type": "object",
502
+ "properties": {
503
+ "gid": {
504
+ "type": "string",
505
+ "description": "Tag GID"
506
+ },
507
+ "name": {
508
+ "type": "string",
509
+ "description": "Tag name"
510
+ }
511
+ },
512
+ "required": [
513
+ "gid",
514
+ "name"
515
+ ],
516
+ "additionalProperties": false
517
+ },
518
+ "description": "Tags applied to this task"
519
+ },
520
+ "parent_gid": {
521
+ "type": "string",
522
+ "description": "Parent task GID, or empty if top-level"
523
+ },
524
+ "num_subtasks": {
525
+ "type": "number",
526
+ "description": "Number of subtasks"
527
+ },
528
+ "created_at": {
529
+ "type": "string",
530
+ "description": "ISO 8601 creation timestamp"
531
+ },
532
+ "modified_at": {
533
+ "type": "string",
534
+ "description": "ISO 8601 last modified timestamp"
535
+ },
536
+ "permalink_url": {
537
+ "type": "string",
538
+ "description": "Permanent URL to the task in Asana"
539
+ },
540
+ "resource_subtype": {
541
+ "type": "string",
542
+ "description": "Task subtype (default_task, milestone, section, approval)"
543
+ }
544
+ },
545
+ "required": [
546
+ "gid",
547
+ "name",
548
+ "completed",
549
+ "assignee_gid",
550
+ "assignee_name",
551
+ "due_on",
552
+ "due_at",
553
+ "start_on",
554
+ "notes",
555
+ "html_notes",
556
+ "projects",
557
+ "tags",
558
+ "parent_gid",
559
+ "num_subtasks",
560
+ "created_at",
561
+ "modified_at",
562
+ "permalink_url",
563
+ "resource_subtype"
564
+ ],
565
+ "additionalProperties": false,
566
+ "description": "The updated task"
567
+ }
568
+ },
569
+ "required": [
570
+ "task"
571
+ ],
572
+ "additionalProperties": false
573
+ }
574
+ },
575
+ {
576
+ "name": "delete_task",
577
+ "displayName": "Delete Task",
578
+ "description": "Permanently delete a task by its GID. This action cannot be undone.",
579
+ "summary": "Delete a task permanently",
580
+ "icon": "trash-2",
581
+ "group": "Tasks",
582
+ "input_schema": {
583
+ "type": "object",
584
+ "properties": {
585
+ "task_gid": {
586
+ "type": "string",
587
+ "minLength": 1,
588
+ "description": "Task GID to delete"
589
+ }
590
+ },
591
+ "required": [
592
+ "task_gid"
593
+ ],
594
+ "additionalProperties": false
595
+ },
596
+ "output_schema": {
597
+ "type": "object",
598
+ "properties": {
599
+ "success": {
600
+ "type": "boolean",
601
+ "description": "Whether the task was successfully deleted"
602
+ }
603
+ },
604
+ "required": [
605
+ "success"
606
+ ],
607
+ "additionalProperties": false
608
+ }
609
+ },
610
+ {
611
+ "name": "search_tasks",
612
+ "displayName": "Search Tasks",
613
+ "description": "Search for tasks in a workspace. Supports filtering by text, assignee, completion status, due dates, and projects.",
614
+ "summary": "Search tasks in a workspace",
615
+ "icon": "search",
616
+ "group": "Tasks",
617
+ "input_schema": {
618
+ "type": "object",
619
+ "properties": {
620
+ "workspace_gid": {
621
+ "type": "string",
622
+ "minLength": 1,
623
+ "description": "Workspace GID to search in"
624
+ },
625
+ "text": {
626
+ "description": "Text to search for in task names and descriptions",
627
+ "type": "string"
628
+ },
629
+ "assignee_gid": {
630
+ "description": "Filter by assignee user GID",
631
+ "type": "string"
632
+ },
633
+ "completed": {
634
+ "description": "Filter by completion status",
635
+ "type": "boolean"
636
+ },
637
+ "due_on_before": {
638
+ "description": "Filter tasks due on or before this date (YYYY-MM-DD)",
639
+ "type": "string"
640
+ },
641
+ "due_on_after": {
642
+ "description": "Filter tasks due on or after this date (YYYY-MM-DD)",
643
+ "type": "string"
644
+ },
645
+ "projects_any": {
646
+ "description": "Comma-separated project GIDs to filter by (matches any)",
647
+ "type": "string"
648
+ },
649
+ "limit": {
650
+ "description": "Maximum number of results to return (default 20, max 100)",
651
+ "type": "integer",
652
+ "minimum": 1,
653
+ "maximum": 100
654
+ }
655
+ },
656
+ "required": [
657
+ "workspace_gid"
658
+ ],
659
+ "additionalProperties": false
660
+ },
661
+ "output_schema": {
662
+ "type": "object",
663
+ "properties": {
664
+ "tasks": {
665
+ "type": "array",
666
+ "items": {
667
+ "type": "object",
668
+ "properties": {
669
+ "gid": {
670
+ "type": "string",
671
+ "description": "Task GID"
672
+ },
673
+ "name": {
674
+ "type": "string",
675
+ "description": "Task name"
676
+ },
677
+ "completed": {
678
+ "type": "boolean",
679
+ "description": "Whether the task is completed"
680
+ },
681
+ "assignee_gid": {
682
+ "type": "string",
683
+ "description": "Assignee user GID, or empty if unassigned"
684
+ },
685
+ "assignee_name": {
686
+ "type": "string",
687
+ "description": "Assignee display name, or empty if unassigned"
688
+ },
689
+ "due_on": {
690
+ "type": "string",
691
+ "description": "Due date (YYYY-MM-DD), or empty if none"
692
+ },
693
+ "due_at": {
694
+ "type": "string",
695
+ "description": "Due datetime (ISO 8601), or empty if none"
696
+ },
697
+ "start_on": {
698
+ "type": "string",
699
+ "description": "Start date (YYYY-MM-DD), or empty if none"
700
+ },
701
+ "notes": {
702
+ "type": "string",
703
+ "description": "Plain-text task description"
704
+ },
705
+ "html_notes": {
706
+ "type": "string",
707
+ "description": "HTML task description (truncated to 2000 chars)"
708
+ },
709
+ "projects": {
710
+ "type": "array",
711
+ "items": {
712
+ "type": "object",
713
+ "properties": {
714
+ "gid": {
715
+ "type": "string",
716
+ "description": "Project GID"
717
+ },
718
+ "name": {
719
+ "type": "string",
720
+ "description": "Project name"
721
+ }
722
+ },
723
+ "required": [
724
+ "gid",
725
+ "name"
726
+ ],
727
+ "additionalProperties": false
728
+ },
729
+ "description": "Projects this task belongs to"
730
+ },
731
+ "tags": {
732
+ "type": "array",
733
+ "items": {
734
+ "type": "object",
735
+ "properties": {
736
+ "gid": {
737
+ "type": "string",
738
+ "description": "Tag GID"
739
+ },
740
+ "name": {
741
+ "type": "string",
742
+ "description": "Tag name"
743
+ }
744
+ },
745
+ "required": [
746
+ "gid",
747
+ "name"
748
+ ],
749
+ "additionalProperties": false
750
+ },
751
+ "description": "Tags applied to this task"
752
+ },
753
+ "parent_gid": {
754
+ "type": "string",
755
+ "description": "Parent task GID, or empty if top-level"
756
+ },
757
+ "num_subtasks": {
758
+ "type": "number",
759
+ "description": "Number of subtasks"
760
+ },
761
+ "created_at": {
762
+ "type": "string",
763
+ "description": "ISO 8601 creation timestamp"
764
+ },
765
+ "modified_at": {
766
+ "type": "string",
767
+ "description": "ISO 8601 last modified timestamp"
768
+ },
769
+ "permalink_url": {
770
+ "type": "string",
771
+ "description": "Permanent URL to the task in Asana"
772
+ },
773
+ "resource_subtype": {
774
+ "type": "string",
775
+ "description": "Task subtype (default_task, milestone, section, approval)"
776
+ }
777
+ },
778
+ "required": [
779
+ "gid",
780
+ "name",
781
+ "completed",
782
+ "assignee_gid",
783
+ "assignee_name",
784
+ "due_on",
785
+ "due_at",
786
+ "start_on",
787
+ "notes",
788
+ "html_notes",
789
+ "projects",
790
+ "tags",
791
+ "parent_gid",
792
+ "num_subtasks",
793
+ "created_at",
794
+ "modified_at",
795
+ "permalink_url",
796
+ "resource_subtype"
797
+ ],
798
+ "additionalProperties": false
799
+ },
800
+ "description": "List of matching tasks"
801
+ }
802
+ },
803
+ "required": [
804
+ "tasks"
805
+ ],
806
+ "additionalProperties": false
807
+ }
808
+ },
809
+ {
810
+ "name": "get_tasks_for_project",
811
+ "displayName": "Get Tasks for Project",
812
+ "description": "List tasks in a project. Supports pagination with limit and offset.",
813
+ "summary": "List tasks in a project",
814
+ "icon": "list",
815
+ "group": "Tasks",
816
+ "input_schema": {
817
+ "type": "object",
818
+ "properties": {
819
+ "project_gid": {
820
+ "type": "string",
821
+ "minLength": 1,
822
+ "description": "Project GID to list tasks for"
823
+ },
824
+ "limit": {
825
+ "description": "Maximum number of tasks to return (default 20, max 100)",
826
+ "type": "integer",
827
+ "minimum": 1,
828
+ "maximum": 100
829
+ },
830
+ "offset": {
831
+ "description": "Pagination offset from a previous response",
832
+ "type": "string"
833
+ }
834
+ },
835
+ "required": [
836
+ "project_gid"
837
+ ],
838
+ "additionalProperties": false
839
+ },
840
+ "output_schema": {
841
+ "type": "object",
842
+ "properties": {
843
+ "tasks": {
844
+ "type": "array",
845
+ "items": {
846
+ "type": "object",
847
+ "properties": {
848
+ "gid": {
849
+ "type": "string",
850
+ "description": "Task GID"
851
+ },
852
+ "name": {
853
+ "type": "string",
854
+ "description": "Task name"
855
+ },
856
+ "completed": {
857
+ "type": "boolean",
858
+ "description": "Whether the task is completed"
859
+ },
860
+ "assignee_gid": {
861
+ "type": "string",
862
+ "description": "Assignee user GID, or empty if unassigned"
863
+ },
864
+ "assignee_name": {
865
+ "type": "string",
866
+ "description": "Assignee display name, or empty if unassigned"
867
+ },
868
+ "due_on": {
869
+ "type": "string",
870
+ "description": "Due date (YYYY-MM-DD), or empty if none"
871
+ },
872
+ "due_at": {
873
+ "type": "string",
874
+ "description": "Due datetime (ISO 8601), or empty if none"
875
+ },
876
+ "start_on": {
877
+ "type": "string",
878
+ "description": "Start date (YYYY-MM-DD), or empty if none"
879
+ },
880
+ "notes": {
881
+ "type": "string",
882
+ "description": "Plain-text task description"
883
+ },
884
+ "html_notes": {
885
+ "type": "string",
886
+ "description": "HTML task description (truncated to 2000 chars)"
887
+ },
888
+ "projects": {
889
+ "type": "array",
890
+ "items": {
891
+ "type": "object",
892
+ "properties": {
893
+ "gid": {
894
+ "type": "string",
895
+ "description": "Project GID"
896
+ },
897
+ "name": {
898
+ "type": "string",
899
+ "description": "Project name"
900
+ }
901
+ },
902
+ "required": [
903
+ "gid",
904
+ "name"
905
+ ],
906
+ "additionalProperties": false
907
+ },
908
+ "description": "Projects this task belongs to"
909
+ },
910
+ "tags": {
911
+ "type": "array",
912
+ "items": {
913
+ "type": "object",
914
+ "properties": {
915
+ "gid": {
916
+ "type": "string",
917
+ "description": "Tag GID"
918
+ },
919
+ "name": {
920
+ "type": "string",
921
+ "description": "Tag name"
922
+ }
923
+ },
924
+ "required": [
925
+ "gid",
926
+ "name"
927
+ ],
928
+ "additionalProperties": false
929
+ },
930
+ "description": "Tags applied to this task"
931
+ },
932
+ "parent_gid": {
933
+ "type": "string",
934
+ "description": "Parent task GID, or empty if top-level"
935
+ },
936
+ "num_subtasks": {
937
+ "type": "number",
938
+ "description": "Number of subtasks"
939
+ },
940
+ "created_at": {
941
+ "type": "string",
942
+ "description": "ISO 8601 creation timestamp"
943
+ },
944
+ "modified_at": {
945
+ "type": "string",
946
+ "description": "ISO 8601 last modified timestamp"
947
+ },
948
+ "permalink_url": {
949
+ "type": "string",
950
+ "description": "Permanent URL to the task in Asana"
951
+ },
952
+ "resource_subtype": {
953
+ "type": "string",
954
+ "description": "Task subtype (default_task, milestone, section, approval)"
955
+ }
956
+ },
957
+ "required": [
958
+ "gid",
959
+ "name",
960
+ "completed",
961
+ "assignee_gid",
962
+ "assignee_name",
963
+ "due_on",
964
+ "due_at",
965
+ "start_on",
966
+ "notes",
967
+ "html_notes",
968
+ "projects",
969
+ "tags",
970
+ "parent_gid",
971
+ "num_subtasks",
972
+ "created_at",
973
+ "modified_at",
974
+ "permalink_url",
975
+ "resource_subtype"
976
+ ],
977
+ "additionalProperties": false
978
+ },
979
+ "description": "List of tasks in the project"
980
+ },
981
+ "next_page": {
982
+ "anyOf": [
983
+ {
984
+ "type": "string"
985
+ },
986
+ {
987
+ "type": "null"
988
+ }
989
+ ],
990
+ "description": "Pagination offset for the next page, or null if no more results"
991
+ }
992
+ },
993
+ "required": [
994
+ "tasks",
995
+ "next_page"
996
+ ],
997
+ "additionalProperties": false
998
+ }
999
+ },
1000
+ {
1001
+ "name": "get_tasks_for_section",
1002
+ "displayName": "Get Tasks for Section",
1003
+ "description": "List tasks in a project section. Supports pagination with limit and offset.",
1004
+ "summary": "List tasks in a section",
1005
+ "icon": "list",
1006
+ "group": "Tasks",
1007
+ "input_schema": {
1008
+ "type": "object",
1009
+ "properties": {
1010
+ "section_gid": {
1011
+ "type": "string",
1012
+ "minLength": 1,
1013
+ "description": "Section GID to list tasks for"
1014
+ },
1015
+ "limit": {
1016
+ "description": "Maximum number of tasks to return (default 20, max 100)",
1017
+ "type": "integer",
1018
+ "minimum": 1,
1019
+ "maximum": 100
1020
+ },
1021
+ "offset": {
1022
+ "description": "Pagination offset from a previous response",
1023
+ "type": "string"
1024
+ }
1025
+ },
1026
+ "required": [
1027
+ "section_gid"
1028
+ ],
1029
+ "additionalProperties": false
1030
+ },
1031
+ "output_schema": {
1032
+ "type": "object",
1033
+ "properties": {
1034
+ "tasks": {
1035
+ "type": "array",
1036
+ "items": {
1037
+ "type": "object",
1038
+ "properties": {
1039
+ "gid": {
1040
+ "type": "string",
1041
+ "description": "Task GID"
1042
+ },
1043
+ "name": {
1044
+ "type": "string",
1045
+ "description": "Task name"
1046
+ },
1047
+ "completed": {
1048
+ "type": "boolean",
1049
+ "description": "Whether the task is completed"
1050
+ },
1051
+ "assignee_gid": {
1052
+ "type": "string",
1053
+ "description": "Assignee user GID, or empty if unassigned"
1054
+ },
1055
+ "assignee_name": {
1056
+ "type": "string",
1057
+ "description": "Assignee display name, or empty if unassigned"
1058
+ },
1059
+ "due_on": {
1060
+ "type": "string",
1061
+ "description": "Due date (YYYY-MM-DD), or empty if none"
1062
+ },
1063
+ "due_at": {
1064
+ "type": "string",
1065
+ "description": "Due datetime (ISO 8601), or empty if none"
1066
+ },
1067
+ "start_on": {
1068
+ "type": "string",
1069
+ "description": "Start date (YYYY-MM-DD), or empty if none"
1070
+ },
1071
+ "notes": {
1072
+ "type": "string",
1073
+ "description": "Plain-text task description"
1074
+ },
1075
+ "html_notes": {
1076
+ "type": "string",
1077
+ "description": "HTML task description (truncated to 2000 chars)"
1078
+ },
1079
+ "projects": {
1080
+ "type": "array",
1081
+ "items": {
1082
+ "type": "object",
1083
+ "properties": {
1084
+ "gid": {
1085
+ "type": "string",
1086
+ "description": "Project GID"
1087
+ },
1088
+ "name": {
1089
+ "type": "string",
1090
+ "description": "Project name"
1091
+ }
1092
+ },
1093
+ "required": [
1094
+ "gid",
1095
+ "name"
1096
+ ],
1097
+ "additionalProperties": false
1098
+ },
1099
+ "description": "Projects this task belongs to"
1100
+ },
1101
+ "tags": {
1102
+ "type": "array",
1103
+ "items": {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "gid": {
1107
+ "type": "string",
1108
+ "description": "Tag GID"
1109
+ },
1110
+ "name": {
1111
+ "type": "string",
1112
+ "description": "Tag name"
1113
+ }
1114
+ },
1115
+ "required": [
1116
+ "gid",
1117
+ "name"
1118
+ ],
1119
+ "additionalProperties": false
1120
+ },
1121
+ "description": "Tags applied to this task"
1122
+ },
1123
+ "parent_gid": {
1124
+ "type": "string",
1125
+ "description": "Parent task GID, or empty if top-level"
1126
+ },
1127
+ "num_subtasks": {
1128
+ "type": "number",
1129
+ "description": "Number of subtasks"
1130
+ },
1131
+ "created_at": {
1132
+ "type": "string",
1133
+ "description": "ISO 8601 creation timestamp"
1134
+ },
1135
+ "modified_at": {
1136
+ "type": "string",
1137
+ "description": "ISO 8601 last modified timestamp"
1138
+ },
1139
+ "permalink_url": {
1140
+ "type": "string",
1141
+ "description": "Permanent URL to the task in Asana"
1142
+ },
1143
+ "resource_subtype": {
1144
+ "type": "string",
1145
+ "description": "Task subtype (default_task, milestone, section, approval)"
1146
+ }
1147
+ },
1148
+ "required": [
1149
+ "gid",
1150
+ "name",
1151
+ "completed",
1152
+ "assignee_gid",
1153
+ "assignee_name",
1154
+ "due_on",
1155
+ "due_at",
1156
+ "start_on",
1157
+ "notes",
1158
+ "html_notes",
1159
+ "projects",
1160
+ "tags",
1161
+ "parent_gid",
1162
+ "num_subtasks",
1163
+ "created_at",
1164
+ "modified_at",
1165
+ "permalink_url",
1166
+ "resource_subtype"
1167
+ ],
1168
+ "additionalProperties": false
1169
+ },
1170
+ "description": "List of tasks in the section"
1171
+ },
1172
+ "next_page": {
1173
+ "anyOf": [
1174
+ {
1175
+ "type": "string"
1176
+ },
1177
+ {
1178
+ "type": "null"
1179
+ }
1180
+ ],
1181
+ "description": "Pagination offset for the next page, or null if no more results"
1182
+ }
1183
+ },
1184
+ "required": [
1185
+ "tasks",
1186
+ "next_page"
1187
+ ],
1188
+ "additionalProperties": false
1189
+ }
1190
+ },
1191
+ {
1192
+ "name": "get_subtasks",
1193
+ "displayName": "Get Subtasks",
1194
+ "description": "List subtasks of a parent task. Supports pagination with limit and offset.",
1195
+ "summary": "List subtasks of a task",
1196
+ "icon": "list-tree",
1197
+ "group": "Tasks",
1198
+ "input_schema": {
1199
+ "type": "object",
1200
+ "properties": {
1201
+ "task_gid": {
1202
+ "type": "string",
1203
+ "minLength": 1,
1204
+ "description": "Parent task GID to list subtasks for"
1205
+ },
1206
+ "limit": {
1207
+ "description": "Maximum number of subtasks to return (default 20, max 100)",
1208
+ "type": "integer",
1209
+ "minimum": 1,
1210
+ "maximum": 100
1211
+ },
1212
+ "offset": {
1213
+ "description": "Pagination offset from a previous response",
1214
+ "type": "string"
1215
+ }
1216
+ },
1217
+ "required": [
1218
+ "task_gid"
1219
+ ],
1220
+ "additionalProperties": false
1221
+ },
1222
+ "output_schema": {
1223
+ "type": "object",
1224
+ "properties": {
1225
+ "subtasks": {
1226
+ "type": "array",
1227
+ "items": {
1228
+ "type": "object",
1229
+ "properties": {
1230
+ "gid": {
1231
+ "type": "string",
1232
+ "description": "Task GID"
1233
+ },
1234
+ "name": {
1235
+ "type": "string",
1236
+ "description": "Task name"
1237
+ },
1238
+ "completed": {
1239
+ "type": "boolean",
1240
+ "description": "Whether the task is completed"
1241
+ },
1242
+ "assignee_gid": {
1243
+ "type": "string",
1244
+ "description": "Assignee user GID, or empty if unassigned"
1245
+ },
1246
+ "assignee_name": {
1247
+ "type": "string",
1248
+ "description": "Assignee display name, or empty if unassigned"
1249
+ },
1250
+ "due_on": {
1251
+ "type": "string",
1252
+ "description": "Due date (YYYY-MM-DD), or empty if none"
1253
+ },
1254
+ "due_at": {
1255
+ "type": "string",
1256
+ "description": "Due datetime (ISO 8601), or empty if none"
1257
+ },
1258
+ "start_on": {
1259
+ "type": "string",
1260
+ "description": "Start date (YYYY-MM-DD), or empty if none"
1261
+ },
1262
+ "notes": {
1263
+ "type": "string",
1264
+ "description": "Plain-text task description"
1265
+ },
1266
+ "html_notes": {
1267
+ "type": "string",
1268
+ "description": "HTML task description (truncated to 2000 chars)"
1269
+ },
1270
+ "projects": {
1271
+ "type": "array",
1272
+ "items": {
1273
+ "type": "object",
1274
+ "properties": {
1275
+ "gid": {
1276
+ "type": "string",
1277
+ "description": "Project GID"
1278
+ },
1279
+ "name": {
1280
+ "type": "string",
1281
+ "description": "Project name"
1282
+ }
1283
+ },
1284
+ "required": [
1285
+ "gid",
1286
+ "name"
1287
+ ],
1288
+ "additionalProperties": false
1289
+ },
1290
+ "description": "Projects this task belongs to"
1291
+ },
1292
+ "tags": {
1293
+ "type": "array",
1294
+ "items": {
1295
+ "type": "object",
1296
+ "properties": {
1297
+ "gid": {
1298
+ "type": "string",
1299
+ "description": "Tag GID"
1300
+ },
1301
+ "name": {
1302
+ "type": "string",
1303
+ "description": "Tag name"
1304
+ }
1305
+ },
1306
+ "required": [
1307
+ "gid",
1308
+ "name"
1309
+ ],
1310
+ "additionalProperties": false
1311
+ },
1312
+ "description": "Tags applied to this task"
1313
+ },
1314
+ "parent_gid": {
1315
+ "type": "string",
1316
+ "description": "Parent task GID, or empty if top-level"
1317
+ },
1318
+ "num_subtasks": {
1319
+ "type": "number",
1320
+ "description": "Number of subtasks"
1321
+ },
1322
+ "created_at": {
1323
+ "type": "string",
1324
+ "description": "ISO 8601 creation timestamp"
1325
+ },
1326
+ "modified_at": {
1327
+ "type": "string",
1328
+ "description": "ISO 8601 last modified timestamp"
1329
+ },
1330
+ "permalink_url": {
1331
+ "type": "string",
1332
+ "description": "Permanent URL to the task in Asana"
1333
+ },
1334
+ "resource_subtype": {
1335
+ "type": "string",
1336
+ "description": "Task subtype (default_task, milestone, section, approval)"
1337
+ }
1338
+ },
1339
+ "required": [
1340
+ "gid",
1341
+ "name",
1342
+ "completed",
1343
+ "assignee_gid",
1344
+ "assignee_name",
1345
+ "due_on",
1346
+ "due_at",
1347
+ "start_on",
1348
+ "notes",
1349
+ "html_notes",
1350
+ "projects",
1351
+ "tags",
1352
+ "parent_gid",
1353
+ "num_subtasks",
1354
+ "created_at",
1355
+ "modified_at",
1356
+ "permalink_url",
1357
+ "resource_subtype"
1358
+ ],
1359
+ "additionalProperties": false
1360
+ },
1361
+ "description": "List of subtasks"
1362
+ },
1363
+ "next_page": {
1364
+ "anyOf": [
1365
+ {
1366
+ "type": "string"
1367
+ },
1368
+ {
1369
+ "type": "null"
1370
+ }
1371
+ ],
1372
+ "description": "Pagination offset for the next page, or null if no more results"
1373
+ }
1374
+ },
1375
+ "required": [
1376
+ "subtasks",
1377
+ "next_page"
1378
+ ],
1379
+ "additionalProperties": false
1380
+ }
1381
+ },
1382
+ {
1383
+ "name": "add_followers",
1384
+ "displayName": "Add Followers",
1385
+ "description": "Add followers to a task. Followers receive notifications about task activity.",
1386
+ "summary": "Add followers to a task",
1387
+ "icon": "user-plus",
1388
+ "group": "Tasks",
1389
+ "input_schema": {
1390
+ "type": "object",
1391
+ "properties": {
1392
+ "task_gid": {
1393
+ "type": "string",
1394
+ "minLength": 1,
1395
+ "description": "Task GID to add followers to"
1396
+ },
1397
+ "followers": {
1398
+ "minItems": 1,
1399
+ "type": "array",
1400
+ "items": {
1401
+ "type": "string",
1402
+ "minLength": 1
1403
+ },
1404
+ "description": "Array of user GIDs to add as followers"
1405
+ }
1406
+ },
1407
+ "required": [
1408
+ "task_gid",
1409
+ "followers"
1410
+ ],
1411
+ "additionalProperties": false
1412
+ },
1413
+ "output_schema": {
1414
+ "type": "object",
1415
+ "properties": {
1416
+ "task": {
1417
+ "type": "object",
1418
+ "properties": {
1419
+ "gid": {
1420
+ "type": "string",
1421
+ "description": "Task GID"
1422
+ },
1423
+ "name": {
1424
+ "type": "string",
1425
+ "description": "Task name"
1426
+ },
1427
+ "completed": {
1428
+ "type": "boolean",
1429
+ "description": "Whether the task is completed"
1430
+ },
1431
+ "assignee_gid": {
1432
+ "type": "string",
1433
+ "description": "Assignee user GID, or empty if unassigned"
1434
+ },
1435
+ "assignee_name": {
1436
+ "type": "string",
1437
+ "description": "Assignee display name, or empty if unassigned"
1438
+ },
1439
+ "due_on": {
1440
+ "type": "string",
1441
+ "description": "Due date (YYYY-MM-DD), or empty if none"
1442
+ },
1443
+ "due_at": {
1444
+ "type": "string",
1445
+ "description": "Due datetime (ISO 8601), or empty if none"
1446
+ },
1447
+ "start_on": {
1448
+ "type": "string",
1449
+ "description": "Start date (YYYY-MM-DD), or empty if none"
1450
+ },
1451
+ "notes": {
1452
+ "type": "string",
1453
+ "description": "Plain-text task description"
1454
+ },
1455
+ "html_notes": {
1456
+ "type": "string",
1457
+ "description": "HTML task description (truncated to 2000 chars)"
1458
+ },
1459
+ "projects": {
1460
+ "type": "array",
1461
+ "items": {
1462
+ "type": "object",
1463
+ "properties": {
1464
+ "gid": {
1465
+ "type": "string",
1466
+ "description": "Project GID"
1467
+ },
1468
+ "name": {
1469
+ "type": "string",
1470
+ "description": "Project name"
1471
+ }
1472
+ },
1473
+ "required": [
1474
+ "gid",
1475
+ "name"
1476
+ ],
1477
+ "additionalProperties": false
1478
+ },
1479
+ "description": "Projects this task belongs to"
1480
+ },
1481
+ "tags": {
1482
+ "type": "array",
1483
+ "items": {
1484
+ "type": "object",
1485
+ "properties": {
1486
+ "gid": {
1487
+ "type": "string",
1488
+ "description": "Tag GID"
1489
+ },
1490
+ "name": {
1491
+ "type": "string",
1492
+ "description": "Tag name"
1493
+ }
1494
+ },
1495
+ "required": [
1496
+ "gid",
1497
+ "name"
1498
+ ],
1499
+ "additionalProperties": false
1500
+ },
1501
+ "description": "Tags applied to this task"
1502
+ },
1503
+ "parent_gid": {
1504
+ "type": "string",
1505
+ "description": "Parent task GID, or empty if top-level"
1506
+ },
1507
+ "num_subtasks": {
1508
+ "type": "number",
1509
+ "description": "Number of subtasks"
1510
+ },
1511
+ "created_at": {
1512
+ "type": "string",
1513
+ "description": "ISO 8601 creation timestamp"
1514
+ },
1515
+ "modified_at": {
1516
+ "type": "string",
1517
+ "description": "ISO 8601 last modified timestamp"
1518
+ },
1519
+ "permalink_url": {
1520
+ "type": "string",
1521
+ "description": "Permanent URL to the task in Asana"
1522
+ },
1523
+ "resource_subtype": {
1524
+ "type": "string",
1525
+ "description": "Task subtype (default_task, milestone, section, approval)"
1526
+ }
1527
+ },
1528
+ "required": [
1529
+ "gid",
1530
+ "name",
1531
+ "completed",
1532
+ "assignee_gid",
1533
+ "assignee_name",
1534
+ "due_on",
1535
+ "due_at",
1536
+ "start_on",
1537
+ "notes",
1538
+ "html_notes",
1539
+ "projects",
1540
+ "tags",
1541
+ "parent_gid",
1542
+ "num_subtasks",
1543
+ "created_at",
1544
+ "modified_at",
1545
+ "permalink_url",
1546
+ "resource_subtype"
1547
+ ],
1548
+ "additionalProperties": false,
1549
+ "description": "The updated task"
1550
+ }
1551
+ },
1552
+ "required": [
1553
+ "task"
1554
+ ],
1555
+ "additionalProperties": false
1556
+ }
1557
+ },
1558
+ {
1559
+ "name": "list_projects",
1560
+ "displayName": "List Projects",
1561
+ "description": "List projects in a workspace. Returns projects sorted by name with optional filtering by archived status. Supports pagination via offset.",
1562
+ "summary": "List projects in a workspace",
1563
+ "icon": "folder",
1564
+ "group": "Projects",
1565
+ "input_schema": {
1566
+ "type": "object",
1567
+ "properties": {
1568
+ "workspace_gid": {
1569
+ "type": "string",
1570
+ "minLength": 1,
1571
+ "description": "Workspace GID to list projects from"
1572
+ },
1573
+ "archived": {
1574
+ "description": "Filter by archived status (default: false)",
1575
+ "type": "boolean"
1576
+ },
1577
+ "limit": {
1578
+ "description": "Results per page (default 20, max 100)",
1579
+ "type": "integer",
1580
+ "minimum": 1,
1581
+ "maximum": 100
1582
+ },
1583
+ "offset": {
1584
+ "description": "Pagination offset from a previous response",
1585
+ "type": "string"
1586
+ }
1587
+ },
1588
+ "required": [
1589
+ "workspace_gid"
1590
+ ],
1591
+ "additionalProperties": false
1592
+ },
1593
+ "output_schema": {
1594
+ "type": "object",
1595
+ "properties": {
1596
+ "projects": {
1597
+ "type": "array",
1598
+ "items": {
1599
+ "type": "object",
1600
+ "properties": {
1601
+ "gid": {
1602
+ "type": "string",
1603
+ "description": "Project GID"
1604
+ },
1605
+ "name": {
1606
+ "type": "string",
1607
+ "description": "Project name"
1608
+ },
1609
+ "archived": {
1610
+ "type": "boolean",
1611
+ "description": "Whether the project is archived"
1612
+ },
1613
+ "color": {
1614
+ "type": "string",
1615
+ "description": "Project color name, or empty if none"
1616
+ },
1617
+ "notes": {
1618
+ "type": "string",
1619
+ "description": "Plain-text project description"
1620
+ },
1621
+ "owner_gid": {
1622
+ "type": "string",
1623
+ "description": "Owner user GID, or empty if none"
1624
+ },
1625
+ "owner_name": {
1626
+ "type": "string",
1627
+ "description": "Owner display name, or empty if none"
1628
+ },
1629
+ "team_gid": {
1630
+ "type": "string",
1631
+ "description": "Team GID, or empty if none"
1632
+ },
1633
+ "team_name": {
1634
+ "type": "string",
1635
+ "description": "Team name, or empty if none"
1636
+ },
1637
+ "created_at": {
1638
+ "type": "string",
1639
+ "description": "ISO 8601 creation timestamp"
1640
+ },
1641
+ "modified_at": {
1642
+ "type": "string",
1643
+ "description": "ISO 8601 last modified timestamp"
1644
+ },
1645
+ "due_on": {
1646
+ "type": "string",
1647
+ "description": "Project due date (YYYY-MM-DD), or empty if none"
1648
+ },
1649
+ "start_on": {
1650
+ "type": "string",
1651
+ "description": "Project start date (YYYY-MM-DD), or empty if none"
1652
+ },
1653
+ "permalink_url": {
1654
+ "type": "string",
1655
+ "description": "Permanent URL to the project in Asana"
1656
+ },
1657
+ "public": {
1658
+ "type": "boolean",
1659
+ "description": "Whether the project is public to the workspace"
1660
+ }
1661
+ },
1662
+ "required": [
1663
+ "gid",
1664
+ "name",
1665
+ "archived",
1666
+ "color",
1667
+ "notes",
1668
+ "owner_gid",
1669
+ "owner_name",
1670
+ "team_gid",
1671
+ "team_name",
1672
+ "created_at",
1673
+ "modified_at",
1674
+ "due_on",
1675
+ "start_on",
1676
+ "permalink_url",
1677
+ "public"
1678
+ ],
1679
+ "additionalProperties": false
1680
+ },
1681
+ "description": "List of projects"
1682
+ },
1683
+ "next_page": {
1684
+ "anyOf": [
1685
+ {
1686
+ "type": "string"
1687
+ },
1688
+ {
1689
+ "type": "null"
1690
+ }
1691
+ ],
1692
+ "description": "Pagination offset for the next page, or null if no more results"
1693
+ }
1694
+ },
1695
+ "required": [
1696
+ "projects",
1697
+ "next_page"
1698
+ ],
1699
+ "additionalProperties": false
1700
+ }
1701
+ },
1702
+ {
1703
+ "name": "get_project",
1704
+ "displayName": "Get Project",
1705
+ "description": "Get detailed information about a specific project by its GID.",
1706
+ "summary": "Get details of a specific project",
1707
+ "icon": "folder-open",
1708
+ "group": "Projects",
1709
+ "input_schema": {
1710
+ "type": "object",
1711
+ "properties": {
1712
+ "project_gid": {
1713
+ "type": "string",
1714
+ "minLength": 1,
1715
+ "description": "Project GID to retrieve"
1716
+ }
1717
+ },
1718
+ "required": [
1719
+ "project_gid"
1720
+ ],
1721
+ "additionalProperties": false
1722
+ },
1723
+ "output_schema": {
1724
+ "type": "object",
1725
+ "properties": {
1726
+ "project": {
1727
+ "type": "object",
1728
+ "properties": {
1729
+ "gid": {
1730
+ "type": "string",
1731
+ "description": "Project GID"
1732
+ },
1733
+ "name": {
1734
+ "type": "string",
1735
+ "description": "Project name"
1736
+ },
1737
+ "archived": {
1738
+ "type": "boolean",
1739
+ "description": "Whether the project is archived"
1740
+ },
1741
+ "color": {
1742
+ "type": "string",
1743
+ "description": "Project color name, or empty if none"
1744
+ },
1745
+ "notes": {
1746
+ "type": "string",
1747
+ "description": "Plain-text project description"
1748
+ },
1749
+ "owner_gid": {
1750
+ "type": "string",
1751
+ "description": "Owner user GID, or empty if none"
1752
+ },
1753
+ "owner_name": {
1754
+ "type": "string",
1755
+ "description": "Owner display name, or empty if none"
1756
+ },
1757
+ "team_gid": {
1758
+ "type": "string",
1759
+ "description": "Team GID, or empty if none"
1760
+ },
1761
+ "team_name": {
1762
+ "type": "string",
1763
+ "description": "Team name, or empty if none"
1764
+ },
1765
+ "created_at": {
1766
+ "type": "string",
1767
+ "description": "ISO 8601 creation timestamp"
1768
+ },
1769
+ "modified_at": {
1770
+ "type": "string",
1771
+ "description": "ISO 8601 last modified timestamp"
1772
+ },
1773
+ "due_on": {
1774
+ "type": "string",
1775
+ "description": "Project due date (YYYY-MM-DD), or empty if none"
1776
+ },
1777
+ "start_on": {
1778
+ "type": "string",
1779
+ "description": "Project start date (YYYY-MM-DD), or empty if none"
1780
+ },
1781
+ "permalink_url": {
1782
+ "type": "string",
1783
+ "description": "Permanent URL to the project in Asana"
1784
+ },
1785
+ "public": {
1786
+ "type": "boolean",
1787
+ "description": "Whether the project is public to the workspace"
1788
+ }
1789
+ },
1790
+ "required": [
1791
+ "gid",
1792
+ "name",
1793
+ "archived",
1794
+ "color",
1795
+ "notes",
1796
+ "owner_gid",
1797
+ "owner_name",
1798
+ "team_gid",
1799
+ "team_name",
1800
+ "created_at",
1801
+ "modified_at",
1802
+ "due_on",
1803
+ "start_on",
1804
+ "permalink_url",
1805
+ "public"
1806
+ ],
1807
+ "additionalProperties": false,
1808
+ "description": "Project details"
1809
+ }
1810
+ },
1811
+ "required": [
1812
+ "project"
1813
+ ],
1814
+ "additionalProperties": false
1815
+ }
1816
+ },
1817
+ {
1818
+ "name": "create_project",
1819
+ "displayName": "Create Project",
1820
+ "description": "Create a new project in a workspace. Requires a workspace GID and project name. Optionally set notes, color, team, dates, and visibility.",
1821
+ "summary": "Create a new project in a workspace",
1822
+ "icon": "folder-plus",
1823
+ "group": "Projects",
1824
+ "input_schema": {
1825
+ "type": "object",
1826
+ "properties": {
1827
+ "workspace_gid": {
1828
+ "type": "string",
1829
+ "minLength": 1,
1830
+ "description": "Workspace GID to create the project in"
1831
+ },
1832
+ "name": {
1833
+ "type": "string",
1834
+ "minLength": 1,
1835
+ "description": "Project name"
1836
+ },
1837
+ "notes": {
1838
+ "description": "Plain-text project description",
1839
+ "type": "string"
1840
+ },
1841
+ "color": {
1842
+ "description": "Project color name (e.g. \"light-green\", \"dark-blue\")",
1843
+ "type": "string"
1844
+ },
1845
+ "team": {
1846
+ "description": "Team GID to associate with the project",
1847
+ "type": "string"
1848
+ },
1849
+ "due_on": {
1850
+ "description": "Project due date in YYYY-MM-DD format",
1851
+ "type": "string"
1852
+ },
1853
+ "start_on": {
1854
+ "description": "Project start date in YYYY-MM-DD format",
1855
+ "type": "string"
1856
+ },
1857
+ "public": {
1858
+ "description": "Whether the project is public to the workspace",
1859
+ "type": "boolean"
1860
+ }
1861
+ },
1862
+ "required": [
1863
+ "workspace_gid",
1864
+ "name"
1865
+ ],
1866
+ "additionalProperties": false
1867
+ },
1868
+ "output_schema": {
1869
+ "type": "object",
1870
+ "properties": {
1871
+ "project": {
1872
+ "type": "object",
1873
+ "properties": {
1874
+ "gid": {
1875
+ "type": "string",
1876
+ "description": "Project GID"
1877
+ },
1878
+ "name": {
1879
+ "type": "string",
1880
+ "description": "Project name"
1881
+ },
1882
+ "archived": {
1883
+ "type": "boolean",
1884
+ "description": "Whether the project is archived"
1885
+ },
1886
+ "color": {
1887
+ "type": "string",
1888
+ "description": "Project color name, or empty if none"
1889
+ },
1890
+ "notes": {
1891
+ "type": "string",
1892
+ "description": "Plain-text project description"
1893
+ },
1894
+ "owner_gid": {
1895
+ "type": "string",
1896
+ "description": "Owner user GID, or empty if none"
1897
+ },
1898
+ "owner_name": {
1899
+ "type": "string",
1900
+ "description": "Owner display name, or empty if none"
1901
+ },
1902
+ "team_gid": {
1903
+ "type": "string",
1904
+ "description": "Team GID, or empty if none"
1905
+ },
1906
+ "team_name": {
1907
+ "type": "string",
1908
+ "description": "Team name, or empty if none"
1909
+ },
1910
+ "created_at": {
1911
+ "type": "string",
1912
+ "description": "ISO 8601 creation timestamp"
1913
+ },
1914
+ "modified_at": {
1915
+ "type": "string",
1916
+ "description": "ISO 8601 last modified timestamp"
1917
+ },
1918
+ "due_on": {
1919
+ "type": "string",
1920
+ "description": "Project due date (YYYY-MM-DD), or empty if none"
1921
+ },
1922
+ "start_on": {
1923
+ "type": "string",
1924
+ "description": "Project start date (YYYY-MM-DD), or empty if none"
1925
+ },
1926
+ "permalink_url": {
1927
+ "type": "string",
1928
+ "description": "Permanent URL to the project in Asana"
1929
+ },
1930
+ "public": {
1931
+ "type": "boolean",
1932
+ "description": "Whether the project is public to the workspace"
1933
+ }
1934
+ },
1935
+ "required": [
1936
+ "gid",
1937
+ "name",
1938
+ "archived",
1939
+ "color",
1940
+ "notes",
1941
+ "owner_gid",
1942
+ "owner_name",
1943
+ "team_gid",
1944
+ "team_name",
1945
+ "created_at",
1946
+ "modified_at",
1947
+ "due_on",
1948
+ "start_on",
1949
+ "permalink_url",
1950
+ "public"
1951
+ ],
1952
+ "additionalProperties": false,
1953
+ "description": "The created project"
1954
+ }
1955
+ },
1956
+ "required": [
1957
+ "project"
1958
+ ],
1959
+ "additionalProperties": false
1960
+ }
1961
+ },
1962
+ {
1963
+ "name": "update_project",
1964
+ "displayName": "Update Project",
1965
+ "description": "Update an existing project. Only specified fields are changed; omitted fields remain unchanged.",
1966
+ "summary": "Update an existing project",
1967
+ "icon": "pencil",
1968
+ "group": "Projects",
1969
+ "input_schema": {
1970
+ "type": "object",
1971
+ "properties": {
1972
+ "project_gid": {
1973
+ "type": "string",
1974
+ "minLength": 1,
1975
+ "description": "Project GID to update"
1976
+ },
1977
+ "name": {
1978
+ "description": "New project name",
1979
+ "type": "string"
1980
+ },
1981
+ "notes": {
1982
+ "description": "New plain-text project description",
1983
+ "type": "string"
1984
+ },
1985
+ "color": {
1986
+ "description": "New project color name (e.g. \"light-green\", \"dark-blue\")",
1987
+ "type": "string"
1988
+ },
1989
+ "archived": {
1990
+ "description": "Whether the project is archived",
1991
+ "type": "boolean"
1992
+ },
1993
+ "due_on": {
1994
+ "description": "New due date in YYYY-MM-DD format",
1995
+ "type": "string"
1996
+ },
1997
+ "start_on": {
1998
+ "description": "New start date in YYYY-MM-DD format",
1999
+ "type": "string"
2000
+ },
2001
+ "public": {
2002
+ "description": "Whether the project is public to the workspace",
2003
+ "type": "boolean"
2004
+ }
2005
+ },
2006
+ "required": [
2007
+ "project_gid"
2008
+ ],
2009
+ "additionalProperties": false
2010
+ },
2011
+ "output_schema": {
2012
+ "type": "object",
2013
+ "properties": {
2014
+ "project": {
2015
+ "type": "object",
2016
+ "properties": {
2017
+ "gid": {
2018
+ "type": "string",
2019
+ "description": "Project GID"
2020
+ },
2021
+ "name": {
2022
+ "type": "string",
2023
+ "description": "Project name"
2024
+ },
2025
+ "archived": {
2026
+ "type": "boolean",
2027
+ "description": "Whether the project is archived"
2028
+ },
2029
+ "color": {
2030
+ "type": "string",
2031
+ "description": "Project color name, or empty if none"
2032
+ },
2033
+ "notes": {
2034
+ "type": "string",
2035
+ "description": "Plain-text project description"
2036
+ },
2037
+ "owner_gid": {
2038
+ "type": "string",
2039
+ "description": "Owner user GID, or empty if none"
2040
+ },
2041
+ "owner_name": {
2042
+ "type": "string",
2043
+ "description": "Owner display name, or empty if none"
2044
+ },
2045
+ "team_gid": {
2046
+ "type": "string",
2047
+ "description": "Team GID, or empty if none"
2048
+ },
2049
+ "team_name": {
2050
+ "type": "string",
2051
+ "description": "Team name, or empty if none"
2052
+ },
2053
+ "created_at": {
2054
+ "type": "string",
2055
+ "description": "ISO 8601 creation timestamp"
2056
+ },
2057
+ "modified_at": {
2058
+ "type": "string",
2059
+ "description": "ISO 8601 last modified timestamp"
2060
+ },
2061
+ "due_on": {
2062
+ "type": "string",
2063
+ "description": "Project due date (YYYY-MM-DD), or empty if none"
2064
+ },
2065
+ "start_on": {
2066
+ "type": "string",
2067
+ "description": "Project start date (YYYY-MM-DD), or empty if none"
2068
+ },
2069
+ "permalink_url": {
2070
+ "type": "string",
2071
+ "description": "Permanent URL to the project in Asana"
2072
+ },
2073
+ "public": {
2074
+ "type": "boolean",
2075
+ "description": "Whether the project is public to the workspace"
2076
+ }
2077
+ },
2078
+ "required": [
2079
+ "gid",
2080
+ "name",
2081
+ "archived",
2082
+ "color",
2083
+ "notes",
2084
+ "owner_gid",
2085
+ "owner_name",
2086
+ "team_gid",
2087
+ "team_name",
2088
+ "created_at",
2089
+ "modified_at",
2090
+ "due_on",
2091
+ "start_on",
2092
+ "permalink_url",
2093
+ "public"
2094
+ ],
2095
+ "additionalProperties": false,
2096
+ "description": "The updated project"
2097
+ }
2098
+ },
2099
+ "required": [
2100
+ "project"
2101
+ ],
2102
+ "additionalProperties": false
2103
+ }
2104
+ },
2105
+ {
2106
+ "name": "list_sections",
2107
+ "displayName": "List Sections",
2108
+ "description": "List all sections in a project. Sections are used to organize tasks into groups within a project.",
2109
+ "summary": "List sections in a project",
2110
+ "icon": "layout-list",
2111
+ "group": "Sections",
2112
+ "input_schema": {
2113
+ "type": "object",
2114
+ "properties": {
2115
+ "project_gid": {
2116
+ "type": "string",
2117
+ "minLength": 1,
2118
+ "description": "Project GID to list sections from"
2119
+ }
2120
+ },
2121
+ "required": [
2122
+ "project_gid"
2123
+ ],
2124
+ "additionalProperties": false
2125
+ },
2126
+ "output_schema": {
2127
+ "type": "object",
2128
+ "properties": {
2129
+ "sections": {
2130
+ "type": "array",
2131
+ "items": {
2132
+ "type": "object",
2133
+ "properties": {
2134
+ "gid": {
2135
+ "type": "string",
2136
+ "description": "Section GID"
2137
+ },
2138
+ "name": {
2139
+ "type": "string",
2140
+ "description": "Section name"
2141
+ },
2142
+ "created_at": {
2143
+ "type": "string",
2144
+ "description": "ISO 8601 creation timestamp"
2145
+ },
2146
+ "project_gid": {
2147
+ "type": "string",
2148
+ "description": "Parent project GID"
2149
+ }
2150
+ },
2151
+ "required": [
2152
+ "gid",
2153
+ "name",
2154
+ "created_at",
2155
+ "project_gid"
2156
+ ],
2157
+ "additionalProperties": false
2158
+ },
2159
+ "description": "List of sections in the project"
2160
+ }
2161
+ },
2162
+ "required": [
2163
+ "sections"
2164
+ ],
2165
+ "additionalProperties": false
2166
+ }
2167
+ },
2168
+ {
2169
+ "name": "create_section",
2170
+ "displayName": "Create Section",
2171
+ "description": "Create a new section in a project. Sections organize tasks into groups.",
2172
+ "summary": "Create a new section in a project",
2173
+ "icon": "plus",
2174
+ "group": "Sections",
2175
+ "input_schema": {
2176
+ "type": "object",
2177
+ "properties": {
2178
+ "project_gid": {
2179
+ "type": "string",
2180
+ "minLength": 1,
2181
+ "description": "Project GID to create the section in"
2182
+ },
2183
+ "name": {
2184
+ "type": "string",
2185
+ "minLength": 1,
2186
+ "description": "Section name"
2187
+ }
2188
+ },
2189
+ "required": [
2190
+ "project_gid",
2191
+ "name"
2192
+ ],
2193
+ "additionalProperties": false
2194
+ },
2195
+ "output_schema": {
2196
+ "type": "object",
2197
+ "properties": {
2198
+ "section": {
2199
+ "type": "object",
2200
+ "properties": {
2201
+ "gid": {
2202
+ "type": "string",
2203
+ "description": "Section GID"
2204
+ },
2205
+ "name": {
2206
+ "type": "string",
2207
+ "description": "Section name"
2208
+ },
2209
+ "created_at": {
2210
+ "type": "string",
2211
+ "description": "ISO 8601 creation timestamp"
2212
+ },
2213
+ "project_gid": {
2214
+ "type": "string",
2215
+ "description": "Parent project GID"
2216
+ }
2217
+ },
2218
+ "required": [
2219
+ "gid",
2220
+ "name",
2221
+ "created_at",
2222
+ "project_gid"
2223
+ ],
2224
+ "additionalProperties": false,
2225
+ "description": "The created section"
2226
+ }
2227
+ },
2228
+ "required": [
2229
+ "section"
2230
+ ],
2231
+ "additionalProperties": false
2232
+ }
2233
+ },
2234
+ {
2235
+ "name": "add_task_to_section",
2236
+ "displayName": "Add Task to Section",
2237
+ "description": "Add a task to a specific section. The task will appear at the top of the section. A task can only be in one section of a given project at a time.",
2238
+ "summary": "Move a task into a section",
2239
+ "icon": "arrow-right",
2240
+ "group": "Sections",
2241
+ "input_schema": {
2242
+ "type": "object",
2243
+ "properties": {
2244
+ "section_gid": {
2245
+ "type": "string",
2246
+ "minLength": 1,
2247
+ "description": "Section GID to add the task to"
2248
+ },
2249
+ "task_gid": {
2250
+ "type": "string",
2251
+ "minLength": 1,
2252
+ "description": "Task GID to add to the section"
2253
+ }
2254
+ },
2255
+ "required": [
2256
+ "section_gid",
2257
+ "task_gid"
2258
+ ],
2259
+ "additionalProperties": false
2260
+ },
2261
+ "output_schema": {
2262
+ "type": "object",
2263
+ "properties": {
2264
+ "success": {
2265
+ "type": "boolean",
2266
+ "description": "Whether the task was successfully added to the section"
2267
+ }
2268
+ },
2269
+ "required": [
2270
+ "success"
2271
+ ],
2272
+ "additionalProperties": false
2273
+ }
2274
+ },
2275
+ {
2276
+ "name": "get_stories_for_task",
2277
+ "displayName": "Get Stories for Task",
2278
+ "description": "List stories (comments and activity) on a task.",
2279
+ "summary": "List stories on a task",
2280
+ "icon": "message-square",
2281
+ "group": "Stories",
2282
+ "input_schema": {
2283
+ "type": "object",
2284
+ "properties": {
2285
+ "task_gid": {
2286
+ "type": "string",
2287
+ "minLength": 1,
2288
+ "description": "Task GID to retrieve stories for"
2289
+ },
2290
+ "limit": {
2291
+ "description": "Maximum number of stories to return (default 20, max 100)",
2292
+ "type": "integer",
2293
+ "minimum": 1,
2294
+ "maximum": 100
2295
+ },
2296
+ "offset": {
2297
+ "description": "Pagination offset token from a previous response",
2298
+ "type": "string"
2299
+ }
2300
+ },
2301
+ "required": [
2302
+ "task_gid"
2303
+ ],
2304
+ "additionalProperties": false
2305
+ },
2306
+ "output_schema": {
2307
+ "type": "object",
2308
+ "properties": {
2309
+ "stories": {
2310
+ "type": "array",
2311
+ "items": {
2312
+ "type": "object",
2313
+ "properties": {
2314
+ "gid": {
2315
+ "type": "string",
2316
+ "description": "Story GID"
2317
+ },
2318
+ "text": {
2319
+ "type": "string",
2320
+ "description": "Story text content"
2321
+ },
2322
+ "created_by_gid": {
2323
+ "type": "string",
2324
+ "description": "Creator user GID"
2325
+ },
2326
+ "created_by_name": {
2327
+ "type": "string",
2328
+ "description": "Creator display name"
2329
+ },
2330
+ "created_at": {
2331
+ "type": "string",
2332
+ "description": "ISO 8601 creation timestamp"
2333
+ },
2334
+ "resource_subtype": {
2335
+ "type": "string",
2336
+ "description": "Story subtype (e.g. comment_added, assigned, etc.)"
2337
+ },
2338
+ "type": {
2339
+ "type": "string",
2340
+ "description": "Story type (comment or system)"
2341
+ }
2342
+ },
2343
+ "required": [
2344
+ "gid",
2345
+ "text",
2346
+ "created_by_gid",
2347
+ "created_by_name",
2348
+ "created_at",
2349
+ "resource_subtype",
2350
+ "type"
2351
+ ],
2352
+ "additionalProperties": false
2353
+ },
2354
+ "description": "List of stories on the task"
2355
+ },
2356
+ "next_page": {
2357
+ "anyOf": [
2358
+ {
2359
+ "type": "string"
2360
+ },
2361
+ {
2362
+ "type": "null"
2363
+ }
2364
+ ],
2365
+ "description": "Offset token for the next page, or null if no more results"
2366
+ }
2367
+ },
2368
+ "required": [
2369
+ "stories",
2370
+ "next_page"
2371
+ ],
2372
+ "additionalProperties": false
2373
+ }
2374
+ },
2375
+ {
2376
+ "name": "create_story",
2377
+ "displayName": "Create Story",
2378
+ "description": "Add a comment to a task.",
2379
+ "summary": "Add a comment to a task",
2380
+ "icon": "message-square-plus",
2381
+ "group": "Stories",
2382
+ "input_schema": {
2383
+ "type": "object",
2384
+ "properties": {
2385
+ "task_gid": {
2386
+ "type": "string",
2387
+ "minLength": 1,
2388
+ "description": "Task GID to add the comment to"
2389
+ },
2390
+ "text": {
2391
+ "type": "string",
2392
+ "minLength": 1,
2393
+ "description": "Comment text to post on the task"
2394
+ }
2395
+ },
2396
+ "required": [
2397
+ "task_gid",
2398
+ "text"
2399
+ ],
2400
+ "additionalProperties": false
2401
+ },
2402
+ "output_schema": {
2403
+ "type": "object",
2404
+ "properties": {
2405
+ "story": {
2406
+ "type": "object",
2407
+ "properties": {
2408
+ "gid": {
2409
+ "type": "string",
2410
+ "description": "Story GID"
2411
+ },
2412
+ "text": {
2413
+ "type": "string",
2414
+ "description": "Story text content"
2415
+ },
2416
+ "created_by_gid": {
2417
+ "type": "string",
2418
+ "description": "Creator user GID"
2419
+ },
2420
+ "created_by_name": {
2421
+ "type": "string",
2422
+ "description": "Creator display name"
2423
+ },
2424
+ "created_at": {
2425
+ "type": "string",
2426
+ "description": "ISO 8601 creation timestamp"
2427
+ },
2428
+ "resource_subtype": {
2429
+ "type": "string",
2430
+ "description": "Story subtype (e.g. comment_added, assigned, etc.)"
2431
+ },
2432
+ "type": {
2433
+ "type": "string",
2434
+ "description": "Story type (comment or system)"
2435
+ }
2436
+ },
2437
+ "required": [
2438
+ "gid",
2439
+ "text",
2440
+ "created_by_gid",
2441
+ "created_by_name",
2442
+ "created_at",
2443
+ "resource_subtype",
2444
+ "type"
2445
+ ],
2446
+ "additionalProperties": false,
2447
+ "description": "The created story"
2448
+ }
2449
+ },
2450
+ "required": [
2451
+ "story"
2452
+ ],
2453
+ "additionalProperties": false
2454
+ }
2455
+ },
2456
+ {
2457
+ "name": "get_current_user",
2458
+ "displayName": "Get Current User",
2459
+ "description": "Get the profile of the currently authenticated Asana user, including their workspaces.",
2460
+ "summary": "Get the current user profile",
2461
+ "icon": "user",
2462
+ "group": "Users",
2463
+ "input_schema": {
2464
+ "type": "object",
2465
+ "properties": {},
2466
+ "additionalProperties": false
2467
+ },
2468
+ "output_schema": {
2469
+ "type": "object",
2470
+ "properties": {
2471
+ "user": {
2472
+ "type": "object",
2473
+ "properties": {
2474
+ "gid": {
2475
+ "type": "string",
2476
+ "description": "User GID"
2477
+ },
2478
+ "name": {
2479
+ "type": "string",
2480
+ "description": "User display name"
2481
+ },
2482
+ "email": {
2483
+ "type": "string",
2484
+ "description": "User email address"
2485
+ }
2486
+ },
2487
+ "required": [
2488
+ "gid",
2489
+ "name",
2490
+ "email"
2491
+ ],
2492
+ "additionalProperties": false,
2493
+ "description": "The current user"
2494
+ },
2495
+ "workspaces": {
2496
+ "type": "array",
2497
+ "items": {
2498
+ "type": "object",
2499
+ "properties": {
2500
+ "gid": {
2501
+ "type": "string",
2502
+ "description": "Workspace GID"
2503
+ },
2504
+ "name": {
2505
+ "type": "string",
2506
+ "description": "Workspace name"
2507
+ }
2508
+ },
2509
+ "required": [
2510
+ "gid",
2511
+ "name"
2512
+ ],
2513
+ "additionalProperties": false
2514
+ },
2515
+ "description": "Workspaces the user belongs to"
2516
+ }
2517
+ },
2518
+ "required": [
2519
+ "user",
2520
+ "workspaces"
2521
+ ],
2522
+ "additionalProperties": false
2523
+ }
2524
+ },
2525
+ {
2526
+ "name": "get_user",
2527
+ "displayName": "Get User",
2528
+ "description": "Get detailed information about a specific Asana user by their GID.",
2529
+ "summary": "Get a user by GID",
2530
+ "icon": "user",
2531
+ "group": "Users",
2532
+ "input_schema": {
2533
+ "type": "object",
2534
+ "properties": {
2535
+ "user_gid": {
2536
+ "type": "string",
2537
+ "minLength": 1,
2538
+ "description": "User GID to retrieve"
2539
+ }
2540
+ },
2541
+ "required": [
2542
+ "user_gid"
2543
+ ],
2544
+ "additionalProperties": false
2545
+ },
2546
+ "output_schema": {
2547
+ "type": "object",
2548
+ "properties": {
2549
+ "user": {
2550
+ "type": "object",
2551
+ "properties": {
2552
+ "gid": {
2553
+ "type": "string",
2554
+ "description": "User GID"
2555
+ },
2556
+ "name": {
2557
+ "type": "string",
2558
+ "description": "User display name"
2559
+ },
2560
+ "email": {
2561
+ "type": "string",
2562
+ "description": "User email address"
2563
+ }
2564
+ },
2565
+ "required": [
2566
+ "gid",
2567
+ "name",
2568
+ "email"
2569
+ ],
2570
+ "additionalProperties": false,
2571
+ "description": "The user"
2572
+ }
2573
+ },
2574
+ "required": [
2575
+ "user"
2576
+ ],
2577
+ "additionalProperties": false
2578
+ }
2579
+ },
2580
+ {
2581
+ "name": "list_users_for_workspace",
2582
+ "displayName": "List Users for Workspace",
2583
+ "description": "List all users in a workspace.",
2584
+ "summary": "List users in a workspace",
2585
+ "icon": "users",
2586
+ "group": "Users",
2587
+ "input_schema": {
2588
+ "type": "object",
2589
+ "properties": {
2590
+ "workspace_gid": {
2591
+ "type": "string",
2592
+ "minLength": 1,
2593
+ "description": "Workspace GID to list users for"
2594
+ },
2595
+ "limit": {
2596
+ "description": "Maximum number of users to return (default 20, max 100)",
2597
+ "type": "integer",
2598
+ "minimum": 1,
2599
+ "maximum": 100
2600
+ },
2601
+ "offset": {
2602
+ "description": "Pagination offset token from a previous response",
2603
+ "type": "string"
2604
+ }
2605
+ },
2606
+ "required": [
2607
+ "workspace_gid"
2608
+ ],
2609
+ "additionalProperties": false
2610
+ },
2611
+ "output_schema": {
2612
+ "type": "object",
2613
+ "properties": {
2614
+ "users": {
2615
+ "type": "array",
2616
+ "items": {
2617
+ "type": "object",
2618
+ "properties": {
2619
+ "gid": {
2620
+ "type": "string",
2621
+ "description": "User GID"
2622
+ },
2623
+ "name": {
2624
+ "type": "string",
2625
+ "description": "User display name"
2626
+ },
2627
+ "email": {
2628
+ "type": "string",
2629
+ "description": "User email address"
2630
+ }
2631
+ },
2632
+ "required": [
2633
+ "gid",
2634
+ "name",
2635
+ "email"
2636
+ ],
2637
+ "additionalProperties": false
2638
+ },
2639
+ "description": "List of users in the workspace"
2640
+ },
2641
+ "next_page": {
2642
+ "anyOf": [
2643
+ {
2644
+ "type": "string"
2645
+ },
2646
+ {
2647
+ "type": "null"
2648
+ }
2649
+ ],
2650
+ "description": "Offset token for the next page, or null if no more results"
2651
+ }
2652
+ },
2653
+ "required": [
2654
+ "users",
2655
+ "next_page"
2656
+ ],
2657
+ "additionalProperties": false
2658
+ }
2659
+ },
2660
+ {
2661
+ "name": "list_workspaces",
2662
+ "displayName": "List Workspaces",
2663
+ "description": "List all workspaces the current user has access to.",
2664
+ "summary": "List all workspaces",
2665
+ "icon": "building",
2666
+ "group": "Workspaces",
2667
+ "input_schema": {
2668
+ "type": "object",
2669
+ "properties": {},
2670
+ "additionalProperties": false
2671
+ },
2672
+ "output_schema": {
2673
+ "type": "object",
2674
+ "properties": {
2675
+ "workspaces": {
2676
+ "type": "array",
2677
+ "items": {
2678
+ "type": "object",
2679
+ "properties": {
2680
+ "gid": {
2681
+ "type": "string",
2682
+ "description": "Workspace GID"
2683
+ },
2684
+ "name": {
2685
+ "type": "string",
2686
+ "description": "Workspace name"
2687
+ }
2688
+ },
2689
+ "required": [
2690
+ "gid",
2691
+ "name"
2692
+ ],
2693
+ "additionalProperties": false
2694
+ },
2695
+ "description": "List of workspaces"
2696
+ }
2697
+ },
2698
+ "required": [
2699
+ "workspaces"
2700
+ ],
2701
+ "additionalProperties": false
2702
+ }
2703
+ },
2704
+ {
2705
+ "name": "list_tags",
2706
+ "displayName": "List Tags",
2707
+ "description": "List all tags in a workspace.",
2708
+ "summary": "List tags in a workspace",
2709
+ "icon": "tag",
2710
+ "group": "Tags",
2711
+ "input_schema": {
2712
+ "type": "object",
2713
+ "properties": {
2714
+ "workspace_gid": {
2715
+ "type": "string",
2716
+ "minLength": 1,
2717
+ "description": "Workspace GID to list tags for"
2718
+ },
2719
+ "limit": {
2720
+ "description": "Maximum number of tags to return (default 20, max 100)",
2721
+ "type": "integer",
2722
+ "minimum": 1,
2723
+ "maximum": 100
2724
+ },
2725
+ "offset": {
2726
+ "description": "Pagination offset token from a previous response",
2727
+ "type": "string"
2728
+ }
2729
+ },
2730
+ "required": [
2731
+ "workspace_gid"
2732
+ ],
2733
+ "additionalProperties": false
2734
+ },
2735
+ "output_schema": {
2736
+ "type": "object",
2737
+ "properties": {
2738
+ "tags": {
2739
+ "type": "array",
2740
+ "items": {
2741
+ "type": "object",
2742
+ "properties": {
2743
+ "gid": {
2744
+ "type": "string",
2745
+ "description": "Tag GID"
2746
+ },
2747
+ "name": {
2748
+ "type": "string",
2749
+ "description": "Tag name"
2750
+ },
2751
+ "color": {
2752
+ "type": "string",
2753
+ "description": "Tag color name, or empty if none"
2754
+ }
2755
+ },
2756
+ "required": [
2757
+ "gid",
2758
+ "name",
2759
+ "color"
2760
+ ],
2761
+ "additionalProperties": false
2762
+ },
2763
+ "description": "List of tags in the workspace"
2764
+ },
2765
+ "next_page": {
2766
+ "anyOf": [
2767
+ {
2768
+ "type": "string"
2769
+ },
2770
+ {
2771
+ "type": "null"
2772
+ }
2773
+ ],
2774
+ "description": "Offset token for the next page, or null if no more results"
2775
+ }
2776
+ },
2777
+ "required": [
2778
+ "tags",
2779
+ "next_page"
2780
+ ],
2781
+ "additionalProperties": false
2782
+ }
2783
+ },
2784
+ {
2785
+ "name": "list_teams",
2786
+ "displayName": "List Teams",
2787
+ "description": "List all teams in a workspace.",
2788
+ "summary": "List teams in a workspace",
2789
+ "icon": "users",
2790
+ "group": "Teams",
2791
+ "input_schema": {
2792
+ "type": "object",
2793
+ "properties": {
2794
+ "workspace_gid": {
2795
+ "type": "string",
2796
+ "minLength": 1,
2797
+ "description": "Workspace GID to list teams for"
2798
+ },
2799
+ "limit": {
2800
+ "description": "Maximum number of teams to return (default 20, max 100)",
2801
+ "type": "integer",
2802
+ "minimum": 1,
2803
+ "maximum": 100
2804
+ },
2805
+ "offset": {
2806
+ "description": "Pagination offset token from a previous response",
2807
+ "type": "string"
2808
+ }
2809
+ },
2810
+ "required": [
2811
+ "workspace_gid"
2812
+ ],
2813
+ "additionalProperties": false
2814
+ },
2815
+ "output_schema": {
2816
+ "type": "object",
2817
+ "properties": {
2818
+ "teams": {
2819
+ "type": "array",
2820
+ "items": {
2821
+ "type": "object",
2822
+ "properties": {
2823
+ "gid": {
2824
+ "type": "string",
2825
+ "description": "Team GID"
2826
+ },
2827
+ "name": {
2828
+ "type": "string",
2829
+ "description": "Team name"
2830
+ },
2831
+ "description": {
2832
+ "type": "string",
2833
+ "description": "Team description"
2834
+ }
2835
+ },
2836
+ "required": [
2837
+ "gid",
2838
+ "name",
2839
+ "description"
2840
+ ],
2841
+ "additionalProperties": false
2842
+ },
2843
+ "description": "List of teams in the workspace"
2844
+ },
2845
+ "next_page": {
2846
+ "anyOf": [
2847
+ {
2848
+ "type": "string"
2849
+ },
2850
+ {
2851
+ "type": "null"
2852
+ }
2853
+ ],
2854
+ "description": "Offset token for the next page, or null if no more results"
2855
+ }
2856
+ },
2857
+ "required": [
2858
+ "teams",
2859
+ "next_page"
2860
+ ],
2861
+ "additionalProperties": false
2862
+ }
2863
+ }
2864
+ ]
2865
+ }