Skip Collins writes: >> > ("n" "Note" entry >> > (file "~/Documents/org/beorg/capture.org") >> > "* %^{note} :note: %(org-set-property \"Created\" >> > (org-time-stamp-inactive '(16)))" :immediate-finish t) >> ... >> This is quite a hacky capture template... > > I'll take that as a compliment. It was not. Your template expansion only works by accident because of internal details of implementation of org-capture-fill-template. In particular, org-time-stamp-inactive not only returns a timestamp, but also _inserts_ it at point (see the screenshot of interim buffer state while expanding your template). The fact that this inserted timestamp gets deleted is simply because (1) org-capture-fill template does not expect the buffer to be changed by other functions; (2) org-capture-fill internally marks %(sexp) with sticky text property and deletes everything marked with that property at the end of expansion; (3) org-time-stamp-inactive respects text property stickiness.