Hi, I sometimes use appt-add as an alarm clock, as it is described in (info "(emacs) Appointments"). Recently I started using org-agenda-to-appt, and I wanted to update my appointments every time that I call the agenda, something like: #+BEGIN_SRC emacs-lisp (add-hook 'org-agenda-finalize-hook (lambda () (org-agenda-to-appt t))) #+END_SRC But this removes the entries that appt-add has added, in other words it removes my alarms. The attached patch permits that, when refreshing, only appointments that have the text property org-headline set to t are deleted. So it would leave any appointments set by appt-add. I do not know if all the entries that org-agenda-to-appt adds have an org-headline set to t, from my tests it seems like that is the case. The functionality has backward compatibility (uses C-u C-u), but perhaps it would make more sense to use C-u for refreshing only org entries and C-u C-u for refreshing everything, or even never setting appt-time-msg-list to nil from org. If the patch is approved to refresh the appointments after every agenda buffer is built while keeping those appointments added by appt-add, you can do: #+BEGIN_SRC emacs-lisp (add-hook 'org-agenda-finalize-hook (lambda () (org-agenda-to-appt '(16)))) #+END_SRC Best, -- Jorge.