There are times I am given a list of names of people that I need to schedule appointments for in our organization. The names are typically given first, and then details come later.

I would like to create a capture buffer where I can quickly capture the names line by line, and then process the list of names with the types of appointments that need to be created. Is there a way to do this in org-mode?

Example workflow:

  1. Create a capture buffer for capturing a vector of appointments:

    C-c c a v
  2. Enter the following list into the capture buffer:

    John Deere
    Adam Smith
    Jane Doe 
  3. Execute function to pre-process buffer into the following format before saving to target:

    * John Deere
    ** NEXT Schedule appointment for John Deere to meet with board of directors
      SCHEDULED: <2000-01-01>
    ** TODO Add John Deere to Board of Directors agenda
    * Adam Smith
    ** NEXT Schedule appointment for Adam Smith to meet with Mr. Robins
       SCHEDULED: <2000-01-01>
    ** TODO Add Adam Smith to Mr. Robins' calendar
    ** TODO Verify meeting with Adam Smith and Mr. Robins occurred
    * Jane Doe
    ** NEXT Schedule appointment for Jane Doe to meet with board of directors
       SCHEDULED: <2000-01-01>
    ** TODO Add Jane Doe to Board of Directors agenda

1 Answer 1


You are looking for org-capture-before-finalize-hook.

(defcustom org-capture-before-finalize-hook nil
  "Hook that is run right before a capture process is finalized.
The capture buffer is still current when this hook runs and it is
widened to the entire buffer."
  :group 'org-capture
  :version "24.1"
  :type 'hook)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.