CLOSED: [2025-11-24 Mon 19:14] :PROPERTIES: :CREATED: [2025-11-24 Mon 18:32] :ID: 2025-11-24-my-visit-upcoming-meetings :END: :LOGBOOK: - State "DONE" from "STARTED" [2025-11-24 Mon 19:14] :END: This is an article from a series of blog postings. Please do read [[id:2019-09-25-using-orgmode][my "Using Org Mode Features" (UOMF) series page]] for explanations on articles of this series. Here's a neat trick that might be handy for some of us. Imagine, you'd like to add something to your upcoming meetings. Since you've got lots of weekly meetings, this task would be tedious to do. It's not that easy to explain so let me try it using an example from my personal work life. --------- I do have a large Orgdown file with my business data. Let me give you an example of a heading hierarchy but in form of a list: - Notes - Knowledge Base - ... - Weekly meetings (with body:) - Here is a manually curated overview of my weekly meetings: - id:2025-03-02-wkl-X - id:2025-09-10-Y-wkly - id:2025-07-13-A-meetings - Projects - Project X - Weekly coordination for Foobar (= id:2025-03-02-wkl-X) - [...] - [2025-11-19 Wed 09:00-10:00] Foobar A - [2025-11-26 Wed 09:00-10:00] Foobar A - [2025-12-03 Wed 09:00-10:00] Foobar A - [...] - Project Y - Business plannings - Business plannings 2025 (= id:2025-09-10-Y-wkly) - [...] - [2025-11-18 Tue 11:00-12:00] Business Planning - [2025-11-25 Tue 11:00-12:00] Business Planning - [2025-12-02 Tue 11:00-12:00] Business Planning - [...] - ... - Customers - Customer A - Customer A Weekly Meetings - 2025 (= id:2025-07-13-A-meetings) - [...] - [2025-11-20 Thu 10:00-11:00] Weekly A - [2025-11-27 Thu 10:00-11:00] Weekly A - [2025-12-04 Thu 10:00-11:00] Weekly A - [...] You can see that I'm creating headings for each meeting instance according to [[id:2017-01-15-org-clone-subtree-with-time-shift][this article of mine]]. This makes my life much easier than using recurring time-stamps. So now let's assume I do have the requirement to mention some important stuff in each of my weekly meetings. For example, I want to mention the new support hotline number that we will switch to in a couple of weeks. It's tedious to search for each meeting sub-hierarchy, go to the relevant sub-headings and add a list item with a checkbox in order to remember that agenda point for the meeting. What I do instead is: 1. I usually have a task heading like "TODO inform all teams about the new support number". 2. I then jump to my manually curated list of weekly meeting sub-hierarchies "Weekly meetings". - I do like to maintain this list as an overview as I do have many meetings. 3. I mark the lines containing relevant meetings in a region. 4. I now invoke the interactive function =my-visit-upcoming-meetings=. 5. I go back to my task heading "TODO inform all teams about the new support number". 6. I yank (paste) the content of my [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Ring.html][kill-ring]]. Assume the current day is 2025-11-24. What gets inserted is a heading like: Upcoming meetings: - [2025-11-26 Wed 09:00-10:00] Foobar A - [2025-11-25 Tue 11:00-12:00] Business Planning - [2025-11-27 Thu 10:00-11:00] Weekly A ... each linked with their corresponding meeting instance heading! The function is jumping to the sub-hierarchies, looks for headings that do have time-stamps and fetches the ID property of the first one that is not in the past. For this, the order of the heading according to time is crucial, of course. (If you do have issues with that, you might be interested in looking at =org-sort-entries=.) So within the "I need to inform my teams about..."-task, I now get a list of the next upcoming meeting instances where this topic may be discussed. I may now jump to each meeting instance, add my notes/checkboxes and maybe also add an ID-link back to the task. How cool is that? You will find the most current source for that [[https://github.com/novoid/dot-emacs/blob/master/config.org][in my Emacs config file]]. Please note that =my-visit-upcoming-meetings= has a dependency on =my-id-get-or-generate= which handles human-readable heading IDs.