This is an article from a series of blog postings. Please do read 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
- Here is a manually curated overview of my weekly meetings:
- Knowledge Base
- 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
- […]
- Weekly coordination for Foobar (= id:2025-03-02-wkl-X)
- 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
- […]
- Business plannings 2025 (= id:2025-09-10-Y-wkly)
- Business plannings
- …
- Project X
- 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
- […]
- 2025 (= id:2025-07-13-A-meetings)
- Customer A Weekly Meetings
- Customer A
You can see that I'm creating headings for each meeting instance according to 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:
- I usually have a task heading like "TODO inform all teams about the new support number".
- 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.
- I mark the lines containing relevant meetings in a region.
- I now invoke the interactive function
my-visit-upcoming-meetings. - I go back to my task heading "TODO inform all teams about the new support number".
- I yank (paste) the content of my 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 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.