Calendar
Stores and manages calendar items such as appointments and meetings. It supports operations to create, retrieve, update, and delete calendar entries, including time, location, subject, and associated metadata.
Table Specific Information
Update and Delete
The provider will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the provider is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
SELECT Recurring Events
When performing a SELECT operation on the Calendar table, the provider will not include individual recurring events by default (only the master item
will be included). Your query will need to include a WHERE clause similar to the following:
SELECT Subject, IsRecurring, Recurrence_StartDate, Recurrence_EndDate, Recurrence_Interval, Recurrence_Type, Recurrence_NumberOfOccurrences, FirstOccurrence_Start FROM Calendar WHERE ItemId = 'myid'If you wish to view the individual recurrences of a recurring event, you'll need to add filters START and END with greaterthan and lessthan operators respectively. The interval between START and END should not be more than 2 years. The API will return atmost 1000 entries for recurring events. Please give the interval between START and END filters accordingly. Your query will need to include a WHERE clause similar to the following:
SELECT * FROM Calendar WHERE start >= '2021-05-11 00:50:59.0' AND end <= '2023-02-28 11:20:30.0'
Columns
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Unique identifier for a calendar item within the Exchange store. This is used to reference the item in queries and operations. This property is read-only and crucial for data integrity. |
| MimeContent | String | True |
Holds the raw Multipurpose Internet Mail Extensions (MIME) content of the calendar item, encoded in Base64. This content includes the full message body and headers, enabling compatibility with external email systems. |
| ItemChangeKey | String | True |
A version-specific identifier used to detect changes to the calendar item. This ensures concurrency control when multiple updates occur. This property is read-only. |
| ParentFolderId | String | False |
Specifies the unique identifier of the folder that contains the calendar item. This is useful for organizing and locating the item within a user's mailbox. This property is read-only. |
| ParentFolderChangeKey | String | True |
Identifies the version of the parent folder containing the item. This is used to track updates or changes to the folder's structure. This property is read-only. |
| ItemClass | String | False |
Indicates the message class of the calendar item, such as IPM.Appointment. This helps Exchange interpret how to process or display the item. |
| Subject | String | False |
Defines the subject or title of the calendar event. This is a short text string visible in calendar views, with a character limit of 255. |
| Sensitivity | String | True |
Specifies the sensitivity setting for the calendar item, such as Normal, Personal, Private, or Confidential. It controls visibility to other users. |
| Body | String | False |
The main content or description of the calendar event. May include meeting details, agenda items, or notes. This can be formatted as plain text or HTML. |
| DateTimeReceived | Datetime | True |
Records the exact date and time the calendar item was received into the mailbox, which is primarily relevant for meeting requests or responses. |
| Size | Integer | True |
Total size of the calendar item in bytes, including all associated properties, attachments, and metadata. This property is read-only. |
| Categories | String | False |
Lists one or more user-defined categories assigned to the calendar item, such as Red Category, Travel, Finance. It supports color-coded organization. |
| Importance | String | False |
Indicates the priority level of the calendar item, such as Low, Normal, or High. It helps users prioritize tasks and meetings. |
| InReplyTo | String | True |
Holds the unique identifier of another item that this calendar item replies to, such as a meeting request. It supports threaded conversations. |
| IsSubmitted | Boolean | True |
True if the calendar item has been sent from the Outbox. This is used to confirm submission of meeting requests or updates. |
| IsDraft | Boolean | True |
True if the calendar item is still in draft form and has not been sent or finalized. Useful for saving work-in-progress meeting details. |
| IsFromMe | Boolean | True |
Indicates whether the current user is both the sender and recipient of the item. This is typically true for personal reminders or self-created events. |
| IsResend | Boolean | True |
True if the calendar item was previously sent and is being sent again. This helps track resubmitted or updated events. |
| IsUnmodified | Boolean | True |
True if the item remains in its original state without any changes since it was received or created. |
| InternetMessageHeaders | String | True |
Contains the complete collection of Internet message headers for the calendar item, providing metadata such as sender IP address, routing information, content encoding, and client application details. Useful for tracing email origins and diagnostics. |
| DateTimeSent | Datetime | True |
Specifies the exact date and time when the calendar item, such as a meeting request or appointment, was sent from the user's mailbox. |
| DateTimeCreated | Datetime | True |
Indicates the timestamp when the calendar item was originally created in the Exchange store, which can differ from the sent or received time. |
| ReminderDueBy | Datetime | False |
Specifies the date and time at which the reminder for this event is scheduled to trigger. This is typically calculated relative to the event's start time. |
| ReminderIsSet | Boolean | False |
Identifies whether a reminder is actively configured for the calendar item. If true, a notification will be shown based on the ReminderMinutesBeforeStart value. |
| ReminderMinutesBeforeStart | Integer | False |
Indicates how many minutes before the event start time the user will receive a reminder notification. This value is user-configurable. |
| DisplayCc | String | True |
Provides a concatenated, comma-separated list of display names of all recipients in the Cc (Carbon Copy) field of the message or meeting invitation. |
| DisplayTo | String | True |
Contains the display names of all primary recipients (To field) as a single, comma-separated string, representing how recipients are shown in the user interface. |
| HasAttachments | Boolean | True |
Indicates whether the calendar item includes any attachments, such as meeting agendas, documents, or images. True if at least one attachment is present. |
| Culture | String | False |
Specifies the culture setting (locale) associated with the item, such as language and regional formatting preferences (for example, en-US, fr-FR). |
| Start | Datetime | False |
Represents the start date and time of the calendar event. This value defines when the event is scheduled to begin. |
| End | Datetime | False |
Represents the end date and time of the calendar event. This value defines when the event is scheduled to conclude. |
| OriginalStart | Datetime | False |
Holds the original start date and time for a calendar event, particularly useful for tracking rescheduled or recurring instances. |
| IsAllDayEvent | Boolean | False |
Indicates whether the calendar item spans the entire day (midnight to midnight) without a specific start or end time. Common for holidays or reminders. |
| LegacyFreeBusyStatus | String | False |
Defines the availability status of the user during the time block occupied by the event. Possible values include Free, Tentative, Busy, Out of Office. |
| Location | String | False |
Provides the physical or virtual location where the event is set to occur. This could be a meeting room, address, or an online meeting link. |
| When | String | False |
Returns a user-friendly string that describes when the event is scheduled (for example, Monday, March 3, 2025 at 2:00 PM – 3:00 PM). This is typically used for display purposes. |
| IsMeeting | Boolean | False |
Indicates whether the calendar item is a meeting involving multiple attendees or a personal appointment with only the organizer. |
| IsCancelled | Boolean | False |
True if the meeting or appointment has been cancelled by the organizer or system. This helps inform invitees or prevent further actions. |
| IsRecurring | Boolean | True |
Identifies whether the item is part of a recurring series of events. This flag is system-managed and cannot be manually altered. |
| MeetingRequestWasSent | Boolean | True |
Shows whether a meeting invitation has been dispatched to the intended recipients from the organizer's mailbox. |
| IsResponseRequested | Boolean | True |
Indicates whether the meeting organizer has requested attendees to respond (Accept, Decline, Tentative) to the invitation. |
| CalendarItemType | String | True |
Indicates the category of the calendar item, such as a single appointment, recurring meeting, or exception to a recurring series. Helps clients interpret how the item behaves in the calendar workflow. |
| MyResponseType | String | False |
Captures the attendee's current response to the calendar invitation, such as Accepted, Declined, Tentative, or NotResponded. Useful for tracking attendee availability and meeting status. |
| OrganizerName | String | False |
Stores the display name of the meeting organizer, typically a user or service account that scheduled the calendar item. |
| OrganizerEmailAddress | String | False |
Contains the SMTP email address of the calendar item organizer. Used to identify the originator of the meeting request or appointment. |
| OrganizerRoutingType | String | False |
Defines the protocol used to route messages to the organizer's mailbox, such as SMTP or EX. Important for mail transport and calendar federation. |
| ConflictingMeetingCount | Integer | True |
Specifies the total number of other meetings that overlap in time with this calendar item. Useful for scheduling assistants and availability conflict detection. |
| AdjacentMeetingCount | Integer | True |
Specifies the number of calendar items scheduled immediately before or after the current item without overlapping. Often used in UI calendar layout calculations or scheduling suggestions. |
| Duration | String | True |
Represents the total time span of the calendar item in a textual format, such as 'PT1H30M' (1 hour and 30 minutes). |
| TimeZone | String | True |
Provides a descriptive label for the time zone in which the calendar item is scheduled, such as 'Pacific Standard Time' or 'UTC'. |
| AppointmentReplyTime | Datetime | False |
Captures the exact date and time when the attendee responded to a meeting request. Used for auditing response history and tracking changes in participation. |
| AppointmentSequenceNumber | String | False |
Tracks the versioning of an appointment, where each update to the calendar item increments the sequence. Ensures clients display the most recent version of a recurring event. |
| AppointmentState | String | True |
Represents the current lifecycle state of the appointment, such as 'Scheduled', 'Cancelled', or 'Updated'. Helps synchronize item status across clients. |
| Recurrence_Type | String | False |
Defines the pattern of recurrence for a calendar item, such as Daily, Weekly, Monthly, or Yearly. Drives how the item is repeated in the calendar. The allowed values are RelativeYearlyRecurrence, AbsoluteYearlyRecurrence, RelativeMonthlyRecurrence, AbsoluteMonthlyRecurrence, WeeklyRecurrence, DailyRecurrence. |
| Recurrence_DaysOfWeek | String | False |
Lists the days of the week on which a recurring item occurs. Common values include Monday,Wednesday,Friday or Tuesday,Thursday. |
| Recurrence_DayOfWeekIndex | String | False |
Indicates the position of a specific weekday within a month for relative recurrence patterns, such as First, Second, Third, or Last. The allowed values are First, Second, Third, Fourth, Last. |
| Recurrence_Month | String | False |
Specifies the calendar month in which a yearly recurring item occurs, such as January or December. |
| Recurrence_DayOfMonth | Integer | False |
Indicates the specific day within the month on which the recurring item occurs, such as 15 for the 15th day of each month. |
| Recurrence_Interval | Integer | False |
Specifies the number of time units between recurring occurrences. For example, an interval of 2 with a Weekly type means the event repeats every 2 weeks. |
| Recurrence_FirstDayOfWeek | String | False |
Indicates the starting day of the week for the recurrence pattern. This affects how weekly patterns are calculated and displayed. |
| Recurrence_Duration | String | False |
Specifies how long the recurrence pattern should continue, such as 'Indefinite', 'Fixed number of occurrences', or 'Until end date'. The allowed values are NoEndRecurrence, EndDateRecurrence, NumberedRecurrence. |
| Recurrence_StartDate | Date | False |
The date when the recurrence pattern begins. This is the first occurrence of the recurring calendar item. |
| Recurrence_EndDate | Date | False |
The date when the recurrence pattern ends. No further occurrences are scheduled beyond this date. |
| Recurrence_NumberOfOccurrences | Integer | False |
Specifies the total number of instances for a recurring calendar event. This helps determine the span or extent of a recurrence pattern. |
| FirstOccurrence_ItemId | String | False |
Unique identifier for the first occurrence in a recurring calendar series. Used to retrieve or manage the first event instance. |
| FirstOccurrence_Start | Datetime | False |
Start time of the first occurrence in a recurring calendar series, expressed in the appropriate time zone and format. |
| FirstOccurrence_End | Datetime | False |
End time of the first occurrence in a recurring calendar series. Used for duration and scheduling calculations. |
| FirstOccurrence_OriginalStart | Datetime | False |
Original scheduled start time of the first occurrence in a recurring series, before any modifications. |
| LastOccurrence_ItemId | String | False |
Unique identifier for the final occurrence in a recurring calendar series. Useful when navigating or modifying the end of the recurrence. |
| LastOccurrence_Start | Datetime | False |
Start time of the final scheduled occurrence in a recurring calendar event. Used to assess the duration and conclusion of the series. |
| LastOccurrence_End | Datetime | False |
End time of the final occurrence in a recurring calendar event, factoring in any applied recurrence rules. |
| LastOccurrence_OriginalStart | Datetime | False |
Original start time of the final occurrence in a recurring series, before any changes or overrides were made. |
| ModifiedOccurrences_Aggregate | String | True |
A semicolon-separated list representing modified occurrences in the recurring event series. Each entry includes data like start time, end time, or changes made to a specific instance. |
| DeletedOccurrences_Aggregate | String | True |
A semicolon-separated list of deleted occurrences in a recurring series. This is used to track and differentiate removed instances from the original recurrence pattern. |
| StartTimeZone_Id | String | True |
Identifier that maps to the time zone definition used for interpreting the start time of the event. Supports accurate time alignment across regions. |
| StartTimeZone_Name | String | True |
Descriptive name of the time zone associated with the event's start time, such as 'Pacific Standard Time' or 'UTC+01:00'. |
| EndTimeZone_Id | String | True |
Identifier for the time zone used to compute the event's end time. Ensures correct display and calculation of event duration. |
| EndTimeZone_Name | String | True |
Descriptive name of the time zone used for the event's end time, such as 'Eastern Standard Time'. |
| ConferenceType | Integer | False |
Specifies the type of conferencing associated with the meeting. Values include 0 = NetMeeting, 1 = NetShow, 2 = Chat. Helps determine the nature of collaboration tools used. |
| AllowNewTimeProposal | Boolean | False |
Indicates whether attendees can propose a new time for the meeting, allowing more flexible scheduling options for organizers and participants. |
| IsOnlineMeeting | Boolean | False |
Flags whether the meeting is designated as an online meeting, enabling remote participation features such as video conferencing or chat. |
| MeetingWorkspaceUrl | String | False |
Contains the full URL to the meeting workspace where additional resources, documents, or agendas related to the meeting can be accessed. |
| NetShowUrl | String | False |
URL for a Microsoft NetShow session associated with the meeting, providing access to multimedia presentations or streaming content. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the connected client has permission to create items in the associated contents table for the calendar item, often relevant for metadata or linked objects. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the user has permission to create new items within a folder's contents, such as messages or calendar entries. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether the user has permission to create subfolders or organize content hierarchically within the folder. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether the user has permission to delete the specified folder or item within the Exchange store. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether the user has permission to modify the properties or content of the specified folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the user has permission to read the contents or metadata of the specified folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether the user is allowed to view items marked as private within the folder, such as private appointments or emails. |
| LastModifiedName | String | True |
Stores the display name of the user who last modified the item, providing traceability for auditing or collaboration purposes. |
| LastModifiedTime | Datetime | True |
Indicates the timestamp of the last modification made to the item, reflecting the most recent update activity. |
| IsAssociated | Boolean | False |
Specifies whether the item is associated with a folder as a non-visible system item, such as a rule or view configuration. |
| WebClientReadFormQueryString | String | True |
Represents the query string to append to the Outlook Web App base URL to open the item in read mode via a web client. |
| WebClientEditFormQueryString | String | True |
Represents the query string to append to the Outlook Web App base URL to open the item in edit mode via a web client. |
| ConversationId | String | True |
Contains the unique identifier of the conversation to which the item belongs, used to group related messages or calendar events. |
| ConversationChangeKey | String | True |
Contains the change key used to track updates to the conversation, supporting concurrency and version control. |
| UniqueBody | String | True |
Provides the portion of the message body that is unique to this item, excluding duplicated text from previous messages in the conversation. |
| UniqueBodyType | String | True |
Indicates the format of the unique body content, with supported values being HTML or TEXT. |
Pseudo-Columns
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| ImpersonationUser | String |
Specifies the identifier of the user to impersonate when accessing Exchange data, enabling delegated access scenarios. |
| ImpersonationType | String |
Defines the type of identifier used to specify the impersonated user. Supported values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SendMeetingInvitations | String |
Specifies how meeting invitations are sent for a calendar operation. Valid values are SendToNone, SendOnlyToAll, and SendToAllAndSaveCopy. Default is SendToNone. |
| SendCancellationsMode | String |
Specifies how meeting cancellations are distributed when a calendar item is deleted or changed. Allowed values: SendToNone, SendOnlyToAll, SendToAllAndSaveCopy. Default is SendToNone. |
| SharedMailboxEmail | String |
Contains the email address of the shared mailbox to retrieve calendar events from. Useful when accessing calendars that belong to shared or departmental mailboxes. |