How to use Obsidian as CRM with Dataview and Metadata Menu!

Sdílet
Vložit
  • čas přidán 30. 06. 2024
  • Hey everyone! In this video I will show you how you can use Obsidian as a Customer Relationship Management (CRM) with the help of two amazing community plugins: Dataview and Metadata Menu.
    This combination allows you to unlock the full potential of data management inside your Obsidian Vault!
    -- RESOURCES --
    🎥 Obsidian Dataview Video: • Obsidian Dataview Plug...
    🔗 Dataview Plugin GitHub Repository: github.com/blacksmithgu/obsid...
    🔗 Metadata Menu Plugin GitHub Repository: github.com/mdelobelle/metadat...
    -- CONTACTS --
    Join the Discord server! / discord
    Website: mindstoneconsulting.net/
    X: / marco_mindstone
    Mastodon: mstdn.business/@Marco_Mindstone
    Medium: / marco_mindstone
    -- WANT TO SUPPORT ME? --
    🔥 Join my website as Insider: mindstoneconsulting.net/#/por...
    ☕️ Buy me a coffee: buymeacoffee.com/marco_mindstone
    -- TIMESTAMPS --
    00:00 Introduction
    00:46 Vault Introduction
    01:11 Create a classic Dataview Table
    02:20 Metadata Menu Plugin
    03:00 Create and Use the File Class
    09:09 Create the CRM Table
    11:38 Last Thoughts and Outro
  • Věda a technologie

Komentáře • 56

  • @raj-dsa
    @raj-dsa Před 2 dny +1

    Auto-updating "last updated" field would be the cherry on top, great video nevertheless.
    - I'd love to be able to create a note linked to my daily note that has meeting template, so it goes to the right folder of all meeting notes.
    - It could auto-set the meeting date based on the current date.
    That way it becomes an auto-organizing CRM and I can simply focus on creating meeting notes from my daily notes as part of my workflow.

    • @Marco_Mindstone
      @Marco_Mindstone  Před dnem

      Thank you!!
      All the things you listed should be achievable in Obsidian :)

  • @LoganNavarro
    @LoganNavarro Před 6 měsíci +5

    Well this fileclass stuff is awesome....was messing with a template for books, but this ...this makes adding books fun again! Tahk you very much for this good and easy explanation. Metadata Menu....another plugin welcomed in the club

  • @a.wustefeld4609
    @a.wustefeld4609 Před 6 měsíci +5

    Wow! Thank you for this great introduction to the Metadata Menu. Your explanation is very clear and easy to understand.

  • @tsentenari4353
    @tsentenari4353 Před 5 měsíci +2

    Wow!
    This is just the kind of video I was hoping to find.
    You explain this very, very clearly.
    It seems to me that Metadata Menu is just what I was hoping to find, and does everything it can do, as a plugin.

  • @colinbrookes8625
    @colinbrookes8625 Před 6 měsíci +2

    Thank you so much Marco. Detailed walkthroughs like this are so very useful to those of us who don’t yet understand how to construct such impactful queries, and combination of these to get the most out of our Obsidian data. Please keep them coming if you can. Your channel is the one I most. Check for new content.
    .

    • @Marco_Mindstone
      @Marco_Mindstone  Před 6 měsíci

      Thank you very much Colin! I really appreciate that :)

  • @tsentenari4353
    @tsentenari4353 Před 5 měsíci +1

    I have no idea if this is realistic, but ideally, what I would hope for for the future, would be something like this:
    A change to the way core Obsidian work, that enforces that properties in the frontmatter can only be created through a template.
    Any metadata in any file would be ruled by its corresponding mother template forever.
    Any changes to the template, including adding, subtracting, renaming properties - will automatically be applied to all notes that were created using this template in the past. While keeping values intact. (Unless the corresponding key gets deleted.)
    One thing that makes Obsidian so powerful, is that it makes it possible to rename and move files, while keeping all the links intact. It seems to me that there would be great value in extending this powerful paradigm to the frontmatter.Yes, it wouldn't be possible any more to just spontaneously type out or edit properties in the front matter without going through the template - but this strikes me as analogous to how the integrity of links gets broken when I move or rename files from outside Obsidian.
    What am I missing?
    Are there any downsides that I am not thinking of?

    • @Marco_Mindstone
      @Marco_Mindstone  Před 5 měsíci

      Let's say that with Obsidian you can do pretty much everything even if there are some other tool that can do something specific better than Obsidian.
      With that being said, the linking system and the metadata in Obsidian are very powerful. I am curious to see the Dynamic views; I hope they don't take too long to release it.

  • @jdcv17
    @jdcv17 Před 6 měsíci +2

    I like how you explain and demo plugins. I’ve seen that plugin in some other tutorials before but I just didn’t install... I’ll give it a try now.

    • @Marco_Mindstone
      @Marco_Mindstone  Před 6 měsíci

      Thank you very much! Let me know how it will go! ;)

  • @mathieudelobelle9432
    @mathieudelobelle9432 Před 6 měsíci +1

    This is a very nice and efficient demonstration of the capabilities of the plugin thanks

  • @memosky86
    @memosky86 Před 22 dny +1

    Great video Marco!! Simple, straitforward and clearly explained. Gave me a few ideas for my own vault. One question, is there any way to bulk insert the missing fields of a note related to a class ? at 7:01 you did that process manually for each note, but is there a way to do it for a whole lot of them? Thank you! and once again great work!

    • @Marco_Mindstone
      @Marco_Mindstone  Před 22 dny +1

      Hey, Guillermo! Thank you very much!
      You can try with the Metadata Menu option "Insert fileClass fields" under the "FileClass settings" section.
      Cheers!

    • @memosky86
      @memosky86 Před 21 dnem +1

      @@Marco_Mindstone thanks for the information and for taking the time to reply. I'll give it a try!!

  • @AndrewChwalik
    @AndrewChwalik Před 6 měsíci +2

    Awesome video, Marco! Thanks for diving so deep into all these Obsidian topics. I'm working on setting up my vault and all your videos have been super helpful.
    I tried to set this up and got to the part where you input the Dataview Query for the company field so it will auto-populate the companies you have in your vault. Mine are titled Organizations so I tweaked the wording, however, after adding in the query code and going into the field to select an organization record, it says "no results found". Did I do something wrong in the code?
    dv.pages('').where(p => p.fileClass == 'Organizations').filter(p =>
    !p.file.path.includes('Templates')).filter(p =>
    !p.file.path.includes('Classes')).map(p => p.file.link)

    • @Marco_Mindstone
      @Marco_Mindstone  Před 6 měsíci

      Hi @AndrewChwalik and thank you!
      The code is correct and I tested it in a new vault (I copied and pasted the code you wrote in the comment).
      Make sure that your file class is called "Organizations" and make sure that inside the "fileClass" property field in your notes is set to "Organizations". It's a "stupid" and simple check but it's the first things you should check since the code is correct.
      Let me know!

  • @marcorobbe9003
    @marcorobbe9003 Před 5 měsíci +1

    Again a great video. Yes, I would like to see videos with more in depths details.
    And also more about how to make life easy.
    For example: Create a new persons note. From that trigger of a new document in the persons folder (or a document type selection) a popUp appears: Enter name; Enter familyName; then create a file from that information that inclueds the personFileClaas-Tags filled with name and familyName. Maybe as an extra to this automated process also create a second file with additional information like name_familyName_extraInfo. Also in your example you have the people and the company. Is it possible to automatically create backlinks? In the peoples data there should be a field company and in the companys data there should be a field employes. If I add a company to a person ( or maybe add several persons to that company) I would like to see them as employe in the companys document. Also adding a person to the companys employe field should show up in the persons company field.
    Thats how set up my CRM befour in Notion ;-)
    Waiting for some new great videos - thanks

    • @Marco_Mindstone
      @Marco_Mindstone  Před 5 měsíci

      Thank you Marco!
      I am actually working on a CRM Vault Template that I will release as soon as it is ready :)

  • @betagroobox
    @betagroobox Před 4 měsíci +1

    Bella roba 👍

  • @TheBestgoku
    @TheBestgoku Před 5 měsíci +1

    god your tutorials are awesome, can i ask what is that zooming software you are using? and can you also make a video on it too?

    • @Marco_Mindstone
      @Marco_Mindstone  Před 5 měsíci

      Thank you very much!
      The software is called Screen Studio 🙂

  • @Axodus
    @Axodus Před 4 měsíci

    I followed the tutorial and the dataview works but the fields aren't editable in the CRM like shown unless the input already has text in it 11:30

    • @Marco_Mindstone
      @Marco_Mindstone  Před 4 měsíci

      Hi, I tried to replicate the issue you are facing, but for me it's working.
      Did you try to run a "Reload"? To do that open your command palette and search for "Reload app without saving".
      Cheers

  • @diniomar3965
    @diniomar3965 Před 4 měsíci +1

    I like this plugin but i have this one doubt though - Can the whole process of creating the properties be automated? I feel that this is just doing the same thing the templater plugin is doing and with Templater the assigning of the properties is automated. An example of this is when you assign a class type to a note. This is the same as assigning a template. Maybe the only benefit is that you get the ability to modify the properties within the output of the dataview output.

    • @Marco_Mindstone
      @Marco_Mindstone  Před 4 měsíci +2

      Hi Omar. Templater and Metadata Menu work together.
      Tamplater to automatically assign templates to your notes, Metadata Menu to manage properties directly from your tables. This is an example of a template for people notes: ibb.co/JxSkY9v
      Cheers!

    • @diniomar3965
      @diniomar3965 Před 4 měsíci +1

      @@Marco_Mindstone - Ok i got it - So essentially the template will still contain the same fields as defined by the fileClass. Metadata Menu can then be used to edit those properties on files that use that template.

    • @DionV
      @DionV Před 19 dny

      @@Marco_Mindstonewait....so we can add the metadata menu fields in the template that called by Templater?!
      Here I've been spending time trying to get Templater to trigger the "insert missing fields in frontmatter" process (to no avail).
      I'll have to try your template suggestion.

    • @Marco_Mindstone
      @Marco_Mindstone  Před 18 dny

      @@DionV Yes, you can create for example a “Person Template” and add the fileClass “person” to it. Every time you create a new person note and assign the “Person Template” to it, the note will be automatically a “person entity” with all the metadata menu fields that are already inside the template.

  • @tummalatube
    @tummalatube Před 6 měsíci +1

    What is => in dataviewjs? It is similar/close to which programming language?
    Can you make a video on this? Thanks. It is very confusing and not like python, js

    • @Marco_Mindstone
      @Marco_Mindstone  Před 6 měsíci +1

      Hey! The "=>" is a shorthand notation for defining functions in js. The concept can be similar to the lambda functions in python.
      I would like to make tutorials on that, but I am not a programmer/developer. I think you can find better explanations on other CZcams channels about this topic :)

    • @wilsonlamlyt7138
      @wilsonlamlyt7138 Před 6 měsíci

      @@Marco_Mindstone Curious to ask but I've copied the whole code into my vault, but got an error, it said evaluation error: syntax error: Unexpected identifier 'f'
      So is the first two lines in the crm table different for different people?

    • @Marco_Mindstone
      @Marco_Mindstone  Před 6 měsíci

      @@wilsonlamlyt7138 Hi Wilson, can you write here the entire code you wrote? So I can review it

    • @wilsonlamlyt7138
      @wilsonlamlyt7138 Před 6 měsíci

      @@Marco_Mindstone It's the completely same copy of yours, changing the fields to my fields with all the coding checked. I've asked about it in the discord group, and I guess the mdm plugin is starting multiple updates, possibly removing and adding various features.

    • @wilsonlamlyt7138
      @wilsonlamlyt7138 Před 6 měsíci

      @@Marco_Mindstone Here is the script if you might want to see it.
      ```dataviewjs
      const {fieldModifier: f} =
      this.app.plugins.plugins["metadata-menu"].api;
      dv.table(['wanttoshowa', 'wanttoshowb'],
      dv.pages('where do I want to find the notes')
      .where(p => p.fileClass == 'fileClassA')
      .filter(p => !p.file.path.includes('Utilities/Templates'))
      .filter(p => !p.file.path.includes('Utilities/fileClasses'))
      .map(p => [
      p.file.link
      f(dv, p, "fieldb"),
      f(dv, p, "fieldc")
      ])
      )
      ```

  • @mixed4547
    @mixed4547 Před 6 měsíci

    This is not working. I checked my fileClass and its company.
    dv.pages(").where(p => p.fileClass == 'company').filter(p=>!p.file.path.includes('Templates')).filter(p=>!p.file.path.includes('Classes')).map(p => p.file.link)

    • @Marco_Mindstone
      @Marco_Mindstone  Před 6 měsíci

      @mixed4547 Hi, are you sure your company notes have the fileClass property set to "company"? Can you check this? I double checked the code just to be sure and it's correct.

    • @grimgorilla5305
      @grimgorilla5305 Před 2 měsíci

      I am having the same issue. Cannot figure out what I am doing wrong.

    • @Marco_Mindstone
      @Marco_Mindstone  Před 2 měsíci

      @@grimgorilla5305 Hi grim, it's actually working for me. If the fileClass property is set to "company", can you check if the name of the folder where the fileClass files are stored, is named exactly "Classes"?
      If it's still not working, I will need more details and I suggest you to join the discord server where we can go deeper and solve this issue.
      Cheers!

    • @jacksparrow983
      @jacksparrow983 Před 23 dny +2

      It seems that the syntax of dataviewjs has changed now. I changed it to this according to ChatGPT's suggestion: dv.pages()
      .where(p => p.fileClass === 'company')
      .filter(p => !p.file.path.includes('Templates'))
      .filter(p => !p.file.path.includes('Classes'))
      .map(p => p.file.link);