# QuickAdd plugin for Obsidian This plugin makes it a breeze to quickly add new notes and content to an [[Obsidian]] vault. It is the automation glue I rely on to capture, route, and shape information without ever breaking flow. ## Core building blocks QuickAdd exposes four "choice" types that compose well together: - **Templates**: create new notes from a reusable file, with placeholder substitution. Composes well with templating plugins such as [[Templater plugin for Obsidian]]. - **Capture**: append or prepend content to a predefined file (e.g., add a link to the current note under a specific section of your daily note, log a quick journal entry, append a task to a list). - **Macros**: chain templates, captures, commands, and user scripts together into one named workflow (e.g., create a new note, apply a template to it, add a backlink to today's daily note, open it in a new pane). - **Multi**: organize choices into nested menus (folders of choices) for tidy command palettes. QuickAdd choices can be triggered from the command palette, hotkeys, the QuickAdd ribbon, Obsidian URIs, or the QuickAdd CLI for shell scripting and external automation. ![[QuickAdd plugin for Obsidian - capture a journal entry.png]] ## Format syntax The format syntax is what makes QuickAdd powerful. Inside templates and captures, placeholders are evaluated at trigger time: - `{{DATE}}` and `{{DATE:<format>}}`: current date with optional Moment.js format and offsets. - `{{VDATE:<var>, <format>}}`: prompt for a natural language date (e.g., "next friday"); supports defaults via `{{VDATE:Due, MMM DD|tomorrow}}`. - `{{VALUE}}` / `{{NAME}}` / `{{VALUE:<var>}}`: prompt the user, or reuse a named value across macro steps. - `{{VALUE:<var>|label:<text>}}`, `{{VALUE:opt1,opt2|text:<display>}}`, `{{VALUE:<var>|<default>}}`: rich prompt configuration with helper text, decoupled labels, and defaults. - `{{VALUE|type:multiline}}`: open a multi-line textarea instead of a single-line input. - `{{VALUE|case:<style>}}`: transform input (kebab, snake, camel, pascal, title, lower, upper, slug). - `{{VALUE:<options>|custom}}`: allow free text input on top of predefined options. - `{{LINKCURRENT}}`, `{{FILENAMECURRENT}}`: link or basename of the file the choice was triggered from. - `{{TITLE}}`: the final rendered filename of the new note (without extension). - `{{selected}}`: currently selected editor text. - `{{CLIPBOARD}}`: current clipboard content. - `{{RANDOM:<length>}}`: random alphanumeric string (1-100 chars) for IDs and slugs. - `{{FIELD:<fieldname>}}`: suggest YAML frontmatter values from existing notes. - `{{MACRO:<name>}}` and `{{TEMPLATE:<path>}}`: inline a macro's return value or another template inside the current one. - `{{GLOBAL_VAR:<name>}}`: insert a globally defined snippet. - `{{MVALUE}}`: math modal for writing LaTeX. ## AI Assistant QuickAdd ships with an AI Assistant that runs LLM prompts as part of macros and returns the response back into the vault. - Supports OpenAI, Google Gemini, Groq, TogetherAI, OpenRouter, any OpenAI-compatible API, and local models via [[Ollama]]. - Integrates [[Large Language Models (LLMs)]] directly into capture and template flows: summarize selection, translate, generate flashcards, expand stubs, transform tone. - Prompt templates live in a configurable folder and use the same QuickAdd format syntax, so you can compose dynamic prompts from selection, clipboard, or YAML fields. - API keys are stored in Obsidian's SecretStorage, not in plain settings. - Per-command knobs: model, output variable, system prompt, temperature, top_p, frequency/presence penalties. ## v2 highlights (August 2025) QuickAdd v2 was a major quality-of-life release. Highlights: - **New format placeholders**: `{{CLIPBOARD}}`, `{{RANDOM:n}}`, `{{TITLE}}`, and `{{VDATE}}` defaults. - **Capture confirmations**: visual feedback when content is captured, so you actually see that the macro ran. - **Flexible file opening**: open new/captured notes in a new tab, pane, or window with explicit view-mode control. - **Custom suggester input**: type your own value when the predefined option list does not fit, instead of being locked into the list. - **Paste with format**: preserve rich formatting from websites when capturing into a note. - **Link placement control**: choose where inserted links go (replace selection, after selection, end of line, or new line). - **Easier AI provider setup**: add the popular providers by pasting an API key, no manual endpoint juggling. - **Models from models.dev**: pull the latest models for any configured provider with one click. - **Beta: multi-value input modal**: a single dialog asks for all template values at once instead of one prompt per variable, which is a huge speedup for large templates. ## Use cases I rely on - Daily note section captures: append links, journal entries, tasks, and reading log items under fixed headings without opening the daily note. - Templated note creation: create permanent, literature, project, and meeting notes with prefilled frontmatter, slugs, and backlinks. - Workflow chains: "new article from idea" macro that creates the note, applies a Templater template, opens it in a new pane, and logs it under "Discovered Today" in today's daily note. - AI helpers: summarize the current selection, generate alt text for an image, expand bullet points into prose, all from one hotkey. ## References - Documentation: https://quickadd.obsidian.guide/ - Format syntax reference: https://quickadd.obsidian.guide/docs/FormatSyntax - AI Assistant docs: https://quickadd.obsidian.guide/docs/AIAssistant - Source code: https://github.com/chhoumann/quickadd - v2 announcement thread (Christian Bager Bach Houmann): https://x.com/chrisbbh/status/1953868712525676928 ## Related - [[Obsidian]] - [[Templater plugin for Obsidian]] - [[Obsidian Starter Kit]] - [[Ollama]] - [[Large Language Models (LLMs)]]