-
Notifications
You must be signed in to change notification settings - Fork 1
Features Agent Actions Reference
Complete reference for all actions available in Agent Mode. This page documents the full set of 52 actions across 8 categories.
| Category | Count | Description |
|---|---|---|
| File & Folder Management | 16 | Core vault operations |
| Editor API | 10 | Real-time text manipulation |
| Commands API | 3 | Execute Obsidian commands |
| Daily Notes | 2 | Daily note management |
| Templates | 2 | Template insertion |
| Bookmarks | 3 | Bookmark management |
| Canvas API | 7 | Canvas manipulation |
| Enhanced Search | 4 | Advanced search capabilities |
| Workspace | 5 | Navigation and view control |
Creates a new folder in the vault.
{ "action": "create-folder", "params": { "path": "Projects/2024" } }Natural language: "Create a folder called Projects/2024"
Deletes an empty folder.
{ "action": "delete-folder", "params": { "path": "old-drafts" } }Natural language: "Delete the old-drafts folder"
Lists contents of a folder.
{ "action": "list-folder", "params": { "path": "Projects", "recursive": true } }Natural language: "What's in my Projects folder?" or "List all files in Projects recursively"
Creates a new note with optional content and frontmatter.
{
"action": "create-note",
"params": {
"path": "Meetings/standup",
"content": "# Daily Standup\n\n- Progress\n- Blockers",
"frontmatter": { "tags": ["meeting", "daily"] }
}
}Natural language: "Create a meeting note in Meetings folder"
Reads the content of a note.
{ "action": "read-note", "params": { "path": "todo" } }Natural language: "Show me my todo note"
Deletes a note (requires confirmation).
{ "action": "delete-note", "params": { "path": "drafts/old-draft" } }Natural language: "Delete old-draft.md from drafts"
Renames a note.
{ "action": "rename-note", "params": { "from": "draft", "to": "final-report" } }Natural language: "Rename draft to final-report"
Moves a note to a different location.
{ "action": "move-note", "params": { "from": "inbox/note", "to": "archive/note" } }Natural language: "Move note from inbox to archive"
Copies a note preserving exact content.
{ "action": "copy-note", "params": { "from": "template", "to": "new-project" } }Natural language: "Copy template to new-project"
Adds content to the end of a note.
{ "action": "append-content", "params": { "path": "log", "content": "\n## New Entry\nContent here" } }Natural language: "Add a new section to my log"
Adds content to the beginning of a note (after frontmatter).
{ "action": "prepend-content", "params": { "path": "readme", "content": "**Updated!**\n\n" } }Natural language: "Add an update notice at the top of readme"
Replaces entire note content (requires confirmation).
{ "action": "replace-content", "params": { "path": "draft", "content": "New content" } }Natural language: "Replace the content of draft with..."
Updates YAML frontmatter fields.
{ "action": "update-frontmatter", "params": { "path": "project", "fields": { "status": "active", "priority": 1 } } }Natural language: "Set status to active in project note"
Searches notes by title, content, or tags.
{ "action": "search-notes", "params": { "query": "javascript", "field": "content", "folder": "tutorials" } }Natural language: "Find notes about javascript in tutorials"
Gets metadata about a note.
{ "action": "get-note-info", "params": { "path": "project" } }Natural language: "What tags does project note have?"
Finds notes that link to a target.
{ "action": "find-links", "params": { "target": "Python basics" } }Natural language: "Which notes link to Python basics?"
Real-time manipulation of the currently active editor.
Note: These actions require an open markdown file in the editor.
Gets the full content of the active editor.
{ "action": "editor-get-content", "params": {} }Natural language: "Get the current editor content"
Sets the full content of the active editor (requires confirmation).
{ "action": "editor-set-content", "params": { "content": "# New Content\n\nText here" } }Natural language: "Replace editor content with..."
Gets the currently selected text.
{ "action": "editor-get-selection", "params": {} }Natural language: "What text is selected?"
Replaces the selected text.
{ "action": "editor-replace-selection", "params": { "text": "replacement text" } }Natural language: "Replace selection with 'replacement text'"
Inserts text at the current cursor position.
{ "action": "editor-insert-at-cursor", "params": { "text": "inserted text" } }Natural language: "Insert 'hello' at cursor"
Gets a specific line by number (0-indexed).
{ "action": "editor-get-line", "params": { "line": 5 } }Natural language: "Get line 5"
Sets the content of a specific line.
{ "action": "editor-set-line", "params": { "line": 5, "text": "new line content" } }Natural language: "Set line 5 to 'new line content'"
Navigates to a specific line.
{ "action": "editor-go-to-line", "params": { "line": 10 } }Natural language: "Go to line 10"
Undoes the last change.
{ "action": "editor-undo", "params": {} }Natural language: "Undo"
Redoes the last undone change.
{ "action": "editor-redo", "params": {} }Natural language: "Redo"
Execute any Obsidian command programmatically.
Executes a command by its ID.
{ "action": "execute-command", "params": { "commandId": "editor:toggle-bold" } }Natural language: "Toggle bold" or "Execute the toggle-bold command"
Lists available commands with optional filter.
{ "action": "list-commands", "params": { "filter": "editor" } }Natural language: "List editor commands"
Gets details about a specific command.
{ "action": "get-command-info", "params": { "commandId": "editor:toggle-bold" } }Natural language: "What does the toggle-bold command do?"
Integration with the built-in Daily Notes plugin.
Note: The Daily Notes plugin must be enabled.
Opens today's daily note (creates if doesn't exist).
{ "action": "open-daily-note", "params": {} }Natural language: "Open today's daily note"
Creates a daily note for a specific date.
{ "action": "create-daily-note", "params": { "date": "2024-01-15" } }Natural language: "Create daily note for January 15, 2024"
Integration with the built-in Templates plugin.
Note: The Templates plugin must be enabled.
Inserts a template at the cursor position.
{ "action": "insert-template", "params": { "templateName": "meeting" } }Natural language: "Insert the meeting template"
Without templateName, opens the template picker:
{ "action": "insert-template", "params": {} }Natural language: "Insert a template"
Lists all available templates.
{ "action": "list-templates", "params": {} }Natural language: "What templates do I have?"
Integration with the built-in Bookmarks plugin.
Note: The Bookmarks plugin must be enabled.
Bookmarks a note.
{ "action": "add-bookmark", "params": { "path": "important-note" } }Natural language: "Bookmark important-note"
Removes a bookmark.
{ "action": "remove-bookmark", "params": { "path": "old-bookmark" } }Natural language: "Remove bookmark for old-bookmark"
Lists all bookmarks.
{ "action": "list-bookmarks", "params": {} }Natural language: "Show my bookmarks"
Manipulation of Canvas files when a canvas is active.
Note: These actions require an open canvas file.
Creates a text node on the canvas.
{ "action": "canvas-create-text-node", "params": { "text": "My idea", "x": 100, "y": 200 } }Natural language: "Add a text card saying 'My idea'"
Creates a node linked to a file.
{ "action": "canvas-create-file-node", "params": { "file": "notes/reference", "x": 300, "y": 200 } }Natural language: "Add my reference note to the canvas"
Creates a node with a web link.
{ "action": "canvas-create-link-node", "params": { "url": "https://obsidian.md", "x": 500, "y": 200 } }Natural language: "Add a link to obsidian.md on the canvas"
Creates a group on the canvas.
{ "action": "canvas-create-group", "params": { "label": "Ideas" } }Natural language: "Create a group called 'Ideas'"
Adds an edge (connection) between two nodes.
{ "action": "canvas-add-edge", "params": { "fromNode": "node1-id", "toNode": "node2-id" } }Natural language: "Connect node1 to node2"
Selects all nodes on the canvas.
{ "action": "canvas-select-all", "params": {} }Natural language: "Select all nodes"
Zooms to fit all content.
{ "action": "canvas-zoom-to-fit", "params": {} }Natural language: "Zoom to fit"
Advanced search capabilities beyond basic note search.
Finds notes containing a specific heading.
{ "action": "search-by-heading", "params": { "heading": "Introduction", "folder": "docs" } }Natural language: "Find notes with 'Introduction' heading in docs"
Finds the note containing a block ID.
{ "action": "search-by-block", "params": { "blockId": "abc123" } }Natural language: "Find the note with block ^abc123"
Gets all tags used in the vault.
{ "action": "get-all-tags", "params": {} }Natural language: "What tags exist in my vault?"
Opens the global search UI with a query.
{ "action": "open-search", "params": { "query": "tag:#important" } }Natural language: "Search for notes tagged important"
Navigation and view control.
Opens a file in the editor.
{ "action": "open-file", "params": { "path": "readme", "mode": "preview" } }Natural language: "Open readme in preview mode"
Reveals a file in the file explorer.
{ "action": "reveal-in-explorer", "params": { "path": "hidden/note" } }Natural language: "Show hidden/note in the file explorer"
Gets info about the currently active file.
{ "action": "get-active-file", "params": {} }Natural language: "What file am I editing?"
Closes the current tab.
{ "action": "close-active-leaf", "params": {} }Natural language: "Close this tab"
Splits the current view.
{ "action": "split-leaf", "params": { "direction": "vertical" } }Natural language: "Split view vertically"
All actions return structured results:
{
"actions": [
{ "action": "create-note", "params": { "path": "new-note" } }
],
"message": "Created new-note.md",
"requiresConfirmation": false
}Destructive actions require confirmation:
delete-notedelete-folderreplace-contenteditor-set-content
- Agent Mode - Overview and usage
- Configuration - Agent settings
- Troubleshooting - Common issues
Claudian - The ultimate Claude AI integration for Obsidian
MIT License · Developed by Enigmora SC · GitHub