docs/wiki/4.09-Task-Attributes.md
Task attributes are the properties that define a task's characteristics, state, and relationships in Super Productivity. They are central because tasks are the primary entity the app is built around: time tracking, project management, scheduling, and synchronization all depend on these attributes. Understanding how attributes work helps you see how the different features fit together and why certain actions (for example, setting a due date or adding a tag) affect what you see in the Today View, Schedule, or project lists.
Tasks need a minimal set of attributes to exist and function. Beyond that, optional attributes enable scheduling, categorization, reminders, and other workflows.
Core attributes are required for basic task functionality:
With only these, you can create tasks, log time, complete them, and organize them in projects. Everything else is optional.
Optional attributes add scheduling, categorization, and integration:
You can use none, some, or all of these depending on how you work. Tasks can start simple and gain optional attributes as you schedule them, tag them, or add reminders.
Task attributes support different workflows by combining in consistent ways.
The app treats "today" as a special time-based group: whether a task appears in the [[4.01-The-Today-View]] is determined by its due date, not by adding a tag to the task. You do not add a "today" tag; you set the task's due date to today. That keeps scheduling consistent: the same attribute (due date) drives the Planner, Schedule, and Today list, so moving a task to today or changing its date updates all of these in one place.
Task attributes change as a task moves from creation through active work, scheduling, completion, and archive.
When you create a task, the app assigns core attributes: a unique ID, title, project, created timestamp, empty time spent, completion status false, and an empty list of subtasks and attachments. Optional attributes (due date, tags, estimate, etc.) are added only when you use those features.
When tasks are archived, core attributes are preserved so the task remains identifiable and historical data (for example time spent) is kept. Some optional data (such as reminders) may be removed in the archive so stored data stays lean. The task is no longer in active lists but remains available for history and backup. See [[4.20-Task-Archiving]].
The flexibility of the attribute system allows tasks to start minimal and gain complexity only when you need scheduling, tags, or integration—all within the same data model.