Skip to content

Commit 6770cf4

Browse files
committed
feat(integrations): wave-4 tool-depth — Slack, Asana, Jira, Google Docs, Trello, Monday
Deepen six existing blocks with 38 new tools, no new OAuth scopes (all under already-granted scopes), additive/backwards-compatible: - Slack (7): schedule/list/delete scheduled messages; archive/rename/set-topic/set-purpose conversation - Asana (8): create/get project, list workspaces, create subtask, delete task, add followers, create/list sections (via internal routes + contracts) - Jira (5): list/get project, get transitions, list issue types, get fields - Google Docs (6): delete content range, named ranges, paragraph bullets, update paragraph style (documents.batchUpdate) - Trello (7): create board/list, get board/card, add checklist/label/member - Monday (5): change column value, create board/column, get groups, duplicate item Route baseline 873->881 for the 8 new Asana internal routes.
1 parent 5bc2bd6 commit 6770cf4

77 files changed

Lines changed: 8802 additions & 35 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/docs/content/docs/en/integrations/asana.mdx

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,187 @@ Add a comment (story) to an Asana task
209209
|`gid` | string | Author GID |
210210
|`name` | string | Author name |
211211

212+
### `asana_create_subtask`
213+
214+
Create a subtask under an existing Asana task
215+
216+
#### Input
217+
218+
| Parameter | Type | Required | Description |
219+
| --------- | ---- | -------- | ----------- |
220+
| `taskGid` | string | Yes | GID of the parent Asana task \(numeric string\) |
221+
| `name` | string | Yes | Name of the subtask |
222+
| `notes` | string | No | Notes or description for the subtask |
223+
| `assignee` | string | No | User GID to assign the subtask to |
224+
| `due_on` | string | No | Due date in YYYY-MM-DD format |
225+
226+
#### Output
227+
228+
| Parameter | Type | Description |
229+
| --------- | ---- | ----------- |
230+
| `success` | boolean | Operation success status |
231+
| `ts` | string | Timestamp of the response |
232+
| `gid` | string | Subtask globally unique identifier |
233+
| `name` | string | Subtask name |
234+
| `notes` | string | Subtask notes or description |
235+
| `completed` | boolean | Whether the subtask is completed |
236+
| `created_at` | string | Subtask creation timestamp |
237+
| `permalink_url` | string | URL to the subtask in Asana |
238+
239+
### `asana_delete_task`
240+
241+
Delete an Asana task by its GID (moves it to the trash)
242+
243+
#### Input
244+
245+
| Parameter | Type | Required | Description |
246+
| --------- | ---- | -------- | ----------- |
247+
| `taskGid` | string | Yes | GID of the Asana task to delete \(numeric string\) |
248+
249+
#### Output
250+
251+
| Parameter | Type | Description |
252+
| --------- | ---- | ----------- |
253+
| `success` | boolean | Operation success status |
254+
| `ts` | string | Timestamp of the response |
255+
| `gid` | string | GID of the deleted task |
256+
| `deleted` | boolean | Whether the task was deleted |
257+
258+
### `asana_add_followers`
259+
260+
Add one or more followers to an Asana task
261+
262+
#### Input
263+
264+
| Parameter | Type | Required | Description |
265+
| --------- | ---- | -------- | ----------- |
266+
| `taskGid` | string | Yes | GID of the Asana task \(numeric string\) |
267+
| `followers` | array | Yes | Array of user GIDs to add as followers to the task |
268+
269+
#### Output
270+
271+
| Parameter | Type | Description |
272+
| --------- | ---- | ----------- |
273+
| `success` | boolean | Operation success status |
274+
| `ts` | string | Timestamp of the response |
275+
| `gid` | string | Task globally unique identifier |
276+
| `name` | string | Task name |
277+
| `followers` | array | Current followers on the task after the update |
278+
|`gid` | string | Follower GID |
279+
|`name` | string | Follower name |
280+
281+
### `asana_create_project`
282+
283+
Create a new project in an Asana workspace
284+
285+
#### Input
286+
287+
| Parameter | Type | Required | Description |
288+
| --------- | ---- | -------- | ----------- |
289+
| `workspace` | string | Yes | Asana workspace GID \(numeric string\) where the project will be created |
290+
| `name` | string | Yes | Name of the project |
291+
| `notes` | string | No | Notes or description for the project |
292+
293+
#### Output
294+
295+
| Parameter | Type | Description |
296+
| --------- | ---- | ----------- |
297+
| `success` | boolean | Operation success status |
298+
| `ts` | string | Timestamp of the response |
299+
| `gid` | string | Project globally unique identifier |
300+
| `name` | string | Project name |
301+
| `notes` | string | Project notes or description |
302+
| `archived` | boolean | Whether the project is archived |
303+
| `color` | string | Project color |
304+
| `created_at` | string | Project creation timestamp |
305+
| `modified_at` | string | Project last modified timestamp |
306+
| `permalink_url` | string | URL to the project in Asana |
307+
308+
### `asana_get_project`
309+
310+
Retrieve a single Asana project by its GID
311+
312+
#### Input
313+
314+
| Parameter | Type | Required | Description |
315+
| --------- | ---- | -------- | ----------- |
316+
| `projectGid` | string | Yes | Asana project GID \(numeric string\) to retrieve |
317+
318+
#### Output
319+
320+
| Parameter | Type | Description |
321+
| --------- | ---- | ----------- |
322+
| `success` | boolean | Operation success status |
323+
| `ts` | string | Timestamp of the response |
324+
| `gid` | string | Project globally unique identifier |
325+
| `name` | string | Project name |
326+
| `notes` | string | Project notes or description |
327+
| `archived` | boolean | Whether the project is archived |
328+
| `color` | string | Project color |
329+
| `created_at` | string | Project creation timestamp |
330+
| `modified_at` | string | Project last modified timestamp |
331+
| `permalink_url` | string | URL to the project in Asana |
332+
333+
### `asana_list_workspaces`
334+
335+
List all Asana workspaces and organizations the authenticated user belongs to
336+
337+
#### Input
338+
339+
| Parameter | Type | Required | Description |
340+
| --------- | ---- | -------- | ----------- |
341+
342+
#### Output
343+
344+
| Parameter | Type | Description |
345+
| --------- | ---- | ----------- |
346+
| `success` | boolean | Operation success status |
347+
| `ts` | string | Timestamp of the response |
348+
| `workspaces` | array | Array of workspaces |
349+
|`gid` | string | Workspace GID |
350+
|`name` | string | Workspace name |
351+
|`resource_type` | string | Resource type \(workspace\) |
352+
353+
### `asana_create_section`
354+
355+
Create a new section in an Asana project
356+
357+
#### Input
358+
359+
| Parameter | Type | Required | Description |
360+
| --------- | ---- | -------- | ----------- |
361+
| `projectGid` | string | Yes | GID of the Asana project \(numeric string\) to add the section to |
362+
| `name` | string | Yes | Name of the section |
363+
364+
#### Output
365+
366+
| Parameter | Type | Description |
367+
| --------- | ---- | ----------- |
368+
| `success` | boolean | Operation success status |
369+
| `ts` | string | Timestamp of the response |
370+
| `gid` | string | Section globally unique identifier |
371+
| `name` | string | Section name |
372+
| `created_at` | string | Section creation timestamp |
373+
374+
### `asana_list_sections`
375+
376+
List all sections in an Asana project
377+
378+
#### Input
379+
380+
| Parameter | Type | Required | Description |
381+
| --------- | ---- | -------- | ----------- |
382+
| `projectGid` | string | Yes | GID of the Asana project \(numeric string\) to list sections from |
383+
384+
#### Output
385+
386+
| Parameter | Type | Description |
387+
| --------- | ---- | ----------- |
388+
| `success` | boolean | Operation success status |
389+
| `ts` | string | Timestamp of the response |
390+
| `sections` | array | Array of sections in the project |
391+
|`gid` | string | Section GID |
392+
|`name` | string | Section name |
393+
|`resource_type` | string | Resource type \(section\) |
394+
212395

apps/docs/content/docs/en/integrations/google_docs.mdx

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,4 +245,146 @@ Apply bold, italic, underline, and/or font size to a range of text in a Google D
245245
|`mimeType` | string | Document MIME type |
246246
|`url` | string | Document URL |
247247

248+
### `google_docs_update_paragraph_style`
249+
250+
Apply a named paragraph style (such as a heading or title) and/or alignment to the paragraphs overlapping a range of text in a Google Docs document, identified by its start and end character index.
251+
252+
#### Input
253+
254+
| Parameter | Type | Required | Description |
255+
| --------- | ---- | -------- | ----------- |
256+
| `documentId` | string | Yes | The ID of the document to update |
257+
| `startIndex` | number | Yes | The 1-based start character index of the range to style \(inclusive\) |
258+
| `endIndex` | number | Yes | The end character index of the range to style \(exclusive\) |
259+
| `namedStyleType` | string | No | The named paragraph style to apply. One of: NORMAL_TEXT, TITLE, SUBTITLE, HEADING_1, HEADING_2, HEADING_3, HEADING_4, HEADING_5, HEADING_6. |
260+
| `alignment` | string | No | The paragraph alignment to apply. One of: LEFT, CENTER, RIGHT, JUSTIFY. |
261+
262+
#### Output
263+
264+
| Parameter | Type | Description |
265+
| --------- | ---- | ----------- |
266+
| `updatedContent` | boolean | Indicates if the paragraph style was applied successfully |
267+
| `metadata` | json | Updated document metadata including ID, title, and URL |
268+
|`documentId` | string | Google Docs document ID |
269+
|`title` | string | Document title |
270+
|`mimeType` | string | Document MIME type |
271+
|`url` | string | Document URL |
272+
273+
### `google_docs_create_paragraph_bullets`
274+
275+
Add bulleted or numbered list formatting to the paragraphs overlapping a range of text in a Google Docs document, using a chosen bullet glyph preset.
276+
277+
#### Input
278+
279+
| Parameter | Type | Required | Description |
280+
| --------- | ---- | -------- | ----------- |
281+
| `documentId` | string | Yes | The ID of the document to update |
282+
| `startIndex` | number | Yes | The 1-based start character index of the range to bullet \(inclusive\) |
283+
| `endIndex` | number | Yes | The end character index of the range to bullet \(exclusive\) |
284+
| `bulletPreset` | string | No | The bullet glyph preset to apply. Defaults to BULLET_DISC_CIRCLE_SQUARE. Examples: BULLET_DISC_CIRCLE_SQUARE, BULLET_CHECKBOX, NUMBERED_DECIMAL_ALPHA_ROMAN, NUMBERED_DECIMAL_NESTED. |
285+
286+
#### Output
287+
288+
| Parameter | Type | Description |
289+
| --------- | ---- | ----------- |
290+
| `updatedContent` | boolean | Indicates if the bullets were applied successfully |
291+
| `metadata` | json | Updated document metadata including ID, title, and URL |
292+
|`documentId` | string | Google Docs document ID |
293+
|`title` | string | Document title |
294+
|`mimeType` | string | Document MIME type |
295+
|`url` | string | Document URL |
296+
297+
### `google_docs_delete_paragraph_bullets`
298+
299+
Remove bullet or numbered list formatting from the paragraphs overlapping a range of text in a Google Docs document, identified by its start and end character index.
300+
301+
#### Input
302+
303+
| Parameter | Type | Required | Description |
304+
| --------- | ---- | -------- | ----------- |
305+
| `documentId` | string | Yes | The ID of the document to update |
306+
| `startIndex` | number | Yes | The 1-based start character index of the range to clear bullets from \(inclusive\) |
307+
| `endIndex` | number | Yes | The end character index of the range to clear bullets from \(exclusive\) |
308+
309+
#### Output
310+
311+
| Parameter | Type | Description |
312+
| --------- | ---- | ----------- |
313+
| `updatedContent` | boolean | Indicates if the bullets were removed successfully |
314+
| `metadata` | json | Updated document metadata including ID, title, and URL |
315+
|`documentId` | string | Google Docs document ID |
316+
|`title` | string | Document title |
317+
|`mimeType` | string | Document MIME type |
318+
|`url` | string | Document URL |
319+
320+
### `google_docs_delete_content_range`
321+
322+
Delete all content between a start and end character index in a Google Docs document. The endIndex is exclusive and must be greater than the startIndex.
323+
324+
#### Input
325+
326+
| Parameter | Type | Required | Description |
327+
| --------- | ---- | -------- | ----------- |
328+
| `documentId` | string | Yes | The ID of the document to delete content from |
329+
| `startIndex` | number | Yes | The 1-based start character index of the range to delete \(inclusive\) |
330+
| `endIndex` | number | Yes | The end character index of the range to delete \(exclusive\) |
331+
332+
#### Output
333+
334+
| Parameter | Type | Description |
335+
| --------- | ---- | ----------- |
336+
| `updatedContent` | boolean | Indicates if the content range was deleted successfully |
337+
| `metadata` | json | Updated document metadata including ID, title, and URL |
338+
|`documentId` | string | Google Docs document ID |
339+
|`title` | string | Document title |
340+
|`mimeType` | string | Document MIME type |
341+
|`url` | string | Document URL |
342+
343+
### `google_docs_create_named_range`
344+
345+
Create a named range over a span of content in a Google Docs document so it can be referenced or deleted later. The name may be 1-256 characters and need not be unique.
346+
347+
#### Input
348+
349+
| Parameter | Type | Required | Description |
350+
| --------- | ---- | -------- | ----------- |
351+
| `documentId` | string | Yes | The ID of the document to update |
352+
| `name` | string | Yes | The name of the range to create \(1-256 characters\) |
353+
| `startIndex` | number | Yes | The 1-based start character index of the range \(inclusive\) |
354+
| `endIndex` | number | Yes | The end character index of the range \(exclusive\) |
355+
356+
#### Output
357+
358+
| Parameter | Type | Description |
359+
| --------- | ---- | ----------- |
360+
| `namedRangeId` | string | The ID of the created named range |
361+
| `metadata` | json | Updated document metadata including ID, title, and URL |
362+
|`documentId` | string | Google Docs document ID |
363+
|`title` | string | Document title |
364+
|`mimeType` | string | Document MIME type |
365+
|`url` | string | Document URL |
366+
367+
### `google_docs_delete_named_range`
368+
369+
Delete one or more named ranges from a Google Docs document by their ID or by name. Provide exactly one of namedRangeId or name; deleting by name removes all ranges sharing that name. The content itself is not removed.
370+
371+
#### Input
372+
373+
| Parameter | Type | Required | Description |
374+
| --------- | ---- | -------- | ----------- |
375+
| `documentId` | string | Yes | The ID of the document to update |
376+
| `namedRangeId` | string | No | The ID of the named range to delete. Provide exactly one of namedRangeId or namedRangeName. |
377+
| `namedRangeName` | string | No | The name of the named range\(s\) to delete. All ranges sharing this name are removed. Provide exactly one of namedRangeId or namedRangeName. |
378+
379+
#### Output
380+
381+
| Parameter | Type | Description |
382+
| --------- | ---- | ----------- |
383+
| `updatedContent` | boolean | Indicates if the named range\(s\) were deleted successfully |
384+
| `metadata` | json | Updated document metadata including ID, title, and URL |
385+
|`documentId` | string | Google Docs document ID |
386+
|`title` | string | Document title |
387+
|`mimeType` | string | Document MIME type |
388+
|`url` | string | Document URL |
389+
248390

0 commit comments

Comments
 (0)