agenda · 16m

Agenda: computed views over source files

The source file, not the Agenda buffer, is authoritative.

Files in, a week out. Nothing is copied

inbox.org* TODO Call the printer
projects.org* TODO Prepare slides
DEADLINE: <2026-09-20>
Agenda · weekFri: Call the printer
Sun: Prepare slides

Changing a line in Agenda writes back to the heading. The view is disposable.

Agenda reads declared files, selects entries, and displays a temporary operational view. Edits made with Agenda commands update the source heading.

C-c [ adds the current file to the Agenda list for the session; C-c ] removes it. M-x org-agenda (commonly globally bound by users to C-c a) opens the dispatcher. In it, a shows a calendar agenda, t a global TODO list, m a tag match, and s a text search. Verify choices in the dispatcher because custom commands can add or replace keys.

Inside the Agenda, n/p move lines, RET visits the source, TAB displays it, t changes TODO state, s schedules, d sets a deadline, r refreshes, f moves forward, b backward, and q quits. These are Agenda-buffer bindings, not Org-buffer bindings.

Tags and property queries turn Agenda into a selective dashboard. Query syntax varies by view; use the manual's matching section and minibuffer prompts rather than guessing punctuation.

A useful custom command grows from a real need. A block view for one day, all NEXT items, then tasks tagged waiting does not create or duplicate tasks.

Agenda performance depends chiefly on the files scanned and the work performed while parsing/fontifying them. Do not put an entire archive or every note into org-agenda-files. Narrow the scope before reaching for obscure tuning variables.

Summary. Agenda is a queryable lens. Design source files for durable meaning and views for temporary decisions.

Exercises

  • Basic: Add two files and open weekly Agenda and global TODO views.
  • Practical: Reschedule a task from Agenda, then inspect its source.
  • Advanced: Build a two-block custom command for one real workday.