Tiago "Salvador" Souza76 downloadsShows notes as an interactive org chart in Bases, linking each note to its manager through a property.
An Obsidian plugin that adds an Org Chart view type to Bases, rendering notes as a parent → child hierarchy driven by a configurable frontmatter property (default reports_to).
Works with any set of notes that link to a parent: org charts, team structures, project breakdowns.

Requires Obsidian 1.13 or later, on desktop. Phones and tablets aren't supported yet.
main.js, manifest.json and styles.css from the latest release, put them in <your vault>/.obsidian/plugins/bases-org-chart/, then enable the plugin under Settings → Community plugins.reports_to: "[[Jane Doe]]" (the first value is the main manager; more values are dotted lines).+ - 0 and the arrow keys also work.teams property). Each group becomes a labelled box with its own reporting tree; main reporting lines between groups are drawn as solid curves, and people without a value go in a "No value" box. A person whose value is a list lands in a box for that combination, as Bases groups them.A view opens at 100% zoom, centred on the chart (or on the head of the largest org when the chart is bigger than the pane). Switching to another Org Chart view in the base re-centres, unless "Restore views when switching back" is on. Zoom level and collapsed teams are kept while you stay on a view, and when Obsidian brings it back, for example after switching to a table view and back.
For a walkthrough with before-and-after screenshots, see docs/settings.md.
Which notes appear in a chart is decided by the base's own filters (Bases' Filter button), so the plugin works with any kind of note. The settings below only say which properties to read. They're defaults for every Org Chart view; most can be overridden per view in Bases' Configure view panel.
| Setting | Default | Description |
|---|---|---|
| Parent property | reports_to |
Links a note to its manager/parent. First value is the primary manager; extra values draw as dotted lines. |
| Name property | (file name) | Shown as the card's name. Links show their alias. |
| Card fields | none | Up to 5 properties shown under the name, in the order listed (drag to reorder). Turn off "Show on card" to keep a field in the hover tooltip only. Empty values are skipped; cards grow to fit the busiest one. |
| Colour by property | none | Colour stripe per distinct value. |
| Image property | image |
Avatar image from a vault link ([[pic.jpg]], ![[pic.jpg]]). HTTP(S) URLs also work when remote avatar images are explicitly enabled. Cards without an image show initials. |
| Allow remote avatar images | Off | Permits HTTP(S) avatar URLs to contact hosts outside the vault. Keep this off for untrusted or shared note collections. |
| Note actions on right-click | On | A card's right-click menu also shows Obsidian's usual actions for the note, as on Bases' cards, with Delete file last. Off: only the chart's actions and Open in new tab. |
| Current membership property | none | Groups a person currently belongs to (team, organisation…); enables the right-click "Remove from …" action. |
| Former members property | none | Where groups a person has left are recorded. See "Former members" below. |
| Large chart warning threshold | 2000 | Pause before drawing a chart with more people than this, with a "Render anyway" button. 0 turns the warning off. |
| Layout direction | Top to bottom | Or left to right. |
| Restore views when switching back | Off | Switching back to an Org Chart view in a base shows the zoom and collapsed teams it had, instead of re-centring. |
Settings are grouped into Reporting lines, Cards, Card fields, Groups and teams, and Layout, and appear in Obsidian's settings search. Card fields can be dragged to reorder. Every property box suggests the property names used in your vault.
The parent, current membership and former members properties hold lists, so the chart always writes them as lists, even with a single value. The plugin also gives them Obsidian's List property type (as set in the Properties view), so Obsidian shows and edits them as lists too. It does this for the properties in its settings when it loads and after you change these settings, and for any property it's about to edit, such as a view's own parent property. A property that had another type, such as Text, becomes a List; notes holding a single value still show it, as a one-item list.
Per-view only:
| Option | Default | Description |
|---|---|---|
| Show former members | Off | Include notes matching the former-member rule; they're drawn dimmed. |
| Former when property … contains | — | A note is a former member when this property contains the given value (a link target or text). The value is a Bases formula: put text in quotes ("Acme"), or use this.file.name for the note the view is embedded in, so one view works on every note. In a base open in its own tab, this is the note you opened last, as in Bases filters. When Bases can't evaluate the value, its text is used as it is, so Acme without quotes also works. Leave empty to disable. |
| Hide people with no reporting links | Off | Drops notes with no manager, no reports and no dotted-line links. |
| Stack teams larger than | 6 | Teams whose members have no reports of their own are stacked in columns above this size. 0 never stacks. |
| Initially expand levels | 0 (all) | Collapse everything below this many levels when the view opens. |
When someone's main manager is a former member, the status line shows "⚠ N reporting to former members". Click it to jump to each of those people in turn. The manager's card gets a warning border (a hidden former member appears as a placeholder labelled "former member"), the reporting lines turn the warning colour, and each affected person gets a "!" badge. Nothing is changed automatically; drag them to their new manager when you know who it is.
When shown, former members stay visible even if "Hide people with no reporting links" is on. When hidden, they're removed before the chart is built, so anyone who reported to them shows their manager as "outside this view" rather than disappearing.
A few features rely on parts of Obsidian that aren't public API. If a future Obsidian release changes them, these degrade as follows, and everything else keeps working:
This plugin was generated with AI assistance from a personal need, and is shared for others to use, tinker with and fork. It aims to do one thing: show notes in Bases as an org chart. Contributions that keep to that are welcome; see CONTRIBUTING.md for scope, building, testing and conventions.
MIT — see LICENSE.