Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Completed Tasks to Notes

Tristan Van GarsseTristan Van Garsse50 downloads

Convert completed tasks into individual notes with optional content, topic, completion date, and source properties for Bases and search.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Convert checked tasks from a source note into individual Markdown notes with structured properties for Obsidian Bases, search, backlinks, and other query tools.

What it does

When a task is checked, the plugin:

  1. Finds the nearest heading and uses it as the task's topic.
  2. Adds a completion date if the task does not already contain one.
  3. Creates one Markdown note for the completed task.
  4. Adds whichever properties you enable: topic, status, completed, type, heading-path, source, and content.
  5. Optionally writes clean task text into the note body, without a heading or checkbox.
  6. Preserves indented context and links when body content is enabled.
  7. Removes the original task only after the new note has been created and verified.

Example

Source note:

# Tasks

## Acme website redesign

- [x] Ask [[Maya Chen]] whether order NP-4821 can arrive before 2026-08-14
  - Why: the brochures are required for the launch event
  - Related: [[Acme launch plan]]

Generated note:

---
topic: "Acme website redesign"
status: completed
completed: "2026-07-31"
type: task
heading-path: "Tasks > Acme website redesign"
source: "[[Tasks#Acme website redesign]]"
content: "Ask [[Maya Chen]] whether order NP-4821 can arrive before 2026-08-14; Why: the brochures are required for the launch event; Related: [[Acme launch plan]]"
---

Ask [[Maya Chen]] whether order NP-4821 can arrive before 2026-08-14
  - Why: the brochures are required for the launch event
  - Related: [[Acme launch plan]]

By default, generated notes are stored directly in Archive/Tasks with filenames in this format:

YYYY-MM-DD_first-40-characters-of-task.md

For example:

Archive/Tasks/2026-07-31_go-shopping.md
Archive/Tasks/2026-07-31_go-shopping_1.md
Archive/Tasks/2026-07-31_go-shopping_2.md

The task text is converted to a lowercase, hyphenated filename slug and limited to 40 characters. If a filename already exists, the plugin appends _1, _2, and so on without overwriting it.

Settings

  • Source task note: note monitored for completed tasks; defaults to Tasks.md.
  • Completed task notes folder: base output folder; defaults to Archive/Tasks.
  • Topic property: stores the nearest heading as topic.
  • Status property: stores status: completed.
  • Completed property: stores the completion date.
  • Type property: stores type: task.
  • Heading path property: stores the full nested heading path.
  • Source property: links back to the original note and topic heading.
  • Content property: stores the complete task block as one flattened content value for Bases. Nested bullets and continuation lines are preserved in order and separated with semicolons. Inline Markdown/Obsidian formatting is preserved unless cleanup rules remove it.
  • Include task content in note body: independently writes the task below the properties without the checkbox or completion-date marker. Markdown/Obsidian formatting is preserved unless cleanup rules remove it.
  • Custom cleanup (regex): optional cleanup applied only to generated notes. Leave it empty to keep formatting. Add one regular expression per line for text or formatting you explicitly want removed; plain patterns are global, /pattern/flags syntax is supported, and lines beginning with # are comments.
  • Remove common Obsidian formatting: a button adds an editable cleanup preset for common Markdown/Obsidian formatting such as emphasis, highlights, code markers, links, wikilinks/embeds, headings, blockquotes/callouts, comments, and horizontal rules. Visible link text and wikilink aliases are kept where possible.

Each generated property can be independently enabled or disabled. When all property toggles are off, the note is created without YAML frontmatter. The content-property and note-body options are independent, so users may enable either, both, or neither.

  • Conversion delay: waits briefly after edits before processing.
  • Show conversion notice: displays a confirmation notice.

Manual command

Run Completed Tasks to Notes: Convert completed tasks to notes now from the Command Palette.

Safety and duplicate handling

  • Source tasks are removed only after their generated notes are verified.
  • Tasks edited during conversion remain in the source note.
  • Identical tasks receive occurrence-specific identities.
  • Filenames use the completion date plus the first 40 slugified task-title characters.
  • Filename collisions receive _1, _2, and subsequent numeric suffixes instead of overwriting another note.
  • Checkbox examples inside fenced code blocks are ignored.

Upgrading from Topic Task Archiver

Version 2.0 changes the storage model from one archive note per topic to one note per completed task. Existing topic archive notes are not modified or migrated. The old archive-folder setting is automatically reused as the completed-task notes folder.

Installation

Copy main.js, manifest.json, and optionally styles.css into:

<vault>/.obsidian/plugins/completed-tasks-to-notes/

Restart Obsidian or reload the plugin, then review Settings → Completed Tasks to Notes.

Note contents

Generated notes do not include an internal HTML comment. When body content is enabled, the task is rendered as plain text rather than a completed checkbox, and no duplicate title or topic heading is added. Earlier versions used a hidden marker as a verification aid; current versions verify the exact newly written file content instead.

HealthExcellent
ReviewPassed
About
Convert checked tasks into individual Markdown notes with YAML frontmatter for topic, status, completion date, source and content. Preserve indented context and links, write clean task bodies to dated, slugged files in an Archive folder, and remove the original task only after the new note is verified.
TasksAutomationProperties
Details
Current version
1.1.1
Last updated
3 weeks ago
Created
2 months ago
Updates
4 releases
Downloads
50
Compatible with
Obsidian 1.1.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Tristan Van GarsseTristan Van Garssetristanvangarsse
tristanvangarsse.com/?utm_source=community.obsidian.md&utm_medium=referral&utm_content=profile
GitHubtristanvangarsse
  1. Community
  2. Plugins
  3. Tasks
  4. Completed Tasks to Notes

Related plugins

Update modified date

Automatically update a frontmatter modified date field when the file is modified.

MetaEdit

Manage your metadata.

Task Collector

Change task status and collect tasks within a document using hotkeys and context menus.

Base Board

Organize notes into Kanban boards using frontmatter properties. Drag and drop cards between columns powered by Bases.

Rollover Daily Todos

Rollover any unchecked checkboxes from your last daily note into today's note.

Todoist Sync

Materialize Todoist tasks within your notes.

Things3 Sync

Sync between Obsidian and Things3. Supports multi-language, tags and dates.

Fold Properties By Default

Always have editor/metadata properties folded by default

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.