Agenda Task
A right-pane widget for the start/due dates, duration and recurrence of a note, or of a whole tree
multi-selection at once, plus an Actions section with Complete Task and a row of reschedule buttons.
Split out from the original agenda addon (whose Overview widget is now agenda-overview@beatlink)
so Task can be installed, updated, and configured independently — the two addons share no code or
settings.
Dates and Duration and Actions are collapsible disclosures, open by default. Recurrence is a single button reading the current rule back in plain English ("Every 2 weeks on Monday", or "Does not repeat"); clicking it opens the recurrence picker in a popover. The pane scrolls vertically when its sections outgrow the window.
How it works
The widget appears in the right pane on any note whose type is marked actionable (#agendaTaskWidget
inheritable label, set by the item's template). It edits four kinds of note labels — start/due
datetime, duration, recurrence — via configurable label names, plus fires agenda:tasksChanged after
any change so agenda-overview@beatlink's widget (if installed) re-files the note.
Working on several tasks at once
Select notes in the tree (alt-click, or shift-click for a range) and the widget retargets at that
whole selection, the way area-picker@beatlink and template-picker@beatlink do: the header counts
what it will write to ("Task (3 notes)"), every field writes to all of them, and Complete Task and
the reschedule buttons run over each in turn. Notes in the selection that aren't tasks are dropped,
so the widget only ever writes task labels to notes marked actionable. With nothing selected it stays
on the active note.
A field whose targets disagree reads — Mixed — and stays that way until a value is chosen, which
then applies to all of them.
Completing a task with a recurrence rolls its start date forward instead of leaving it done; the
reschedule buttons offer a configurable set of quick date jumps (fixed days-from-now or a recurrence
rule evaluated from now). The stock set is Today, Tomorrow, Next Weekend (FREQ=WEEKLY;BYDAY=SA) and
End of Month (FREQ=MONTHLY;BYMONTHDAY=-1).
Configuration
Task owns its own settings note (taskSchema.json/taskDefaults.json/taskConfig.json) tagged #agendaTaskConfig — the label
names it reads/writes (start/due date/time, duration, recurrence) and the reschedule buttons' option
registry. Its own Task Settings page (TAM's "Addon Settings" button) is the only place that edits
it.
Independence from the other agenda addons
Task used to live inside the original agenda addon (task/ folder), sharing its settings note. The
two are now fully decoupled in both directions: neither ships the other's code, neither reads the
other's settings note, and neither declares the other as a TAM dependency. Either one runs on its own.
What they still share is a vocabulary, not a wire:
| Convention | Who writes it | Who reads it |
|---|---|---|
| start/due datetime + recurrence label names | this addon | agenda-overview@beatlink and agenda-myday@beatlink, each from their own copy of the setting |
durationDisplay / recurrenceDisplay |
this addon | agenda-overview@beatlink's overview columns, if installed |
agenda:tasksChanged (api.triggerEvent) |
this addon, after any change | agenda-overview@beatlink, if installed |
#agendaTaskWidget (inheritable, from the item's template) |
template-picker@beatlink's templates |
this addon, to decide whether the pane shows |
The cost of that independence: renaming a label name here means renaming it in each other installed addon that reads it. Nothing detects the drift for you.
Upgrading from 2.x
Version 3.0.0 removes the one-time migration that copied label names and Reschedule Options out of the old shared agenda config note. Any install that ran a 2.x version at least once has already migrated and is unaffected. Installing 3.0.0 fresh onto a pre-4.0.0 agenda gets the default label names instead of the old shared ones — re-enter them on the Task Settings page if you had customized them.
Changelog
Agenda Task Changelog
3.5.1 - 2026-09-18
Fixed
- restate #recurrenceDisplay when the recurrence changes
3.5.0 - 2026-09-18
Added
- edit a whole tree selection of tasks at once
3.4.5 - 2026-09-01
Changed
- Breaking: absorb agenda@beatlink so it stands on its own
3.4.4 - 2026-08-26
Fixed
- make the Task pane's nowrap rule outrank the shared block
3.4.3 - 2026-08-26
Fixed
- scroll the Task pane instead of wrapping it into columns
3.4.2 - 2026-08-26
Fixed
- ship the Task widget's own CSS instead of borrowing Overview's
3.4.1 - 2026-08-24
Fixed
- scroll the Task pane when it outgrows the window
3.4.0 - 2026-08-24
Added
- edit recurrence in a popover behind a plain-English button
Changed
- use Trilium's built-in Preact controls instead of hand-rolled ones
- nest sources by kind and split out the Overview widget
3.2.1 - 2026-08-21
Changed
- render color fields with Trilium's built-in ColorPicker
3.2.0 - 2026-08-17
Added
- split the Task widget out of agenda