| goal | No | An optional goal in the topic unit. Always set `direction`; Dashly never guesses it. at_least is a target to reach (water 2000 ml, protein 140 g, steps). at_most is a limit to stay under (calories 2000 kcal, spending 400 USD, drinks). between is a range with `min` and `max` (sleep 7 to 9 h). at_least and at_most take `value`. Give `per` (day, week, month or year) for a goal that repeats, or `by` (YYYY-MM-DD) for one that runs once until a date ("75 kg by 1 February": at_most 75, by 2027-02-01; "save 2,000 by June": at_least 2000, by the date). A dated goal on a reading is judged on its smoothed trend from the reading when it was set. `counts` is amount (the default) or days, for goals like "gym 3 days a week" (direction at_least, value 3, per week, counts days). If the person gives a number without saying whether it is a limit or a target, ask them. | |
| name | Yes | What the person calls it, e.g. "Water" or "Morning run". Up to 80 characters. | |
| type | Yes | How entries behave. sum: amounts that add up through the day (water, calories). measurement: a reading where the latest of the day counts (weight, blood pressure). count: how many times (cigarettes, pushups); an entry with no value counts as 1. duration: time spent, always in minutes (unit "min"). money: spending or income in a currency. checkbox: done or not done for the day (habits). event: things that happened, with no number (headache, meeting). task: to-dos with a status. rating: a score on a scale the person chooses, averaged over the day (mood 1 to 5, energy, pain). | |
| unit | No | The unit every value is stored in, e.g. "ml", "kg", "USD". Choose one unit and convert every value into it before logging. Required for sum, measurement and money; duration is always "min"; checkbox, event and task take none. | |
| color | No | The topic's own colour, one of: sky, blue, indigo, violet, fuchsia, pink, orange, teal, emerald, cyan, sand, silver. Leave it out and Dashly gives the next colour no other topic uses. Choose by meaning when one fits (sky for water, orange for food, indigo for sleep) and change it when the person asks. | |
| scale | No | A scale { min, max, labels? } of whole steps, labels optional words for some of them ({ "1": "awful", "5": "great" }). Required for rating topics. On an event topic it lets each entry carry a severity (values.severity), e.g. a headache from 1 to 5. | |
| fields | No | Extra numeric fields kept beside the main value, e.g. protein and carbs on a meal. Only for sum and measurement topics, up to 20. Each has a lowercase key, a label, a unit and an optional goal shaped like the topic goal, so protein can be at_least while calories are at_most. | |
| visual | No | The scene the topic plays in its tile's level column everywhere (home, every dashboard, its page, the calendar), from the group its type, goal and polarity point to; get_capabilities lists each group's scenes with what they show. Pick by meaning (a piggy bank for savings, a balloon that pops for screen time); leave it out for the one that fits what it tracks. A scene from another group is refused with the ones that fit. | |
| polarity | No | build (the default) for something the person wants more of or just tracks; avoid for something they want less of (headaches, panic attacks, cigarettes, takeaway). With avoid, a day with nothing logged is a good day, each entry counts against it, the streak is days without, and a goal can only be a limit (at_most). Set it whenever the topic is something to avoid; ask if unsure. | |
| statuses | No | Task topics only: the statuses a task moves through, in order. At least one must be terminal (done). Defaults to To do, Doing, Done. | |
| unitLabel | No | How the unit reads aloud, e.g. "millilitres". Defaults to the unit. | |
| description | No | One optional sentence about what is tracked. Up to 500 characters. | |