AI agents for Obsidian
A local-first vault — a natural fit for a local-first runtime. AGNT connects to Obsidian so agents can read what happens there, reason about it, and act — with a receipt for every run.
Research Analyst is a ready-made agent that works in Obsidian — free, and it runs on your machine.
Obsidian and AGNT, in brief
| What it does | Lets an AGNT agent read from and act in Obsidian. |
|---|---|
| Connects with | A local endpoint on your own machine |
| AGNT node | obsidian-api |
| Runs when | A note is created or changed |
| Typical build time | Two minutes |
| Where data goes | Nowhere by default — AGNT runs on your machine and credentials never leave it. |
What you can automate
Reacts when…
- a note is created or changed
Agents can…
- create and update notes
- build daily summaries
- link related notes
Teams use it for
- research findings filed into your vault
- daily notes assembled from real activity
- a second brain agents help maintain
Build it: the Obsidian workflow
Most Obsidian builds begin the same way. A run starts when a note is created or changed. The agent reads what arrived, judges it against criteria you wrote in plain language, and acts only where that judgment says it should — typically to create and update notes. That is what makes research findings filed into your vault something you can hand over rather than merely schedule.
What follows is the whole workflow, not a sketch of it. Obsidian supplies the event, the agent supplies the reasoning, and the third node does the thing — or deliberately does nothing, which is a recorded outcome rather than a silent one.
{
"id": "7014a03f-e24e-449f-a52b-dfa0f9f7d962",
"name": "Obsidian — read, decide, act",
"nodes": [
{
"id": "4a94ccd1-e99e-4c88-aac0-f8ed7b461ab4",
"text": "Run on a schedule",
"x": 512,
"y": 144,
"isEditing": false,
"type": "trigger-timer",
"icon": "clock",
"category": "trigger",
"isSelected": false,
"parameters": {
"interval": "15",
"unit": "minutes"
},
"description": "Checks Obsidian every fifteen minutes.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "afbe31fc-5b06-4deb-a8fb-f63dbc25368a",
"text": "Read it and decide",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"instructions": "Read the Obsidian item and decide whether it warrants action. Explain your reasoning."
},
"description": "Judges the Obsidian item against criteria you wrote in plain language.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "15ea9221-3936-4576-a1de-4859e52a6160",
"text": "Act in Obsidian",
"x": 512,
"y": 528,
"isEditing": false,
"type": "obsidian-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"action": "CHECK_STATUS"
},
"description": "Runs CHECK_STATUS on your behalf.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "68b893f4-ee46-437b-a7df-3e1d8ba740fa",
"start": {
"id": "4a94ccd1-e99e-4c88-aac0-f8ed7b461ab4",
"type": "output"
},
"end": {
"id": "afbe31fc-5b06-4deb-a8fb-f63dbc25368a",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "f2481b29-cc13-4907-a301-52c283d252ce",
"start": {
"id": "afbe31fc-5b06-4deb-a8fb-f63dbc25368a",
"type": "output"
},
"end": {
"id": "15ea9221-3936-4576-a1de-4859e52a6160",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Install Research Analyst — it runs on Obsidian
Research Analyst is a working agent that uses Obsidian. Installing it drops the whole workflow onto your canvas — connected, editable, and yours to change.
Runs on your own machine · See what it does
A local vault meets a local runtime
Obsidian keeps plain markdown files on your own disk, which makes it an unusually natural partner for a local-first agent runtime. Nothing has to leave the machine for an agent to read your notes, write into them or link them together.
A second brain something else helps maintain
The promise of a personal knowledge base always founders on upkeep. Daily notes assembled from real activity and research findings filed into the right place turn maintenance into something that happens whether or not you feel like it.
Obsidian node reference
Control Obsidian through the Local REST API. Supports vault files, active file, search, periodic notes, tags, commands, and opening notes. Auth uses AGNT providerId 'obsidian'.
What it can do: CHECK_STATUS LIST_FILES READ_NOTE CREATE_OR_REPLACE_NOTE APPEND_TO_NOTE PATCH_NOTE DELETE_NOTE OPEN_NOTE GET_ACTIVE_FILE REPLACE_ACTIVE_FILE APPEND_ACTIVE_FILE PATCH_ACTIVE_FILE DELETE_ACTIVE_FILE SEARCH_SIMPLE SEARCH_DQL SEARCH_JSONLOGIC GET_PERIODIC_NOTE CREATE_OR_REPLACE_PERIODIC_NOTE APPEND_PERIODIC_NOTE PATCH_PERIODIC_NOTE DELETE_PERIODIC_NOTE LIST_TAGS LIST_COMMANDS EXECUTE_COMMAND GET_OPENAPI_SPEC GET_CERTIFICATE
Full Obsidian API parameter reference
| Parameter | Type | What it does |
|---|---|---|
actionrequired |
string | The Obsidian Local REST API operation to perform. CHECK_STATUS · LIST_FILES · READ_NOTE · CREATE_OR_REPLACE_NOTE · APPEND_TO_NOTE · PATCH_NOTE · DELETE_NOTE · OPEN_NOTE |
baseUrlrequired |
string | Obsidian Local REST API base URL. Default is https://127.0.0.1:27124. |
path |
string | Vault-relative path, e.g. Projects/AGNT.md. For LIST_FILES, leave blank for root or provide a folder path. only when action is LIST_FILES or READ_NOTE or CREATE_OR_REPLACE_NOTE or APPEND_TO_NOTE |
content |
string | Markdown/text content to write, append, patch, or search payload for relevant actions. only when action is CREATE_OR_REPLACE_NOTE or APPEND_TO_NOTE or PATCH_NOTE or REPLACE_ACTIVE_FILE |
query |
string | Search query. For SEARCH_SIMPLE, plain text. For SEARCH_DQL, Dataview DQL. For SEARCH_JSONLOGIC, valid JSONLogic JSON. only when action is SEARCH_SIMPLE or SEARCH_DQL or SEARCH_JSONLOGIC |
operation |
string | Patch operation for PATCH_* actions. append · prepend · replace only when action is PATCH_NOTE or PATCH_ACTIVE_FILE or PATCH_PERIODIC_NOTE |
targetType |
string | Optional surgical target type for READ_NOTE and PATCH_* actions. Use heading, block, or frontmatter. · heading · block · frontmatter only when action is READ_NOTE or PATCH_NOTE or PATCH_ACTIVE_FILE or PATCH_PERIODIC_NOTE |
target |
string | Target heading name, block reference, or frontmatter field when targetType is set. only when action is READ_NOTE or PATCH_NOTE or PATCH_ACTIVE_FILE or PATCH_PERIODIC_NOTE |
period |
string | Periodic note type. daily · weekly · monthly · quarterly · yearly only when action is GET_PERIODIC_NOTE or CREATE_OR_REPLACE_PERIODIC_NOTE or APPEND_PERIODIC_NOTE or PATCH_PERIODIC_NOTE |
year |
string | Optional year for dated periodic note endpoint. Provide year, month, and day together. only when action is GET_PERIODIC_NOTE or CREATE_OR_REPLACE_PERIODIC_NOTE or APPEND_PERIODIC_NOTE or PATCH_PERIODIC_NOTE |
month |
string | Optional month for dated periodic note endpoint. Provide year, month, and day together. only when action is GET_PERIODIC_NOTE or CREATE_OR_REPLACE_PERIODIC_NOTE or APPEND_PERIODIC_NOTE or PATCH_PERIODIC_NOTE |
day |
string | Optional day for dated periodic note endpoint. Provide year, month, and day together. only when action is GET_PERIODIC_NOTE or CREATE_OR_REPLACE_PERIODIC_NOTE or APPEND_PERIODIC_NOTE or PATCH_PERIODIC_NOTE |
7 further parameters are available on the node itself.
Every parameter above is read from the shipped obsidian-api node, so it cannot drift from the product.
Connect Obsidian in two minutes
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connects to your local instance directly — no cloud account required, nothing leaves your machine.
- Drop the Obsidian node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.
Obsidian + AGNT — common questions
Does anything leave my machine?
Not for the vault itself. With a local model, the whole loop stays on your hardware.
Can agents create and link notes?
Yes — creating, updating and linking related notes as it goes.
How is Obsidian connected?
Directly to your local vault; there is no cloud account involved.