Skip to main content
Glama

update_list

Modify ClickUp list properties including name, description, or status to keep project organization current and accurate.

Instructions

Update an existing ClickUp list's properties. You MUST provide either listId or listName, and at least one field to update (name, content, or status).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listIdNoID of the list to update. Use this instead of listName if you have the ID.
listNameNoName of the list to update. May be ambiguous if multiple lists have the same name.
nameNoNew name for the list
contentNoNew description or content for the list
statusNoNew status for the list

Implementation Reference

  • Tool schema definition for 'update_list' including input schema for parameters like listId/listName, name, content, status.
    export const updateListTool = { name: "update_list", description: "Update an existing ClickUp list's properties. You MUST provide either listId or listName, and at least one field to update (name, content, or status).", inputSchema: { type: "object", properties: { listId: { type: "string", description: "ID of the list to update. Use this instead of listName if you have the ID." }, listName: { type: "string", description: "Name of the list to update. May be ambiguous if multiple lists have the same name." }, name: { type: "string", description: "New name for the list" }, content: { type: "string", description: "New description or content for the list" }, status: { type: "string", description: "New status for the list" } }, required: [] } };
  • Main handler for 'update_list' tool: resolves list ID, validates inputs, calls service to update, returns formatted response with updated list details.
    export async function handleUpdateList(parameters: any) { const { listId, listName, name, content, status } = parameters; let targetListId = listId; // If no listId provided but listName is, look up the list ID if (!targetListId && listName) { const listResult = await findListIDByName(workspaceService, listName); if (!listResult) { throw new Error(`List "${listName}" not found`); } targetListId = listResult.id; } if (!targetListId) { throw new Error("Either listId or listName must be provided"); } // Ensure at least one update field is provided if (!name && !content && !status) { throw new Error("At least one of name, content, or status must be provided for update"); } // Prepare update data const updateData: Partial<CreateListData> = {}; if (name) updateData.name = name; if (content) updateData.content = content; if (status) updateData.status = status; try { // Update the list const updatedList = await listService.updateList(targetListId, updateData); return { content: [{ type: "text", text: JSON.stringify( { id: updatedList.id, name: updatedList.name, content: updatedList.content, space: { id: updatedList.space.id, name: updatedList.space.name }, status: updatedList.status, url: `https://app.clickup.com/${config.clickupTeamId}/v/l/${updatedList.id}`, message: `List "${updatedList.name}" updated successfully` }, null, 2 ) }] }; } catch (error: any) { throw new Error(`Failed to update list: ${error.message}`); } }
  • src/server.ts:67-93 (registration)
    Registration of updateListTool in the list of available tools returned by ListToolsRequestSchema handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ workspaceHierarchyTool, createTaskTool, getTaskTool, getTasksTool, updateTaskTool, moveTaskTool, duplicateTaskTool, deleteTaskTool, createBulkTasksTool, updateBulkTasksTool, moveBulkTasksTool, deleteBulkTasksTool, createListTool, createListInFolderTool, getListTool, updateListTool, deleteListTool, createFolderTool, getFolderTool, updateFolderTool, deleteFolderTool ] }; });
  • src/server.ts:130-131 (registration)
    Dispatch/registration of handleUpdateList in the CallToolRequestSchema switch statement for tool name 'update_list'.
    case "update_list": return handleUpdateList(params);
  • Core service method that performs the actual ClickUp API PUT request to update a list.
    async updateList(listId: string, updateData: Partial<CreateListData>): Promise<ClickUpList> { this.logOperation('updateList', { listId, ...updateData }); try { return await this.makeRequest(async () => { const response = await this.client.put<ClickUpList>( `/list/${listId}`, updateData ); return response.data; }); } catch (error) { throw this.handleError(error, `Failed to update list ${listId}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/windalfin/clickup-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server