Skip to content

Repository files navigation

Obsidian CRM Plugin

A lightweight CRM (Customer Relationship Management) plugin for Obsidian that leverages native functionality to manage contacts and interaction notes.

Features

  • Quick Note Capture: Rapidly create notes linked to people with a single keyboard shortcut
  • Auto-Create People: When adding a note, type a new name to automatically create a person file
  • Native Integration: Uses standard Obsidian wikilinks, backlinks, and frontmatter
  • Customizable Templates: Define your own templates for people and notes
  • Last Contact Tracking: Automatically updates the last contact date when you add a note

Installation

From Source

  1. Clone this repository
  2. Run npm install to install dependencies
  3. Run npm run build to build the plugin
  4. Copy the contents of the dist/ folder to your vault's .obsidian/plugins/obsidian-crm/ directory
  5. Enable the plugin in Obsidian's Community Plugins settings

Manual Installation

  1. Download the latest release (main.js, manifest.json, styles.css)
  2. Create a folder called obsidian-crm in your vault's .obsidian/plugins/ directory
  3. Copy the downloaded files into this folder
  4. Enable the plugin in Obsidian's Community Plugins settings

Usage

Commands

Command Description
Quick add CRM note Open the person selector, choose or create a person, then add a note
Create new person Directly create a new person file
Open person file Quick search and open an existing person
Add note to current person When viewing a person file, quickly add a note for them

Keyboard Shortcuts

After installation, you can assign keyboard shortcuts in Obsidian's Hotkeys settings. Recommended:

  • Ctrl/Cmd + Shift + N: Quick add CRM note
  • Ctrl/Cmd + Shift + P: Open person file

Folder Structure

The plugin creates and uses the following structure:

CRM/
├── People/
│   ├── John Smith.md
│   └── Jane Doe.md
└── Notes/
    ├── 2024-01-15 - John Smith - Coffee meeting.md
    └── 2024-01-16 - Jane Doe - Project discussion.md

Person Files

Each person is a markdown file with frontmatter:

---
name: "John Smith"
company: ""
email: ""
phone: ""
tags: []
created: 2024-01-15
last_contact: 2024-01-20
---

## About

## Contact History

Note Files

Notes are linked to people using wikilinks:

---
person: "[[John Smith]]"
date: 2024-01-20
tags: []
---

## Summary

## Action Items

- [ ] 

## Notes

Leveraging Native Obsidian Features

This plugin is designed to work with Obsidian's built-in capabilities:

Backlinks

Open any person file and check the Backlinks pane to see all notes referencing that person.

Graph View

Your CRM data will appear in the graph view, showing connections between people and notes.

Search

Use Obsidian's search to find notes by content, tags, or frontmatter properties.

Dataview (Optional)

If you have Dataview installed, you can create powerful queries:

TABLE last_contact, company
FROM "CRM/People"
SORT last_contact DESC
LIST
FROM "CRM/Notes"
WHERE contains(person, "John Smith")
SORT date DESC

Tags

Use tags in frontmatter to categorize people (#client, #lead, #partner) and notes (#meeting, #call, #email).

Settings

Setting Description Default
CRM Folder Root folder for CRM data CRM
People Folder Subfolder for person files People
Notes Folder Subfolder for note files Notes
Note Name Format Template for note filenames YYYY-MM-DD - {{person}} - {{title}}
Person Template Markdown template for new people (see defaults)
Note Template Markdown template for new notes (see defaults)

Tips

  1. Quick Capture Workflow: Press your hotkey, start typing a name, press Enter to select/create, type a title, press Enter to create and open the note.

  2. Review Contacts: Create a Dataview query on your daily note to see people you haven't contacted recently.

  3. Meeting Prep: Before a meeting, open the person's file to see all your previous interactions via backlinks.

  4. Custom Properties: Add any additional frontmatter properties you need (e.g., linkedin, birthday, role).

Development

# Install dependencies
npm install

# Build for development (with watch)
npm run dev

# Build for production (outputs to dist/)
npm run build

The production build outputs to the dist/ directory containing just the files needed for installation:

  • main.js - The bundled plugin code
  • manifest.json - Plugin metadata
  • styles.css - Plugin styles

License

MIT

About

Lightweight Obsidian CRM Plugin

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages