QuickAdd

by Christian B. B. Houmann
favorite
share
Score: 84/100
Description
Category: Note Enhancements

The QuickAdd plugin is a game-changer for Obsidian users who crave efficiency and productivity. It combines four powerful tools - templates, captures, macros, and multis - to help you streamline your note-taking process. With QuickAdd, you can create custom workflows that automate tasks, such as creating new notes with pre-defined templates and content, adding links to specific files, or even chaining together multiple actions for complex workflows. The plugin's syntax is similar to Obsidian's template syntax, making it easy to customize and extend your workflow. Whether you're a power user or just looking to boost your productivity, QuickAdd is definitely worth exploring.

Stats
1941
stars
1,343,937
downloads
164
forks
1,578
days
0
days
4
days
212
total PRs
1
open PRs
28
closed PRs
183
merged PRs
554
total issues
161
open issues
393
closed issues
84
commits
Latest Version
5 days ago
Changelog

2.5.0 (2025-10-10)

🌟 Release Highlights

This is a major feature release with significant improvements to QuickAdd's capabilities:

  • 🎨 Native YAML Property Types (Beta) - Use JavaScript arrays and objects directly in scripts, automatically formatted as proper Obsidian properties
  • 🛑 Macro Abort Control - New params.abort() method and automatic stopping on errors/cancellations
  • 🔍 Searchable Multi-Select Inputs - New suggester field type with search and multi-select capabilities for One Page Inputs
  • 🐛 Important Bug Fixes - Script-provided titles, escape sequences in code input, and property type handling

📊 By the numbers: 61 files changed, 8,177 lines added, 593 tests passing


⚠️ Breaking Behavior Change

Macro execution now stops when you press Escape or encounter errors. Previously, pressing Escape would continue execution with undefined values, which could cause confusing downstream errors.

New behavior:

  • Press Escape → macro stops immediately
  • Script error occurs → macro stops with clear error message
  • Call params.abort() → macro stops with your custom message

This is a better, more predictable experience, but if you have workflows that rely on the old behavior, see the migration guide below.


Features

🎨 Native YAML Front Matter Support for Structured Variables (Beta)

PR #932 | Commit 714ee32

QuickAdd can now automatically convert JavaScript data types into proper Obsidian property types in front matter!

Before:

// Manual string formatting 😓
QuickAdd.variables.authors = "John Doe, Jane Smith, Bob Wilson";
QuickAdd.variables.tags = "#work, #project";

After:

// Native data structures! 🎉
QuickAdd.variables.authors = ["John Doe", "Jane Smith", "Bob Wilson"];
QuickAdd.variables.tags = ["work", "project"];
QuickAdd.variables.metadata = { status: "active", priority: 1 };
QuickAdd.variables.completed = true;

Supported types:

  • Arrays → List properties
  • Objects → Object properties
  • Numbers → Number properties
  • Booleans → Checkbox properties
  • Null → Null values

⚠️ This is a beta feature disabled by default. Enable it here:

CleanShot 2025-10-10 at 21 49 12@2x

📚 Full documentation: https://quickadd.obsidian.guide/docs/TemplatePropertyTypes

Demo:

https://github.com/user-attachments/assets/7abb353a-869b-4f65-b953-ee80b9323562


🛑 Macro Abort Functionality

PR #937 | Closes #755, #897

Macros now stop executing when they encounter errors or when you cancel an input. This prevents confusing cascading errors and gives you programmatic control over macro execution.

What changed:

  1. Automatic abort on cancellation - Pressing Escape or clicking Cancel now stops the entire macro
  2. Automatic abort on errors - Unhandled exceptions stop execution (with preserved stack traces for debugging)
  3. Manual abort method - New params.abort(message) for validation scenarios
  4. Visual feedback - User-facing Notice when macros abort (PR #938)

Example use case:

module.exports = async (params) => {
    const file = params.app.workspace.getActiveFile();
    const cache = params.app.metadataCache.getFileCache(file);

    if (!cache?.frontmatter?.parent) {
        params.abort("This macro requires a note with a parent property");
    }
    // Macro stops here, no downstream errors
};

Another example:

module.exports = async (params) => {
    const projectName = await params.quickAddApi.inputPrompt("Project name:");

    if (!projectName || projectName.length < 3) {
        params.abort("Project name must be at least 3 characters");
        // Macro stops - no unwanted notes created
    }

    // Continue with valid input...
};

🔍 Searchable Multi-Select Suggester Field Type

PR #934 | PR #936 | Closes #934

One Page Inputs now support a new suggester field type with searchable autocomplete and multi-select capabilities!

Features:

  • 🔍 Searchable - Type to filter suggestions
  • Multi-select - Select multiple items (separated by commas)
  • 🎯 Custom options - Use static arrays or dynamic data sources (Dataview queries, etc.)
  • ⌨️ Custom input - Enter values beyond predefined options
  • 🎨 Configurable - Case-sensitivity, multi-select mode

Example:

const values = await quickAddApi.requestInputs([
  {
    id: "tags",
    label: "Select Tags",
    type: "suggester",
    options: ["#work", "#personal", "#project", "#urgent"],
    suggesterConfig: {
      multiSelect: true,
      caseSensitive: false,
      allowCustomInput: true
    }
  }
]);
// Result: values.tags = "#work, #project, #urgent"

Demo:

Suggester field with multi-select

📚 Full documentation: https://quickadd.obsidian.guide/docs/Advanced/onePageInputs

Huge thank you to @FindingJohnny for suggesting and helping develop this feature!


📝 Improved Script Discovery UX

PR #940 | Closes #895

QuickAdd now shows helpful notices when the Browse button finds no scripts, with clear guidance on:

  • Scripts must be in your vault (not .obsidian)
  • Hidden folders (starting with .) are not supported
  • Links to documentation

💡 Pro tip: Use underscore-prefixed folders instead: _quickadd/scripts/ instead of .quickadd/scripts/


Bug Fixes

🔧 Property Type Handling in Frontmatter Templates

Commit 2c24123

Critical follow-up fix for the Property Types feature (PR #932):

  • Preserves nested YAML paths when collecting template properties
  • Respects Obsidian property types when parsing array-like input
  • Ensures capture post-processing keeps frontmatter at top of files

This fix adds 173 new tests for capture choice frontmatter handling.


🔧 Script-Provided Title Values

PR #931 | Closes #929

Scripts can now override default title generation. When you set variables.title in a script, {{VALUE:title}} now respects that value instead of always using the file basename.

Before:

// Script sets custom title
variables.title = "My Custom Title";

// Template uses it
// Captured: {{VALUE:title}}

// Result: "Captured: NoteBasename" ❌

After:

// Script sets custom title
variables.title = "My Custom Title";

// Template uses it
// Captured: {{VALUE:title}}

// Result: "Captured: My Custom Title" ✅

🔧 Escape Sequences in wideInputPrompt

PR #939 | Closes #799

Long-standing issue from April 2024 now fixed!

Escape sequences like \n, \t, \" are now preserved as literal text when typing in wide input prompts. This is critical for code input use cases.

Before:

User types: "aa\nbb"
Result: "aa
bb" ❌ (actual newline)

After:

User types: "aa\nbb"
Result: "aa\nbb" ✅ (literal string)

🔄 Migration Guide

For the Macro Behavior Change

If you have macros that intentionally use undefined when users press Escape, update them to handle cancellation explicitly:

Before 2.5.0:

const input = await quickAddApi.inputPrompt("Optional input:");
// If user presses Escape, input is undefined, macro continues
if (input) {
    // Do something with input
}
// Macro continues regardless

After 2.5.0:

const input = await quickAddApi.inputPrompt("Optional input:");
// If user presses Escape, macro stops immediately

// To allow optional input, catch the abort:
// (Note: QuickAdd API still returns undefined on cancel for compatibility)
if (input === undefined) {
    // Handle optional case
    return; // or params.abort("Input required");
}

Most users won't need to change anything - this new behavior is more intuitive and prevents confusing errors.


⚠️ Known Limitations

  • Hidden folders (starting with .) are not supported for scripts. Use underscore-prefixed folders instead (e.g., _quickadd/scripts/ instead of .quickadd/scripts/)
  • Property Types feature is in beta - Please report any issues you encounter!

📚 Documentation Updates

New and updated documentation:


🙏 Thank You

Special thanks to:

  • @FindingJohnny for suggesting and helping develop the One Page Inputs improvements
  • Everyone who reported issues and provided feedback
  • All QuickAdd users for your continued support!

Full Changelog

Features:

  • add helpful notice when no scripts found and clarify hidden folder restrictions (#940) (2a3678a), closes #895
  • Add macro abort functionality (#937) (ad5076b), closes #755 #897
  • add multi-select support to suggester field type (#936) (969a9e0), closes #934
  • add searchable suggester field type to One Page Inputs (#934) (31d8a33)
  • Native YAML Front Matter Support for Structured Variables (Beta) (#932) (714ee32)

Bug Fixes:

  • honor property types when templating frontmatter (2c24123)
  • preserve script-provided title values in setTitle() (#931) (9e67ff9), closes #929
  • show user notice when macro execution is aborted (#938) (4567168)
  • wideInputPrompt not preserving escape sequences (#799) (#939) (4392ba2)
README file from
Similar Plugins
info
• Similar plugins are suggested based on the common tags between the plugins.
KOReader Sync
4 years ago by Federico "Edo" Granata
Obsidian.md plugin to sync highlights/notes from koreader
Power Search
4 years ago by Aviral Batra
Auto Note Mover
4 years ago by faru
This is a plugin for Obsidian (https://obsidian.md).
Digital Garden
4 years ago by Ole Eskild Steensen
Zotero Desktop Connector
4 years ago by mgmeyers
Insert and import citations, bibliographies, notes, and PDF annotations from Zotero into Obsidian.
Fleeting Notes Sync
4 years ago by Matthew Wong
An Obsidian plugin to sync Obsidian with Fleeting Notes
Book Search
3 years ago by anpigon
Obsidian plugin that automatically creates notes by searching for books
Expand Bullet
3 years ago by Boninall
A plugin for transforming your bullet into note.
Weread Plugin
3 years ago by hank zhao
Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault.
PodNotes
3 years ago by Christian B. B. Houmann
PodNotes is a plugin for Obsidian that helps the user write notes on podcasts.
Meeting notes
3 years ago by Tim Hiller
Plugin to automatically create a meeting note if a new file is created in a meeting folder
New Note Content Pusher
3 years ago by Henry Gustafson
An Obsidian plugin to add (prepend or append) specified content to a note (existing or new) without opening another pane.
Old Note Admonitor
3 years ago by tadashi-aikawa
Dynbedded
3 years ago by Marcus Breiden
Embed snippets, templates and any linkable by delegating the current scope to the embedded file either by using a direct reference or as reference with date naming format relative from today.
Daily Notes Editor
3 years ago by boninall
A plugin for you to edit a bunch of daily notes in one page(inline), which works similar to Roam Research's default daily note view.
Audio Notes
3 years ago by Jason Maldonis
Easily take notes on podcasts and other audio files using Obsidian Audio Notes.
🪝 Grappling Hook
3 years ago by pseudometa
Obsidian Plugin for blazingly fast file switching. For those who find the Quick Switcher still too slow.
Awesome Reader
3 years ago by AwesomeDog
Make Obsidian a proper Reader.
Create Note in Folder
3 years ago by Mara-Li
Set a folder in settings and get directly a command to create a note in it. Use this with QuickAdd/Button to get more pratical things :D
Source Code Note
3 years ago by Waiting
The obsidian plugin can help you organize source code note easily.
OZ Calendar
3 years ago by Ozan Tellioglu
Advanced Merger
3 years ago by Anto Keinänen
Colorful Note Borders
2 years ago by rusi
Tolino notes Importer
2 years ago by juergenbr
Obsidian plugin to import notes from a Tolino E-Reader
Quickly
2 years ago by Sparsh Yadav
Quick capture to obsidian note
Smart Rename
2 years ago by mnaoumov
Obsidian Plugin that helps to rename notes keeping previous title in existing links
Folder notes
2 years ago by Lost Paul
Create notes within folders that can be accessed without collapsing the folder, similar to the functionality offered in Notion.
Note archiver
2 years ago by thenomadlad
Air Quotes
2 years ago by Alan Grainger
Plugin for Obsidian. Search and insert quotes from a source text as you type. This is great for reading a physical book or eReader while taking notes on a separate laptop or phone.
AI Tools
2 years ago by solderneer
Adding powerful semantic search, generative answers, and other AI tools to Obsidian, using Supabase + OpenAI.
ZettelGPT
2 years ago by Overraddit
Turbocharge Your Note-taking with AI Assistance
Easy Bake
2 years ago by mgmeyers
Compile many Obsidian notes down to one.
Voice
2 years ago by Chris Oguntolu
🔊 The Obsidian Voice plugin to listening to your written content being read aloud. 🎧
Quick note
2 years ago by James Greenhalgh MBCS
Create New note from right-clicking app icon
Merge Notes
2 years ago by fnya
Merge Notes is Plugin for Obsidian
Notes Sync Share
2 years ago by Alt-er
Sync and share (publish) your notes in your own private service.
iDoRecall
2 years ago by dbhandel
iDoRecall Obsidian plugin
Sets
2 years ago by Gabriele Cannata
Timeline View
2 years ago by b.camphart
Obsidian plugin for viewing your notes linearly based on a given property
Multi Properties
2 years ago by fez-github
Plugin for Obsidian that allows user to add properties to multiple notes at once.
Zettelkasten Outliner
2 years ago by Tyler Suzuki Nelson
Quick Tagger
2 years ago by Gorkycreator
Quick tagger for Obsidian.md
Spotify Link
2 years ago by Studio Webux
Obsidian.md Plugin to include the song or episode you're currently listening to in your note.
Are.na unofficial
2 years ago by 0xroko
Unofficial Are.na plugin for Obsidian
Custom Note Width
2 years ago by 0skater0
A plugin for Obsidian that enables you to easily adjust the editor's line width on a note-by-note basis.
Desk
2 years ago by David Landry
A desk for obsidian
R.E.L.A.X.
2 years ago by Syr
Regex Obsidian Plugin
Ollama Chat
2 years ago by Brumik
A plugin for chatting with you obsidian notes trough local Ollama LLM instead of Chat GTP.
YouTube Template
2 years ago by sundevista
📺 A plugin that would help you to fetch YouTube videos data into your vault.
Widgets
2 years ago by Rafael Veiga
Add cool widgets to your notes or your dashboard in Obsidian
Instapaper
2 years ago by Instapaper
Official Instapaper plugin for Obsidian
Apple Books - Import Highlights
2 years ago by bandantonio
Import highlights and notes from your Apple Books to Obsidian
iCloud Contacts
2 years ago by Truls Aagaard
Obsidian plugin that imports contacts from iCloud and manages a note for each contact.
Protected Note
2 years ago by Mikail Gadzhikhanov
Plugin for Obsidian
Kindle Highlights Importer
2 years ago by MovingMillennial
Autogen
2 years ago by Aidan Tilgner
A plugin to use a language model to fill in parts of notes.
Confluence Sync
2 years ago by Prateek Grover
Obsidian plugin for obsidian confluence sync
Title renamer
2 years ago by Peter Strøiman
Obsidian plugin to keep title in markdown synced with tile name
Note Companion Folder
2 years ago by Chris Verbree
A Obsidian Plugin providing a way to associate a folder to a note
Moulinette Search for TTRPG
2 years ago by Moulinette
Plugin for Obsidian
Kinopoisk search
2 years ago by Alintor
Obsidian Kinopoisk plugin
Quick File Name
2 years ago by Wapply
This Obsidian plugin generates a note with an random string as file name.
Slurp
2 years ago by inhumantsar
Slurps webpages and saves them as clean, uncluttered Markdown. Think Pocket, but better.
Current Folder Notes
2 years ago by Pamela Wang
Shows notes in the current folder, useful for writing novels
Create List of Notes
2 years ago by Andrew Heekin
my anime list text exporter
a year ago by XmoncocoX
a plugin who create an obsidian page for an anime with the data from my anime list.
Note Splitter
a year ago by Trey Wallis
Split a note into individual notes based on a delimiter
Folder Periodic Notes
a year ago by Andrew Heekin
BibTeX Manager
a year ago by Akop Kesheshyan
Create literature notes in Obsidian from BibTeX entries, display formatted reference lists, and instantly generate citations.
Pinned Notes
a year ago by vasilcoin002
Truth Table+
a year ago by Maximilian Schulten
This is the repository of an Obsidian.md plugin that allows users to create truth tables via the command palette.
Live Variables
a year ago by Hamza Ben Yazid
Define variables in your note's properties and reuse them throughout your content.
Journaling
a year ago by Ordeeper
View daily notes in a journal-like format, similar to Logseq. It enhances note organization and facilitates better reflection by consolidating daily notes into a continuous journaling view.
Print
a year ago by Marijn Bent
Print your notes directly from Obsidian
Note Refactor
5 years ago by James Lynch
Allows for text selections to be copied (refactored) into new notes and notes to be split into other notes.
Smart Random Note
5 years ago by Eric Hall
A smart random note plugin for Obsidian
Icons
5 years ago by Camillo Visini
Add icons to your Obsidian notes – Experimental Obsidian Plugin
Folder Note
5 years ago by xpgo
Plugin to add description note to a folder for Obsidian.
Periodic Notes
5 years ago by Liam Cain
Create/manage your daily, weekly, and monthly notes in Obsidian
Prettier Format
5 years ago by Andrew Lisowski
Format obsidian.md notes using prettier
Dice Roller
5 years ago by Jeremy Valentine
Inline dice rolling for Obsidian.md
Admonition
5 years ago by Jeremy Valentine
Adds admonition block-styled content to Obsidian.md
Tracker
5 years ago by pyrochlore
A plugin tracks occurrences and numbers in your notes
Highlight Public Notes
5 years ago by dennis seidel
Focus Mode
4 years ago by ryanpcmcquen
Add focus mode to Obsidian.
2Hop Links
4 years ago by Tokuhiro Matsuno
File Explorer Note Count
4 years ago by Ozan Tellioglu
Obsidian Plugin for viewing the number of elements under each folder within the file explorer
Podcast Note
4 years ago by Marc Julian Schwarz
A plugin for the note taking app Obsidian that lets you add podcast meta data to your notes.
Card View Mode
4 years ago by PADAone
Obsidian Card View Mode Plugin
Enhance Copy Note
4 years ago by kzhovn
Plugin which enhances the copy command for Obsidian.
Wikipedia
4 years ago by Jonathan Miller
Grabs information from Wikipedia for a topic and brings it into Obsidian notes
Bible Reference
4 years ago by tim-hub
Take Bible Study notes easily in the popular note-taking app Obsidian, with automatic verse and reference suggestions.
Structured
4 years ago by dobrovolsky
From Template
4 years ago by mo-seph
Simple plugin to create Notes from a template, and fill in fields defined there
Quick Notes
a year ago by Sean McOwen
Quarto Exporter
a year ago by Andreas Varotsis
Export Obsidian notes to Quarto-compatible QMD files.
Asciidoctor editor
a year ago by dzruyk
Obsidian asciidoc editor plugin
random-retrieval
a year ago by Rachninomav
Session Notes
a year ago by tabibyte
A plugin for Obsidian to create temporary & session notes that will be deleted when session ends
Vault Review
a year ago by Alexander
This plugin allows you to create a snapshot of your vault and randomly review files from it 1-by-1.
Arweave Uploader
a year ago by makesimple
MOC Link Helper
a year ago by Bogdan Codreanu
This obsidian plugins allows you to quickly see which notes you need to include in your MOC.
Unearthed (Kindle Sync)
a year ago by CheersCal
Daily Random Note
a year ago by Alexandre Silva
Daily Random Notes in Obsidian.
Daily Summary
a year ago by Luke
Beautiful Contact Cards
a year ago by Seth Tenembaum
A plugin for the Obsidian text editor which renders "contact" code blocks with tappable links for phone, social media, etc.
Instant Above Divider
a year ago by SedationH
Abbrlink
a year ago by Q78KG
Share as ZIP
10 months ago by Till Friebe
create folder notes with dropdown
10 months ago by Sturdy Shawn
Sync Cnblog
10 months ago by zhanglei
同步文章到博客园
Chat clips
7 months ago by sleepingraven
Record chat in ordinary markdown list.
Xiaohongshu Importer
7 months ago by bnchiang96
An Obsidian plugin to import Xiaohongshu (小红书) notes into your vault. Extract titles, content, images, videos, and tags from share links, with customizable categories and optional local media downloads.
Sticky Notes
6 months ago by NoPoint
Obsidian Sticky Notes Plugin
Auto Note Importer
4 months ago by uppinote
Obsidian plugin that automatically creates notes from external database