Skip to content

Todo Sets

Todo sets are containers that group related todos within a team workspace. Every todo belongs to exactly one set. Sets are listed in the sidebar and can be reordered, renamed, or deleted.


Default Set

When a user first accesses a team workspace, Glint automatically creates a default set if none exists. The default set name is configurable in Settings → Branding (default_set_name; defaults to "Not Grouped").

This ensures the workspace is immediately usable without any manual setup.


Creating Sets

Users with manage_sets permission can create sets:

  1. Scroll to the bottom of the sidebar's set list.
  2. Click New set.
  3. Type a name and press Enter or click the confirm button.

The new set appears at the end of the list with the next available sortOrder. It becomes the active set automatically.


Renaming Sets

  1. Hover over a set in the sidebar to reveal the ... menu.
  2. Click Rename.
  3. Enter the new name in the dialog and confirm.

Requires: manage_sets, or you must be the creator of the set.


Deleting Sets

  1. Open the ... menu on the set.
  2. Click Delete.
  3. Confirm the deletion in the dialog.

WARNING

Deleting a set permanently removes the set and all todos within it, including sub-todos and all comments. This cannot be undone.

Requires: manage_sets, or you must be the creator of the set.


Reordering Sets

On desktop, drag sets in the sidebar using the drag handle to change their order. The new order is saved immediately via the reorder API.

Drag-and-drop is not available on mobile. On mobile, sets can be reordered from Settings → Sets (if you have manage_sets).

Requires: manage_sets.


Per-Set Options

Each set has configurable options accessible via the ... menu → Options (or the set's settings panel).

Split Completed Todos

When enabled, completed todos are separated from active todos within the set — they appear in a collapsible "Completed" section below the active list.

This is set per-set and does not affect other sets. The setting persists for all users viewing the set (it's a server-side property, not a personal preference).

Auto-Renew

Auto-renew turns a set into a recurring checklist. When enabled, all completed todos in the set are reset to incomplete once per day at a configured time — ideal for daily standups, routines, or habit lists.

OptionDescription
Auto-renewMaster toggle for the feature.
Renew timeThe HH:MM local time of day at which the reset runs (e.g. 06:00).
TimezoneThe IANA timezone used to interpret the renew time. When left blank, the team's default_timezone (Settings → Branding) is used.

A Cloudflare cron job runs every 15 minutes and renews each eligible set the first time the local clock passes its renew time on a new day. The set's todos and titles are kept — only their completion state is cleared.

Requires: manage_sets, or you must be the creator of the set.


Importing & Exporting

Sets can be exported and imported in Markdown, JSON, or YAML formats. This is handy for backups, moving a checklist between workspaces, or seeding a set from an external source.

Export

  1. Open the ... menu on a set and choose Export.
  2. Pick a format (Markdown / JSON / YAML) and whether to include comments.
  3. The file downloads with a name derived from the set.

Requires: view_todos for the set.

Import

You can either import into the current set (append or replace its todos) or create a brand-new set from the imported content.

  • Append adds the imported todos to the existing list.
  • Replace wipes the set's current todos first (requires manage_sets).

Markdown uses the familiar - [ ] / - [x] checkbox syntax with indentation for sub-todos. JSON and YAML carry the full structure including set metadata.

Requires: create_todos to import into a set; manage_sets to replace contents or import as a new set.

Import from Microsoft To Do

The Import dialog has an Import from MS Todo button in its bottom-left corner that opens a dedicated popup for migrating from Microsoft To Do.

  1. Open the export tool at ms-todo-export.azurewebsites.net (open source: alan-null/ms-todo-export) and download your data as a JSON backup.
  2. Click Import from MS Todo, then upload the downloaded JSON file. Parsing happens entirely in your browser — nothing is uploaded until you start the import.
  3. Every To Do list found in the file is listed. For each list you can:
    • Toggle whether to import it.
    • Choose to append to an existing list (and whether to add to the top or bottom), or — by default — create a new list whose name you can edit.
  4. Each task's checklist items become sub-todos, and the task notes (body) are imported as a comment.
  5. Click Import to upload the lists one by one with a progress indicator.

WARNING

Attachments and images from Microsoft To Do are not supported. If the file contains any, a warning shows how many tasks will have their attachments skipped before you import.

Requires: create_todos to append into a list; manage_sets to create new lists.


Per-Set Permissions

Each set can have its own permission overrides, independent of global team permissions. This is useful for:

  • Restricting sensitive sets — prevent members from viewing a set used for confidential planning.
  • Opening up specific sets — allow members to reorder or manage todos in a single set without granting those permissions globally.

To configure per-set permissions:

  1. Go to Settings → Permissions.
  2. Open the Scope dropdown and select the specific set.
  3. Toggle permissions for Admin / Member as needed.
  4. Click Save Permissions.

Per-set overrides take priority over global permissions. See Permissions for the full resolution order.


Set Visibility

Sets are listed to all team members who have view_todos in at least one set. If view_todos is revoked for a specific set, users in that role:

  • Do not see todo content when they navigate to that set.
  • Receive an "Unauthorized" notice and are redirected to the home page.
  • The set still appears in the sidebar (it is not hidden), but access is blocked when clicked.

API Reference

See Todo Sets API for the full endpoint reference including request/response shapes and error codes.