Some people use Org mode for keeping track of projects, but still prefer a
standard calendar application for anniversaries and appointments. In this
case it can be useful to show deadlines and other time-stamped items in Org
files in the calendar application. Org mode can export calendar information
in the standard iCalendar format. If you also want to have TODO entries
included in the export, configure the variable
org-icalendar-include-todo. Plain timestamps are exported as VEVENT,
and TODO items as VTODO. It will also create events from deadlines that are
in non-TODO items. Deadlines and scheduling dates in TODO items will be used
to set the start and due dates for the TODO entry1.
As categories, it will use the tags locally defined in the heading, and the
file/tree category2. See the variable
org-icalendar-alarm-time for a way to assign alarms to entries with a
The iCalendar standard requires each entry to have a globally unique
identifier (UID). Org creates these identifiers during export. If you set
org-icalendar-store-UID, the UID will be stored in the
:ID: property of the entry and re-used next time you report this
entry. Since a single entry can give rise to multiple iCalendar entries (as
a timestamp, a deadline, a scheduled item, and as a TODO item), Org adds
prefixes to the UID, depending on what triggered the inclusion of the entry.
In this way the UID remains unique, but a synchronization program can still
figure out from which entry all the different instances originate.
org-agenda-files. For each of these files, a separate iCalendar file will be written.
org-agenda-filesand write it to the file given by
The export will honor SUMMARY, DESCRIPTION and LOCATION3 properties if the selected
entries have them. If not, the summary will be derived from the headline,
and the description from the body (limited to
How this calendar is best read and updated, depends on the application you are using. The FAQ covers this issue.
 See the variables
 To add inherited tags or the TODO state,
configure the variable
 The LOCATION
property can be inherited from higher in the hierarchy if you configure