Airtable Tabula
approvedby MehulG
Local Airtable-like tables with selects, filters, query, CSV/Excel import, and optional Airtable sync. - This plugin has not been manually reviewed by Obsidian staff.
Airtable Tabula
Local Airtable-like tables inside Obsidian — structured grids next to your notes, with optional Airtable.com sync.
Each table is a .tabula file (JSON) opened in a spreadsheet-style grid.
Features
- Import CSV / Excel — turn a
.csvor.xlsxfile into a table in one command - Field types — text, long text, number, currency, percent, duration, rating, checkbox, date, date & time, URL, email, phone, single/multi select, attachments, auto number, created / last modified
- Selects — colored tags, searchable dropdowns, create-on-type, option manager
- Views — search, filter builder + query string, multi-sort, group by, hide fields, column resize/reorder, freeze primary column, row height
- Optional Airtable sync — link a base/table, then pull or push with a personal access token
Install
From a GitHub release
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Put them in
.obsidian/plugins/airtable-tabula/in your vault - Enable Airtable Tabula under Settings → Community plugins
Development
npm install
npm run build
ln -s /absolute/path/to/airtable-tabula /path/to/vault/.obsidian/plugins/airtable-tabula
Then enable the plugin and use Create new table or Import CSV / Excel as table from the command palette.
Import CSV / Excel
- Command palette → Import CSV / Excel as table
- Pick a
.csvor.xlsxfile from your computer
What happens:
- The first row becomes column headers
- Column types are inferred (text, number, date, checkbox, or single select when a column has few distinct values)
- A new
.tabulafile is created in your vault and opened
Tip: In Excel or Google Sheets, “Save as CSV” also works if you don’t need a full workbook.
Optional Airtable sync
- Create a personal access token with:
data.records:readdata.records:writeschema.bases:read- Access to the bases you want to sync
- Obsidian → Settings → Airtable Tabula → paste the token
- Open a
.tabulafile → Sync → Link Airtable table… - Choose base + table (optionally replace local columns with the Airtable schema)
- Pull from Airtable or Push to Airtable
Link metadata lives in the .tabula file. The token stays in plugin settings only. Sync is optional — the plugin works fully offline without it.
Query syntax
status:Done tags:urgent,design name:~ship
| Pattern | Meaning |
|---|---|
field:value | equals / is / contains (multi) |
field:~value | text contains |
field:>n / field:<n | number (or date before/after) |
field:!value | is not (single select) |
field:a,b | is any of / contains any |
field:empty | is empty |
Field names are case-insensitive. Quote names with spaces: "My Field":Done.
Attachments
Attachment cells store vault-relative paths (e.g. Assets/photo.png). Type a path and press Enter.
License
MIT · Maintainer @MehulG
Out of scope
Formulas, linked records, lookups/rollups, Kanban/Calendar/Gallery views. Sync does not auto-create Airtable fields or resolve edit conflicts beyond last pull/push.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.