ContextFlow is a local-first Quick Insert menu for Obsidian. From any Markdown note, use the command palette, editor context menu, ribbon action, or a configurable hotkey to insert useful Markdown actions quickly.
Documentation website: contextflow documentation.
ContextFlow is designed to be useful without a complicated setup:
You can also type / in a note to open the Slash Menu. Type a few letters, select an action with the arrow keys, and press Enter. If you press Escape, nothing is changed.
You do not need to understand templates, variables, JSON or frontmatter to use the built-in actions.
Open Quick Insert and choose Insert date, Insert time, Insert date and time, or Insert new task. These actions work at the cursor position.
First select the text, then open Quick Insert. Choose Highlight selection, Convert selection to task, Convert selection to callout, Create internal link, or Insert code block.
Actions that need selected text are hidden when there is no selection, so you do not have to guess which action is safe to use.
Go to Settings → ContextFlow → Actions → Add custom action. Give the action a name and enter Markdown in the template field. You can use:
{{date}} today's date
{{time}} the current time
{{title}} the current note name
{{selection}} the selected text
{{input:name}} a value requested from you before execution
Start with one simple template. You can always edit or disable the action later.
Go to Settings → ContextFlow → Action packages → Add workflow. Add steps, move them with the arrow buttons or drag-and-drop, then save. A workflow uses the same actions as Quick Insert; it does not create copies of them.
Use Export to make a backup or share your custom actions. Use Import to load a JSON package. ContextFlow always shows a review screen first. Existing actions are not overwritten unless you explicitly choose the overwrite option.
The local calendar is disabled by default. Enable it in Settings if you need it. It stores events locally, supports basic recurrence and ICS import/export, and does not connect to Google, Microsoft or another external service.
ContextFlow starts in English. Change Settings → ContextFlow → General → Language to Dutch. The language setting is stored per vault.
/ is not inside a URL, code block, inline code or YAML frontmatter.When reporting a problem, include the action name, the current note context and the exact error message. Do not include private note contents.
The calendar is intentionally a lightweight local extension point. External calendar synchronization, recurring appointments, drag-and-drop scheduling and .ics support are not included yet.
Choose the option that matches what you want to do. You only need one option.
Use this option after ContextFlow has been accepted into the official Obsidian Community Plugins directory.
If ContextFlow does not appear in the search results, it has not been accepted or the Community Plugins list has not refreshed yet. Use Option B for now.
Use this option when the plugin is not yet available in Community Plugins.
Open the ContextFlow GitHub repository.
Click Releases on the right side of the repository page.
Open the release that matches the version you want to install.
Download these three files:
main.jsmanifest.jsonstyles.cssFind your Obsidian vault on your computer.
Open this folder inside the vault:
.obsidian/plugins/contextflow/
If plugins or contextflow does not exist, create the missing folders yourself. The folder name must be exactly contextflow in lowercase.
Copy the three downloaded files into that folder.
Restart Obsidian, or go to Settings → Community plugins and reload the plugin list.
Find ContextFlow and switch it on.
The final folder must look like this:
Your vault/
└── .obsidian/
└── plugins/
└── contextflow/
├── main.js
├── manifest.json
└── styles.css
Do not put the files directly in .obsidian, in the vault root, or in a folder called ContextFlow with capital letters.
Use this option only if you want to modify the plugin's source code.
Requirements:
Open Terminal.
Download the repository:
git clone https://github.com/loopman90/contextflow.git
cd contextflow
Install dependencies:
npm install
Build the plugin:
npm run build
Copy main.js, manifest.json and styles.css into your vault's .obsidian/plugins/contextflow/ folder as described in Option B.
Enable ContextFlow in Obsidian.
For active development, use npm run dev in the repository. After each source change, copy the newly generated main.js into the vault and reload the plugin.
After installation, verify these simple things:
Cmd/Ctrl+P./ in a note and confirm that the Slash Menu appears.If these steps work, the installation is complete.
.obsidian/plugins/contextflow/.manifest.json again and make sure it was not renamed to manifest (1).json.main.js, manifest.json and styles.css are all in the same folder, then restart Obsidian..obsidian: enable hidden files in your operating system's file browser. Obsidian's Open vault folder command can help you find the correct vault.ContextFlow is local-only. It has no account, server, analytics, telemetry, AI integration or external scripts. Settings and the small recent-action history are stored through Obsidian's plugin data API in the current vault. Note content is not copied into plugin data.
npm install
npm run dev # watch build
npm run typecheck
npm test
npm run build
MIT. See LICENSE.