Start a new topic

Sync Reminder to a file.

Now that we got "Sync Calendar to a file", how far is "Sync Reminder to a file"?


# DOABILITY:

I noticed that beorg already has the ability to fetch the "Reminder" into "Beorg Tasks" (by tabbing Settings>Configure Reminders>Authorize), so is it feasible to implement "Sync Reminder to a file" now?


# USAGE:

This will helps syncing Reminder todos from iOS to OrgMode, just like syncing Calendar events to Org-agenda.


# COMMENT:

Emacs users who bought an iPhone will appreciate this (and will definitely pay for this)!

IMG2966.jpeg
(389 KB)

That is a good idea. I personally use Reminders with my family and would be useful to see listed in Emacs. I've made a note of this to investigate further.


1 person likes this
Good to know. Can’t wait to see this feature in Beorg.

I've just pushed to TestFlight (although awaiting approval) a new beta with a new extension to sync reminders to a file. I hope to have this released as an app update later next week assuming I don't find any issues during testing.

That’s a great news! Thanks for your quick implementation.
Little confused by Reminders functionality.

- I just updated to 3.30.0 and I read through the changelogs.
- I have the extension "Sync Reminders to a File" bought
- I skimmed through both the manual
and user guide but there's no mention of reminders or its usage in either of them.

What is the concept of Reminders in beorg, do I need now some other app now to integrate beorg in order to use reminders?

All I have is reminders-beorg.org with:
# -*- buffer-read-only: t -*-
[2024-11-26 Tue]
This file is managed by beorg. Any changes will like be overwritten.

 Documentation / tutorial would be appreciated.

This extension is to sync Reminders from the Apple Reminders app to a .org file. This is useful if you use Emacs and would like to see your Reminders in the agenda. You can find out more information about extensions in beorg by going to the Settings tab, Extensions Manager and then tapping Info on the extension you would like more information about.


You need to make sure that beorg has access to your Reminders, and that the lists you'd like beorg to access are ticked. To do this go to the Settings tab and scroll down until you see the button Configure Reminders.


If you think the extension doesn't apply to you, you can try and request a refund via Apple. See https://support.apple.com/en-us/118223 for details on how to do this.

Is there a way to customize this functionality to delete reminders from the reminders app after they are pulled into Beorg? I don't really use the reminders app. Just using it's functionality since it makes it easy to capture tasks on the go. But eventually, I want all my tasks to end up in my org files.


I can imagine this may not be a high priority feature. If the underlying elisp files are available, I can edit them myself to do this. 

It certainly would be possible, and not particularly difficult to add. I'm a little wary of beorg updating peoples calendars and reminders automatically however in case something goes wrong and events/reminders go missing. It sounds like the use case here is to make it easier to add this items into beorg. I must at some point look at better support for app intents so that beorg can be used from Shortcuts, which would make building this kind of workflow easier.

New question here, is it possible to change the “Sync to reminder” behavior from one-way ( reminder → beorg ) to bidirectional ( reminder ⇄ beorg ), so that taske marked as done✅ in org file can sync back to the reminder as toggled

I did think about this when implementing the feature, but at the time decided not to support that as it would have required changes to the sync process. To support this beorg would need to:


- Sync

- Compare the state in the reminders file to the reminders themselves

- Update the reminders

- Create/update the reminders file

- Sync again (or at least just the reminders file)


This is possibly something I'll visit again in the future as I also thought it would be cool!

Yes it might add some complexity. But I notice that marking reminder items as DONE inside beorg could sync back to the reminder successfully, wonder what is the mechanism behind this? Did this marking operation ever touch the .org file? or it just sent a signal to the reminder app and then synced from reminder? This feature will/may be cool when you are using Emacs on pc to check the tasks.

When beorg shows Reminders in the agenda or on the tasks tab it is reading those directly via Apple's Reminders API. So when you mark as done beorg is just telling the Reminders API to mark it as done. There isn't any representation of the Reminder in an org file at this point.

Well, then making sync behavior bidirectional would be hard.

Not sure if this is the best place to raise this request, but I'll post it here instead of creating a ticket since the discussion is active and there are lots of great input here. Lmk if you'd like me to make a ticket for it!

Can the synced file "reminders-beorg.org" have a title and a permanent ID?


I use the excellent https://github.com/meedstrom/org-node to organize my notes, because it is designed to work with built in org functionality and not add lots of extra concepts like org-roam does. In essence this means that I work with the default :ID: everywhere, and even use it to open (most) files. However, "reminders-beorg.org" (that's what my synced file is named, don't remember if it's the default) does not have an ID and I can't reliably add an ID to it because it is meant to be read-only. 

In line with using the built-in functionality of org, I rely on the #+title property to name files. I keep trying to open "reminders-beorg.org" by typing a title, but of course there's no title set so I can't find it haha.

Would it be possible to add these two customization variables to the init so I can rely on permanence in the synced reminders file?  The result would be that the top of the file would look something like this: 

# -*- buffer-read-only: t -*-
:PROPERTIES:
:ID:       ca1fcc62-4242-4f4e-91e8-26f984a8233d
:END:
#+title: Reminders

[2025-01-05 Sun]
This file is managed by beorg. Any changes will likely be overwritten. 

 

For example, they could be named something like "org-synced-reminders-id" and "org-synced-reminders-title", so it would be like this in the "beorg-customize-init.org" file: 

 

#+title: Customize settings file

This file has been auto-generated by beorg and should (probably) not be manually modified.

* Settings
#+begin_src scheme
(set! beorg-customized-var-names '("template-allow-spec-in-url-scheme" "beorg-auto-lines-before-headlines" "org-log-into-drawer"))
(set! template-allow-spec-in-url-scheme #t)
(set! beorg-auto-lines-before-headlines #f)
(set! org-log-into-drawer "LOGBOOK")
(set! org-synced-reminders-id "ca1fcc62-4242-4f4e-91e8-26f984a8233d")
(set! org-synced-reminders-title "Reminders")
#+end_src

 
Not super high priority, but would help a lot for papercuts on my end - and improve the integration with built-in org features :D

Login or Signup to post a comment