Update Basecamp Todo List
basecamp_update_todolistRename a Basecamp todo list or section, or edit its HTML description using full replacement or partial append, prepend, and search-replace operations.
Instructions
Update the name or the description of a todo list, or of a group (section) in a todo list. Use partial content operations on the description when possible to save on token usage. A todo list is complete when all its todos are complete, so this tool cannot complete it.
HTML rules for content:
Allowed tags: p, span, h2, h3, h4, br, strong, em, strike, code, a (with href attribute), pre, ol, ul, li, blockquote, mark, figure, figcaption, table, tbody, tr, th, td, div, bc-attachment.
Wrap every paragraph in ..., and put between one paragraph and the next. Both parts are necessary: newlines and blank lines in your HTML are discarded, and Basecamp shows no space around a on its own, so two paragraphs with nothing between them are shown as one block of text. Do not rely on line breaks in your HTML to separate paragraphs.
Headings: use , , as appropriate.
Inline code: text. Preformatted blocks: text.
Ordered lists: .... Unordered: ....
Tables: Heading...Cell...
To mention a person: . Put the tag where the name must show in the text, for example "Thanks for the fix". The person gets a notification. If the ID is not a person, the tool returns an error and writes nothing. Get person IDs from basecamp_list_people, or from the people in other responses (assignees, creators).
Single image:
Image gallery: wrap multiple in a .
A bc-attachment needs an attachable_sgid. For a file that is already in Basecamp, take the sgid from the HTML content of the message, comment or card that shows it, or use basecamp_list_recordings. For a file that is not in Basecamp yet, such as an image at an external URL or a screenshot on disk, upload it with basecamp_create_attachment and use the sgid that it returns. There is no tag, so an external image URL can never be embedded directly: upload it, or accept that it stays a plain link.
Basecamp auto-enriches bc-attachment tags after saving (adds url, href, filename, content-type, etc.) — you never need to write those.
When you see an existing, already-enriched tag (e.g. from a previous list/get call), leave its inner HTML alone. Before any content_append/content_prepend/search_replace runs, it is automatically collapsed back to its minimal form (sgid, presentation, caption, and content-type for mentions) — you don't need to strip it yourself, and doing so manually is unnecessary and risks mismatched find strings.
Background highlights: ...
Text color highlights: ...
For both, N is 1 (yellow), 2 (amber), 3 (red), 4 (pink), 5 (purple), 6 (blue), 7 (teal), 8 (near-white), or 9 (light gray).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name | |
| content | No | If provided, replaces entire HTML content. Cannot be used with content_append, content_prepend, or search_replace. | |
| todolist_id | Yes | ID of the todo list or group | |
| content_append | No | Text to append to the end of current content. Cannot be used with content. | |
| search_replace | No | Array of search-replace operations to apply to current content. Cannot be used with content. | |
| content_prepend | No | Text to prepend to the beginning of current content. Cannot be used with content. |