Skip to content

Commit bf0bd8f

Browse files
waleedlatif1claude
andcommitted
feat(confluence): add missing tools for tasks, blog posts, spaces, descendants, permissions, and properties
Add 16 new Confluence operations: list/get/update tasks, update/delete blog posts, create/update/delete spaces, get page descendants, list space permissions, list/create/delete space properties. Includes API routes, tool definitions, block config wiring, OAuth scopes, and generated docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 134d76d commit bf0bd8f

25 files changed

Lines changed: 3446 additions & 4 deletions

File tree

apps/docs/content/docs/en/tools/confluence.mdx

Lines changed: 357 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,6 +1008,85 @@ Get details about a specific Confluence space.
10081008
|`value` | string | Description text content |
10091009
|`representation` | string | Content representation format \(e.g., plain, view, storage\) |
10101010

1011+
### `confluence_create_space`
1012+
1013+
Create a new Confluence space.
1014+
1015+
#### Input
1016+
1017+
| Parameter | Type | Required | Description |
1018+
| --------- | ---- | -------- | ----------- |
1019+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1020+
| `name` | string | Yes | Name for the new space |
1021+
| `key` | string | Yes | Unique key for the space \(uppercase, no spaces\) |
1022+
| `description` | string | No | Description for the new space |
1023+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1024+
1025+
#### Output
1026+
1027+
| Parameter | Type | Description |
1028+
| --------- | ---- | ----------- |
1029+
| `ts` | string | ISO 8601 timestamp of the operation |
1030+
| `spaceId` | string | Created space ID |
1031+
| `name` | string | Space name |
1032+
| `key` | string | Space key |
1033+
| `type` | string | Space type |
1034+
| `status` | string | Space status |
1035+
| `url` | string | URL to view the space |
1036+
| `homepageId` | string | Homepage ID |
1037+
| `description` | object | Space description |
1038+
|`value` | string | Description text content |
1039+
|`representation` | string | Content representation format \(e.g., plain, view, storage\) |
1040+
1041+
### `confluence_update_space`
1042+
1043+
Update a Confluence space name or description.
1044+
1045+
#### Input
1046+
1047+
| Parameter | Type | Required | Description |
1048+
| --------- | ---- | -------- | ----------- |
1049+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1050+
| `spaceId` | string | Yes | ID of the space to update |
1051+
| `name` | string | No | New name for the space |
1052+
| `description` | string | No | New description for the space |
1053+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1054+
1055+
#### Output
1056+
1057+
| Parameter | Type | Description |
1058+
| --------- | ---- | ----------- |
1059+
| `ts` | string | ISO 8601 timestamp of the operation |
1060+
| `spaceId` | string | Updated space ID |
1061+
| `name` | string | Space name |
1062+
| `key` | string | Space key |
1063+
| `type` | string | Space type |
1064+
| `status` | string | Space status |
1065+
| `url` | string | URL to view the space |
1066+
| `description` | object | Space description |
1067+
|`value` | string | Description text content |
1068+
|`representation` | string | Content representation format \(e.g., plain, view, storage\) |
1069+
1070+
### `confluence_delete_space`
1071+
1072+
Delete a Confluence space.
1073+
1074+
#### Input
1075+
1076+
| Parameter | Type | Required | Description |
1077+
| --------- | ---- | -------- | ----------- |
1078+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1079+
| `spaceId` | string | Yes | ID of the space to delete |
1080+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1081+
1082+
#### Output
1083+
1084+
| Parameter | Type | Description |
1085+
| --------- | ---- | ----------- |
1086+
| `ts` | string | ISO 8601 timestamp of the operation |
1087+
| `spaceId` | string | Deleted space ID |
1088+
| `deleted` | boolean | Deletion status |
1089+
10111090
### `confluence_list_spaces`
10121091

10131092
List all Confluence spaces accessible to the user.
@@ -1040,6 +1119,284 @@ List all Confluence spaces accessible to the user.
10401119
|`representation` | string | Content representation format \(e.g., plain, view, storage\) |
10411120
| `nextCursor` | string | Cursor for fetching the next page of results |
10421121

1122+
### `confluence_list_space_properties`
1123+
1124+
List properties on a Confluence space.
1125+
1126+
#### Input
1127+
1128+
| Parameter | Type | Required | Description |
1129+
| --------- | ---- | -------- | ----------- |
1130+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1131+
| `spaceId` | string | Yes | Space ID to list properties for |
1132+
| `limit` | number | No | Maximum number of properties to return \(default: 50, max: 250\) |
1133+
| `cursor` | string | No | Pagination cursor from previous response |
1134+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1135+
1136+
#### Output
1137+
1138+
| Parameter | Type | Description |
1139+
| --------- | ---- | ----------- |
1140+
| `ts` | string | ISO 8601 timestamp of the operation |
1141+
| `properties` | array | Array of space properties |
1142+
|`id` | string | Property ID |
1143+
|`key` | string | Property key |
1144+
|`value` | json | Property value |
1145+
| `spaceId` | string | Space ID |
1146+
| `nextCursor` | string | Cursor for fetching the next page of results |
1147+
1148+
### `confluence_create_space_property`
1149+
1150+
Create a property on a Confluence space.
1151+
1152+
#### Input
1153+
1154+
| Parameter | Type | Required | Description |
1155+
| --------- | ---- | -------- | ----------- |
1156+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1157+
| `spaceId` | string | Yes | Space ID to create the property on |
1158+
| `key` | string | Yes | Property key/name |
1159+
| `value` | json | No | Property value \(JSON\) |
1160+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1161+
1162+
#### Output
1163+
1164+
| Parameter | Type | Description |
1165+
| --------- | ---- | ----------- |
1166+
| `ts` | string | ISO 8601 timestamp of the operation |
1167+
| `propertyId` | string | Created property ID |
1168+
| `key` | string | Property key |
1169+
| `value` | json | Property value |
1170+
| `spaceId` | string | Space ID |
1171+
1172+
### `confluence_delete_space_property`
1173+
1174+
Delete a property from a Confluence space.
1175+
1176+
#### Input
1177+
1178+
| Parameter | Type | Required | Description |
1179+
| --------- | ---- | -------- | ----------- |
1180+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1181+
| `spaceId` | string | Yes | Space ID the property belongs to |
1182+
| `propertyId` | string | Yes | Property ID to delete |
1183+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1184+
1185+
#### Output
1186+
1187+
| Parameter | Type | Description |
1188+
| --------- | ---- | ----------- |
1189+
| `ts` | string | ISO 8601 timestamp of the operation |
1190+
| `spaceId` | string | Space ID |
1191+
| `propertyId` | string | Deleted property ID |
1192+
| `deleted` | boolean | Deletion status |
1193+
1194+
### `confluence_list_space_permissions`
1195+
1196+
List permissions for a Confluence space.
1197+
1198+
#### Input
1199+
1200+
| Parameter | Type | Required | Description |
1201+
| --------- | ---- | -------- | ----------- |
1202+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1203+
| `spaceId` | string | Yes | Space ID to list permissions for |
1204+
| `limit` | number | No | Maximum number of permissions to return \(default: 50, max: 250\) |
1205+
| `cursor` | string | No | Pagination cursor from previous response |
1206+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1207+
1208+
#### Output
1209+
1210+
| Parameter | Type | Description |
1211+
| --------- | ---- | ----------- |
1212+
| `ts` | string | ISO 8601 timestamp of the operation |
1213+
| `permissions` | array | Array of space permissions |
1214+
|`id` | string | Permission ID |
1215+
|`principalType` | string | Principal type \(user, group, role\) |
1216+
|`principalId` | string | Principal ID |
1217+
|`operationKey` | string | Operation key \(read, create, delete, etc.\) |
1218+
|`operationTargetType` | string | Target type \(page, blogpost, space, etc.\) |
1219+
|`anonymousAccess` | boolean | Whether anonymous access is allowed |
1220+
|`unlicensedAccess` | boolean | Whether unlicensed access is allowed |
1221+
| `spaceId` | string | Space ID |
1222+
| `nextCursor` | string | Cursor for fetching the next page of results |
1223+
1224+
### `confluence_get_page_descendants`
1225+
1226+
Get all descendants of a Confluence page recursively.
1227+
1228+
#### Input
1229+
1230+
| Parameter | Type | Required | Description |
1231+
| --------- | ---- | -------- | ----------- |
1232+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1233+
| `pageId` | string | Yes | Page ID to get descendants for |
1234+
| `limit` | number | No | Maximum number of descendants to return \(default: 50, max: 250\) |
1235+
| `cursor` | string | No | Pagination cursor from previous response |
1236+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1237+
1238+
#### Output
1239+
1240+
| Parameter | Type | Description |
1241+
| --------- | ---- | ----------- |
1242+
| `ts` | string | ISO 8601 timestamp of the operation |
1243+
| `descendants` | array | Array of descendant pages |
1244+
|`id` | string | Page ID |
1245+
|`title` | string | Page title |
1246+
|`status` | string | Page status |
1247+
|`spaceId` | string | Space ID |
1248+
|`parentId` | string | Parent page ID |
1249+
|`childPosition` | number | Position among siblings |
1250+
| `pageId` | string | Parent page ID |
1251+
| `nextCursor` | string | Cursor for fetching the next page of results |
1252+
1253+
### `confluence_list_tasks`
1254+
1255+
List inline tasks from Confluence. Optionally filter by page, space, assignee, or status.
1256+
1257+
#### Input
1258+
1259+
| Parameter | Type | Required | Description |
1260+
| --------- | ---- | -------- | ----------- |
1261+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1262+
| `pageId` | string | No | Filter tasks by page ID |
1263+
| `spaceId` | string | No | Filter tasks by space ID |
1264+
| `assignedTo` | string | No | Filter tasks by assignee account ID |
1265+
| `status` | string | No | Filter tasks by status \(complete or incomplete\) |
1266+
| `limit` | number | No | Maximum number of tasks to return \(default: 50, max: 250\) |
1267+
| `cursor` | string | No | Pagination cursor from previous response |
1268+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1269+
1270+
#### Output
1271+
1272+
| Parameter | Type | Description |
1273+
| --------- | ---- | ----------- |
1274+
| `ts` | string | ISO 8601 timestamp of the operation |
1275+
| `tasks` | array | Array of Confluence tasks |
1276+
|`id` | string | Task ID |
1277+
|`localId` | string | Local task ID |
1278+
|`spaceId` | string | Space ID |
1279+
|`pageId` | string | Page ID |
1280+
|`blogPostId` | string | Blog post ID |
1281+
|`status` | string | Task status \(complete or incomplete\) |
1282+
|`createdBy` | string | Creator account ID |
1283+
|`assignedTo` | string | Assignee account ID |
1284+
|`completedBy` | string | Completer account ID |
1285+
|`createdAt` | string | Creation timestamp |
1286+
|`updatedAt` | string | Last update timestamp |
1287+
|`dueAt` | string | Due date |
1288+
|`completedAt` | string | Completion timestamp |
1289+
| `nextCursor` | string | Cursor for fetching the next page of results |
1290+
1291+
### `confluence_get_task`
1292+
1293+
Get a specific Confluence inline task by ID.
1294+
1295+
#### Input
1296+
1297+
| Parameter | Type | Required | Description |
1298+
| --------- | ---- | -------- | ----------- |
1299+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1300+
| `taskId` | string | Yes | The ID of the task to retrieve |
1301+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1302+
1303+
#### Output
1304+
1305+
| Parameter | Type | Description |
1306+
| --------- | ---- | ----------- |
1307+
| `ts` | string | ISO 8601 timestamp of the operation |
1308+
| `id` | string | Task ID |
1309+
| `localId` | string | Local task ID |
1310+
| `spaceId` | string | Space ID |
1311+
| `pageId` | string | Page ID |
1312+
| `blogPostId` | string | Blog post ID |
1313+
| `status` | string | Task status \(complete or incomplete\) |
1314+
| `createdBy` | string | Creator account ID |
1315+
| `assignedTo` | string | Assignee account ID |
1316+
| `completedBy` | string | Completer account ID |
1317+
| `createdAt` | string | Creation timestamp |
1318+
| `updatedAt` | string | Last update timestamp |
1319+
| `dueAt` | string | Due date |
1320+
| `completedAt` | string | Completion timestamp |
1321+
1322+
### `confluence_update_task`
1323+
1324+
Update the status of a Confluence inline task (complete or incomplete).
1325+
1326+
#### Input
1327+
1328+
| Parameter | Type | Required | Description |
1329+
| --------- | ---- | -------- | ----------- |
1330+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1331+
| `taskId` | string | Yes | The ID of the task to update |
1332+
| `status` | string | Yes | New status for the task \(complete or incomplete\) |
1333+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1334+
1335+
#### Output
1336+
1337+
| Parameter | Type | Description |
1338+
| --------- | ---- | ----------- |
1339+
| `ts` | string | ISO 8601 timestamp of the operation |
1340+
| `id` | string | Task ID |
1341+
| `localId` | string | Local task ID |
1342+
| `spaceId` | string | Space ID |
1343+
| `pageId` | string | Page ID |
1344+
| `blogPostId` | string | Blog post ID |
1345+
| `status` | string | Updated task status |
1346+
| `createdBy` | string | Creator account ID |
1347+
| `assignedTo` | string | Assignee account ID |
1348+
| `completedBy` | string | Completer account ID |
1349+
| `createdAt` | string | Creation timestamp |
1350+
| `updatedAt` | string | Last update timestamp |
1351+
| `dueAt` | string | Due date |
1352+
| `completedAt` | string | Completion timestamp |
1353+
1354+
### `confluence_update_blogpost`
1355+
1356+
Update an existing Confluence blog post title and/or content.
1357+
1358+
#### Input
1359+
1360+
| Parameter | Type | Required | Description |
1361+
| --------- | ---- | -------- | ----------- |
1362+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1363+
| `blogPostId` | string | Yes | The ID of the blog post to update |
1364+
| `title` | string | No | New title for the blog post |
1365+
| `content` | string | No | New content for the blog post in storage format |
1366+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1367+
1368+
#### Output
1369+
1370+
| Parameter | Type | Description |
1371+
| --------- | ---- | ----------- |
1372+
| `ts` | string | ISO 8601 timestamp of the operation |
1373+
| `blogPostId` | string | Updated blog post ID |
1374+
| `title` | string | Blog post title |
1375+
| `status` | string | Blog post status |
1376+
| `spaceId` | string | Space ID |
1377+
| `version` | json | Version information |
1378+
| `url` | string | URL to view the blog post |
1379+
1380+
### `confluence_delete_blogpost`
1381+
1382+
Delete a Confluence blog post.
1383+
1384+
#### Input
1385+
1386+
| Parameter | Type | Required | Description |
1387+
| --------- | ---- | -------- | ----------- |
1388+
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
1389+
| `blogPostId` | string | Yes | The ID of the blog post to delete |
1390+
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
1391+
1392+
#### Output
1393+
1394+
| Parameter | Type | Description |
1395+
| --------- | ---- | ----------- |
1396+
| `ts` | string | ISO 8601 timestamp of the operation |
1397+
| `blogPostId` | string | Deleted blog post ID |
1398+
| `deleted` | boolean | Deletion status |
1399+
10431400
### `confluence_get_user`
10441401

10451402
Get a Confluence user\

0 commit comments

Comments
 (0)