this kind of does what you want:

#+BEGIN_SRC emacs-lisp
(require 'org-id)

(add-hook 'org-insert-heading-hook
      #'(lambda ()
          (org-entry-put (point) "UUID" (org-id-uuid))))         
#+END_SRC

at least it works if you use the menu to insert a new heading. it does not work if you type the heading by hand.

org-insert-heading-hook

you can probably write a little function that sets a uuid property.


John

-----------------------------------
John Kitchin
Associate Professor
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
http://kitchingroup.cheme.cmu.edu



On Sun, Apr 6, 2014 at 2:21 PM, Esben Stien <b0ef@esben-stien.name> wrote:
I'm using the following to have a CREATED field in the PROPERTIES field
of a TODO:

;; advice org-insert-todo-heading to insert a created timestamp using org-expiry
(defadvice org-insert-todo-heading (after mrb/created-timestamp-advice activate)
  "Insert a CREATED property using org-expiry.el for TODO entries"
  (mrb/insert-created-timestamp)
)
(ad-activate 'org-insert-todo-heading)

So, I get:

**** TODO
     :PROPERTIES:
     :CREATED:  [2014-04-06 sø. 20:11]
     :END:

Is there any way to insert a UUID as well?, like:

**** TODO
     :PROPERTIES:
     :CREATED:  [2014-04-06 sø. 20:11]
     :UUID: 70f273b5-8bce-315f-6f31-6d9ec9a8b739
     :END:

Any pointers as to how I can achieve this?

--
Esben Stien is b0ef@e     s      a
         http://www. s     t    n m
          irc://irc.  b  -  i  .   e/%23contact
           sip:b0ef@   e     e
           jid:b0ef@    n     n