How to Read the ICS File?
ICS files are plain text files that include calendar event details like a description, start and end times, location, organizer etc. The ICS format is typically used to send meeting requests, and is also a popular means for subscribing to holiday or birthday calendars.
The Calendaring and Scheduling Core Object consists of calendaring and scheduling information. This information will consist of single and multiple iCalendar objects sequentially grouped together in a single iCalendar stream. The first and the last line in the stream indicates the beginning and ending of an iCalendar, and is a must to determine that it is an iCalendar file.
The downloaded zip file from the Download Bulk Read Result API call contains the ICS file with all the recurring and non-recurring events that match the criteria you specified while creating the bulk read job.
Below is a sample ICS file when opened in a text editor.
The below table describes the different fields available in the ICS file.
Field | Description |
---|---|
BEGIN:VCALENDAR and END:VCALENDAR | The beginning and ending of the iCalendar. |
PRODID | The identifier of the product that created the iCalendar Object. Example: PRODID:-//Zoho CRM//NONSGML Calendar//EN |
VERSION | The version number used to interpret the iCalendar object. |
X-WR-TIMEZONE | The current user's timezone. |
X-WR-CALNAME | The display name of the calendar. |
METHOD | To define the iCalendar object method. |
CALSCALE | To determine the calendar scale used for the calendar information. |
CALSCALE | To determine the calendar scale. |
UID | The record ID of the event. |
SUMMARY | The Subject of the event. |
DESCRIPTION | A description of the event. |
ORGANIZER | The name of organizer that hosts the particular event. This comprises two attributes—CN (common name or the full name) and mailto (the email ID of the organizer). |
RRULE | Represents that the event is a recurring one and comprises frequency(daily, weekly, monthly, yearly), interval(how often the event recurs), and count(number of times the event recurs). |
DTSTART | Represents the start time of the event. For all-day events, the value is in the format yyyy-mm-dd. For recurring events, the value is in the ISO8601 format with the timezone being the current user's timezone. For non-recurring events, the value is in the ISO8601 format with the GMT timezone. |
DTEND | Represents the end time of the event. For all-day events, the value is in the format yyyy-mm-dd. For recurring events, the value is in the ISO8601 format with the timezone being the current user's timezone. For non-recurring events, the value is in the ISO8601 format with the GMT timezone. |
DTSTAMP | Represents the date and time that the iCalendar object was created. This value is in the ISO8601 format in the GMT timezone. |
RECURRENCE-ID | Represents the unique ID for the break event. It also comprises TZID that represents the current user's country locale and the timezone in the ISO8601 format. |
ATTENDEES | Represents the details of the participants. ROLE - Indicates whether it is mandatory for the participant to attend the event. PARTSTAT - Indicates the status of the participant whether they have accepted the event invitation. Possible values are
mailTo - Participant's email ID. |
EX-DATE | Represents the date(for all-day events) or date/time on which a particular recurring event is deleted. |
LOCATION | Represents the venue where the event will take place. |
CREATED | Represents the date and time(in the GMT timezone) on which the calendar information was created. |
LAST-MODIFIED | Represents the date and time(in the GMT timezone) on which a particular event was modified. |
X-EVENT OWNER | Represents the ID of the user who created the event. |