A large part of Org mode’s inter-operability success is its ability to easily export to or import from external applications. The iCalendar export back-end takes calendar data from Org files and exports to the standard iCalendar format.
The iCalendar export back-end can also incorporate TODO entries based on the
configuration of the
org-icalendar-include-todo variable. The
back-end exports plain timestamps as VEVENT, TODO items as VTODO, and also
create events from deadlines that are in non-TODO items. The back-end uses
the deadlines and scheduling dates in Org TODO items for setting the start
and due dates for the iCalendar TODO entry. Consult the
variables for more details.
For tags on the headline, the iCalendar export back-end makes them into
iCalendar categories. To tweak the inheritance of tags and TODO states,
configure the variable
org-icalendar-categories. To assign clock
alarms based on time, configure the
The iCalendar format standard requires globally unique identifier—UID—for
each entry. The iCalendar export back-end creates UIDs during export. To
save a copy of the UID in the Org file set the variable
org-icalendar-store-UID. The back-end looks for the
property of the entry for re-using the same UID for subsequent exports.
Since a single Org entry can result in multiple iCalendar entries—as timestamp, deadline, scheduled item, or TODO item—Org adds prefixes to the UID, depending on which part of the Org entry triggered the creation of the iCalendar entry. Prefixing ensures UIDs remains unique, yet enable synchronization programs trace the connections.
Create iCalendar entries from the current Org buffer and store them in the same directory, using a file extension .ics.
Create iCalendar entries from Org files in
org-agenda-files and store
in a separate iCalendar file for each Org file.
Create a combined iCalendar file from Org files in
and write it to
org-icalendar-combined-agenda-file file name.
The iCalendar export back-end includes
TIMEZONE properties from the Org entries when
exporting. To force the back-end to inherit the
TIMEZONE properties, configure the
When Org entries do not have
LOCATION properties, the iCalendar export back-end derives the summary
from the headline, and derives the description from the body of the Org item.
org-icalendar-include-body variable limits the maximum number of
characters of the content are turned into its description.
TIMEZONE property can be used to specify a per-entry time zone,
and will be applied to any entry with timestamp information. Time zones
should be specified as per the IANA time zone database format, e.g.
“Asia/Almaty”. Alternately, the property value can be “UTC”, to force
UTC time for this entry only.
Exporting to iCalendar format depends in large part on the capabilities of the destination application. Some are more lenient than others. Consult the Org mode FAQ for advice on specific applications.