Dashboard and workflow for Obsidian at work (sales)

Intro

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 :slight_smile:

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.

Showcase

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.

Dashboard

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:

  1. Must do today: Tasks with a hard due-date of today or earlier.
  2. Meetings: Upcoming meetings today, or past meetings where I haven’t reviewed the notes yet.
  3. 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).
  4. 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
  5. 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
  6. 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.
  7. All todos: Expandable menu that shows all todos I have, i.e. those with due- or scheduled-date further on in the future
  8. 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.
  9. Recent files. Just shows recent files for quick access
  10. File manager: Tree-view of files, I use this to check my inbox
  11. Linked mentions: We all know this one I hope :slight_smile:

Here is the page when you expand “All todos”:

Customer pages

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

  1. 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
  2. Info: Here I add important links for the project, as well as things I learn about the customer.
  3. Todos: Pulls in todos from this particular note as well as from all meetings relating to this customer.
  4. 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.
  5. Meetings: All meetings about or with this customer, transcluded to easily search their contents in one place.

Meetings

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.

Daily notes

My daily notes are mainly used for everything that is not related to customer cases.

I use these parts for it:

  1. Activity: Things I’ve done today that I wish to remember
  2. 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.
  3. New cases: Whenever I’m assigned a new customer I make a note of how and create the link to the customer page here
  4. 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)
  5. Pomodoros / Tasks done: Automatically added by the pomodoro and rewarder plugins.

People pages

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).

Workflow/page sources

Dashboard

Dashboard.md
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 :slight_smile:
I have a hotkey (Ctrl D) that opens the dashboard in reading mode.

Customer pages

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.

PowerToys resizer:
image

Meetings

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.

Daily notes

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.

People pages

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.

Folder structure

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.

Theme/CSS-snippets used

Theme

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.

Snippets

  • 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.

Main plugins used

  • 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.

Comments

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!

Update 2022-06-30

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

56 Likes

Wow, thanks for sharing! Very generous.

1 Like

Really nice. Any chance you have an example vault to play with

Good idea and added here.

3 Likes

Just playing with it now. Thanks

Very inspiring. Thank you!

It looks nice and is very inspiring. Thanks.

Thank for your kind words! I’ve improved some parts and will try to get the example vault updated.

First of all, thank you very, very much for sharing this. It’s invaluable for me as an Obsidian beginner to have somethingh like this.
I only discovered Obsidian a few weeks ago and I am still trying to understand everything. For instance I tried to modify one of the templates but I noticed that the modifications are not applied. For instance I replaced “Preparation” in the “New meeting template” with “Time”. But when I create a new meeting, it still shows Preparation. I even deleted the template file and I could still create a new meeting.
On the other hand, I had to remove the icons from the CRM and Customer folder because Dropbox wouldn’t synch those folders. When I create a new Daily note, I get a message that <icon> Customer folder does not exist.
Can anyone please point me in the right direction how to fix these?

1 Like

Check what folder your templating system’s settings tab is using to find its templates. (I think the example vault uses Templater, so check for a settings tab with that name, towards the bottom of the list of settings pages.) Double-check that the meeting note template you were adjusting was in that folder? Your daily note template should also be in there: check for any mentions of your renamed customer folder, including inside code blocks!

Someone who knows this vault could give you more precise advice on what to change, but if you want to get started here are some suggestions for finding other things you need tp change:

  • You’ll also need to change the name of the Customers folder in some of the JS scripts - I just randomly looked at “FinishMeeting.js” and it uses the emoji version of the Customers folder name. You’ll need to open the JS files in some other text editor; they won’t open in Obsidian.
  • Finally, in the QuickAdd settings tab, you might need to change folder names in some of the individual QuickAdd actions. Even without knowing what precisely anything is doing, it should be easy to look through for the changed folder name and remove the emoji. Look for gear buttons in the list of actions, then also click Manage Macros, the Configure button on each macro, and look for gear buttons in the lists there.

Thanks for the quick answer! I’ll give it try and see what comes up… :slight_smile:

1 Like

Thanks for your answers @HermannW and @scholarInTraining. Did you get it sorted @HermannW?

I’ve now updated the sample vault to be without the emojis in the file structure as that messed up some syncing services. Also other changes as outlined in the first post.

1 Like

Yes, @Gnopps I did sort it out and made some more changes to fit my purpose. I will check out your modifications because I noticed that the tasks are not shown correctly in the Dashboard.
Thanks again for sharing!

Emailed the sample vault to myself and got:

Anti-virus warning

– 1 attachment contains a virus or blocked file. Downloading this attachment is disabled.

That is odd, I would guess it is one of the script files that is interpreted as a virus as the script makes changes to your files. I’ve got anti-virus installed on my computer and have not gotten anything.

Would you have a more detailed error report?

That’s about all the details Gmail gives. On a Mac so don’t have a regular antivirus installed. Could be that, just letting you know.

Found the problem now: It is not a virus but the problem is with Gmail that automatically blocks any script files as attachment. See screenshot with their own explanation below:

As a side note, I’ve been using Fastmail instead of Gmail since many years and can highly recommend it (just tried, and there you are allowed to attach .js-files). Here is a referral link or click here for non-referral link.

1 Like

Thisis what I’ve been looking for aaaalllll my life!
(Allow me the poetic license to Express out my gratitude?)
Hey,Gnopps?Thanks for sharing in such detail. Am lost no more. Will use your example vault,hope you updated it. Will let you know how I adopt this for my use case.

2 Likes

Really happy to have found this detailled setup instructions. Thanks a lot!

I only adopted a couple of addons and templates for my usecase but it really feels like they completed my style of working with obsidian.

Thanks so much for putting this together to download, I’ve been using Obsidian basically as a notepad replacement the last year or so and really starting to see the potential for using it in my role as a PM more and more with Dashboards.

A question for your meetings, I’ve been looking into a solution to pull in meeting direct from Outlook using iCalbuddy, is this something that you’ve researched? Looks like it would be a great addition

1 Like