# Use Obsidian properties and Bases to see which projects are stuck

URL: https://www.synapticlabs.ai/blogs/obsidian-properties-project-status
Author: Professor Synapse
Published: 2026-11-04

Source: Synaptic Labs, https://www.synapticlabs.ai/blogs/obsidian-properties-project-status

---

Which project is stuck right now? The answer may be spread across a meeting transcript, a later email and a project note that still describes last week's situation. Obsidian properties and a Bases table can bring it into one view, with an AI assistant proposing updates and a person approving them.

Let's imagine we're planning to refresh our website. Here's how we'd do that in Obsidian. We'll set up one project note, bring in one meeting excerpt and one email, review the update they support and build a table that shows what needs attention. We'll do all of it by hand, copying approved excerpts into an assistant and editing the note ourselves, so no file connection or custom skill is involved.

[Watch the project-status workflow](https://www.youtube.com/watch?v=wqrDS47WGn4) for a demonstration with fictional client data. Our website refresh is a separate fictional illustration written for this guide; its project, source excerpts and field values are not taken from the video. The screenshots show Obsidian 1.15 on a Mac, in a practice vault with community plugins turned off, so your sidebar will look different.

## 1\. Set up one project record

We start with a folder called **Projects**. We right-click it, choose **New note** and name the note **Website refresh**.

Next we add the fields we want to track. We open the Command palette with Cmd+P (Ctrl+P on Windows and Linux) and choose **Add file property**. Obsidian also shows a Cmd+; shortcut for this command. We repeat that for each row below.

![The Obsidian Command palette with Add file property highlighted, above the Website refresh note in the Projects folder.](https://cms.synapticlabs.ai/api/media/file/3267f391468464e7834f8c51d1074500ae12b7d610c82d950766d751a6543f8d.png?v=3267f391468464e7)

These are fields we chose for this example, not a required schema from the video. [Obsidian's properties guide](https://help.obsidian.md/properties) covers the feature in more detail.

Property

Starting value

What it tells us

status

active

The project's current work state

next\_action

Finish the homepage draft

A concrete next step

next\_action\_owner

Designer

Who owns that step

waiting\_on

Left empty

The dependency, if one exists

last\_reviewed

2026-11-02

When we last checked the record

The first four work as Text. For `last_reviewed`, we click the icon beside the property name, open **Property type** and choose **Date**.

![The menu beside the last_reviewed property, with Property type open and Date highlighted.](https://cms.synapticlabs.ai/api/media/file/a87ac4dc33776fcc0145ccd602b89cc999aed2e96e9a2bf1a38fc8154c0a7915.png?v=a87ac4dc33776fcc)

That gives us our starting record:

![The Website refresh note showing status active, next action Finish the homepage draft, owner Designer, waiting_on empty and last_reviewed 11/02/2026.](https://cms.synapticlabs.ai/api/media/file/0fb60c1339dfa42dea02f4d5dd16191bd89c9008ae9191b8c80a234b86015cd9.png?v=0fb60c1339dfa42d)

The explanation and source references will go in the note body. A file's modification date doesn't establish when we checked the project's status, which is why `last_reviewed` gets its own field.

We'll use three status labels for this first review. **active** means work can proceed. **waiting** means an input is expected and hasn't missed its agreed date. **blocked** means the next step can't proceed and the agreed date for the needed input has passed. These are example definitions, and any team can adapt them. If no date was agreed, we'd record that uncertainty rather than invent one.

## 2\. Give our assistant the new information

In our example, we're reviewing the project on November 4. Two new sources have come in:

- **Meeting excerpt, November 2:** "The homepage draft is finished. The project lead will send one combined set of feedback by November 3. The designer needs that feedback before revisions can start."
- **Email excerpt, November 4:** "We haven't sent the combined feedback yet. Please hold revisions until it arrives."

We copy the current project record, our status definitions and both labeled excerpts into an AI assistant we're permitted to use for this information, along with the review date. Then we ask:

> Compare this project record with the meeting and email excerpts. Propose updates to status, next\_action, next\_action\_owner and waiting\_on. For each change, identify the supporting excerpt. Use my status definitions, flag missing or conflicting information, and keep project status separate from individual tasks. Do not change files or contact anyone.

We're keeping this first attempt manual. The assistant proposes changes, and we edit Obsidian ourselves. Connected file editing would also need supported file access, suitable permissions and instructions to wait for approval.

## 3\. Review the proposal and save our decision

Our sources support this update, so it's what we'd look for in the assistant's proposal:

Property

Proposed value

Reason

status

blocked

Revisions need feedback; its agreed November 3 date has passed

next\_action

Send combined homepage feedback

The draft is finished; feedback is the next dependency

next\_action\_owner

Project lead

The meeting assigned the feedback to this role

waiting\_on

Combined homepage feedback

The email says revisions must wait for it

Before accepting anything, we check it against the excerpts. Has another message already resolved the delay? Does the project lead still own the feedback? If the evidence were incomplete, we'd settle that question before changing the record.

Our evidence holds up, so we enter the values, set `last_reviewed` to November 4 and add a short explanation with references to the meeting and email in the note body. Then we reopen the note to confirm the values saved. The record now explains both the blocker and the next action.

![The updated Website refresh note showing status blocked, the new next action, owner Project lead, waiting_on, last_reviewed 11/04/2026 and an explanation citing both sources.](https://cms.synapticlabs.ai/api/media/file/ac927d4f58749626badc8d6a2da318372e6ad9ddc5705fc296d44142181d02b8.png?v=ac927d4f58749626)

A new task doesn't always justify changing project status. If a completed onboarding project gained a follow-up task, we'd decide whether it needs to reopen or the task can stay on someone's to-do list. That distinction is part of the accompanying video's review workflow.

![Meeting and email sources lead to AI proposals, human approval and saved project notes. The notes branch to an AI question and a Bases view.](https://cms.synapticlabs.ai/api/media/file/01-reviewed-project-updates-infographic-v5.png?v=a017b6faae6e26b7)

_The reviewed project note is the source for both our Bases view and our AI questions._

## 4\. Build a Bases view of our projects

[Bases](https://help.obsidian.md/bases) is an Obsidian core plugin. Its table displays files as rows and properties as columns, and the underlying information stays in our notes.

We open the Command palette, choose **Bases: Create new base** and name the base **Project review**. [Create a base](https://help.obsidian.md/bases/create-base) has more on this step.

![The Obsidian Command palette with Bases: Create new base highlighted.](https://cms.synapticlabs.ai/api/media/file/8bf65c781e34d1ff9f8be93142c767dea5e283cad9d305a0dd3ae621552d1180.png?v=8bf65c781e34d1ff)

The new base opens as a table of every file in the vault, which is 31 results in our practice vault. It landed in the Inbox folder, our vault's default location for new files, but where a base lives doesn't limit what it shows.

![The new Project review base as a table showing 31 results, listing every file in the vault by name.](https://cms.synapticlabs.ai/api/media/file/0fa6e018b6aa60db2ab010d4c77697637fb21de60ca517e6616b449bb240c37a.png?v=0fa6e018b6aa60db)

So we narrow it. We click **Filter**, expand **All views** and set the condition to **file in folder Projects**. The table drops to one result, Website refresh.

![The Filter panel with All views set to file in folder Projects. The table now shows one result, Website refresh.](https://cms.synapticlabs.ai/api/media/file/f7d970c719da8041bddad8c77aebc53c9b74ef3e312b6c930dacd34fc7666d72.png?v=f7d970c719da8041)

To see our fields, we click **Properties** and tick `status`, `next_action`, `next_action_owner`, `waiting_on` and `last_reviewed`.

![The Properties panel with file name, status, next_action, next_action_owner, waiting_on and last_reviewed ticked.](https://cms.synapticlabs.ai/api/media/file/f43fdd67b46bf80d824c8d0dd0a925fff3d1609a59f58f6263165d43b16ca175.png?v=f43fdd67b46bf80d)

Next comes the condition that answers our question. Under **Filter**, in **This view**, we set the condition to **status is blocked** and keep the folder restriction in place. The [view controls guide](https://help.obsidian.md/bases/views) explains these filters and display settings.

![The Filter panel with All views set to file in folder Projects and This view set to status is blocked.](https://cms.synapticlabs.ai/api/media/file/89c6130a36cc590c9ce2b49c07f00cc847e6e944f89a02facacc0d7fc374d333.png?v=89c6130a36cc590c)

Website refresh stays visible because it's in Projects and its status is blocked. We tested this with a second note whose status was active, and the view left it out. To see the source explanation, we open the note from the table.

![The finished Project review table showing Website refresh as blocked, with its next action, owner Project lead, waiting_on value and last_reviewed date of 11/04/2026.](https://cms.synapticlabs.ai/api/media/file/715e768e22d7ad20d1568f68d6bdcb9a24ae8fcc82644562f5cb5335ffc7d985.png?v=715e768e22d7ad20)

For a broader review, we'd remove the status condition and keep the folder filter. That lets us inspect waiting projects and incomplete records too. An empty status can leave a project out of the blocked view without making it healthy.

## 5\. Ask a question the record can answer

Finally, we copy the updated project record and its source excerpts into our assistant and ask:

> Which project needs attention, and why? Show its recorded blocker, next action, owner and supporting source. Flag missing or contradictory information. Do not change status or contact anyone.

An evidence-backed answer would identify **Website refresh**, explain that revisions are blocked by the overdue combined feedback, and name the **project lead** as the owner of the next action. If the answer said the designer must finish the draft, it would have missed the source update.

What happens next is still our decision. When new feedback arrives, we review it and update the record again. Once we can trace an answer back to the saved notes and sources, we can repeat the process with more projects.

## Build your own second brain

If this walkthrough exposes gaps in how you organize project notes, Your AI Second Brain covers Obsidian properties, Bases and templates, alongside supported AI connections and reusable skills. The manual review above works as a starting point, and the course helps you build your knowledge foundation and explore an assistant setup that fits your work.

[See the course curriculum and what's included](https://www.synapticlabs.ai/learn/your-ai-second-brain). Use code **SECONDBRAIN2026** for 50% off through December 31, 2026.

## Frequently Asked Questions

### Do I need an AI connection to Obsidian?

Not for the manual route in this guide. We supplied approved excerpts to the assistant and made the accepted changes ourselves. Direct file editing needs a separate supported connection and permissions.

### Is a Base a separate project database?

The project information stays in the notes and their properties. The base defines a view of those files, so updating a note changes the information available to that view.

### Can AI decide whether a project is blocked?

It can propose a status using your definitions and the evidence you provide. A person still needs to resolve ambiguity and approve changes. The blocked label in this example follows an explicit dependency and an agreed date that has passed.
