> clickup-core-workflow-b
Manage ClickUp workspaces, spaces, folders, lists, and views via API v2. Use when creating project structures, organizing spaces and lists, or managing the ClickUp hierarchy programmatically. Trigger: "clickup space", "clickup folder", "clickup list", "clickup views", "create clickup space", "organize clickup workspace", "clickup hierarchy".
curl "https://skillshub.wtf/jeremylongshore/claude-code-plugins-plus-skills/clickup-core-workflow-b?format=md"ClickUp Core Workflow B — Spaces, Folders, Lists & Views
Overview
Manage the ClickUp organizational hierarchy: Workspace > Space > Folder > List. Also covers views (list, board, calendar, gantt) and tags.
Space Operations
POST /api/v2/team/{team_id}/space Create Space
GET /api/v2/team/{team_id}/space Get Spaces
GET /api/v2/space/{space_id} Get Space
PUT /api/v2/space/{space_id} Update Space
DELETE /api/v2/space/{space_id} Delete Space
// Create a Space with ClickApps enabled
async function createSpace(teamId: string, name: string) {
return clickupRequest(`/team/${teamId}/space`, {
method: 'POST',
body: JSON.stringify({
name,
multiple_assignees: true,
features: {
due_dates: { enabled: true, start_date: true, remap_due_dates: true },
time_tracking: { enabled: true },
tags: { enabled: true },
time_estimates: { enabled: true },
checklists: { enabled: true },
custom_fields: { enabled: true },
points: { enabled: false },
},
}),
});
}
Folder Operations
POST /api/v2/space/{space_id}/folder Create Folder
GET /api/v2/space/{space_id}/folder Get Folders
GET /api/v2/folder/{folder_id} Get Folder
PUT /api/v2/folder/{folder_id} Update Folder
DELETE /api/v2/folder/{folder_id} Delete Folder
async function createFolder(spaceId: string, name: string) {
return clickupRequest(`/space/${spaceId}/folder`, {
method: 'POST',
body: JSON.stringify({ name }),
});
}
List Operations
POST /api/v2/folder/{folder_id}/list Create List in Folder
POST /api/v2/space/{space_id}/list Create Folderless List
GET /api/v2/folder/{folder_id}/list Get Lists in Folder
GET /api/v2/space/{space_id}/list Get Folderless Lists
GET /api/v2/list/{list_id} Get List
PUT /api/v2/list/{list_id} Update List
DELETE /api/v2/list/{list_id} Delete List
// Create list with custom statuses
async function createList(folderId: string, name: string) {
return clickupRequest(`/folder/${folderId}/list`, {
method: 'POST',
body: JSON.stringify({
name,
content: 'List description here',
due_date: Date.now() + 604800000, // 1 week from now
priority: 2,
status: 'to do',
}),
});
}
// Create folderless list (directly in space)
async function createFolderlessList(spaceId: string, name: string) {
return clickupRequest(`/space/${spaceId}/list`, {
method: 'POST',
body: JSON.stringify({ name }),
});
}
View Operations
POST /api/v2/list/{list_id}/view Create List View
POST /api/v2/folder/{folder_id}/view Create Folder View
POST /api/v2/team/{team_id}/view Create Workspace View
GET /api/v2/view/{view_id} Get View
GET /api/v2/view/{view_id}/task Get View Tasks
DELETE /api/v2/view/{view_id} Delete View
Supported view types: list, board, calendar, gantt, table, timeline, workload, activity, map, chat.
async function createBoardView(listId: string, name: string) {
return clickupRequest(`/list/${listId}/view`, {
method: 'POST',
body: JSON.stringify({
name,
type: 'board',
grouping: { field: 'status', dir: 1 },
sorting: { fields: [{ field: 'due_date', dir: 1 }] },
}),
});
}
Tag Operations
GET /api/v2/space/{space_id}/tag Get Space Tags
POST /api/v2/task/{task_id}/tag/{tag_name} Add Tag to Task
DELETE /api/v2/task/{task_id}/tag/{tag_name} Remove Tag from Task
Build a Complete Project Structure
async function scaffoldProject(teamId: string, projectName: string) {
// 1. Create space
const space = await createSpace(teamId, projectName);
// 2. Create folders for phases
const folders = await Promise.all(
['Planning', 'Development', 'QA', 'Deployment'].map(name =>
createFolder(space.id, name)
)
);
// 3. Create lists in each folder
for (const folder of folders) {
await createList(folder.id, `${folder.name} Tasks`);
}
// 4. Create a board view on the development folder
const devFolder = folders[1];
const lists = await clickupRequest(`/folder/${devFolder.id}/list`);
await createBoardView(lists.lists[0].id, 'Sprint Board');
return { space, folders };
}
Error Handling
| Status | Cause | Solution |
|---|---|---|
| 400 | Missing name field | Name is required for spaces/folders/lists |
| 403 | Insufficient permissions | Need admin access for space creation |
| 404 | Invalid parent ID | Verify team_id/space_id/folder_id |
Resources
Next Steps
For error troubleshooting, see clickup-common-errors.
> related_skills --same-repo
> fathom-cost-tuning
Optimize Fathom API usage and plan selection. Trigger with phrases like "fathom cost", "fathom pricing", "fathom plan".
> fathom-core-workflow-b
Sync Fathom meeting data to CRM and build automated follow-up workflows. Use when integrating Fathom with Salesforce, HubSpot, or custom CRMs, or creating automated post-meeting email summaries. Trigger with phrases like "fathom crm sync", "fathom salesforce", "fathom follow-up", "fathom post-meeting workflow".
> fathom-core-workflow-a
Build a meeting analytics pipeline with Fathom transcripts and summaries. Use when extracting insights from meetings, building CRM sync, or creating automated meeting follow-up workflows. Trigger with phrases like "fathom analytics", "fathom meeting pipeline", "fathom transcript analysis", "fathom action items sync".
> fathom-common-errors
Diagnose and fix Fathom API errors including auth failures and missing data. Use when API calls fail, transcripts are empty, or webhooks are not firing. Trigger with phrases like "fathom error", "fathom not working", "fathom api failure", "fix fathom".