I’ve been using my setup for working with customers and projects in Obsidian for a while, and thought I wanted to share how Obsidian can be used in a work environment. It uses templates and scripts a lot to automate processes.
My work is within sales, and so I have many customer meetings as well as customer projects I’m working on. The reason for posting here is for other people finding inspiration on how to setup their own systems, with every use case of course being unique. This is what works in my worklife, maybe some parts of it will be useful to you as well
A sample vault can be downloaded here. Please read the note “README FIRST” in it.
Below I first show how I work with Obsidian, then how it has been implemented.
Most notes are just typed on the go, such as knowledge I want to save into Obsidian. But the system has the below recurring note types.
This is the page I go to whenever I’m not actively working on a task. It lists all the things I need to do, things I need to be aware of and provides quick links to active projects.
It contains the following components:
- Must do today: Tasks with a hard due-date of today or earlier.
- Meetings: Upcoming meetings today, or past meetings where I haven’t reviewed the notes yet.
- Inbox: Tasks I need to assign a date to. All tasks must have either a due-date (external due date that can’t be missed) or a scheduled-date (date by wish I’d like to complete it).
- Try to do today: Tasks with a scheduled date of today or earlier, i.e. no hard due date but would be good to get done
- Upcoming: Tasks with a hard due-date in the next days. I check this to see that I have enough time to complete them, and to see on Fridays that there are no tasks with due-dates over the weekend
- Pomodoros / Tasks completed: Separate lines for cumulative number of pomodoros (red) and tasks (blue) I’ve completed during the last week. Depending on the number of meetings this is a very uneven figure, but I try to keep it above 10 for the last 7 days. There is a green line always showing where 10 is, so I know if I am above or below my target.
- All todos: Expandable menu that shows all todos I have, i.e. those with due- or scheduled-date further on in the future
- Recent cases: A list of all customer cases I have touched in the last 14 days. I use it to quickly access customers, as well as to be able to review what I’ve been working on.
- Recent files. Just shows recent files for quick access
- File manager: Tree-view of files, I use this to check my inbox
- Linked mentions: We all know this one I hope
Here is the page when you expand “All todos”:
Each customer has its own note with the most needed information about the customer. The page pulls in tasks and meeting notes so that I can search everything related to this customer in one page.
The sections here are
- General: Shows meta-data used by dataview. These 3 fields are in a separate section as they are pretty static for the whole customer projects
- Info: Here I add important links for the project, as well as things I learn about the customer.
- Todos: Pulls in todos from this particular note as well as from all meetings relating to this customer.
- Activities: Every time I do something relating to a customer, I note it on the customer’s page, under a bullet point with today’s date. Here I also add general tasks relating to this customer.
- Meetings: All meetings about or with this customer, transcluded to easily search their contents in one place.
For every meeting I create a standard template. The template automatically inserts the meeting date into metadata and note title, along with customer name in note title. I copy agenda from the meeting invite, and add all attendees (for future reference).
Recurring meetings (for example with my manager) have a file that rolls them all up into that file and then I create a separate note with that file as project for every separate meeting.
My daily notes are mainly used for everything that is not related to customer cases.
I use these parts for it:
- Activity: Things I’ve done today that I wish to remember
- Learnings: My job involves plenty of knowledge required and I try to keep all knowledge I need to know in Obsidian. Often I will just put a link to the topic itself and add the new knowledge there.
- New cases: Whenever I’m assigned a new customer I make a note of how and create the link to the customer page here
- Todos: All tasks I have to do that are not related to a customer I add under the daily note (or meeting note if occur in a meeting)
- Pomodoros / Tasks done: Automatically added by the pomodoro and rewarder plugins.
I would like to add plenty of notes around the people I interact with, as my memory struggles to keep up. However I often share my screen and then it can look kind of bad when I’ve made so many notes about people, thus I keep this as a very simple reference only (this might change in the future).
The sections are done by using admonitions. Within each section I setup the columns using CSS. The data comes from Obsidian tasks, Dataview and Obsidian tracker. I’ve styled the tasks in my own way both using CSS as well as a minor hardcode-change in the tasks plugin itself (to style backlinks in tasks differently). I won’t explain how to do this hardcode-change as it can break stuff and if you know what to do then you’re able to do this yourself
I have a hotkey (Ctrl D) that opens the dashboard in reading mode.
Whenever I get a new customer assigned I create an empty note and run a hotkey (Ctrl -) that executes this QuickAdd-macro.
The macro first inserts this template and then this script.
The template adds the sections, tasks and dataview-rollups as well as link to the customer logo.
The script creates a new folder for the customer, as well as a folder with customer files, and then moves the note to the newly created folder. Finally it opens Google image search to search for the customer logo. I save the logo to the logo-folder and then run PowerToys image resizer to make sure the image is within size limits to look good with dataview.
New meetings are created through backlinks or simply be creating a new note. I then run a hotkey (Ctrl M) to execute this QuickAdd macro script. The script will ask for the meeting date (e.g. “25mar”) and then insert that date into the meeting note and the note title. The scripts also asks for the customer or project and inserts that into the note. The script then runs another QuickAdd-command that inserts the meeting-template along with a task with due-date day before meeting to prepare for the meeting.
To get attendees for the meeting I use this excellent Outlook-script that I modified slightly.
Files I create for the meeting or need to have available I store in the “Files”-folder and link to in the meeting note, using Obsidian’s linking availability (i.e. not external link). For this to work you must enable Obsidian to show all files, not just compatible files.
Once the meeting is finished and I have reviewed the notes, I click the Finish meeting-button. This button runs this QuickAdd-script that changes the tags to go from #future to #held, and then moves the note to the customer folder. This way the meeting is no longer shown in my dashboard.
My daily notes template is very simple and just inserts the headings. It is accessed using a shortcut (Ctrl Space).
One thing to note is that whenever I have an e-mail I wish to quickly access I simply drag it from Outlook to Obsidian (and remove the automatically inserted exclamation-mark), it then becomes clickable there so I don’t have to look it up in Outlook when I want to answer. Many tasks thus are “Answer email” with an indendet bullet point below with the message itself.
All people I interact with get their own page. Whenever I noticed that a person hasn’t been assigned an employer I open the person page and click my shortcut (Ctrl R). The shortcut will launch this QuickAdd-script that asks for the employer and inserts that. If the employer is the same as mine then a tag #Colleague is inserted, otherwise #Customer is inserted. The note is then moved to my CRM-folder.
I use a pretty flat structure, and only use a limited set of tags. I access my notes mainly through the quick-switcher or search/linking. The folders I use are:
- _Inbox: All new notes end up here and are moved either by my scripts or by myself manually.
- Customers: All customer notes are in this main folder. Below it a folder with the customer name is created, and within that folder a “Files”-folder is created. The customer folder has all the notes and the Files-folder has all attachments and files I’m working on for this customer.
- CRM: Contains all my People-notes.
- Daily_notes: Contains all my daily notes.
- Files: Contains all attachments
- Logos: Contains customer logos
- Scripts, Templates: Self-explanatory
All other notes (not customer-related) are stored at root level.
I tried many themes but eventually settled for Primary theme, because I like the way it transcludes notes - making every transcluded note visible as transcluded. This makes the customer pages easier to read. I also like its use of colours for headings.
- Dashboard.css: Adjusts how tasks are displayed on the dashboard (more compact). It also enables column-view for the dashboard and tries to remove some whitespaces.
- Dataview.css: Adds a line between rows in dataview.
- Use full length for note.css: For my notes I prefer to have a limited width for easier reading as default, this makes it possible to utilise full width for specifc notes.
Admonition: Though this is nowadays included in Obsidian, I keep the plugin to be able to put code within the admonition.
Advanced tables: Makes working with tables a lot easier.
Another quick switcher: Allows me to use diacritics when opening notes (i.e. I can type “ö” and it will search for “ø”), along with other benefits.
Auto note mover: Automatically moves notes I tag with #CRM to the CRM-folder (simply because I installed it before I started writing the QuickAdd-scripts).
Buttons: To be able to have the “Finish meeting”-button for my meetings
Calendar: To have a small calender always visible in the bottom right corner
Contextual typography: To make more styling possible
Dataview: To be able to show customers on dashboard, and meetings on the customer pages.
Excel to markdown table: Makes it easier to paste tables into notes.
File path to URI: Allows me to paste links to local files in markdown-format instead of Windows-format.
Hider: Hides metadata in reading view.
Homepage: Always launches Obsidian with my dashboard as the start page.
LanguageTool Integration: To check my spelling
MetaEdit: Used by my QuickAdd-scripts to edit notes.
Natural Language Dates: Allows me to type “@today” for example to insert today’s date
Obsidian Rewarder: Used for logging of completed tasks. Can also be used for getting rewards upon completing tasks. Developed by myself.
QuickAdd: Allows me to run various scripts on notes to automate processes
Recent files: Shows recent files I’ve been working on in a separate pane.
Sortable: Allows me to sort dataview-tables.
Status bar pomodoro timer: Logs my pomodoros
Style settings: Allows some customisation of the theme
Supercharged links: Adds an emoji to all my coworkers and another emoji for employees of customers that I interact with.
The setup looks like this:
Tasks: Allows rollups of all tasks I work on.
Templater: Let’s me insert templates with for example today’s date automatically.
Tracker: Shows the pomodo-chart on the dashboard.
I’m not using live preview at all, as I find it difficult and it can make navigation messy when you are using dataview and tasks.
Please remember that Obsidian is not free when you use it in a professional context. Also sending a donation to the creators of themes and plugins is a good practice.
Some inspiration came from this post, thank you! Also thanks to the various people who have created the themes, plugins, Outlook-scripts, Obsidian and shared their workflows/setups for inspiration.
I am of course glad to hear your comments and ideas!
Repository and example vault updated with the below changes.
Dashboard chart now shows completed tasks as well as completed todos.
Dashboard chart now has a green line showing aspiration, by default set to 10 (i.e. try to do more than 10 tasks & pomodoros each over the last weeek)
Dashboard list of active cases now shows last update based on when last meeting was held, last page in same folder was updated or page itself was updated. Previously listed last update based on the page itself only.
Dashboard list of all due tasks now has no limit, useful if you need to check upcoming duedates over a longer period.
Daily notes now show completed tasks (using my own plugin Obsidian Rewarder)
Removed emojis from file paths as some syncing services unable to handle them