# Kanban Action Planner plugin for Obsidian Plan, track, and schedule any set of notes visually, straight from a [[Obsidian Bases|Obsidian Base]]. This plugin adds a Kanban board view to Bases, so your tasks, projects, content ideas, or anything else you keep as notes can move across columns instead of sitting in a flat list. This is a plugin that I have created. The idea is simple: your notes stay the source of truth. Statuses become columns, you drag cards around, and every change (status, order, dates, relationships) gets written back to your frontmatter. Nothing lives in a hidden database. You define the note types yourself (by tag, folder, or regex), or you let the [[Obsidian Starter Kit]] plugin configure them for you when it is installed. Requires Obsidian 1.13+ (the Bases view API). Works on desktop (mobile isn't supported yet). ## Video tour A complete walkthrough of the plugin (~25 minutes): the boards, calendar, timeline, triage, WBS, embeds, and how everything is saved straight into your notes: ![](https://www.youtube.com/watch?v=umCB9CQire4) ## Screenshots A board, with a configurable status property driving the columns: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - board.png]] The same idea applied to a large task base, with collapsed columns keeping the backlog out of the way: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - board tasks.png]] Swimlanes, here grouping the board by priority: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - swimlanes.png]] Calendar mode, plotting scheduled dates and deadlines together, with an Unplanned panel on the side: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - calendar.png]] Filter as you type, with a compact query language: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - filter.png]] Slice any view by GTD contexts (`@work`, `@home`, …) from the toolbar **@** switcher: ![[2026-07-18 - Kanban Action Planner plugin for Obsidian - contexts.png]] Timeline mode, a Gantt-style view that places each card by its start date and estimate, with milestones, per-row deadline lines, and drag-to-reschedule: ![[2026-07-03 - timeline.png]] The Unplanned panel groups cards by note type, then status, so a big backlog stays navigable in calendar and timeline modes: ![[2026-07-03 - kanban action planner grouped navigation.png]] Create cards straight from the board. The dialog shows where the note will land and in which column before you commit: ![[2026-08-01 - kanban create task.png]] It follows the note type the board is about, so the same **+** on a goals board creates a goal: ![[2026-08-01 - kanban add goal.png]] Triage mode, clarifying a backlog one card at a time: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - triage.png]] In the settings, you just have to configure the key fields that need to be defined, and the triage mode lists all the notes that don't respect the rules, then let's you easily update those: ![[How I Turned My Obsidian Notes Into Kanban Boards (Article) - update props.png]] Per-type configuration, synced from the Obsidian Starter Kit when it is present: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - note types.png]] Relationships and statuses, edited straight from the card menu: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - card menu.png]] Cards carry a due countdown and color-coded properties: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - card due date.png]] Full keyboard support for moving and reordering cards: ![[2026-06-30 - Kanban Action Planner plugin for Obsidian - keyboard.png]] Configure automation rules (IF this THEN that): ![[Kanban Action Planner plugin for Obsidian - automation rules.png]] Embed the same view several times in a single note, each in a different mode — here a board and its calendar, both narrowed to one project: ![[Kanban Action Planner plugin for Obsidian - Embed different modes.png]] Boards also embed in an Obsidian Canvas — drag & drop works inside the board, and the canvas card's size controls the board: ![[2026-08-22 - Kanban Action Planner plugin for Obsidian - canvas embed.png]] ## What it does - **Kanban view in Bases**: add one or more boards to any Base. The Base's own filters decide which notes show up. - **Embed views in any note**: a standard `![[My Base.base#View]]` embed renders the full view inside a note, with per-embed mode/height/filter overrides (see below). - **Status to columns, defined not guessed**: a status property places each card into a column you define, so a typo can't spawn a stray column. Unmapped notes land in an "Unmapped" column that hides itself when empty. - **Move, reorder, sort**: drag a card to another column to change its status, reorder within a column, or auto-sort by name, by any property, or even by a base formula like a `priority_score`. Full keyboard support too. - **Filter as you type**: a compact, Jira-like search box (e.g., `status:active OR due:overdue`, `parent:"PKM" -tag:archived`), saved per view. `context:`/`contexts:` always target the configured contexts property, whatever it is named. - **GTD contexts**: tag notes with contexts (`@work`, `@home`, …) in a `contexts` list property, then filter to any combination from a toolbar **@** switcher (an OR across the ones you pick), saved per view. Toggle a card's contexts from its right-click menu, pin a context in an embed with `context=`, and see them color-coded on the calendar and timeline with a click-to-filter legend. - **Triage mode**: when a backlog gets overwhelming, work through it one card at a time, setting priority, urgency, and the rest from quick one-click controls. It also doubles as a spaced-repetition review queue. - **Relationships you can see and edit**: parent, sibling, child, and `blocked_by` links. Navigate them, add or remove them from the card menu, and flag blocked items. An archived blocker stops blocking. - **Focus on a card's children or subtree**: zoom into a project and the board re-filters to just its children, or all its descendants, in the usual columns. Zoom up from a task to see the whole project's children at once. A dismissible chip shows the current focus. - **Swimlanes**: split the board into collapsible lanes by note type or any property. Drag across lanes to rewrite the grouping. - **Calendar mode**: flip the same board into a scheduling calendar (day, week, month, quarter, year) that plots scheduled dates and deadlines together. Drag cards onto days to set `date_scheduled` or `date_due`. - **Timeline mode**: a Gantt-style view that places each card by its start date plus an estimate in days (no end date), with milestone diamonds, a today line, per-row deadline lines, and drag or resize to reschedule. The Unplanned panel groups cards by note type, then status. - **WBS mode**: a work-breakdown-structure view rendering the parent/child hierarchy as a collapsible tree — goal → projects → tasks — with per-node progress bars, estimates, due countdowns, and date spans. One rollup model: a note's own value wins, otherwise it derives from its children, so I can plan top-down, bottom-up, or both, and persist any rollup to the parent in one click. Drag rows to re-parent, drag cards in from the "Needs planning" backlog, and set status, dates, estimates, or progress from any row. - **Agenda mode**: a flat, prioritized "what's on my plate" list — Overdue, Today (due or scheduled today), and Upcoming (next 7 days), with a Today/Week window switch. Right-click any row for the full card menu. - **Defer dates & availability (Next actions)**: a `date_defer` ("can't start until") property mutes not-yet-actionable cards, and the filter language gains `defer:` plus `is:available` / `is:deferred` / `is:blocked` / `is:done`. Type `is:available` and any board becomes a GTD next-actions list; the agenda hides unavailable cards by default. - **Quick capture**: every column has a **+** in its header and an **Add card** button under its cards. Type a name and the note is created in the right folder, with the right template, landing in that exact column. It reuses what is already configured (an Obsidian Starter Kit note type's folder, template, and name prefix/suffix) and applies the template with Templater when present, before writing the card's properties, so a template that prompts for a status can never override the column I clicked. - **Archiving**: move finished cards into a placeholder-driven folder (e.g., `Archive/{{year}}`), manually or automatically when they reach a given status. Links are preserved. - **Done state per note type**: define what "done" means for each note type — a property plus the value(s) that count (e.g., the Completed and Done statuses, another property's values, or a simple `true` checkbox). Done notes read as 100% complete in progress rollups, even without a progress number, so parents show real momentum as their children complete. - **Automation rules**: per note type, "when this happens to a note, do that". Triggers: the note enters or leaves a status, enters a done state, gets archived, or a property crosses a condition (e.g., `progress ≥ 100`). Actions: set or remove properties (values support `{{date}}`-style placeholders), add or remove tags, or move the note to a placeholder-driven folder. Mark a task Done and its progress jumps to 100, the due date clears, and `date_completed` stamps itself — from any write path (drag, menu, bulk edit, triage), exactly once per transition, with no cascading rules. - **Color-coded cards**: cards show the properties you picked in the Bases view, including base formulas. Enum values are color-coded by rank, so the board reads like a heatmap. - **Column aggregates**: roll any numeric property up per column, next to the card count — `Σ 13`, or an average, minimum, or maximum. Non-numeric values are skipped rather than counted as zero. Roll up estimates and they read as `1d 2h`, unit-converted per note type, so a board mixing days-based and minutes-based estimates still adds up correctly. - **Productivity touches**: soft per-column WIP limits, multi-select with bulk set-status / archive / open, a compact mode showing titles only, overdue and due-today emphasis, and an optional due countdown badge (`In 3d`, `2d overdue`, `Today`) that counts down to the deadline or, per board, to the scheduled date. The card title can come from any property instead of the note name, which helps when filenames are IDs or dated slugs. - **Reusable note types**: per-type config for statuses, colors, relationships, archiving, and swimlanes. Define your own, or mirror them from the Obsidian Starter Kit. ## Embed views in your notes Any view of this plugin can be embedded in a regular note with a standard embed link: ``` ![[Actions (Base).base#Kanban: Tasks]] ``` - The `.base` extension is **required** in the link, and the part after `#` is the **view name** inside that Base. - The embed sizes to its content up to a height cap and scrolls internally past it, in every mode. The wikilink alias (the text after `|`) can override how that one embed renders, without changing the saved view: ``` ![[Actions (Base).base#Kanban: Tasks|mode=calendar height=400 filter=parent:"Obsidian Starter Kit (Project)"]] ``` - `mode=` — `board` (or `kanban`), `calendar`, `timeline`, `triage`, `wbs`, or `agenda`. - `height=` — the embed's height cap in pixels (200–2000); the embed still shrinks below it when the content is smaller. - `context=` — pin the embed to one or more GTD contexts (comma-separated, e.g. `context=@work,@home`); put it before `filter=`. - `columns=` — show only the named board column(s), e.g. `columns="20 Doing"` or `columns=todo,doing` (quote names containing spaces). Names match case-insensitively as substrings of the column's status value or label. Board mode only; put it before `filter=`. - `lanes=` — show only the named swimlane(s), same list syntax as `columns=` (`ungrouped` matches the catch-all lane). A restriction leaving one lane renders it chrome-free. Board mode only; put it before `filter=`. - `filter=` — everything after `filter=` is the initial filter query, exactly as I'd type it in the filter box. A wikilink alias can't contain `|`, so write `OR` instead of `|` in embed filters. All parts are optional. Embeds are projections: switching the mode, editing the filter, collapsing panels — anything changed inside an embed applies to that embed only and never touches the view saved in the `.base` file. Editing the embed line updates the rendered embed in place. This makes it possible to embed the same view many times, in different modes and with different filters, wherever the information is useful. The same embed link also works inside an [[Obsidian Canvas]] card, with all the alias overrides. Two differences: the canvas card's size controls the board (`height=` is ignored, so resizing the card resizes the board), and dragging cards, columns, chips, or bars works inside the board without moving the canvas card — the card itself moves by its edge or any empty spot on the board. ## References - Community: https://community.obsidian.md/plugins/kanban-action-planner - Documentation: https://dsebastien.github.io/obsidian-kanban-action-planner - Source code: https://github.com/dsebastien/obsidian-kanban-action-planner - Releases: https://github.com/dsebastien/obsidian-kanban-action-planner/releases ## Related - [[Obsidian Bases]] - [[Journal Bases plugin for Obsidian]] - [[Timeline for Bases plugin for Obsidian]] - [[Obsidian Starter Kit]] - [[Kanban plugin for Obsidian]]