Titles for meetings notes in denote or org-roam

Hi,

Wondering how users of org roam or denote handle note titles (+filenames) for recording meeting notes.

Most of what I do right now works great: I have a note file per client, and under a Meetings/Calls heading I add a sub-heading that either has text in that same file, or is a denote/org roam link to separate note file. This way I can clock time on the sub-heading for client billing. I add an inactive time stamp so easy to see when the meeting occurred (and searchable)

However, I can end up with lots of similar note titles/filenames e,g. “Check in call with Sam”, “Weekly staff call” etc. etc.

I tend not to search by the note title/filename so this might not really matter, but I’m wondering how people deal with taking meeting/event notes in org roam/denote (I’m moving a lot of my work to denote actually). Are there examples of auto-generating meeting note titles based on time/date with optional description? Am I missing a useful structure/use case?

Thanks.

The method that I’ve found works best for me is to break each set of notes into weeks, where one org file contains the complete notes for my entire week. I use denote for this with a standard filename scheme: week-YYYY-WW__journal_weekly.org.

I have a little command that automates creating these weekly entries, and if one already exists for the current week, opens it for editing.

(defun my-denote--weekly-template ()
  (concat "* Friday"
          "\n\n"
          "* Thursday"
          "\n\n"
          "* Wednesday"
          "\n\n"
          "* Tuesday"
          "\n\n"
          "* Monday"
          "\n\n"
          "* Notes"))

(add-to-list 'denote-templates `(weekly . ,(my-denote--weekly-template)))

(defun my-denote-weekly ()
  "Find or create a weekly journal entry."
  (interactive)
  (let* ((title (concat "week-" (format-time-string "%G-%U" (current-time))))
         (pattern (concat ".*--" title))
         (matches (denote-directory-files-matching-regexp pattern)))
    (if matches
        (find-file (car matches))
      (denote title '("journal" "weekly") 'org nil nil 'weekly))))

The template itself looks something like this:

#+title:      week-2024-33
#+date:       [2024-08-20 Tue 10:23]
#+filetags:   :journal:weekly:
#+identifier: 20240820T102354

* Friday

* Thursday

* Wednesday

* Tuesday

* Monday

* Notes

Where I add particular meeting as subsections for each day.

If I think it’s worth breaking out some notes into an independent section, I’ll create a separate note w/ Denote and add a link to it in my weekly journal.

1 Like

@treeblah I’ve been using something similar but without the template, I just write the daily entries in the journal directory but your approach to grouping them by week seems interesting.

@birchpoplar I gues you could create a meetings directory and organize them creating a file for each week. Then you could tag them or use the signature to add context to the file (and org properties and heading tags for individual items ).

(defun my/denote-week ()
  (interactive )
  "Create a weekly journal entry." 
  (let* (
	 (title (format-time-string
		 "%B %e %Y"))
	 (denote-user-enforced-denote-directory  (concat my-denote-base-directory "/journal/weeks"))
	 (journal-entry (directory-files-recursively
			 (concat my-denote-base-directory "/journal/weeks")
			 (denote-sluggify 'title title  ))))
    (if  journal-entry 
	(find-file (car journal-entry))
      (denote title  nil 'org nil nil nil "week"))))
		    
(defun my/denote-goto-week ()
  (interactive)
  "Find the last week file." 
  (let* ((weeks (denote-directory-files
		 "journal/weeks.*"))
	 (last-week (-last-item weeks)))
    (when last-week
      (find-file last-week))))