CData Cloud offers access to Microsoft Exchange across several standard services and protocols, in a cloud-hosted solution. Any application that can connect to a SQL Server database can connect to Microsoft Exchange through CData Cloud.
CData Cloud allows you to standardize and configure connections to Microsoft Exchange as though it were any other OData endpoint or standard SQL Server.
This page provides a guide to Establishing a Connection to Microsoft Exchange in CData Cloud, as well as information on the available resources, and a reference to the available connection properties.
Establishing a Connection shows how to authenticate to Microsoft Exchange and configure any necessary connection properties to create a database in CData Cloud
Accessing data from Microsoft Exchange through the available standard services and CData Cloud administration is documented in further details in the CData Cloud Documentation.
Connect to Microsoft Exchange by selecting the corresponding icon in the Database tab. Required properties are listed under Settings. The Advanced tab lists connection properties that are not typically required.
There are two schemas available for connecting to Exchange:
For a look at the data model for each of these schemas, see Data Model
To switch between Microsoft Graph and EWS, set Schema to either MSGraph or EWS (deprecated).
Exchange Online users who still want to use EWS should set Schema to EWS and the Platform to Exchange_Online.
If you are connecting to Exchange Online platform through EWS, set AuthScheme to AzureAD, AzureServicePrincipal, or AzureMSI.
If you connect to Exchange Online through Microsoft Graph, set Schema to MSGraph.
Note: Microsoft has rebranded Azure AD as Entra ID. In topics that require the user to interact with the Entra ID Admin site, we use the same names Microsoft does. However, there are still CData connection properties whose names or values reference "Azure AD".
Microsoft Entra ID is a multi-tenant, cloud-based identity and access management platform. It supports OAuth-based authentication flows that enable the driver to access Microsoft Exchange endpoints securely.
Authentication to Entra ID via a web application always requires that you first create and register a custom OAuth application. This enables your application to define its own redirect URI, manage credential scope, and comply with organization-specific security policies.
For full instructions on how to create and register a custom OAuth application, see Creating an Entra ID (Azure AD) Application.
After setting AuthScheme to AzureAD, the steps to authenticate vary, depending on the environment. For details on how to connect from desktop applications, web-based workflows, or headless systems, see the following sections.
Note: Microsoft has rebranded Azure AD as Entra ID. In topics that require the user to interact with the Entra ID Admin site, we use the same names Microsoft does. However, there are still CData connection properties whose names or values reference "Azure AD".
Azure Service Principal is role-based application-based authentication. This means that authentication is done per application, rather than per user.
All tasks taken on by the application are executed without a default user context, but based on the assigned roles.
The application access to the resources is controlled through the assigned roles' permissions.
For information about how to set up Azure Service Principal authentication, see Creating a Service Principal App in Entra ID (Azure AD).
If you are running Microsoft Exchange on an Azure VM and want to automatically obtain Managed Service Identity (MSI) credentials to connect, set AuthScheme to AzureMSI.
If your VM has multiple user-assigned managed identities, you must also specify OAuthClientId.
The CData Cloud can be used to perform administrative tasks with MSGraph Schema. This can be done by specifying the UserId column to execute CUD operations.
Many tables expose a special UserId column. This is designed to be used by an administrator to modify records on another user's account. If
you are not an administrator or do not desire this behavior, do not specify the UserId when performing an INSERT / UPDATE / DELETE operation.
For instance, executing the following will insert a contact for another user:
INSERT INTO Contacts (displayName, CompanyName, UserId) VALUES ('Bill', 'Bob Co', '12345')
The above request will have the overall effect of attempting to add a contact under the resource at /users/12345/contacts. When UserId is not specified, the resources affected will instead be modified under /users/me/contacts. In general if you are not an administrator, you can only affect or view records under /users/me, so it is not recommended to set UserId when you are not an admin.
Note: Specifying UserId in conjunction with an 'OR' operator of any given query is not supported. As an alternative you can use 'UNION' to retrieve the same result set.
Note: The following describes the behavior when Schema is set to EWS. It has no impact on MSGraph.
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE Surname='Smith'
If you wish to request the contents of a message or more information about a contact or calendar event, you will need to set IncludeContent to TRUE, specify the ItemIds of the items, or limit your results to a single item. For example:
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE ItemId='AZQ111222...'OR
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE ItemdId IN ('AZQ111222...', 'AZQ111223...', 'AZQ111224...', 'AZQ111225...')
OR
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE Surname='Smith' LIMIT 1
Finding the FolderId of a subfolder of the Inbox:
SELECT DisplayName, FolderId FROM InboxFinding the FolderId of a Custom Folder that contains Contacts:
SELECT DisplayName, FolderId FROM Contacts WHERE ParentFolderName='publicfoldersroot'
If your public folder is nested, you may need to do a separate SELECT query on the parent custom folder:
SELECT DisplayName, FolderId FROM Contacts WHERE ParentFolderId='AAEuAAAAAAAa...'
Inserting into a subfolder of the Inbox:
INSERT INTO Inbox (Subject, FromEmailAddress, ToRecipients_EmailAddress, ParentFolderId) VALUES ('New email message', '[email protected]', '[email protected]', 'AAEuAAAAAAAa...')
Inserting into a Public Folder that contains Contacts:
INSERT INTO Contacts (GivenName, Surname, EmailAddress1, ParentFolderId) VALUES ('Jill', 'Smith', '[email protected]', 'AAEuAAAAAAAa...')
Updating a Message item in a custom folder:
UPDATE Inbox SET Subject = 'Updated email message' WHERE ItemID = 'AZQ111222...')Deleting a Contact item from a Public Folder:
DELETE FROM Contacts WHERE ItemID = 'AZQ111222...')
This authentication method is typically used by administrators to configure access by a service account.
To impersonate all requests, set the following connection properties at connection time.
To impersonate a user for an individual query, use the pseudo columns of the same name.
By default, the Cloud attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
To specify another certificate, see the SSLServerCert connection property.
To authenticate to an HTTP proxy, set the following:
Set the following properties:
The CData Cloud models Microsoft Exchange data as an easy-to-use SQL database, using tables, views, and stored procedures.
The driver exposes two schemas:
The data models illustrate an example of what your Microsoft Exchange environment might look like. The actual data model is obtained dynamically based on your Microsoft Exchange account.
The CData Cloud models Microsoft Exchange data as an easy-to-use SQL database, using tables, views, and stored procedures. These are defined in schema files, which are simple, easy-to-read text files that define the structure and organization of data. The Cloud uses the Microsoft Exchange API to process supported filters. The Cloud processes other filters client-side within the Cloud.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Microsoft Exchange account.
The following tables and views are shipped with the Cloud:
| Table | Description |
| Calendar | Stores and manages calendar items such as appointments and meetings. It supports operations to create, retrieve, update, and delete (CRUD) calendar entries, including time, location, subject, and associated metadata. |
| Calendar_OptionalAttendees | Captures information about optional attendees for scheduled calendar events. It requires an associated item Id to retrieve attendees linked to a specific meeting or appointment. |
| Calendar_RequiredAttendees | Stores data on required attendees for calendar events. The queries must specify an item Id to identify the associated meeting and its required participants. |
| Contacts | Maintains contact information including names, email addresses, phone numbers, and job titles. It supports full CRUD operations for managing a user's personal or shared address book. |
| DeletedItems | Represents items moved to the Deleted Items folder, including messages, calendar events, and tasks. It allows recovery, permanent deletion, or inspection of deleted content. |
| Drafts | Holds unsent email drafts. This enables operations to create new drafts, update draft content, delete drafts, or retrieve draft messages for review or sending. |
| Folders | Manages user-defined and system folders such as Inbox, Sent Items, and custom folders. It supports folder hierarchy operations like creation, deletion, and renaming. |
| Inbox | Contains received email messages directed to the user's inbox. It allows access to individual messages with full CRUD capabilities for inbox content management. |
| Outbox | Temporarily stores outgoing email messages pending delivery. The items in this table can be created, reviewed, or deleted before transmission is completed. |
| SentItems | Archives sent email messages for auditing and retrieval. It allows querying and management of previously sent emails. |
| Tasks | Maintains a list of tasks, including due dates, completion status, priorities, and reminders. It supports full task lifecycle management through CRUD operations. |
| Calendar_ModifiedOccurrences | Provides a filtered view of calendar items that have had their occurrences modified, such as rescheduled or updated recurring meetings. This is useful for tracking changes in recurring events over time. |
Stored Procedures are SQL scripts that extend beyond standard CRUD operations. They enable advanced operations such as sending emails, managing attachments, and handling OAuth authentication flows.
The Cloud models the data in Microsoft Exchange as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| 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. |
| Calendar_OptionalAttendees | Captures information about optional attendees for scheduled calendar events. It requires an associated item Id to retrieve attendees linked to a specific meeting or appointment. |
| Calendar_RequiredAttendees | Stores data on required attendees for calendar events. The queries must specify an item Id to identify the associated meeting and its required participants. |
| Contacts | Maintains contact information including names, email addresses, phone numbers, and job titles. It supports full Create, Read, Update, and Delete (CRUD) operations for managing a user's personal or shared address book. |
| DeletedItems | Represents items moved to the Deleted Items folder, including messages, calendar events, and tasks. It allows recovery, permanent deletion, or inspection of deleted content. |
| Drafts | Holds unsent email drafts. This enables operations to create new drafts, update draft content, delete drafts, or retrieve draft messages for review or sending. |
| Folders | Manages user-defined and system folders such as Inbox, Sent Items, and custom folders. It supports folder hierarchy operations like creation, deletion, and renaming. |
| Inbox | Contains received email messages directed to the user's inbox. It allows access to individual messages with full Create, Read, Update, and Delete (CRUD) capabilities for inbox content management. |
| JunkEmail | Tracks email items flagged as spam or junk. It facilitates review, removal, or retrieval of misclassified messages. |
| Outbox | Temporarily stores outgoing email messages pending delivery. The items in this table can be created, reviewed, or deleted before transmission is completed. |
| SentItems | Archives sent email messages for auditing and retrieval. It allows querying and management of previously sent emails. |
| Tasks | Maintains a list of tasks, including due dates, completion status, priorities, and reminders. It supports full task lifecycle management through CRUD operations. |
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.
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
When performing a SELECT operation on the Calendar table, the Cloud 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'
| 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 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. |
Captures information about optional attendees for scheduled calendar events. It requires an associated item Id to retrieve attendees linked to a specific meeting or appointment.
The Cloud uses the EWS API to process WHERE clause conditions for this table.
Note: ItemId must be included in the WHERE clause to retrieve any data from the Calendar_OptionalAttendees table. This filter is required by the API and is evaluated server-side.
The following is an example query:
SELECT * FROM Calendar_OptionalAttendees WHERE ItemId = 'item-id'
To add an optional attendee to a calendar event, provide values for the required fields:
The following is an example INSERT statement:
INSERT INTO Calendar_OptionalAttendees (EmailAddress, ItemId, SendMeetingInvitations) VALUES ('[email protected]', 'itemid', 'SendOnlyToChanged')
| Name | Type | ReadOnly | Description |
| EmailAddress [KEY] | String | False |
The email address of the optional attendee being added to the calendar event. This must be a valid SMTP address recognized by the Exchange system. |
| ItemId [KEY] | String | False |
A unique identifier referencing the calendar item to which the optional attendee is being added. This ID ensures the attendee is linked to the correct event. |
| Name | String | False |
The display name of the optional attendee. This name is typically shown in the attendee list for the event. |
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 user account to impersonate when performing the operation. This is required for delegated access scenarios where actions are taken on behalf of another user. |
| ImpersonationType | String |
Defines the format of the impersonation identifier. Supported values are PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. This determines how the target user is resolved during impersonation. |
| SendMeetingInvitations | String |
Controls the behavior for sending meeting invitations after modifying attendees. Valid options are SendToNone, SendOnlyToAll, SendOnlyToChanged, and SendToAllAndSaveCopy. The default behavior is SendToNone, meaning no invitations will be sent unless specified. |
Stores data on required attendees for calendar events. The queries must specify an item Id to identify the associated meeting and its required participants.
The Cloud uses the EWS API to process WHERE clause conditions for this table.
Note: ItemId must be included in the WHERE clause to retrieve any data from the Calendar_RequiredAttendees table. This filter is required by the API and is evaluated server-side.
The following is an example query:
SELECT * FROM Calendar_RequiredAttendees WHERE ItemId = 'item-id'
To add a required attendee to a calendar event, provide values for the required fields:
The following is an example INSERT statement:
INSERT INTO Calendar_RequiredAttendees (EmailAddress, ItemId, SendMeetingInvitations) VALUES ('[email protected]', 'itemid', 'SendOnlyToChanged')
| Name | Type | ReadOnly | Description |
| EmailAddress [KEY] | String | False |
Specifies the email address of a required attendee for the calendar event. This address is used to send meeting invitations and track responses. |
| ItemId | String | False |
Represents the unique identifier of the calendar item (such as a meeting or appointment) to which the required attendee is being added. |
| Name | String | False |
Displays the display name of the required attendee as it appears in the calendar item or contact list. |
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 account to impersonate during the request. This allows actions to be performed on behalf of another user. |
| ImpersonationType | String |
Indicates the type of identifier used for impersonation. Accepted values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SendMeetingInvitations | String |
Determines how meeting invitations are handled after the calendar event is created or modified. Possible values include SendToNone, SendOnlyToAll, SendOnlyToChanged, and SendToAllAndSaveCopy. The default behavior is SendToNone. |
Maintains contact information including names, email addresses, phone numbers, and job titles. It supports full Create, Read, Update, and Delete (CRUD) operations for managing a user's personal or shared address book.
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Provides the unique identifier assigned by the Exchange store to a contact item. This value is required to retrieve or reference the contact and is immutable and read-only. |
| MimeContent | String | True |
Contains the raw content of the contact item in Multipurpose Internet Mail Extensions (MIME) format, encoded as Base64. This field is used for interoperability with external systems that handle MIME-based message representations. |
| ItemChangeKey | String | True |
Specifies a unique version identifier for the contact item. This key updates whenever the item is modified and helps to manage concurrency and track changes. It is read-only. |
| ParentFolderId | String | False |
Identifies the folder in which the contact is stored. This ID is unique within the Exchange store and is used to trace the contact's hierarchy. It is read-only and primarily used for organizational queries. |
| ParentFolderChangeKey | String | True |
Stores the unique change key for the folder containing the contact. This value updates when the folder is modified and is used to detect structural or content changes within the folder. It is read-only. |
| ItemClass | String | False |
Indicates the type of the item based on Exchange classification. For contact items, this is typically set to 'IPM.Contact', but can vary if custom message classes are used. |
| Subject | String | False |
Provides a short text summary or label for the contact item, often used as the display name or quick reference. The subject can contain up to 255 characters and is commonly visible in UI listings. |
| Sensitivity | String | True |
Represents the sensitivity classification of the contact, such as Normal, Personal, Private, or Confidential. This field helps users and systems determine how the contact data should be handled. |
| Body | String | False |
Contains the main text content associated with the contact, such as notes or background information. This can include user-entered freeform text and is often used to provide context or descriptions. |
| DateTimeReceived | Datetime | True |
Captures the timestamp of when the contact item was received or created in the mailbox. This datetime value is useful for sorting or filtering contacts based on recency. |
| Size | Integer | True |
Indicates the total size of the contact item in bytes, including metadata and body content. This value is useful for storage management and is automatically calculated by Exchange. It is read-only. |
| Categories | String | False |
Holds a semicolon-separated list of category labels applied to the contact. These categories help organize and group contact items for easier retrieval or color-coding in the user interface. |
| Importance | String | False |
Defines the priority level assigned to the contact. Typical values include Low, Normal, and High, allowing clients to rank or highlight contacts based on their relative significance. |
| IsSubmitted | Boolean | True |
Specifies whether the contact item has been successfully submitted to the Outbox default folder, indicating it is in the process of being sent or has been queued for sending. |
| InReplyTo | String | True |
Stores the identifier of the original item to which the current item is a response, enabling threaded conversation tracking in messaging systems. |
| IsDraft | Boolean | True |
Indicates whether the contact item is currently saved as a draft, meaning it is incomplete or has not yet been finalized or sent. |
| IsFromMe | Boolean | True |
Determines whether the item was sent by the user to themselves, which can occur in scenarios such as self-reminders or test messages. |
| IsResend | Boolean | True |
Indicates whether this item is a re-sent version of a previously sent message, typically used in retry or correction workflows. |
| IsUnmodified | Boolean | True |
Identifies whether the item has remained unchanged since it was created or last saved, useful for detecting edited or updated records. |
| InternetMessageHeaders | String | True |
Contains the full set of Internet message headers associated with an item in a mailbox, including metadata such as Received, Subject, From, To, Date, Message-ID, MIME-Version, Content-Type, and other transmission-related fields. |
| DateTimeSent | Datetime | True |
Records the exact date and time the contact-related item was sent from the user's mailbox, useful for chronological sorting and delivery auditing. |
| DateTimeCreated | Datetime | True |
Captures the timestamp when the contact item was originally created in the mailbox, regardless of whether it was later modified or sent. |
| ReminderDueBy | Datetime | False |
Specifies the date and time by which a reminder associated with the contact item is due, helping trigger alerts or notifications for follow-up actions. |
| ReminderIsSet | Boolean | False |
Specifies whether a reminder notification is enabled for this Exchange item. A value of true means the user will receive a reminder prior to the start time of the associated event or task. |
| ReminderMinutesBeforeStart | Integer | False |
Defines how many minutes before the scheduled start time a reminder should appear. Commonly used for appointments, tasks, or meeting requests. |
| DisplayCc | String | True |
Contains the display-friendly, comma-separated list of recipients in the Cc (Carbon Copy) field. This string aggregates recipient display names for rendering in user interfaces. |
| DisplayTo | String | True |
Contains the display-friendly, comma-separated list of recipients in the To field. This string aggregates recipient display names as shown in email clients or message previews. |
| HasAttachments | Boolean | True |
Indicates whether the item includes one or more visible file attachments. This flag is set to true if attachments are present and accessible by users. |
| Culture | String | False |
Specifies the locale or cultural setting applied to the item, such as 'en-US' or 'fr-FR'. This can affect date formats, regional settings, and language display. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the user or client application has permission to create associated contents for the item, typically used for hidden or metadata-bound items within a folder. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the user or client application has permission to add new content items (such as messages or events) to the folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether the user or client application is allowed to create subfolders within the current folder, forming part of the folder hierarchy. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether the user or client application has permission to delete the folder or individual item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether the user or client application can update or change the contents of the folder or item, including properties or data values. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the user or client application is permitted to view the contents of the folder or item, including metadata and body content. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether the user or client has visibility into private items—typically calendar events or tasks marked as private by another user. |
| LastModifiedName | String | True |
Specifies the display name of the user who most recently modified the contact item. This helps track changes and determine ownership of updates. |
| LastModifiedTime | Datetime | True |
Captures the timestamp of the most recent modification to the contact item. This field is maintained automatically and is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the contact item is associated with a specific folder, such as a system or hidden folder used for metadata or conversation tracking. |
| WebClientReadFormQueryString | String | True |
Provides a URL query string that, when appended to the Outlook Web App endpoint, allows users to view the contact item directly in the browser. |
| WebClientEditFormQueryString | String | True |
Provides a URL query string that enables users to open the contact item in edit mode using the Outlook Web App interface. |
| ConversationId | String | True |
Stores the identifier that links the contact item to a broader conversation thread in the Exchange environment. Useful for conversation grouping and tracking. |
| UniqueBody | String | True |
Contains the unique portion of the message body that is specific to the current contact item, excluding any redundant or quoted content. This can be formatted as HTML or plain text. |
| UniqueBodyType | String | True |
Indicates the format used to store the unique body content, such as HTML or TEXT, to assist in rendering or parsing the message body appropriately. |
| FileAs | String | False |
Defines how the contact or distribution list should be sorted and displayed within the Contacts folder. Common formats include Last Name, First Name or Company Name. |
| FileAsMapping | String | False |
Determines the logic used to construct the 'File As' value for the contact, typically based on selected fields like first name, last name, or company. |
| DisplayName | String | False |
Represents the display name shown for the contact, distribution list, rule, delegate user, or location. This value is typically user-friendly and used in UI listings. |
| GivenName | String | False |
Stores the first name or given name of the contact, which can be used in sorting, searching, or composing personalized messages. |
| Initials | String | False |
Stores the abbreviated initials of the contact's full name, commonly derived from the first letter of each part of the name (for example, J.D. for John Doe). |
| MiddleName | String | False |
Contains the middle name or initial of the contact, used for full name representation and identity disambiguation. |
| Nickname | String | False |
Holds the informal or familiar name by which the contact is commonly known, distinct from their legal first name. |
| CompleteName_Title | String | True |
Specifies the contact's formal title or honorific (such as Mr., Mrs., Dr., or Prof.), often used for professional or formal correspondence. |
| CompleteName_FirstName | String | True |
Represents the given name or first name of the contact, used in full name formatting and indexing. |
| CompleteName_MiddleName | String | True |
Contains the contact's middle name component, supporting full name rendering and cultural name structures. |
| CompleteName_LastName | String | True |
Stores the contact's family name or surname, which is often used for sorting and official identification. |
| CompleteName_Suffix | String | True |
Indicates any generational or academic suffix associated with the contact's name, such as Jr., Sr., III, or Ph.D. |
| CompleteName_Initials | String | True |
Captures the initials derived from the complete name of the contact, typically used for concise display or indexing. |
| CompleteName_FullName | String | True |
Stores the contact's full name as a single string, constructed from title, first, middle, last name, and suffix, depending on availability. |
| CompleteName_Nickname | String | True |
Represents the nickname associated with the contact's full name, used for personalization in informal communications. |
| CompleteName_YomiFirstName | String | True |
Contains the Yomi phonetic representation of the contact's first name, used for proper pronunciation and sorting in Japanese systems. |
| CompleteName_YomiLastName | String | True |
Contains the Yomi phonetic representation of the contact's last name, used for proper pronunciation and sorting in Japanese systems. |
| CompanyName | String | False |
Stores the name of the company or organization with which the contact is affiliated, useful for business context and categorization. |
| EmailAddress1 | String | False |
Stores the primary email address associated with the contact. This address is typically used as the main point of electronic communication. |
| EmailAddress2 | String | False |
Stores an alternative email address for the contact. This is useful when the contact has more than one email account for different purposes such as personal or secondary work use. |
| EmailAddress3 | String | False |
Stores a third email address for the contact, allowing users to track multiple active addresses, such as temporary, external, or archived accounts. |
| BusinessAddress_Street | String | False |
Contains the street component of the business address where the contact works. This can include building number, street name, and suite or office details. |
| BusinessAddress_City | String | False |
Indicates the city portion of the contact's business address, often used for filtering or grouping contacts by location in organizational directories. |
| BusinessAddress_State | String | False |
Captures the state or province associated with the business address of the contact. This can be useful in regional reporting or compliance processes. |
| BusinessAddress_Country | String | False |
Specifies the country or region in which the contact's business address is located. Used in cross-border communications and location-based filtering. |
| BusinessAddress_PostalCode | String | False |
Stores the postal or ZIP code for the contact's business address. This field supports geographic sorting and mailing list generation. |
| HomeAddress_Street | String | False |
Holds the street information for the contact's residential address. May include house number, street name, and apartment or unit number. |
| HomeAddress_City | String | False |
Indicates the city associated with the contact's home address, often used in demographic profiling or personal contact organization. |
| HomeAddress_State | String | False |
Specifies the state or province of the contact's residential location. This can assist in regional segmentation or mail delivery validation. |
| HomeAddress_Country | String | False |
Stores the country or region of the contact's home address, providing context for time zone, language, and cultural preferences. |
| HomeAddress_PostalCode | String | False |
Captures the postal or ZIP code related to the home address of the contact. This can aid in delivery services or local search filtering. |
| OtherAddress_Street | String | False |
Contains the street address for an additional contact location, such as a vacation home, alternate office, or temporary residence. |
| OtherAddress_City | String | False |
Specifies the city name associated with the secondary (Other) address of the contact. This is typically used when a contact has more than one address. |
| OtherAddress_State | String | False |
Indicates the state, province, or administrative region corresponding to the Other address of the contact. |
| OtherAddress_Country | String | False |
Captures the name of the country or region for the Other address associated with the contact. This is used when the contact maintains an alternate or secondary location. |
| OtherAddress_PostalCode | String | False |
Holds the postal or ZIP code corresponding to the Other address of the contact, which can be used for location-based filtering or mail delivery purposes. |
| AssistantPhone | String | False |
Stores the phone number of the contact's assistant. This field is often used in organizational contexts to reach someone who manages the contact's schedule or communications. |
| BusinessFax | String | False |
Contains the fax number for the contact's primary place of business. This field supports legacy communication methods still used in some industries. |
| BusinessPhone | String | False |
Lists the primary business phone number for the contact, typically used during standard work hours or for professional communication. |
| BusinessPhone2 | String | False |
Provides a secondary business phone number for the contact, allowing for alternate professional contact options if the primary line is unavailable. |
| Callback | String | False |
Designates a specific phone number the contact has requested to be called back on. This can differ from their primary or business numbers. |
| CarPhone | String | False |
Stores the contact's car phone number, used in contexts where in-vehicle communication is supported and relevant. |
| CompanyMainPhone | String | False |
Captures the main switchboard or general phone number of the company with which the contact is affiliated. Often used when individual extensions are not known. |
| HomeFax | String | False |
Specifies the fax number associated with the contact's home address. This value is typically used for sending documents to a personal fax line. |
| HomePhone | String | False |
Indicates the primary landline telephone number at the contact's home residence. Commonly used for personal or non-business-related communication. |
| HomePhone2 | String | False |
Captures an additional home phone number for the contact, allowing for multiple residential contact options. |
| Isdn | String | False |
Contains the Integrated Services Digital Network (ISDN) number for the contact, used in environments where digital telecommunication is supported. |
| MobilePhone | String | False |
Stores the contact's primary mobile or cell phone number, generally used for direct and immediate personal communication. |
| OtherFax | String | False |
Provides an alternative fax number not associated with the home address, potentially linked to another residence or secondary location. |
| OtherTelephone | String | False |
Holds a secondary phone number for the contact that does not fall under home, business, or mobile categories. Useful for less common communication channels. |
| Pager | String | False |
Stores the contact's pager number, which can be used in legacy systems or industries that still rely on pager communication. |
| PrimaryPhone | String | False |
Defines the contact's main telephone number for general communication, regardless of whether it is mobile, home, or business. |
| RadioPhone | String | False |
Captures the contact's radio telephone number, typically used in industries like maritime, aviation, or emergency services that rely on radio communication devices. |
| Telex | String | False |
Specifies the telex number for the contact, supporting international text-based communication in legacy messaging networks. |
| TtyTddPhone | String | False |
Contains the telephone number used with TTY (Text Telephone) or TDD (Telecommunication Device for the Deaf) devices to facilitate communication for individuals with hearing or speech impairments. |
| AssistantName | String | False |
Specifies the full name of the contact's personal assistant, if applicable. This can be used for coordination or communication purposes. |
| Birthday | Datetime | False |
Indicates the contact's date of birth. This field supports date-based reminders and personalization features in calendar or CRM systems. |
| BusinessHomePage | String | False |
Provides the URL of the contact's professional or business-related home page. This could be a company website or a professional profile. |
| Children_1 | String | False |
Stores the name of the first child associated with the contact. Used to personalize interactions or for recordkeeping in directory-based systems. |
| Children_2 | String | False |
Stores the name of the second child associated with the contact. This field is optional and complements Children_1 and Children_3. |
| Children_3 | String | False |
Stores the name of the third child associated with the contact. Intended for contacts with multiple dependents to support family-related tracking. |
| Companies_1 | String | False |
Contains the name of the first company the contact is affiliated with. Useful for professional context and organizational relationships. |
| Companies_2 | String | False |
Contains the name of the second company associated with the contact. Helps capture multiple business affiliations if they exist. |
| Companies_3 | String | False |
Contains the name of the third company linked to the contact. Supports scenarios where the contact is involved in several organizations. |
| ContactSource | String | False |
Specifies the origin of the contact data, such as whether it is sourced from the Exchange mailbox store or from Active Directory Domain Services. |
| Department | String | False |
Captures the internal department or organizational unit the contact is part of. Commonly used to group or filter contacts in enterprise directories. |
| Generation | String | False |
Includes generational suffixes such as Jr., Sr., II, III that appear after the contact's full name to distinguish between family members. |
| ImAddress1 | String | False |
Stores the primary instant messaging address used by the contact for real-time communications through chat platforms. |
| ImAddress2 | String | False |
Stores an additional instant messaging address for the contact. Useful if the contact uses multiple messaging platforms. |
| ImAddress3 | String | False |
Stores a third instant messaging address for the contact, supporting multiple IM channels for redundancy or alternative communications. |
| JobTitle | String | False |
Stores the professional title or designation of the contact within their organization, such as 'Project Manager' or 'Senior Analyst'. |
| Manager | String | False |
Indicates the name or identifier of the contact's manager or direct supervisor within an organizational hierarchy. |
| Mileage | String | False |
Captures mileage information associated with the contact, typically used for tracking travel distance or expenses related to meetings or visits. |
| OfficeLocation | String | False |
Provides the specific location or address of the contact's office, which can include a room number, building name, or geographic location. |
| PostalAddressIndex | String | False |
Defines the preferred postal address type for the contact, such as Home, Business, or Other, to determine how mailing-related functions prioritize addresses. |
| Profession | String | False |
Describes the field of expertise or occupation of the contact, such as 'Engineer', 'Attorney', or 'Educator'. |
| SpouseName | String | False |
Contains the name of the contact's spouse or partner, useful for personalizing communication and maintaining relationship context. |
| Surname | String | False |
Stores the last name or family name of the contact, used in formal correspondence and identification. |
| WeddingAnniversary | Datetime | False |
Records the wedding anniversary date of the contact, which can be used to personalize messages or reminders. |
| HasPicture | Boolean | False |
Indicates whether the contact entry includes an associated image or profile picture file attachment. |
| PhoneticFullName | String | False |
Contains the full name of the contact—first and last—spelled using phonetic characters or conventions for pronunciation support. |
| PhoneticFirstName | String | False |
Represents the phonetic spelling of the contact's first name to assist with proper pronunciation, especially in multilingual environments. |
| PhoneticLastName | String | False |
Represents the phonetic spelling of the contact's last name to assist with pronunciation, often used in speech recognition and automated systems. |
| Alias | String | False |
Contains the contact's email alias, typically a simplified or alternative email identifier used in place of the full address. |
| Notes | String | False |
Stores additional, free-form information about the contact, such as meeting notes, personal preferences, or context not captured in structured fields. |
| Photo | String | False |
Contains encoded image data or a file reference that visually represents the contact, commonly displayed in address books or messaging applications. |
| UserSMIMECertificate | String | False |
Contains a Base64-encoded representation of the contact's S/MIME (Secure/Multipurpose Internet Mail Extensions) certificate, used for encrypting and signing email communications. |
| MSExchangeCertificate | String | False |
Holds a serialized value representing the contact's Microsoft Exchange-specific certificate, typically used for secure messaging and client authentication within an Exchange environment. |
| DirectoryId | String | False |
Stores the unique identifier assigned to the contact in the directory service (such as Active Directory), which enables lookups and integration with enterprise identity systems. |
| ManagerMailbox | String | False |
Contains the SMTP email address associated with the mailbox of the contact's manager. This is used in organizational hierarchies to identify supervisory relationships. |
| DirectReports | String | False |
Holds a comma-separated list of SMTP email addresses for the contact's direct reports, enabling navigation and mapping of reporting structures within a directory or address book. |
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 account to impersonate when performing operations under delegated access. This is commonly used in service scenarios to act on behalf of another user. |
| ImpersonationType | String |
Indicates the type of identifier used to locate the impersonation target. Accepted values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SharedMailboxEmail | String |
The SMTP address of a shared mailbox whose contact list should be accessed. This allows retrieval of contact records stored in shared or team mailboxes. |
Represents items moved to the Deleted Items folder, including messages, calendar events, and tasks. It allows recovery, permanent deletion, or inspection of deleted content.
When performing a SELECT operation on the DeletedItems table, the Cloud will not include the items in the subfolders under DeletedItems, but only the items contained within the DeletedItems folder.
If you wish to retrieve the items under the DeletedItems subfolders, your will need to specify the ParentFolderId-s in the WHERE clause. You can get every DeletedItems subfolder Id by executing a filtered by ParentFolderName query to the Folders table. You can use the example query below, to retrieve the items within the DeletedItems subfolders:
SELECT * FROM DeletedItems WHERE ParentFolderId IN (SELECT FolderId FROM Folders WHERE ParentFolderName = 'DeletedItems' AND TotalCount > 0)
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Provides a unique identifier assigned to each item stored in the Exchange mailbox database. This identifier is used to retrieve or reference the specific item in operations such as queries, updates, or deletes. |
| MimeContent | String | True |
Stores the full MIME content of an email or item, including headers and body, encoded in Base64 format. This representation is commonly used for message transport and interoperability with email systems. |
| ItemChangeKey | String | True |
Tracks the version of an item in the Exchange store. This change key is used to detect modifications and helps ensure that concurrent updates do not conflict. |
| ParentFolderId | String | False |
Holds the unique identifier of the folder that directly contains the current item. This enables hierarchy tracking and folder-based item organization in the mailbox. |
| ParentFolderChangeKey | String | True |
Tracks the version of the parent folder that contains the current item. Useful for detecting folder-level changes that can impact its contents. |
| ItemClass | String | False |
Specifies the message class of the item, which determines its behavior and format. Common classes include IPM.Note for email, IPM.Appointment for calendar events, and others. |
| Subject | String | False |
Captures the subject line or title of the item, visible in message listings and conversation views. The subject text is limited to a maximum of 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level assigned to the item, which can include values such as Normal, Personal, Private, or Confidential. This setting can restrict how the item is handled or viewed. |
| Body | String | False |
Contains the main message content of the item, which can be formatted as plain text, HTML, or Rich Text Format (RTF), depending on how the message was composed or received. |
| DateTimeReceived | Datetime | True |
Represents the exact date and time the item was received into the mailbox, based on the server's time zone and configuration. This timestamp is often used for sorting and filtering. |
| Size | Integer | True |
Reflects the total storage size of the item, in bytes, including the message body, attachments, and metadata. This is a read-only value used for quota management and reporting. |
| Categories | String | False |
Lists one or more user-defined category labels associated with the item. These labels, such as Red Category, Project A, or Follow-Up, help users organize and search their mailbox. |
| Importance | String | False |
Denotes the relative urgency or priority of the item. Common values include Low, Normal, and High, influencing how the message appears in the user interface or triggers alerts. |
| InReplyTo | String | False |
Stores the identifier of the item that this message replies to, enabling the reconstruction of message threads and conversations in email clients. |
| IsSubmitted | Boolean | True |
Indicates whether the item has been submitted for delivery and moved to the Outbox. Once submitted, the message enters the transport pipeline for delivery. |
| IsDraft | Boolean | True |
True if the item is in draft status, meaning it is composed but has not yet been sent or submitted. Drafts can be reopened and edited before final delivery. |
| IsFromMe | Boolean | True |
True if the sender of the item is the same as the currently logged-in user, indicating the item was self-addressed or intentionally sent to oneself. |
| IsResend | Boolean | True |
Indicates that the item is a resend of a previously sent message, often used when correcting or updating prior communications. |
| IsUnmodified | Boolean | True |
True if the item remains unchanged since it was created or received. This can be used to detect whether a user or process has edited the item. |
| InternetMessageHeaders | String | True |
Provides a full list of all Internet message headers associated with the item, including technical metadata such as message routing, MIME types, and authentication results. Useful for diagnostics, compliance, and message tracing. |
| DateTimeSent | Datetime | True |
Captures the exact timestamp when the item was sent from the sender's mailbox. This is critical for chronological tracking, delivery auditing, and reporting workflows. |
| DateTimeCreated | Datetime | True |
Represents the date and time when the item was originally generated or saved in the Exchange mailbox, regardless of when it was sent or received. Important for tracking lifecycle events of items. |
| ReminderDueBy | Datetime | False |
Defines the scheduled date and time when a reminder is expected to alert the user. This value is used in conjunction with ReminderMinutesBeforeStart to determine alert timing. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder is currently enabled for the item. A value of true means a reminder will trigger based on the specified time settings; false means no reminder is set. |
| ReminderMinutesBeforeStart | Integer | False |
Specifies how many minutes prior to the scheduled time of an event the reminder should appear. This value is used to compute the ReminderDueBy time. |
| DisplayCc | String | True |
Contains the concatenated display names of all recipients in the Cc (carbon copy) field. This value is used for rendering recipient information in user interfaces. |
| DisplayTo | String | True |
Contains the concatenated display names of all recipients in the To field. Used for rendering main recipient information in email views or message previews. |
| HasAttachments | Boolean | True |
Indicates whether the item includes one or more file or item attachments. A value of true means at least one attachment is associated with the item. |
| Culture | String | False |
Identifies the locale setting, such as en-US or fr-FR, that influences how the item's date formats, language, and regional settings are displayed or interpreted. |
| SenderName | String | False |
Specifies the display name associated with the sender of the email message. This value typically reflects the full name configured in the sender's mailbox profile. |
| SenderEmailAddress | String | False |
Specifies the sender's primary email address, using the Simple Mail Transfer Protocol (SMTP) format. This address is used to route messages and identify the sender. |
| SenderRoutingType | String | False |
Indicates the protocol or addressing method used to deliver the message from the sender. Common routing types include SMTP, EX (Exchange), and others depending on the mail system. |
| ToRecipients_Name | String | False |
Stores the display name of each recipient listed in the 'To' field of the email message. Multiple entries can be present for messages sent to multiple recipients. |
| ToRecipients_EmailAddress | String | False |
Contains the SMTP email address of each recipient in the 'To' field. This value is used to deliver the message to intended recipients. |
| ToRecipients_ItemId | String | False |
Stores the unique identifier for each 'To' recipient entry. This identifier links to recipient-specific metadata or associated mailbox items. |
| CcRecipients_Name | String | False |
Stores the display name of each recipient included in the 'Cc' (carbon copy) field. These recipients receive a visible copy of the message. |
| CcRecipients_EmailAddress | String | False |
Contains the SMTP email address of each carbon copy recipient. These addresses are used to send copies of the message alongside the main recipients. |
| CcRecipients_ItemId | String | False |
Stores the unique item identifier associated with each carbon copy recipient entry. This can be used to track or reference related metadata. |
| BccRecipients_Name | String | False |
Stores the display name of each recipient listed in the 'Bcc' (blind carbon copy) field. These recipients receive a copy of the message without visibility to others. |
| BccRecipients_EmailAddress | String | False |
Contains the SMTP email address of each blind carbon copy recipient. These addresses remain hidden from other recipients of the message. |
| BccRecipients_ItemId | String | False |
Stores the unique item identifier for each blind carbon copy recipient entry. This can be used to manage or audit invisible recipient delivery. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender has requested a read receipt notification when the recipient opens the message. A value of true prompts the system to send such a notification. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender has requested a delivery receipt notification when the message is successfully delivered to the recipient's server. A value of true enables this feature. |
| ConversationIndex | String | False |
Contains a binary-encoded value that represents the hierarchical position of the message within an email conversation thread. This helps group related messages for conversation views. |
| ConversationTopic | String | False |
Captures the subject or main theme of the conversation thread to which the message belongs, helping to group related messages for easier tracking and categorization. |
| FromName | String | False |
Specifies the display name of the sender whose mailbox initiated the message. This is typically the name shown in the email's From field. |
| FromEmailAddress | String | False |
Contains the SMTP (Simple Mail Transfer Protocol) email address of the sender. This value is used to identify the origin of the message at the protocol level. |
| FromRoutingType | String | False |
Specifies the routing type used for the sender's mailbox. Common values include SMTP for internet email and EX for Exchange routing. |
| InternetMessageId | String | False |
Provides a unique identifier for the message generated by the sending server, used to distinguish the message across servers and trace message threads. |
| IsRead | Boolean | False |
Indicates whether the message has been opened or marked as read by the recipient. This is useful for tracking user engagement with the message. |
| IsResponseRequested | Boolean | False |
Specifies whether a reply is expected or required for the message. This property can influence user prompts or automated workflows. |
| References | String | False |
Holds the Usenet 'References' header, which includes a list of message IDs from previous related messages, allowing threaded message views and response tracking. |
| EffectiveRights_CreateAssociated | Boolean | True |
Determines whether the current user or application has permission to create associated items, which are typically hidden metadata items linked to folders. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the user has the right to create new messages or items within the specified folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Specifies whether the user has permission to create subfolders under the current folder, enabling hierarchical organization. |
| EffectiveRights_Delete | Boolean | True |
Defines whether the user can delete the item or folder, reflecting part of the security and access control model. |
| EffectiveRights_Modify | Boolean | True |
Shows whether modifications to the contents or properties of an item or folder are allowed based on current user permissions. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the user has read access to the item or folder. If false, the item or folder contents are restricted. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Specifies whether private items, such as those marked as confidential or restricted, can be viewed by the current user. |
| ReceivedByName | String | False |
Contains the display name of the user who received the message on behalf of another recipient or mailbox rule, often used in delegate scenarios. |
| ReceivedByEmailAddress | String | False |
Specifies the SMTP email address of the mailbox user who ultimately received the item. This is typically used in scenarios involving delegation or mail forwarding. |
| ReceivedByRoutingType | String | False |
Indicates the routing protocol used for delivering the item to the ReceivedBy user. The default and most common value is SMTP, which stands for Simple Mail Transfer Protocol. |
| ReceivedRepresentingName | String | False |
Contains the display name of the mailbox user on whose behalf the item was received. This is used in delegate or shared mailbox scenarios. |
| ReceivedRepresentingEmailAddress | String | False |
Provides the SMTP email address of the user on whose behalf the message was received. This is commonly seen in delegated access or shared mailbox contexts. |
| ReceivedRepresentingRoutingType | String | False |
Specifies the routing type for the ReceivedRepresenting user. The default value is SMTP, indicating the message was routed via Simple Mail Transfer Protocol. |
| LastModifiedName | String | True |
Contains the display name of the user who last modified the item in the Exchange store. Useful for auditing and change tracking. |
| LastModifiedTime | Datetime | True |
Indicates the exact timestamp when the item was last updated. This is a read-only field commonly used in synchronization or data freshness logic. |
| IsAssociated | Boolean | False |
Indicates whether the item is a special hidden item that is associated with a folder, such as rules or views metadata, rather than a standard visible item like a message or event. |
| WebClientReadFormQueryString | String | True |
Contains a query string fragment to be appended to the Outlook Web App (OWA) URL for rendering the item in read-only mode via a web browser. |
| WebClientEditFormQueryString | String | True |
Contains a query string fragment to be appended to the Outlook Web App (OWA) URL for rendering the item in edit mode, allowing modifications in a browser session. |
| ConversationId | String | True |
Uniquely identifies a conversation thread within the Exchange store. This value can be used to group related messages and items into a single conversation view. |
| ConversationChangeKey | String | True |
Stores the change key associated with the conversation, which is used to detect updates and maintain consistency during synchronization or updates. |
| UniqueBody | String | True |
Represents the portion of the message body that is unique to the current item, excluding content from earlier items in the conversation. It can be in HTML or plain-text format. |
| UniqueBodyType | String | True |
Specifies the format in which the unique body content is stored. Supported values include HTML and TEXT, indicating rich or plain formatting respectively. |
| ReminderMessageData_Text | String | False |
Specifies the notification text for a reminder message. This can include event or task descriptions shown in popup reminders. |
| ReminderMessageData_Location | String | False |
Indicates the physical or virtual location associated with the event, meeting, or appointment tied to the reminder message. |
| ReminderMessageData_StartTime | Datetime | False |
Defines the start time of the calendar item or appointment that triggered the reminder. This is used to align the reminder with the event's beginning. |
| ReminderMessageData_EndTime | Datetime | False |
Defines the end time of the calendar item or appointment associated with the reminder, marking when the event is expected to conclude. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Stores the identifier of the calendar entry associated with the reminder. This ID can be used to look up the full calendar item details. |
| Attachments | String | True |
Contains a comma-separated list of attachment identifiers (Ids) related to the item (for example, 'att001, att002, att003'). |
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 unique identifier of the user being impersonated in the current session. Impersonation is typically used by administrators or applications accessing user mailboxes. |
| ImpersonationType | String |
Indicates the identifier type used to specify the impersonated user. Supported types include PrincipalName, SID, PrimarySmtpAddress, SmtpAddress. |
| SharedMailboxEmail | String |
Defines the email address of a shared mailbox. Use this to access messages, including Deleted Items, from the context of a shared mailbox rather than an individual user. |
Holds unsent email drafts. This enables operations to create new drafts, update draft content, delete drafts, or retrieve draft messages for review or sending.
When performing a SELECT operation on the Drafts table, the Cloud will not include the items in the subfolders under Drafts, but only the items contained within the Drafts folder.
If you wish to retrieve the items under the Drafts subfolders, your will need to specify the ParentFolderId-s in the WHERE clause. You can get every Drafts subfolder Id by executing a filtered by ParentFolderName query to the Folders table. You can use the example query below, to retrieve the items within the Drafts subfolders:
SELECT * FROM Drafts WHERE ParentFolderId IN (SELECT FolderId FROM Folders WHERE ParentFolderName = 'Drafts' AND TotalCount > 0)
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Stores the globally unique identifier assigned to each item within the Exchange store. This value is essential for referencing or manipulating the item programmatically. |
| MimeContent | String | True |
Contains the original MIME-encoded message content, represented in Base64 binary format. This stream includes headers and body content in its raw email format. |
| ItemChangeKey | String | True |
Holds a unique version key that changes whenever the associated item is updated. This key supports synchronization and conflict resolution in Exchange. |
| ParentFolderId | String | False |
References the unique identifier of the folder that contains the item, enabling hierarchical organization and navigation within the mailbox structure. |
| ParentFolderChangeKey | String | True |
Captures the version key of the parent folder, used to track folder-level changes such as renaming or moving items within Exchange. |
| ItemClass | String | False |
Defines the message class of the item, which determines its type and behavior (such as IPM.Note for email or IPM.Appointment for calendar events). |
| Subject | String | False |
Specifies the subject line or title of the item. This value is prominently displayed in item previews and is restricted to a maximum of 255 characters. |
| Sensitivity | String | True |
Indicates how confidential the item is, with possible values including Normal, Personal, Private, and Confidential. This property helps manage visibility and access. |
| Body | String | False |
Contains the main content or body of the message in either plain text or HTML format, representing the actual message text authored by the sender. |
| DateTimeReceived | Datetime | True |
Captures the precise date and time when the item was received by the mailbox. This timestamp is automatically generated and cannot be edited. |
| Size | Integer | True |
Reflects the total size of the item in bytes, including attachments, body content, and metadata. This is a read-only value used for storage management. |
| Categories | String | False |
Stores a comma-separated list of user-defined category labels that help classify or tag items for searching and filtering within the mailbox. |
| Importance | String | False |
Specifies the level of importance assigned to the item, such as Low, Normal, or High, which can influence how the item is displayed or treated by clients. |
| InReplyTo | String | False |
References the message identifier of the original item that this one replies to, enabling clients to maintain conversation threading. |
| IsSubmitted | Boolean | True |
Indicates whether the item has been submitted to the Outbox and is ready to be sent. This flag helps determine message status within the send workflow. |
| IsDraft | Boolean | True |
Identifies whether the item is still in draft status, meaning it has been created or edited but has not yet been sent or submitted. |
| IsFromMe | Boolean | True |
Flags items that were sent by the mailbox owner to themselves, often used for reminders or self-referenced notes. |
| IsResend | Boolean | True |
Indicates that the current item is a resend of a previously sent message, typically generated by choosing the 'Resend This Message' option. |
| IsUnmodified | Boolean | True |
Shows whether the item has remained unchanged since it was last saved or submitted. This is useful for detecting edits or tampering. |
| InternetMessageHeaders | String | True |
Contains all the Internet message headers for the item, including metadata such as Received, From, Subject, Date, MIME-Version, and Content-Type. Useful for tracing the route and processing of an email item through various mail servers. |
| DateTimeSent | Datetime | True |
Specifies the exact date and time the draft message was sent from the sender's mailbox. This value is set once the item transitions from draft to sent status. |
| DateTimeCreated | Datetime | True |
Indicates the date and time when the draft message was initially created in the mailbox, regardless of whether it has been sent or modified afterward. |
| ReminderDueBy | Datetime | False |
Denotes the date and time at which a reminder for the draft item is scheduled to trigger. This timestamp works in conjunction with ReminderMinutesBeforeStart to alert users about the item in advance. |
| ReminderIsSet | Boolean | False |
A Boolean flag indicating whether a reminder has been configured for the draft message. If true, the system will attempt to notify the user based on the associated reminder settings. |
| ReminderMinutesBeforeStart | Integer | False |
Defines the number of minutes prior to the ReminderDueBy time that the system should trigger a notification. Helps users prepare in advance for time-sensitive messages. |
| DisplayCc | String | True |
Displays a concatenated string of all recipients listed in the Cc (carbon copy) field, formatted for user interfaces. This value is primarily used for display purposes and does not reflect the internal recipient list structure. |
| DisplayTo | String | True |
Displays a concatenated string of all recipients listed in the To field, typically shown in the email client UI. It combines the display names of recipients in a user-friendly format. |
| HasAttachments | Boolean | True |
Indicates whether the draft message includes one or more file attachments. A value of true suggests that the item contains content beyond text or metadata. |
| Culture | String | False |
Represents the culture or locale setting (such as en-US, fr-FR) associated with the item. This value influences formatting of dates, times, language, and possibly spell-check settings within the message. |
| SenderName | String | False |
Specifies the display name of the user who composed or sent the draft message. This name appears in the From field of the draft and is typically the full name associated with the sender's mailbox account. |
| SenderEmailAddress | String | False |
Provides the Simple Mail Transfer Protocol (SMTP) email address associated with the sender of the draft message. This is the actual email address used for message routing and delivery. |
| SenderRoutingType | String | False |
Indicates the messaging protocol or routing type used for the sender's address. Common values include SMTP for standard email delivery or EX for Exchange-specific addresses. The default routing type is SMTP. |
| ToRecipients_Name | String | False |
Captures the display name of each primary recipient listed in the 'To' field of the draft message. This name is typically derived from the recipient's user profile or contact information. |
| ToRecipients_EmailAddress | String | False |
Contains the SMTP email address of each recipient listed in the 'To' field of the draft message. This address is used by Exchange to route the message to the correct mailbox. |
| ToRecipients_ItemId | String | False |
Stores the internal Exchange identifier for each recipient listed in the 'To' field. This ID is used to reference recipient metadata or related message history within the Exchange system. |
| CcRecipients_Name | String | False |
Stores the display name of each recipient listed in the 'Cc' (Carbon Copy) field of the draft message. These recipients are secondary recipients who are notified but not expected to respond. |
| CcRecipients_EmailAddress | String | False |
Provides the SMTP email address of each recipient listed in the 'Cc' field. These addresses are included in the draft message for informational purposes. |
| CcRecipients_ItemId | String | False |
Holds the Exchange-specific item identifier for each recipient in the 'Cc' field. This ID links the recipient to internal Exchange metadata or conversation threads. |
| BccRecipients_Name | String | False |
Represents the display name of each recipient listed in the 'Bcc' (Blind Carbon Copy) field. These recipients receive the message without being visible to other recipients. |
| BccRecipients_EmailAddress | String | False |
Specifies the email address of a recipient who is blind carbon copied (Bcc) on the message. This address uses the Simple Mail Transfer Protocol (SMTP) format and is not visible to other recipients. |
| BccRecipients_ItemId | String | False |
Stores the unique identifier assigned to the Bcc recipient entry. This identifier is used to associate the recipient with the message within the Exchange store. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender has requested a read receipt notification, which alerts the sender when the recipient opens or reads the message. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender has requested a delivery receipt, which confirms that the message was successfully delivered to the recipient's mailbox. |
| ConversationIndex | String | False |
Contains a binary-encoded index that identifies the hierarchical relationship of this message within a conversation thread. It is used to group related messages together. |
| ConversationTopic | String | False |
Stores the normalized subject or topic of the conversation thread to which this message belongs. Helps organize and group messages under the same topic. |
| FromName | String | False |
Displays the display name of the sender, as shown in the 'From' field of the message. This is typically the name associated with the sender's mailbox account. |
| FromEmailAddress | String | False |
Holds the SMTP email address of the user who sent the message. This is the address that appears in the 'From' field for email clients and servers. |
| FromRoutingType | String | False |
Indicates the routing protocol used for the 'From' address. Common values include SMTP for internet mail or EX for Exchange-based addresses. The default routing type is SMTP. |
| InternetMessageId | String | False |
Contains the globally unique identifier assigned to the message by the sending email system. This identifier is typically used for message tracking and threading across systems. |
| IsRead | Boolean | False |
Indicates whether the recipient has marked the message as read. This property is updated based on user actions in their email client. |
| IsResponseRequested | Boolean | False |
Specifies whether a response is explicitly requested from the recipient. This flag is typically used for meeting requests or messages that require user acknowledgment or action. |
| References | String | False |
Contains the value of the 'References' header in a message, used to link related messages in a conversation or thread, commonly seen in email clients and Usenet discussions. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the current user or client application has permission to create associated items within the folder, such as hidden items used for storing metadata or settings. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the user or application is authorized to create regular content items—such as emails or calendar events—within the folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether the client has the right to create subfolders or child folders under the current folder, which contributes to building a folder hierarchy structure. |
| EffectiveRights_Delete | Boolean | True |
Specifies whether the user or client is permitted to delete items or folders, depending on the current permissions and the type of item being accessed. |
| EffectiveRights_Modify | Boolean | True |
Specifies whether the client has permission to change properties or content of a folder or item, such as modifying a message body or updating folder attributes. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the current client or user has read access to the folder or item, allowing viewing of its content and metadata. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Determines whether the user or client is allowed to view items marked as private, such as confidential calendar appointments or messages that have restricted visibility. |
| ReceivedByName | String | False |
Captures the display name of the user who received the message, typically as part of message delivery metadata in Exchange mail flow. |
| ReceivedByEmailAddress | String | False |
Specifies the Simple Mail Transfer Protocol (SMTP) email address of the mailbox user who physically received the item. This field is useful for identifying the actual recipient when messages are sent on behalf of another user or redirected. |
| ReceivedByRoutingType | String | False |
Indicates the routing protocol used for message delivery to the ReceivedBy user. Typical values include SMTP for internet-based email, but other routing types can apply in hybrid or legacy configurations. |
| ReceivedRepresentingName | String | False |
Displays the full display name of the user on whose behalf the message was received. This is typically used when one user receives a message on behalf of another, such as in delegated access scenarios. |
| ReceivedRepresentingEmailAddress | String | False |
Specifies the SMTP email address of the user represented by the ReceivedRepresentingName field. This identifies the mailbox that was logically the intended recipient in cases of delegation or representation. |
| ReceivedRepresentingRoutingType | String | False |
Identifies the routing protocol used for the ReceivedRepresenting user. While the default is SMTP, this field accommodates other routing systems in Exchange hybrid deployments or legacy systems. |
| LastModifiedName | String | True |
Contains the display name of the user who last modified the item, such as a draft or message. This is helpful for tracking changes in collaborative mailbox environments. |
| LastModifiedTime | Datetime | True |
Records the timestamp of the last modification made to the item. This read-only field is useful for auditing, synchronization, and understanding the edit history of a message or draft. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder as a non-standard message class, such as hidden messages used for folder configuration or rules metadata. A value of true denotes a system or folder-level association. |
| WebClientReadFormQueryString | String | True |
Provides a query string segment that, when appended to the Outlook Web App (OWA) base URL, constructs a complete link to open and read the item directly in a browser-based email client. |
| WebClientEditFormQueryString | String | True |
Provides a query string segment that, when appended to the Outlook Web App (OWA) base URL, enables users to open and edit the item through the web interface, facilitating quick message updates. |
| ConversationId | String | True |
Represents the unique identifier assigned to a conversation thread within the Exchange store. This ID groups related messages across folders and users, allowing coherent tracking of multi-message discussions. |
| ConversationChangeKey | String | True |
Stores the unique change key for the conversation or item, which is used to track the version of the object within Exchange and to ensure concurrency control when updating it. |
| UniqueBody | String | True |
Represents the portion of the message body that is unique to this item, excluding content quoted from previous messages. This content can be formatted as HTML or plain text depending on the UniqueBodyType. |
| UniqueBodyType | String | True |
Indicates the format used to store the unique body content. Possible values include HTML and TEXT, which determine how the UniqueBody field is interpreted. |
| ReminderMessageData_Text | String | False |
Holds the custom reminder text that is shown to users when a reminder alert is triggered for an associated calendar item or meeting. |
| ReminderMessageData_Location | String | False |
Specifies the physical or virtual location where the calendar event, meeting, or associated item will occur, as displayed in the user's calendar view. |
| ReminderMessageData_StartTime | Datetime | False |
Defines the scheduled start time for the calendar item, meeting, or event associated with the reminder message, using the datetime format. |
| ReminderMessageData_EndTime | Datetime | False |
Defines the scheduled end time for the calendar item, meeting, or event associated with the reminder message, using the datetime format. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Contains the unique identifier of the calendar item that the reminder message refers to. This helps in correlating the reminder with the original calendar event. |
| Attachments | String | True |
Lists the identifiers of files attached to the item, separated by commas. Each ID corresponds to a file stored with the item in Exchange, such as, id1, id2, id3. |
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 |
Represents the identifier of the Exchange user account being impersonated. This is typically used when a service or delegate performs actions on behalf of another user. |
| ImpersonationType | String |
Specifies the type of identifier used to perform impersonation. Acceptable values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SharedMailboxEmail | String |
Provides the email address of a shared mailbox. Use this field when retrieving draft messages that belong to a shared mailbox rather than an individual user. |
Manages user-defined and system folders such as Inbox, Sent Items, and custom folders. It supports folder hierarchy operations like creation, deletion, and renaming.
The Cloud will need the FolderChangeKey to update or delete an item. However, if you are unsure of the FolderChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it take to perform a query.
| Name | Type | ReadOnly | Description |
| FolderId [KEY] | String | True |
Uniquely identifies a specific folder within the Exchange store. This identifier is used to track and reference the folder across Exchange services and client applications. |
| FolderChangeKey | String | True |
Provides a version-specific identifier for the folder, enabling synchronization systems to detect changes made to the folder's properties or contents since the last retrieval. |
| ParentFolderId | String | False |
Contains the unique identifier of the folder that is the immediate parent of the current folder. This establishes the folder's position within the overall folder hierarchy. |
| ParentFolderChangeKey | String | True |
Stores the change key of the parent folder, allowing synchronization and version tracking of changes made to the parent folder. |
| FolderClass | String | False |
Specifies the type or classification of the folder, such as IPF.Note for mail folders, IPF.Appointment for calendar folders, or custom values for user-defined folder types. |
| DisplayName | String | False |
Holds the user-facing name of the folder, which is typically shown in email clients such as Outlook or Exchange Web Services. |
| TotalCount | Integer | True |
Indicates the total number of items—such as emails, calendar entries, or tasks—currently stored in the folder, regardless of their read or unread state. |
| ChildFolderCount | Integer | True |
Represents the number of subfolders directly nested within this folder. This helps identify folder hierarchy depth and structure. |
| CanDelete | Boolean | True |
Specifies whether the folder, particularly if it is a managed folder created by policy, can be deleted by the end user. |
| CanRenameOrMove | Boolean | True |
Indicates whether the folder can be renamed or relocated by the user. This is often restricted for system or managed folders enforced by retention policies. |
| MustDisplayComment | Boolean | True |
Specifies whether a user-facing comment associated with a managed folder must be displayed in the mail client to comply with retention or usage policies. |
| HasQuota | Boolean | True |
Indicates whether a storage quota has been applied to the folder, typically in managed folder scenarios for mailbox size control. |
| IsManagedFoldersRoot | Boolean | True |
True if the folder is designated as the root container for all managed folders within the mailbox, serving as a parent structure for policy-based folders. |
| ManagedFolderId | String | True |
Stores the identifier of the managed folder, which is used for policy enforcement, retention tracking, and folder provisioning by administrators. |
| Comment | String | True |
Contains a textual note or policy comment associated with the folder, often displayed to users to describe folder purpose or retention guidelines. |
| StorageQuota | Integer | True |
Defines the maximum allowed storage size for the folder, in kilobytes or megabytes, depending on server configuration. This helps enforce compliance with mailbox management policies. |
| FolderSize | Integer | True |
Represents the total size, in bytes, of all contents within the folder, including messages, calendar items, and attachments. Useful for storage management and quota evaluation. |
| HomePage | String | True |
Specifies the URL that is set as the folder's default home page. Typically used to display custom content or information when accessing the folder through a client interface. |
| UnreadCount | Integer | True |
Displays the total number of unread messages or items currently stored in the folder. Helps users and administrators track pending or new content. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the authenticated client has the right to create associated items, which are hidden messages used for storing metadata or settings within the folder. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the authenticated client is permitted to create new messages, events, or other primary content types in the folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether the authenticated client can create child folders under the current folder, supporting custom folder structures. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether the authenticated user or application has permission to delete the folder or its contents. Used for enforcing retention policies and user access controls. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether the contents or properties of the folder or its items can be updated by the user. Reflects the user's write or edit permissions. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the user has read access to the folder and its items. Determines whether items are visible in client applications. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether the user has permission to view items marked as private within the folder. Typically used in calendar or mailbox sharing scenarios. |
| SharingEffectiveRights | String | False |
Specifies the level of access granted to a user through folder sharing. Values include permissions like Read, Write, Delete, and Owner, which define how shared data can be used. |
| ParentFolderName | String | False |
Contains the display name or identifier of the parent folder that contains the current folder. Helps maintain folder hierarchy relationships. |
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 user account to impersonate when performing operations. Used in scenarios where an application needs to act on behalf of another user. |
| ImpersonationType | String |
Indicates the type of user identifier used for impersonation. Acceptable values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| Traversal | String |
Defines the scope of folder traversal during search operations. Valid options are Shallow (top-level only), Deep (including all subfolders), and SoftDeleted (recoverable items). Default is Shallow. |
| SharedMailboxEmail | String |
Provides the SMTP email address of a shared mailbox whose folders are being accessed. Required when retrieving folders from shared mailboxes. |
| Rows@Next | String |
Token used for pagination in result sets. It identifies the position of the next page of data. Do not set manually; it is system-generated for cursor-based navigation. |
Contains received email messages directed to the user's inbox. It allows access to individual messages with full Create, Read, Update, and Delete (CRUD) capabilities for inbox content management.
When performing a SELECT operation on the Inbox table, the Cloud will not include the items in the subfolders under Inbox, but only the items contained within the Inbox folder.
If you wish to retrieve the items under the Inbox subfolders, your will need to specify the ParentFolderId-s in the WHERE clause. You can get every Inbox subfolder Id by executing a filtered by ParentFolderName query to the Folders table. You can use the example query below, to retrieve the items within the Inbox subfolders:
SELECT * FROM Inbox WHERE ParentFolderId IN (SELECT FolderId FROM Folders WHERE ParentFolderName = 'Inbox' AND TotalCount > 0)
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Provides the globally unique identifier for an item stored in the Exchange mailbox. This ID is used to retrieve or reference the item in API calls and operations. |
| MimeContent | String | True |
Contains the original MIME content of the item, including headers and body, encoded in Base64. This property is essential for interoperability with systems that consume raw email formats. |
| ItemChangeKey | String | True |
Identifies the current state or version of the item. Every time the item is updated, this key changes, enabling concurrency control and synchronization processes. |
| ParentFolderId | String | False |
Holds the unique identifier of the folder that contains this item. This is used to establish the item's location within the mailbox folder hierarchy. |
| ParentFolderChangeKey | String | True |
Represents the change key of the parent folder, used to detect updates to the folder's state or metadata over time. |
| ItemClass | String | False |
Defines the class or type of item, such as IPM.Note for email messages. This value helps applications distinguish between different kinds of Exchange items. |
| Subject | String | False |
Stores the subject line of the message or item. This string is displayed as the title or heading in the user interface and is limited to 255 characters in length. |
| Sensitivity | String | True |
Specifies the sensitivity level assigned to the item, such as Normal, Personal, Private, or Confidential. This influences how the item is displayed or shared with others. |
| Body | String | False |
Contains the main content of the item, typically the message body. This can be plain text or formatted HTML, depending on the message structure. |
| DateTimeReceived | Datetime | True |
Indicates the timestamp when the item was received by the mailbox server. Useful for sorting, filtering, and auditing mailbox content. |
| Size | Integer | True |
Represents the total size of the item, measured in bytes. This includes all headers, body content, and attachments. This field is read-only and reflects the stored size on the server. |
| Categories | String | False |
Lists one or more user-defined categories assigned to the item, separated by commas. These categories help organize or color-code messages within a mailbox. |
| Importance | String | False |
Describes the priority level assigned to the item, such as Low, Normal, or High. This field is typically used by email clients to visually distinguish urgent messages. |
| InReplyTo | String | False |
Holds the identifier of the original message to which this item is a response. Useful for threading messages in a conversation view. |
| IsSubmitted | Boolean | True |
Indicates whether the item has been sent by the sender and submitted to the Outbox folder for delivery processing. |
| IsDraft | Boolean | True |
Identifies whether the item is a draft, meaning it has been composed but not yet sent. Used by email clients to save work-in-progress messages. |
| IsFromMe | Boolean | True |
Specifies whether the current mailbox owner is also the sender of the item. Common in scenarios where users email themselves for reminders or notes. |
| IsResend | Boolean | True |
Indicates that the item has previously been sent and is now being resent. Useful for tracking message resubmissions or forwarding with minimal changes. |
| IsUnmodified | Boolean | True |
Shows whether the item has remained unchanged since it was received or last saved. This is useful for detecting untouched messages. |
| InternetMessageHeaders | String | True |
Contains all Internet message headers associated with the email item, including metadata such as MIME version, content type, encoding, and user agent information. These headers are useful for diagnostics, filtering, and compliance audits. |
| DateTimeSent | Datetime | True |
Specifies the exact date and time the email was sent from the sender's mailbox. This timestamp is critical for chronological sorting, archiving, and determining message latency. |
| DateTimeCreated | Datetime | True |
Captures the timestamp when the item was first created in the Exchange mailbox, which can differ from the send or received time. It is often used for tracking draft creation or initial saves. |
| ReminderDueBy | Datetime | False |
Indicates the scheduled date and time at which a reminder should be triggered for a calendar item, task, or flagged message. It works in conjunction with the ReminderMinutesBeforeStart field to manage notification timing. |
| ReminderIsSet | Boolean | False |
Specifies whether a reminder is configured for the current item. A value of true indicates that the user or system has explicitly set a reminder to alert at a specific time. |
| ReminderMinutesBeforeStart | Integer | False |
Defines how many minutes before the event's start time the reminder will be shown. This setting allows customization of notification lead time for appointments, tasks, or flagged messages. |
| DisplayCc | String | True |
Stores the combined display names of all recipients listed in the Cc (carbon copy) field. This user-facing string is used in the message header for visual representation. |
| DisplayTo | String | True |
Stores the combined display names of all recipients listed in the To field. This string is displayed in the message header to reflect primary recipients. |
| HasAttachments | Boolean | True |
Indicates whether the email item includes one or more file attachments. This field is typically used to filter or flag messages that can contain additional content or documents. |
| Culture | String | False |
Represents the culture or locale associated with the email item, such as 'en-US' for English (United States). This affects formatting of dates, numbers, and localized content. |
| SenderName | String | False |
Contains the full display name of the sender as presented in the email client. This value is often resolved from the directory or contact card and used for UI presentation. |
| SenderEmailAddress | String | False |
Stores the email address of the sender in Simple Mail Transfer Protocol (SMTP) format. This is the primary identifier for the originating mailbox. |
| SenderRoutingType | String | False |
Defines the protocol used to route the sender's address. Common values include SMTP, EX (for Exchange), or X400. This is useful in hybrid or legacy messaging environments. |
| ToRecipients_Names | String | False |
Contains the display names of all recipients listed in the To field. These names are derived from contact records or directory services and used in the email client's UI. |
| ToRecipients_EmailAddresses | String | False |
Lists the SMTP addresses of all To recipients, separated by commas. This is used for routing the message to each intended recipient. |
| ToRecipients_ItemIds | String | False |
Stores the unique Exchange item identifiers associated with each To recipient entry, allowing for referencing and relationship tracking within the mailbox store. |
| CcRecipients_Names | String | False |
Contains the display names of all recipients listed in the Cc (carbon copy) field. These are typically shown in the message header for informational delivery. |
| CcRecipients_EmailAddresses | String | False |
Lists the SMTP addresses of all Cc recipients, separated by commas. These addresses are used to deliver informational copies of the message. |
| CcRecipients_ItemIds | String | False |
Stores the unique item identifiers corresponding to each Cc recipient entry. These identifiers link the recipient metadata with internal Exchange objects. |
| BccRecipients_Name | String | False |
Represents the display name of a recipient in the Bcc (blind carbon copy) field. Bcc recipients are hidden from other message recipients. |
| BccRecipients_EmailAddress | String | False |
Contains the SMTP address of the Bcc recipient. This field is not visible to other recipients of the message, maintaining confidentiality. |
| BccRecipients_ItemId | String | False |
Identifies the unique Exchange store identifier for each recipient listed in the blind carbon copy (Bcc) field of the message. This value enables traceability and programmatic referencing of individual recipients. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender explicitly requested a read receipt notification, which informs the sender when the recipient opens the message. |
| IsDeliveryReceiptRequested | Boolean | False |
Specifies whether the sender requested a delivery receipt to confirm that the message was successfully delivered to the recipient's mailbox. |
| ConversationIndex | String | False |
Stores a binary value used by Exchange to preserve the hierarchical relationship of messages in a conversation thread, enabling accurate threading and sorting of related messages. |
| ConversationTopic | String | False |
Contains the normalized subject line that identifies the topic of a conversation thread. This value is used for grouping related messages within the same thread. |
| FromName | String | False |
Displays the display name of the user or entity that sent the message. This is typically shown in email clients as the sender's name. |
| FromEmailAddress | String | False |
Contains the SMTP address of the message sender, which uniquely identifies the sender's mailbox on the email server. |
| FromRoutingType | String | False |
Specifies the routing protocol used to deliver the message from the sender. Typically set to 'SMTP', but can support other routing types like 'EX' for Exchange. |
| InternetMessageId | String | False |
Stores the globally unique identifier assigned to the email message by the originating mail server, used for message tracking and threading across systems. |
| IsRead | Boolean | False |
Indicates whether the recipient has opened or viewed the message. A value of true means the message has been marked as read. |
| IsResponseRequested | Boolean | False |
Specifies whether the sender is requesting a response from the recipient. This is often used in meeting requests or action-required messages. |
| References | String | False |
Contains one or more Internet message identifiers used to reference previous messages in a thread. This supports message threading and reply association. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the current user or client has permission to create associated items within a folder, typically used for hidden metadata like rules or views. |
| EffectiveRights_CreateContents | Boolean | True |
Specifies whether the client has rights to create new items (such as messages or tasks) in the current folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Denotes whether the user or client has permission to create subfolders within the current folder structure. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether the client has permission to delete items or folders. A true value means the delete operation is permitted. |
| EffectiveRights_Modify | Boolean | True |
Reflects whether the user has permission to modify the contents or properties of the folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the user has permission to read the contents of a folder or item. A true value allows access to view the item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Specifies whether the user is authorized to view items marked as private. This typically applies to shared mailboxes or calendars. |
| ReceivedByName | String | False |
Displays the display name of the final recipient to whom the message was delivered. This can differ from the intended recipient in the case of forwarding or delegation. |
| ReceivedByEmailAddress | String | False |
Contains the SMTP address of the mailbox that ultimately received the message, used for delivery verification and auditing. |
| ReceivedByRoutingType | String | False |
Specifies the transport protocol used for message delivery to the ReceivedBy mailbox. Typically set to SMTP, indicating the message was received via standard email routing. |
| ReceivedRepresentingName | String | False |
Displays the full name of the user who is being represented as the recipient of the message, allowing for delegation or impersonation tracking. |
| ReceivedRepresentingEmailAddress | String | False |
Specifies the email address of the user represented as the recipient. This is typically used in scenarios where one user sends or receives messages on behalf of another. |
| ReceivedRepresentingRoutingType | String | False |
Indicates the routing protocol used for the ReceivedRepresenting mailbox, such as SMTP, X500, or others. Defaults to SMTP for standard email addresses. |
| LastModifiedName | String | True |
Provides the display name of the last user who modified the item, useful for auditing changes or determining recent activity. |
| LastModifiedTime | Datetime | True |
Captures the date and time of the last modification made to the item. This field is automatically updated by the system and is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is linked to a folder as a hidden or system-level item, such as rules, views, or forms. |
| WebClientReadFormQueryString | String | True |
Contains a query string to append to the Outlook Web App (OWA) endpoint for rendering the item in read-only mode in a web browser. |
| WebClientEditFormQueryString | String | True |
Contains a query string to append to the Outlook Web App (OWA) endpoint for launching the item in edit mode through the web interface. |
| ConversationId | String | True |
Uniquely identifies a conversation thread, allowing grouping of related messages or calendar items across folders and time. |
| ConversationChangeKey | String | True |
Represents the version key for the conversation, used to track changes and ensure data consistency across updates. |
| UniqueBody | String | True |
Provides the message body content that is unique to this item within a conversation, excluding quoted or repeated content from earlier messages. |
| UniqueBodyType | String | True |
Specifies the format of the unique body content, either HTML or plain text, determining how it should be rendered in clients. |
| ReminderMessageData_Text | String | False |
Contains the message text associated with a calendar reminder, typically shown in pop-up notifications or alerts. |
| ReminderMessageData_Location | String | False |
Defines the physical or virtual location associated with a calendar item such as a meeting or event, used for reminders. |
| ReminderMessageData_StartTime | Datetime | False |
Indicates the scheduled start time of the calendar item tied to the reminder, aiding in timely notifications. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the scheduled end time of the associated calendar event, useful for calculating event duration or availability. |
| ReminderMessageData_AssociatedCalendarId | String | True |
References the calendar item linked to the reminder message, allowing correlation between reminders and their parent events. |
| Attachments | String | True |
Lists the identifiers of files attached to the item, formatted as a comma-separated list. Each Id corresponds to an individual attachment. |
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 |
Identifies the target user to impersonate during Exchange access operations, enabling scenarios like delegated mailbox access. |
| ImpersonationType | String |
Defines the type of identifier used for impersonation, such as PrincipalName, SID, PrimarySmtpAddress, or SmtpAddress. |
| SharedMailboxEmail | String |
Specifies the email address of a shared mailbox. Use this to access inbox contents belonging to shared or team mailboxes. |
Tracks email items flagged as spam or junk. It facilitates review, removal, or retrieval of misclassified messages.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Uniquely identifies the item within the Exchange store. This value can be used to retrieve, update, or delete the item from the store. |
| MimeContent | String | True |
Contains the raw email content in Multipurpose Internet Mail Extensions (MIME) format, encoded in Base64. This stream includes headers, body, and attachments as they were originally received. |
| ItemChangeKey | String | True |
Provides a unique token that changes whenever the item is modified. Used for concurrency control and to ensure consistency in item synchronization. |
| ParentFolderId | String | False |
Holds the unique identifier of the folder that contains the current item. This allows hierarchical organization of mailbox items. |
| ParentFolderChangeKey | String | True |
Contains a unique value that changes whenever the parent folder is modified. It helps in detecting changes at the folder level during synchronization. |
| ItemClass | String | False |
Specifies the message class of the item, such as IPM.Note for standard email messages or IPM.Appointment for calendar items. Helps determine item behavior in the client. |
| Subject | String | False |
Contains the subject line of the item, limited to 255 characters. Used as the main title or summary for the item in user interfaces. |
| Sensitivity | String | True |
Indicates the sensitivity setting of the item, such as Normal, Personal, Private, or Confidential. This guides how the item should be handled and displayed by clients. |
| Body | String | False |
Holds the main text content of the message body. May include HTML or plain text formatting depending on the message composition format. |
| DateTimeReceived | Datetime | True |
Captures the exact date and time when the item was delivered to the mailbox. Used for sorting, filtering, and display in message lists. |
| Size | Integer | True |
Reports the total size of the item in bytes, including its body, attachments, and metadata. This property is read-only and useful for storage management. |
| Categories | String | False |
Lists the categories associated with the item, represented as a collection of strings. Categories help organize and visually tag items in client applications. |
| Importance | String | False |
Indicates the priority level of the item, typically Low, Normal, or High. This influences how the item is presented and handled by clients. |
| InReplyTo | String | False |
Contains the identifier of the original message that this item is replying to, facilitating message threading and conversation tracking. |
| IsSubmitted | Boolean | True |
Indicates whether the message has already been submitted to the Outbox folder for delivery. This flag is typically set when an item transitions from draft or compose mode to a state ready for sending. |
| IsDraft | Boolean | True |
Specifies whether the item is still in draft status, meaning it has been composed but not yet sent or submitted. Useful for distinguishing incomplete messages from finalized ones. |
| IsFromMe | Boolean | True |
Determines whether the sender and recipient of the item are the same user. This is commonly used to identify messages a user sends to themselves, either for reminders or testing. |
| IsResend | Boolean | True |
Indicates whether the message is a resend of a previously sent item. This can be used to track repeated attempts to deliver or forward the same content. |
| IsUnmodified | Boolean | True |
Represents whether the item remains unchanged from its original state since creation or receipt. Useful for filtering out items that have been edited or altered. |
| InternetMessageHeaders | String | True |
Contains the full set of Internet-standard headers for the message, such as From, To, Subject, Date, and custom headers. These headers provide transport and metadata information used in message routing and processing. |
| DateTimeSent | Datetime | True |
Captures the exact date and time when the message was sent from the client or mail server. This timestamp reflects when the message left the sender's outbox. |
| DateTimeCreated | Datetime | True |
Indicates when the item was originally created in the mailbox. This is typically set when the message is first composed or received. |
| ReminderDueBy | Datetime | False |
Specifies the date and time when a reminder is scheduled to be triggered for the item. This is used in conjunction with the ReminderMinutesBeforeStart value to alert users before an event or deadline. |
| ReminderIsSet | Boolean | False |
Identifies whether a reminder has been configured for this item. A true value means a user has requested a visual or audible alert prior to a specified time. |
| ReminderMinutesBeforeStart | Integer | False |
Specifies the number of minutes before the start time of a calendar event when a reminder notification should be triggered for the user. |
| DisplayCc | String | True |
Stores the concatenated display names of all recipients listed in the Cc (carbon copy) field, formatted as a single string suitable for display purposes in user interfaces. |
| DisplayTo | String | True |
Stores the concatenated display names of all recipients listed in the To field. This value is typically displayed in the message header and is used to identify primary recipients. |
| HasAttachments | Boolean | True |
Indicates whether the message or calendar item contains any file attachments. A value of true means one or more attachments are present. |
| Culture | String | False |
Specifies the culture or locale information (such as language and regional settings) associated with the item, which can affect formatting and localization of content. |
| SenderName | String | False |
Contains the display name of the sender who initiated the message or calendar event. This is typically a human-readable name presented in email headers. |
| SenderEmailAddress | String | False |
Specifies the full email address of the sender, formatted using the Simple Mail Transfer Protocol (SMTP), which is the standard format for email routing. |
| SenderRoutingType | String | False |
Identifies the protocol or routing method used to deliver the message from the sender. The default and most common value is SMTP, but other routing types can also be supported. |
| ToRecipients_Name | String | False |
Contains the individual display names of users listed as primary recipients (To) of the item. This is typically the name shown in the email client for each recipient. |
| ToRecipients_EmailAddress | String | False |
Stores the SMTP email addresses corresponding to the To recipients of the item, ensuring that each recipient can be routed correctly via email systems. |
| ToRecipients_ItemId | String | False |
Provides a unique identifier associated with each To recipient in the Exchange store. This is used for internal tracking and relationship mapping. |
| CcRecipients_Name | String | False |
Contains the display names of users who are copied on the message via the Cc (carbon copy) field, as typically displayed in the message header. |
| CcRecipients_EmailAddress | String | False |
Holds the SMTP email addresses of the recipients listed in the Cc field. These addresses are used for routing copies of the item to additional stakeholders. |
| CcRecipients_ItemId | String | False |
Stores the unique identifier for each recipient listed in the Cc (carbon copy) field, enabling linkage to recipient metadata or further recipient details. |
| BccRecipients_Name | String | False |
Specifies the display name of each recipient listed in the Bcc (blind carbon copy) field, typically shown in mail clients for administrative or logging purposes. |
| BccRecipients_EmailAddress | String | False |
Holds the email address (in SMTP format) of each Bcc recipient, which remains hidden from other message recipients to ensure privacy. |
| BccRecipients_ItemId | String | False |
Contains a unique identifier corresponding to each Bcc recipient, used internally to track recipient details and link to message metadata. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender has requested a read receipt for the item, which prompts the recipient's client to notify the sender when the message is opened. |
| IsDeliveryReceiptRequested | Boolean | False |
Specifies whether the sender has requested a delivery receipt, which confirms that the message was successfully delivered to the recipient's mailbox. |
| ConversationIndex | String | False |
Stores a binary string that maintains the threading hierarchy of the conversation, allowing clients to reconstruct the sequence and nesting of related messages. |
| ConversationTopic | String | False |
Represents the subject or topic line used to group related messages into a conversation thread within the mailbox interface. |
| FromName | String | False |
Displays the name associated with the sender's mailbox, typically derived from the display name field in the sender's contact or directory profile. |
| FromEmailAddress | String | False |
Contains the sender's email address in SMTP format, used to route replies and identify the sender in both headers and user interfaces. |
| FromRoutingType | String | False |
Indicates the protocol or routing method used to send the message. Common values include SMTP for standard email routing and EX for Exchange-based routing. |
| InternetMessageId | String | False |
Stores the globally unique identifier for the message, used for tracking across servers and clients and included in the message's Internet headers. |
| IsRead | Boolean | False |
Marks whether the message has been opened or viewed by the recipient. Useful for user interface indicators and automated workflows that rely on message status. |
| IsResponseRequested | Boolean | False |
Specifies whether the sender of the item has requested a response from the recipient. This is often used for meeting requests, tasks, or emails where a reply or confirmation is expected. |
| References | String | False |
Contains the Usenet 'References' header field, which is used to maintain the thread hierarchy by identifying message IDs of previous related messages. This helps email clients organize message threads in conversation view. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the client application has permission to create associated items, which are non-visible metadata objects stored within a folder, such as rules, views, or forms. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the client has the right to create content items such as emails or calendar events within the folder. This is typically controlled by folder-level access rights. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Specifies whether the client has permission to create subfolders within the current folder. This is applicable to folders like the mailbox root or custom folders. |
| EffectiveRights_Delete | Boolean | True |
Determines if the client has the necessary permissions to delete the folder or its contained items. This includes both soft delete (move to Deleted Items) and hard delete actions. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether the client is authorized to make changes to the folder or item, such as updating its properties or modifying content like message body or attachments. |
| EffectiveRights_Read | Boolean | True |
Specifies whether the client is permitted to read the folder or item contents. This includes access to message headers, body text, and item metadata. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether the client has permission to view items marked as private, such as calendar entries or tasks that are hidden from general view by default. |
| ReceivedByName | String | False |
Captures the display name of the user or mailbox that received the item. This value is derived from the mailbox or directory profile associated with the recipient. |
| ReceivedByEmailAddress | String | False |
Stores the full SMTP address of the mailbox that received the item. This address is used for routing the message through the email infrastructure. |
| ReceivedByRoutingType | String | False |
Indicates the routing type used for delivering the message to the ReceivedBy recipient. Common values include SMTP (Simple Mail Transfer Protocol), EX (Exchange), or X400. |
| ReceivedRepresentingName | String | False |
Defines the display name of the user or mailbox that the message was received on behalf of. This is often used when messages are sent to shared or delegated mailboxes. |
| ReceivedRepresentingEmailAddress | String | False |
Specifies the SMTP (Simple Mail Transfer Protocol) email address of the mailbox user on whose behalf the message was received. This is typically used in delegated mailbox scenarios. |
| ReceivedRepresentingRoutingType | String | False |
Indicates the type of routing used for the ReceivedRepresenting mailbox user, such as SMTP or EX. The default is SMTP, which refers to standard email routing over the internet. |
| LastModifiedName | String | True |
Contains the display name of the user who most recently modified the item. This helps track authorship or recent activity related to the item content or metadata. |
| LastModifiedTime | Datetime | True |
Stores the timestamp of the most recent modification made to the item, including updates to properties or content. This field is read-only and system-generated. |
| IsAssociated | Boolean | False |
Indicates whether the item is an associated item within a folder. Associated items are not visible in standard folder views and are used for storing folder-level data such as rules or forms. |
| WebClientReadFormQueryString | String | True |
Provides a relative URL query string that should be appended to the base Outlook Web App (OWA) endpoint to open the item in read-only mode via the web interface. |
| WebClientEditFormQueryString | String | True |
Provides a relative URL query string to append to the Outlook Web App endpoint to open the item in edit mode, allowing web-based updates to item contents. |
| ConversationId | String | True |
Represents the unique identifier for a conversation thread in the Exchange store. This allows grouping of messages and items that belong to the same discussion. |
| ConversationChangeKey | String | True |
Contains the current change key for the conversation, which is used to identify the version of the conversation object and detect modifications. |
| UniqueBody | String | True |
Holds a segment of the message body that is unique to this message, excluding quoted replies or forwarded content. It can be formatted in either HTML or plain text. |
| UniqueBodyType | String | True |
Specifies the format used to store the unique body content of the item. Valid values typically include HTML and TEXT, depending on the message format. |
| ReminderMessageData_Text | String | False |
Provides the custom text message shown in a reminder for the associated calendar event or appointment. This message typically appears in reminder notifications. |
| ReminderMessageData_Location | String | False |
Indicates the physical or virtual location where the associated meeting or appointment is scheduled to occur, as stored in the reminder message data. |
| ReminderMessageData_StartTime | Datetime | False |
Captures the scheduled start time of the event or appointment that triggered the reminder, enabling accurate display and tracking of upcoming calendar items. |
| ReminderMessageData_EndTime | Datetime | False |
Captures the scheduled end time of the event or appointment that the reminder references. This helps define the full duration of the calendar item. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Stores the unique identifier of the calendar item (meeting, appointment, etc.) that the reminder is associated with, linking the reminder data back to the main calendar entry. |
| Attachments | String | True |
Contains a comma-separated list of the identifiers (Ids) for all files attached to the email item (for example, 'att123, att456, att789'). |
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 account being impersonated in the current session. This enables delegated access to retrieve mailbox or item data on behalf of another user. |
| ImpersonationType | String |
Indicates the identifier type used to define the impersonation target. Valid values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SharedMailboxEmail | String |
Specifies the email address of a shared mailbox. When set, this allows retrieval of Junk Email items from the specified shared mailbox rather than the default user mailbox. |
Temporarily stores outgoing email messages pending delivery. The items in this table can be created, reviewed, or deleted before transmission is completed.
When performing a SELECT operation on the Outbox table, the Cloud will not include the items in the subfolders under Outbox, but only the items contained within the Outbox folder.
If you wish to retrieve the items under the Outbox subfolders, your will need to specify the ParentFolderId-s in the WHERE clause. You can get every Outbox subfolder Id by executing a filtered by ParentFolderName query to the Folders table. You can use the example query below, to retrieve the items within the Outbox subfolders:
SELECT * FROM Outbox WHERE ParentFolderId IN (SELECT FolderId FROM Folders WHERE ParentFolderName = 'Outbox' AND TotalCount > 0)
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Stores the globally unique identifier assigned to an individual item within the Exchange store. This ID allows the item to be retrieved, modified, or referenced in programmatic operations. |
| MimeContent | String | True |
Contains the original MIME content of the email item, including headers and body, encoded in Base64. This field preserves the raw message structure for transport or forensic analysis. |
| ItemChangeKey | String | True |
Represents a version-specific key for the item that changes whenever the item is modified. It is used to detect and resolve concurrency conflicts in synchronization or update scenarios. |
| ParentFolderId | String | False |
Identifies the folder that directly contains the item. This ID links the item to its hierarchical position in the mailbox folder structure. |
| ParentFolderChangeKey | String | True |
Indicates the change key for the folder that contains the item. It is used to track folder-level updates for synchronization purposes. |
| ItemClass | String | False |
Defines the message class of the item, such as IPM.Note for emails or IPM.Appointment for calendar entries. Determines how Exchange and Outlook interpret and render the item. |
| Subject | String | False |
Specifies the subject line of the message or item. This is typically a short summary or title, limited to 255 characters, displayed prominently in email clients. |
| Sensitivity | String | True |
Indicates the sensitivity level assigned to the item, such as Normal, Personal, Private, or Confidential. This helps clients determine how to display or restrict access to the item. |
| Body | String | False |
Contains the main message body text of the item, including any formatting or markup. This can include HTML or plain text depending on how the message was composed. |
| DateTimeReceived | Datetime | True |
Captures the exact timestamp of when the item was received by the Exchange server. Useful for sorting, filtering, or time-based analytics. |
| Size | Integer | True |
Reflects the total size of the item in bytes, including headers, body, and attachments. This field is read-only and supports mailbox quota enforcement. |
| Categories | String | False |
Lists one or more categories assigned to the item, represented as a collection of strings. Categories help users group and color-code items for organizational purposes. |
| Importance | String | False |
Denotes the sender-assigned importance level of the item, typically Low, Normal, or High. Clients often use this to visually prioritize items in the UI. |
| InReplyTo | String | False |
Holds the ID of the message to which this item is replying. This helps clients thread conversations by linking related messages. |
| IsSubmitted | Boolean | True |
Indicates whether the item has been submitted to the Outbox folder for delivery. True if the item is in the process of being sent, false otherwise. |
| IsDraft | Boolean | True |
Specifies whether the item is currently a draft. A value of true means the message has not been finalized or sent. |
| IsFromMe | Boolean | True |
Indicates whether the item was sent by the mailbox owner to themselves. Helps distinguish internal copies or reminders. |
| IsResend | Boolean | True |
Identifies whether the item is a re-sent version of a previously sent message. Useful for tracking resend scenarios or message retries. |
| IsUnmodified | Boolean | True |
States whether the item remains unchanged from its original saved version. A value of true indicates no edits or updates have been made. |
| InternetMessageHeaders | String | True |
Contains the full set of Internet message headers associated with the email item, including standard headers such as From, To, Subject, and custom headers that provide metadata about the message routing and transmission. |
| DateTimeSent | Datetime | True |
Indicates the precise date and time when the email message was successfully sent from the sender's mailbox. This timestamp is typically recorded by the Exchange server. |
| DateTimeCreated | Datetime | True |
Records the exact date and time when the email item was initially created in the mailbox, whether as a draft or during composition. |
| ReminderDueBy | Datetime | False |
Specifies the exact time an associated reminder is due to trigger. This value is used in conjunction with the reminder lead time to calculate the notification schedule for calendar or task items. |
| ReminderIsSet | Boolean | False |
Specifies whether a reminder has been explicitly enabled for the email or calendar item. A value of true means a reminder is configured to alert the user. |
| ReminderMinutesBeforeStart | Integer | False |
Defines the number of minutes before the scheduled event or due time that a reminder alert is set to appear, helping users anticipate upcoming appointments or deadlines. |
| DisplayCc | String | True |
Displays a comma-separated list of display names for recipients included in the Cc (carbon copy) field. This is a user-readable string shown in the email header. |
| DisplayTo | String | True |
Displays a comma-separated list of display names for recipients included in the To field of the message. This field provides a readable summary of primary recipients. |
| HasAttachments | Boolean | True |
Indicates whether the item includes one or more file attachments. This value is true if any type of attachment—such as documents, images, or embedded items—is present. |
| Culture | String | False |
Specifies the culture setting (language and regional format) applied to the item. Common values include en-US for English (United States) or fr-FR for French (France), influencing date formats, time zones, and other locale-specific behaviors. |
| SenderName | String | False |
Contains the display name of the individual or mailbox that sent the message. This name typically corresponds to the full name associated with the sender's account. |
| SenderEmailAddress | String | False |
Stores the SMTP email address of the sender. This is the actual routing address used for message delivery, such as [email protected]. |
| SenderRoutingType | String | False |
Specifies the routing protocol used to identify the sender's mailbox. Common values include SMTP (Simple Mail Transfer Protocol) and X.400. This determines how the sender's address is interpreted and processed during message delivery. |
| ToRecipients_Name | String | False |
Represents the display name of each primary recipient in the 'To' field of the outgoing message. This name is typically visible to all recipients and reflects the address book entry or manually entered name. |
| ToRecipients_EmailAddress | String | False |
Provides the SMTP (Simple Mail Transfer Protocol) address associated with each recipient listed in the 'To' field of the message. This is the actual delivery address used for routing the email. |
| ToRecipients_ItemId | String | False |
Contains the unique item identifier assigned to each 'To' recipient entry. This ID is used internally by the system to reference the recipient object within the Exchange store. |
| CcRecipients_Name | String | False |
Indicates the display name of each recipient included in the 'Cc' (carbon copy) field of the message. These recipients receive a visible copy of the message without being the primary audience. |
| CcRecipients_EmailAddress | String | False |
Stores the SMTP address for each recipient listed in the 'Cc' field of the email message. This is the address used to deliver the message copy to secondary recipients. |
| CcRecipients_ItemId | String | False |
Identifies each 'Cc' recipient using a unique item ID within the Exchange system. This identifier facilitates recipient tracking and message linkage within the store. |
| BccRecipients_Name | String | False |
Captures the display name of each recipient included in the 'Bcc' (blind carbon copy) field. Bcc recipients receive a copy of the message without being visible to other recipients. |
| BccRecipients_EmailAddress | String | False |
Holds the SMTP address of each recipient in the 'Bcc' field of the email message. This address is used for hidden delivery, meaning other recipients are unaware of the Bcc addresses. |
| BccRecipients_ItemId | String | False |
Holds the unique identifier for each recipient included in the Bcc (blind carbon copy) field of the message. This allows for tracking or querying of Bcc recipients associated with a specific item. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender has requested a read receipt notification for the message. A read receipt alerts the sender when the recipient has opened the message. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender has requested a delivery receipt for the message. A delivery receipt confirms the message has been successfully delivered to the recipient's email server. |
| ConversationIndex | String | False |
Stores a binary-formatted string that helps preserve the order and hierarchy of messages in a conversation thread. It is used by clients to visually group related messages. |
| ConversationTopic | String | False |
Contains the subject or main topic used to group messages into a conversation thread. Typically derived from the original message subject and used for organizing related communications. |
| FromName | String | False |
Specifies the display name of the sender as it appears in the From field of the message. This can differ from the sender's email address or user ID. |
| FromEmailAddress | String | False |
Provides the sender's email address in Simple Mail Transfer Protocol (SMTP) format, as listed in the From field of the message. |
| FromRoutingType | String | False |
Indicates the routing protocol used for the From mailbox, such as SMTP, EX, or X400. The default and most common value is SMTP. |
| InternetMessageId | String | False |
Contains the globally unique Internet message identifier assigned to the email. This identifier is used to track and correlate messages across systems. |
| IsRead | Boolean | False |
Specifies whether the message has been marked as read by the recipient. This status is typically managed by the mail client and reflects user interaction. |
| IsResponseRequested | Boolean | False |
Specifies whether the sender of the message has requested a response from recipients. This flag is typically used to determine if the message is a meeting request, voting option, or other actionable item that expects feedback. |
| References | String | False |
Contains the value of the 'References' Internet message header, which is used by messaging systems to group replies with the original message for conversation threading and context. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the current user has the permission to create associated items within a folder. Associated items are typically hidden metadata used for custom forms or settings. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the current user has the permission to create new items, such as messages or calendar entries, within the contents of a folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether the current user has the permission to create subfolders under the current folder, thereby altering the folder hierarchy. |
| EffectiveRights_Delete | Boolean | True |
Specifies whether the user has delete permissions on the folder or item. This includes both hard and soft deletions, depending on system configuration and user role. |
| EffectiveRights_Modify | Boolean | True |
Denotes whether the user has permissions to modify the content or properties of the folder or item, including renaming or updating metadata. |
| EffectiveRights_Read | Boolean | True |
Specifies whether the user has read access to the folder or item. This permission allows the user to view contents but not modify them. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether the user is allowed to view items marked as private within a folder. This is typically reserved for users with delegate or administrative access. |
| ReceivedByName | String | False |
Represents the display name of the mailbox user on whose behalf the message was received. This is commonly used in delegated scenarios where a message is received by someone acting on behalf of another. |
| ReceivedByEmailAddress | String | False |
Specifies the SMTP (Simple Mail Transfer Protocol) address of the mailbox user who ultimately received the message. This helps identify the final recipient in email routing scenarios. |
| ReceivedByRoutingType | String | False |
Indicates the routing protocol used to deliver the message to the ReceivedBy mailbox. Common values include SMTP, which is the default method for email transmission. |
| ReceivedRepresentingName | String | False |
Displays the full name of the user on whose behalf the message was received. This is used in delegated or shared mailbox scenarios where a user receives mail representing another. |
| ReceivedRepresentingEmailAddress | String | False |
Provides the SMTP address of the user for whom the message was received. This is typically used in delegate access configurations. |
| ReceivedRepresentingRoutingType | String | False |
Indicates the routing protocol (such as SMTP) used for the ReceivedRepresenting mailbox. This helps in correctly identifying the transport method used in delegated receipt cases. |
| LastModifiedName | String | True |
Shows the display name of the last user who made a change to the item. Useful for auditing and change tracking. |
| LastModifiedTime | Datetime | True |
Captures the timestamp of the most recent modification made to the item. This value is system-generated and read-only. |
| IsAssociated | Boolean | False |
Specifies whether the item is an associated item, meaning it is linked to a folder but not visible in the standard folder item view. Associated items typically include hidden metadata or configuration elements. |
| WebClientReadFormQueryString | String | True |
Provides a query string to append to the Outlook Web App endpoint URL to open the item in read-only mode. This enables direct linking to items for viewing in a browser. |
| WebClientEditFormQueryString | String | True |
Provides a query string to append to the Outlook Web App endpoint URL to open the item in edit mode. This is used to launch the item for editing in a web browser session. |
| ConversationId | String | True |
Uniquely identifies a conversation thread in the Exchange store, allowing grouping of related messages under a single conversation ID. |
| ConversationChangeKey | String | True |
Stores the versioning change key for the conversation or item. This is used internally by Exchange to detect updates or conflicts when synchronizing data. |
| UniqueBody | String | True |
Represents the portion of the email body that is unique to this message within the conversation thread. This is typically the content authored by the sender, excluding quoted replies or forwards from previous messages. It can be in either HTML or plain-text format. |
| UniqueBodyType | String | True |
Specifies the format in which the unique body content is stored for this item. Accepted values are 'HTML' and 'TEXT', indicating whether the unique body is rendered as rich HTML content or as plain text. |
| ReminderMessageData_Text | String | False |
Defines the custom text displayed in the reminder pop-up or notification associated with a calendar event, task, or flagged email. This field is often used to convey critical instructions or notes to the recipient. |
| ReminderMessageData_Location | String | False |
Identifies the physical or virtual location linked to a calendar-based item such as a meeting or appointment. It can include room names, addresses, or conference call links, and is intended to guide participants to the correct venue. |
| ReminderMessageData_StartTime | Datetime | False |
Indicates the scheduled start time of the item that triggered the reminder, typically associated with a meeting, appointment, or flagged message. The time is stored in datetime format to support precise scheduling. |
| ReminderMessageData_EndTime | Datetime | False |
Indicates the scheduled end time of the item tied to the reminder. It is relevant for events and tasks that have a defined duration and is used for tracking and scheduling purposes. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Stores the unique identifier of the calendar event that the reminder message data refers to. This ID allows systems to locate and manage the corresponding calendar item across different Exchange entities. |
| Attachments | String | True |
Contains a comma-separated list of the identifiers (IDs) for any files or objects attached to the message. Each ID references a specific attachment stored in the Exchange system. The format for the list is ID1, ID2, ID3, ... |
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 |
Indicates the identifier of the user account being impersonated when accessing mailbox items through delegated access. This allows administrative or service-level accounts to act on behalf of a specified user. |
| ImpersonationType | String |
Specifies the format used to identify the impersonated user. Supported values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress, each representing a different identifier type within Exchange or Active Directory. |
| SharedMailboxEmail | String |
Specifies the email address of a shared mailbox whose outbox items are being accessed. This is useful when retrieving sent items that originate from a shared resource rather than an individual user account. |
Archives sent email messages for auditing and retrieval. It allows querying and management of previously sent emails.
When performing a SELECT operation on the SentItems table, the Cloud will not include the items in the subfolders under SentItems, but only the items contained within the SentItems folder.
If you wish to retrieve the items under the SentItems subfolders, your will need to specify the ParentFolderId-s in the WHERE clause. You can get every SentItems subfolder Id by executing a filtered by ParentFolderName query to the Folders table. You can use the example query below, to retrieve the items within the SentItems subfolders:
SELECT * FROM SentItems WHERE ParentFolderId IN (SELECT FolderId FROM Folders WHERE ParentFolderName = 'SentItems' AND TotalCount > 0)
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Uniquely identifies an item within the Exchange store. This value remains constant for the item's lifetime and is used to retrieve or manipulate the item programmatically. |
| MimeContent | String | True |
Contains the raw MIME stream of the email message, encoded in Base64. This includes headers, body content, and attachments as formatted by the email client. |
| ItemChangeKey | String | True |
Provides a unique version identifier for the item. It changes each time the item is updated and is required for concurrency control and synchronization. |
| ParentFolderId | String | False |
Specifies the unique identifier of the folder that directly contains the item. This value is used to determine the item's hierarchical location in the mailbox. |
| ParentFolderChangeKey | String | True |
Identifies the current version of the parent folder. Used in synchronization and conflict detection to track changes to the parent container. |
| ItemClass | String | False |
Indicates the message type of the item, such as IPM.Note for standard emails or IPM.Appointment for calendar entries. Helps determine item handling rules. |
| Subject | String | False |
Contains the subject line of the item, often displayed as the email title. Limited to 255 characters to ensure compatibility with various clients and services. |
| Sensitivity | String | True |
Describes how confidential the item is. Possible values include Normal, Personal, Private, and Confidential, which can restrict how the message is displayed or forwarded. |
| Body | String | False |
Stores the full content of the message body, either as plain text or HTML. Includes the main communication content that users compose and read. |
| DateTimeReceived | Datetime | True |
Captures the exact timestamp when the item was delivered to the recipient's mailbox. Used for sorting and time-based filtering. |
| Size | Integer | True |
Represents the total size of the item in bytes, including headers, body, and attachments. This property is read-only and used to track mailbox usage. |
| Categories | String | False |
Lists the custom category labels assigned to the item by the user. These are used for color-coding, organization, and filtering within email clients. |
| Importance | String | False |
Indicates the priority level assigned to the item by the sender. Common values include Low, Normal, and High, affecting how the message is presented. |
| InReplyTo | String | False |
References the item Id of the original message being replied to. Helps maintain message threading and conversation grouping. |
| IsSubmitted | Boolean | True |
True if the item has been submitted to the Outbox and is awaiting transmission. Used internally by Exchange to track delivery state. |
| IsDraft | Boolean | True |
True if the item is a draft that has not yet been sent or submitted. Drafts are typically saved manually or automatically during message composition. |
| IsFromMe | Boolean | True |
True if the sender and recipient are the same mailbox. Useful for detecting self-addressed messages or automated copies. |
| IsResend | Boolean | True |
Indicates whether the item is a re-sent version of a previously sent message. Helps differentiate between original sends and retries. |
| IsUnmodified | Boolean | True |
True if the item has not been changed since it was first received or created. Helps detect user edits or processing updates. |
| InternetMessageHeaders | String | True |
Holds the complete set of Internet-standard message headers as a single string. This includes metadata like 'Received', 'From', 'To', 'Message-ID'. |
| DateTimeSent | Datetime | True |
Marks the date and time when the message was successfully sent from the Outbox. Often used in audits or delivery confirmation. |
| DateTimeCreated | Datetime | True |
Stores the creation timestamp of the item. This is when the message was first drafted or system-generated within the mailbox. |
| ReminderDueBy | Datetime | False |
Specifies the exact time a reminder is due to alert the user, based on the event's scheduled time and any configured offset. |
| ReminderIsSet | Boolean | False |
True if the user has configured a reminder for this item, prompting alerts prior to a deadline, meeting, or task. |
| ReminderMinutesBeforeStart | Integer | False |
Specifies how many minutes before a scheduled calendar event a reminder will trigger and display to the user. This setting helps users manage upcoming commitments effectively. |
| DisplayCc | String | True |
Contains the formatted string of all display names listed in the Cc (carbon copy) field of the email. Useful for rendering the message's visual representation in client applications. |
| DisplayTo | String | True |
Contains the formatted string of all display names listed in the To field of the email. This field reflects how primary recipients are visually presented in the user interface. |
| HasAttachments | Boolean | True |
Indicates whether the email message or item includes one or more file or item attachments. A value of true means attachments are present, allowing downstream processes to handle them accordingly. |
| Culture | String | False |
Specifies the cultural or locale information associated with the item, such as language and regional settings, typically used for proper formatting of dates, times, and other locale-sensitive content. |
| SenderName | String | False |
Represents the full display name of the sender as configured in the sender's mailbox or directory entry. This name is typically shown in email clients. |
| SenderEmailAddress | String | False |
Provides the SMTP email address of the sender, enabling clients and services to identify and reply to the message originator. |
| SenderRoutingType | String | False |
Specifies the messaging routing protocol used to send the item from the sender, such as SMTP. This helps distinguish between various transport mechanisms in multi-protocol environments. |
| ToRecipients_Names | String | False |
Contains the list of display names for all primary (To) recipients of the message, presented in a single, comma-separated string. |
| ToRecipients_EmailAddresses | String | False |
Lists the SMTP email addresses of all primary recipients (To) in a comma-separated string, enabling external processing or delivery validation. |
| ToRecipients_ItemIds | String | False |
Provides the unique item identifiers for each primary recipient listed in the To field. These IDs can be used to retrieve additional metadata or link with related objects. |
| CcRecipients_Names | String | False |
Contains the list of display names for all recipients included in the Cc field. Useful for email display formatting and recipient recognition. |
| CcRecipients_EmailAddresses | String | False |
Lists the SMTP email addresses of all Cc recipients in a comma-separated format, supporting both UI display and backend processing. |
| CcRecipients_ItemIds | String | False |
Provides the unique item identifiers for each recipient listed in the Cc field. These identifiers are useful for tracking and cross-referencing recipients programmatically. |
| BccRecipients_Names | String | False |
Contains the list of display names for all recipients in the Bcc (blind carbon copy) field. These names are typically not visible to regular recipients but can be processed for audit or delivery purposes. |
| BccRecipients_EmailAddresses | String | False |
Lists the SMTP email addresses of all Bcc recipients, separated by commas. This field is critical for systems that track delivery while preserving recipient privacy. |
| BccRecipients_ItemIds | String | False |
Stores the unique identifier for each recipient listed in the blind carbon copy (Bcc) field of the sent message. This allows for tracking and auditing of hidden recipients. |
| IsReadReceiptRequested | Boolean | False |
Specifies whether the sender has requested a read receipt notification, which informs them when the recipient opens the message. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender has requested a delivery receipt, confirming that the message was successfully delivered to the recipient's mailbox. |
| ConversationIndex | String | False |
Contains a system-generated binary value that uniquely identifies the conversation thread to which this message belongs, allowing for message threading and grouping in clients like Outlook. |
| ConversationTopic | String | False |
Holds the subject or topic of the conversation thread, used to logically group related email messages into discussions or chains. |
| FromName | String | False |
Displays the display name of the sender's email account, representing the human-readable name associated with the From address. |
| FromEmailAddress | String | False |
Captures the email address (in SMTP format) of the user who sent the message, used for routing and reply functionality. |
| FromRoutingType | String | False |
Specifies the addressing type used to route the sender's email address. Typical values include SMTP, X500, or EX. The default is SMTP. |
| InternetMessageId | String | False |
Stores the globally unique message identifier assigned to the email by the sending system. This ID is used for message correlation and referencing across mail systems. |
| IsRead | Boolean | False |
Indicates whether the message has been marked as read by the recipient. This value is typically updated by the email client upon opening the message. |
| IsResponseRequested | Boolean | False |
Determines whether the sender expects a response to the message, often used in meeting requests or actionable messages. |
| References | String | False |
Contains the value of the 'References' header from the message, which is used to maintain threading by linking replies to the original message and prior responses. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the user has permission to create associated content items in the folder, such as hidden metadata or custom forms. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether the user has rights to create new mail items or content within the folder represented by the current context. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether the user has permission to create new subfolders within the current folder, contributing to the overall mailbox hierarchy. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether the current client has permission to delete the associated folder or item. This is part of the effective access rights granted to the user. |
| EffectiveRights_Modify | Boolean | True |
Specifies whether the user has permission to modify the content or properties of the associated folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether the client is authorized to read the contents of the specified folder or item. This is a key aspect of user access control. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Determines whether the client has been granted permission to view items marked as private within a folder, such as confidential calendar events. |
| ReceivedByName | String | False |
Displays the full name of the user whose mailbox ultimately received the item. This is typically the final recipient's display name. |
| ReceivedByEmailAddress | String | False |
Specifies the Simple Mail Transfer Protocol (SMTP) address of the mailbox that received the item. Used for identifying the recipient in email tracking. |
| ReceivedByRoutingType | String | False |
Defines the routing protocol used to deliver the item to the ReceivedBy user. Common values include SMTP for email routing or EX for Exchange. |
| ReceivedRepresentingName | String | False |
Shows the display name of the delegate or mailbox user on whose behalf the item was received, if applicable. |
| ReceivedRepresentingEmailAddress | String | False |
Specifies the SMTP address of the user whom the delegate or automated process is representing in the transaction. |
| ReceivedRepresentingRoutingType | String | False |
Indicates the message routing type used for the user being represented. The default is SMTP, but other values such as EX (Exchange) can appear. |
| LastModifiedName | String | True |
Captures the display name of the last user who made changes to the item. Useful for audit tracking and versioning. |
| LastModifiedTime | Datetime | True |
Records the timestamp of the most recent modification made to the item. This field is automatically set and read-only. |
| IsAssociated | Boolean | False |
Specifies whether the item is an associated item within the folder. Associated items are hidden from the user interface and typically store metadata or configuration. |
| WebClientReadFormQueryString | String | True |
Provides a query string to append to the Outlook Web App (OWA) endpoint that opens the item in read-only mode via a browser. |
| WebClientEditFormQueryString | String | True |
Provides a query string to append to the Outlook Web App (OWA) endpoint that opens the item in edit mode for modification via a browser. |
| ConversationId | String | True |
Uniquely identifies the conversation thread to which the item belongs within the Exchange mailbox. Used to group related messages together. |
| ConversationChangeKey | String | True |
Stores the change key associated with the conversation or item. This key is used for concurrency control and versioning. |
| UniqueBody | String | True |
Contains the portion of the message body that is unique to the item and not duplicated from previous messages in the conversation thread. May be in HTML or plain text. |
| UniqueBodyType | String | True |
Indicates the format in which the unique body content is stored, such as 'HTML' or 'TEXT'. Helps determine how to render the body. |
| ReminderMessageData_Text | String | False |
Represents the text message shown in a reminder notification for calendar events or tasks. It often includes a summary of the event. |
| ReminderMessageData_Location | String | False |
Specifies the location information tied to the reminder event, such as a meeting room, virtual meeting link, or geographic address. |
| ReminderMessageData_StartTime | Datetime | False |
Captures the start time of the event linked to the reminder message. This is used to trigger reminders in calendar-based scenarios. |
| ReminderMessageData_EndTime | Datetime | False |
Captures the end time of the event linked to the reminder message. Together with StartTime, this defines the event duration. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Identifies the calendar item (appointment or meeting) that the reminder message is associated with. Useful for linking to the calendar event. |
| Attachments | String | True |
Lists the identifiers of attachments associated with the item, separated by commas. Each identifier corresponds to a file or embedded object. |
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 account to impersonate during the API call or query. Allows operations to be performed as that user. |
| ImpersonationType | String |
Defines the format of the impersonation identifier. Supported types include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SharedMailboxEmail | String |
Specifies the email address of a shared mailbox. Use this to access or query the sent items associated with that shared mailbox. |
Maintains a list of tasks, including due dates, completion status, priorities, and reminders. It supports full task lifecycle management through CRUD operations.
The Cloud will need the ItemChangeKey to update or delete an item. However, if you are unsure of the ItemChangeKey, the Cloud is able to retrieve it from the Exchange server automatically. Note that this may increase the time it takes to perform a query.
In order to INSERT, SELECT, or UPDATE the Recurrence fields in a Task, you'll need to make sure that you only set the fields associated with the Recurrence_Type and Recurrence_Duration fields. Please see the tables below:
Recurrence_Type Values & Associated Fields
| RelativeYearlyRecurrence | Recurrence_DaysOfWeek, Recurrence_DaysOfWeekIndex, Recurrence_Month |
| AbsoluteYearlyRecurrence | Recurrence_DayOfMonth, Recurrence_Month |
| RelativeMonthlyRecurrence | Recurrence_Interval, Recurrence_DaysOfWeek, Recurrence_DaysOfWeekIndex |
| AbsoluteMonthlyRecurrence | Recurrence_Interval, Recurrence_DayOfMonth |
| WeeklyRecurrence | Recurrence_Interval, Recurrence_DaysOfWeek, Recurrence_FirstDayOfWeek |
| Daily | Recurrence_Interval |
| *Regeneration | Recurrence_Interval |
Recurrence_Duration & Associated Fields
| NoEndRecurrence | Recurrence_StartDate |
| EndDateRecurrence | Recurrence_StartDate, Recurrence_EndDate |
| NumberedRecurrence | Recurrence_StartDate, Recurrence_NumberOfOccurrences |
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Uniquely identifies the item within the Exchange store. This value is immutable and used to retrieve or reference the item programmatically. It is a read-only system-generated identifier. |
| MimeContent | String | True |
Stores the MIME-encoded content of the item in Base64 format, preserving the original structure and encoding used for email transmission. This is useful for interoperability with external mail systems. |
| ItemChangeKey | String | True |
Contains the change key that reflects the version of the item. It updates whenever the item is modified, allowing clients to detect and handle concurrent changes. This property is read-only. |
| ParentFolderId | String | False |
Identifies the folder in which the item resides by its unique ID. This enables clients to organize or retrieve items based on their container folder. This value is read-only. |
| ParentFolderChangeKey | String | True |
Represents the change key for the parent folder, which changes when the folder's metadata or content changes. Used to ensure consistency in folder-level operations. This property is read-only. |
| ItemClass | String | False |
Specifies the message class of the item, which determines how the item is processed by Exchange and client applications. Common values include IPM.Task for tasks and IPM.Note for emails. |
| Subject | String | False |
Holds the text that appears as the subject or title of the item. This is displayed prominently in user interfaces and limited to 255 characters to maintain compatibility with clients. |
| Sensitivity | String | True |
Defines the sensitivity of the item, such as Normal, Personal, Private, or Confidential. This value can be used to control visibility in shared mailbox scenarios. |
| Body | String | False |
Contains the main content or description of the task. This field supports plain text or HTML, depending on the message format, and is used to convey task details to users. |
| DateTimeReceived | Datetime | True |
Captures the timestamp when the item was received in the mailbox. For tasks, this can reflect the creation time or synchronization timestamp from an external system. |
| Size | Integer | True |
Indicates the total size of the item in bytes, including attachments and message headers. Useful for storage management and quota enforcement. This property is read-only. |
| Categories | String | False |
Represents a list of user-defined tags or labels assigned to the item. These categories help organize and group items in the mailbox for easier filtering and reporting. |
| InReplyTo | String | True |
References the item Id of the message to which this item is a response, supporting threaded conversations and message correlation in task discussions. |
| IsSubmitted | Boolean | True |
Returns true if the item has been submitted to the Outbox for sending. This typically applies to messages or meeting requests generated from a task. |
| IsDraft | Boolean | True |
Indicates whether the item is still in draft status, meaning it has been saved but not sent or finalized. Drafts can be reopened and edited. |
| IsFromMe | Boolean | True |
Returns true if the sender of the item is the same as the mailbox owner, which can be used to identify self-addressed tasks or test messages. |
| IsResend | Boolean | True |
Specifies whether the item was a resend of a previous message or task. Useful for tracking duplicates or repeated submissions. |
| IsUnmodified | Boolean | True |
Indicates whether the item has remained unchanged since it was last retrieved. Helpful in sync scenarios to detect stale or untouched records. |
| InternetMessageHeaders | String | True |
Contains all Internet message headers for the item, such as MIME headers and custom transport headers, allowing inspection of routing, origin, and metadata related to the message. |
| DateTimeSent | Datetime | True |
Stores the exact date and time when the item, such as a task request or message, was sent from the originating mailbox. |
| DateTimeCreated | Datetime | True |
Records the timestamp indicating when the task or item was initially created in the Exchange system, which can differ from the send or received time. |
| ReminderDueBy | Datetime | False |
Specifies the date and time when a reminder notification is scheduled to appear, typically used for upcoming task deadlines or important events. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been enabled for this item. If true, the Exchange client will alert the user at the specified time. |
| ReminderMinutesBeforeStart | Integer | False |
Defines how many minutes in advance of the due time the reminder should trigger. This helps users receive alerts ahead of key deadlines. |
| DisplayCc | String | True |
Displays the concatenated display names of recipients listed in the Cc field of the message. This is a read-only string used for rendering the UI. |
| DisplayTo | String | True |
Shows the concatenated display names of all primary recipients in the To field. This is primarily used for displaying message recipients in user interfaces. |
| HasAttachments | Boolean | True |
Indicates whether the task or item includes one or more file or item attachments. A true value implies that attachments are present. |
| Culture | String | False |
Represents the locale and language setting (culture code) associated with the item, such as en-US or fr-FR, which can influence formatting and localization. |
| ActualWork | Integer | False |
Captures the total amount of time, in minutes, that has been reported as spent working on the task. This value can be used for tracking task progress. |
| AssignedTime | Datetime | False |
Records the date and time when the task was officially assigned to a recipient, often used to calculate task duration or aging. |
| BillingInformation | String | False |
Stores billing-related metadata associated with the task, such as charge codes or client references used for internal cost tracking. |
| ChangeCount | Integer | False |
Tracks the number of times the task has been modified. Each update to the task typically increments this counter, helping with versioning or synchronization. |
| Companies1 | String | False |
Lists the names of companies associated with the task. Multiple columns (Companies1, Companies2, Companies3) are used to support multiple entries due to schema design. |
| Companies2 | String | False |
Additional field for listing company names associated with the task. Used when the number of related companies exceeds the capacity of a single field. |
| Companies3 | String | False |
Third field for listing companies related to the task, allowing extended support for multiple organization associations. |
| CompleteDate | Datetime | False |
Specifies the date and time when the task was marked as completed. This timestamp is important for workflow tracking and reporting. |
| Contacts1 | String | False |
Contains the first group of contact names or identifiers associated with the task, often used for tracking stakeholders or collaborators. |
| Contacts2 | String | False |
Provides a secondary list of associated contacts for the task, continuing from Contacts1 if more contacts are present. |
| Contacts3 | String | False |
Extends the list of task-associated contacts beyond Contacts1 and Contacts2, supporting a broader range of linked individuals or entities. |
| DelegationState | String | False |
Indicates the current status of a delegated task, such as whether it has been accepted, declined, or still pending. This helps track the task's lifecycle within a delegation workflow. |
| Delegator | String | False |
Specifies the display name or identifier of the user who assigned the task to someone else, providing insight into the task's origin and accountability chain. |
| DueDate | Datetime | False |
Defines the deadline by which the task should be completed. This is used for scheduling, reminders, and task prioritization. |
| IsAssignmentEditable | Boolean | False |
Indicates whether the assignee can modify the task's properties, such as its subject, due date, or completion status. This is relevant in shared or delegated task scenarios. |
| IsComplete | Boolean | False |
Shows whether the task has been marked as completed by the user or system. This is used for filtering and reporting on task progress. |
| IsRecurring | Boolean | True |
Identifies whether the task is configured to repeat at regular intervals. Useful for tasks that must be completed on a recurring basis, such as weekly reports or monthly reviews. |
| IsTeamTask | Boolean | False |
Indicates whether the task is assigned to a team rather than an individual, helping differentiate between personal and collaborative responsibilities. |
| Mileage | String | False |
Stores mileage information associated with the task, typically used for expense tracking or travel-related activities logged through the task system. |
| Owner | String | False |
Represents the user who owns or created the task. This is often the task originator and can differ from the assignee in delegated scenarios. |
| PercentComplete | Double | False |
Reflects the progress of the task as a percentage value between 0.0 and 100.0, enabling incremental tracking and visual indicators of task status. |
| Recurrence_Type | String | False |
Specifies the recurrence pattern type for the task, such as daily, weekly, monthly, or yearly, defining how often the task repeats. The allowed values are RelativeYearlyRecurrence, AbsoluteYearlyRecurrence, RelativeMonthlyRecurrence, AbsoluteMonthlyRecurrence, WeeklyRecurrence, DailyRecurrence, DailyRegeneration, WeeklyRegeneration, MonthlyRegeneration, YearlyRegeneration. |
| Recurrence_DaysOfWeek | String | False |
Lists the days of the week (for example, Monday, Wednesday, Friday) on which the task is scheduled to recur. Used in weekly and monthly recurrence rules. |
| Recurrence_DayOfWeekIndex | String | False |
Indicates which instance of the day is used in the recurrence, such as 'first', 'second', or 'last' Monday of the month. Relevant for relative recurrence rules. The allowed values are First, Second, Third, Fourth, Last. |
| Recurrence_Month | String | False |
Specifies the month in which an annually recurring task occurs. Supports scheduling events like yearly audits or anniversaries. |
| Recurrence_DayOfMonth | Integer | False |
Defines the specific day of the month (1–31) on which the task recurs, commonly used in monthly and yearly recurrence rules. |
| Recurrence_Interval | Integer | False |
Represents the frequency interval between recurring task occurrences. For example, a value of 2 with a weekly recurrence means every two weeks. |
| Recurrence_FirstDayOfWeek | String | False |
Defines which day is considered the start of the week (for example, Sunday or Monday), affecting weekly recurrence patterns and calendar alignment. |
| Recurrence_Duration | String | False |
Describes how long the recurrence pattern lasts, such as whether it is bounded by a number of occurrences or an end date. The allowed values are NoEndRecurrence, EndDateRecurrence, NumberedRecurrence. |
| Recurrence_StartDate | Datetime | False |
Indicates the start date from which the recurrence pattern begins, marking the first occurrence of the repeating task or event. |
| Recurrence_EndDate | Datetime | False |
Indicates the date on which the recurrence pattern ends, beyond which no additional task instances will be created. |
| Recurrence_NumberOfOccurrences | Integer | False |
Specifies the total number of instances for a recurring task. This helps determine how many times the task should repeat based on its recurrence pattern. |
| StartDate | Datetime | False |
Defines the date and time at which the task is scheduled to begin. This is typically used to track when work on the task should commence. |
| Status | String | False |
Indicates the current progress state of the task, such as NotStarted, InProgress, Completed, WaitingOnOthers, or Deferred. |
| StatusDescription | String | True |
Provides a human-readable explanation of the task's status, offering more detail than the categorical status field. |
| TotalWork | Integer | False |
Represents the estimated amount of work, in minutes, that is expected to complete the task. This is useful for workload planning and reporting. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether the current user or application has permission to create associated items, such as hidden items used internally by applications. |
| EffectiveRights_CreateContents | Boolean | True |
Specifies whether the user has the right to add new content (for example, tasks or items) to the folder. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates if the user has the ability to create subfolders within the current folder hierarchy. |
| EffectiveRights_Delete | Boolean | True |
Denotes whether the user is allowed to delete this item or folder. This can be restricted based on permissions or item state. |
| EffectiveRights_Modify | Boolean | True |
Specifies whether the user is authorized to make modifications to this item or folder. |
| EffectiveRights_Read | Boolean | True |
Indicates if the item or folder is readable by the user, which is fundamental to access and view permissions. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Specifies whether the user can view items that have been marked as private within the folder. |
| LastModifiedName | String | True |
Displays the name of the last user who modified the task. This helps identify who last made changes for auditing or tracking purposes. |
| LastModifiedTime | Datetime | True |
Records the date and time when the task item was last changed. Useful for identifying the most recent updates. |
| IsAssociated | Boolean | False |
Indicates whether the item is an associated item, which typically means it is not visible in the folder's content view but is used for system or background operations. |
| WebClientReadFormQueryString | String | True |
Provides the query string segment to append to the Outlook Web App (OWA) base URL to generate a link for reading the task in a browser interface. |
| WebClientEditFormQueryString | String | True |
Supplies the query string segment used to construct a link for editing the task directly in Outlook Web App (OWA). |
| ConversationId | String | True |
Stores the unique identifier that links this item to a conversation thread. Useful for grouping related items together. |
| ConversationChangeKey | String | True |
Holds the change key associated with the conversation or item, which helps detect version changes and maintain synchronization. |
| UniqueBody | String | False |
Contains the portion of the message body that is unique to this item, excluding any repeated content from previous items in the conversation. Can be in HTML or plain text. |
| UniqueBodyType | String | False |
Specifies the format used to store the unique body content, such as HTML or plain text, allowing applications to render it appropriately. |
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. This is used in delegated access scenarios where one account acts on behalf of another. |
| ImpersonationType | String |
Defines the type of user identifier provided for impersonation. Supported values include PrincipalName, SID, PrimarySmtpAddress, and SmtpAddress. |
| SharedMailboxEmail | String |
Specifies the email address of a shared mailbox. Used to query task data from a shared Exchange mailbox context. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| Calendar_ModifiedOccurrences | Provides a filtered view of calendar items that have had their occurrences modified, such as rescheduled or updated recurring meetings. This is useful for tracking changes in recurring events over time. |
Provides a filtered view of calendar items that have had their occurrences modified, such as rescheduled or updated recurring meetings. This is useful for tracking changes in recurring events over time.
| Name | Type | Description |
| OccurrenceId [KEY] | String | Represents the unique identifier for a specific occurrence within a recurring calendar event. This value distinguishes the modified instance from other instances in the series. |
| ItemId [KEY] | String | Contains the unique identifier of the calendar item, such as a meeting or appointment, that this modified occurrence is associated with. |
| Start | Datetime | Specifies the actual start time of the modified occurrence. This value can differ from the original recurring schedule due to changes made by the organizer or attendee. |
| End | Datetime | Indicates the actual end time of the modified occurrence. This reflects any updates to the event duration made after the initial scheduling. |
| OriginalStart | Datetime | Records the originally scheduled start time for the occurrence before it was modified. This helps track changes within recurring series events. |
Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with Microsoft Exchange.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Microsoft Exchange, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| CreateAttachments | Creates and attaches one or more files to an existing email message using the message's unique identifier. It supports various file types and ensures attachment persistence. |
| DeleteAttachment | Removes one or more attachments from a specified email or item. It requires the attachment ID or related identifiers to perform deletion. |
| GetAttachment | Retrieves file attachments associated with a given email or item. It returns binary content and metadata such as name, size, and content type. |
| GetRoomLists | Returns a collection of room lists available in the Exchange organization. The room lists are mail-enabled distribution groups that contain email addresses of meeting rooms, often used to simplify resource scheduling in Outlook and other calendar tools. |
| GetRooms | Fetches all individual rooms that belong to a specified room list. This is useful for applications that need to display or schedule meetings in available rooms within a specific building or location. |
| GetUserAvailability | Provides free/busy availability data for a list of users, rooms, and resources over a defined time range. It is often used for scheduling meetings by determining when participants are available. |
| GetUserOofSettings | Retrieves the Out of Office (OOF) settings for a given user, identified by their email address. It includes information on whether automatic replies are enabled and any custom OOF messages configured by the user. |
| MoveItem | Moves an item, such as an email or calendar event, from one folder to another within the Exchange mailbox store. This is useful for organizing mailbox contents or implementing custom automation workflows. |
| SendItem | Sends an existing item—such as a draft email message—that resides in the Exchange store. This procedure finalizes the send action and delivers the message to the recipient(s). |
| SendMail | Creates and sends a new email message to one or more specified recipients. This procedure constructs a new message object, defines its content, and dispatches it via the Exchange server. |
Creates and attaches one or more files to an existing email message using the message's unique identifier. It supports various file types and ensures attachment persistence.
Use CreateAttachments procedure to add an attachment to an existing email. To specify file paths of the attachments use Attachments input, whereas for base 64 encoded content specify AttachmentContent and AttachmentName.
EXECUTE CreateAttachments ItemId = 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD/FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAxEAAABDJHYjDdygQ5pQPUEu3S2cAAVZoayvAAAA', Attachments = 'C:\Users\User\Desktop\logfile.txt,C:\Users\User\Desktop\TestConnectionLog.txt'
| Name | Type | Required | Description |
| ItemId | String | True | The unique identifier of the email item or message to which the attachment will be added. This ID is required to associate the new attachment with the correct message. |
| Attachments | String | False | An input parameter representing one or more attachment objects to be added to the specified email item. This can include files, media, or other supported content formats. |
| AttachmentContent | String | False | The content of the attachment provided as a Base64-encoded string. Used when the attachment is included as raw data instead of a file object. |
| AttachmentName | String | False | The filename that will be assigned to the uploaded attachment. This name will appear in the recipient's email interface. |
| Name | Type | Description |
| AttachmentIds | String | A list of unique identifiers for each attachment successfully created and linked to the specified email item. Returned after execution of the procedure. |
Removes one or more attachments from a specified email or item. It requires the attachment ID or related identifiers to perform deletion.
| Name | Type | Required | Description |
| MessageId | String | True | The unique identifier of the email message from which one or more attachments will be deleted. This ID is required to locate the target message. |
| AttachmentIds | String | True | A semicolon-separated list of unique attachment identifiers to be deleted from the specified email message. Each ID must correspond to an existing attachment on the message. |
| Name | Type | Description |
| Success | String | Indicates whether the delete operation was completed successfully. A value of true confirms deletion; false indicates that one or more attachments could not be removed. |
Retrieves file attachments associated with a given email or item. It returns binary content and metadata such as name, size, and content type.
| Name | Type | Required | Description |
| AttachmentIds | String | True | A semicolon-separated list of attachment identifiers to retrieve. Each ID must correspond to an attachment associated with an email item. |
| IncludeMimeContent | String | False | Optional. Specifies whether to include the MIME (Multipurpose Internet Mail Extensions) content of the item or attachment in the response. Useful for preserving formatting or metadata. |
| BodyType | String | False | Optional. Defines the format of the body content included in the response. Acceptable values are Best (default), HTML, or Text. Determines how the attachment body is rendered. |
| AttachmentFolder | String | False | Specifies the local folder path where the downloaded attachments will be saved. Required if FileStream is not used. |
| Overwrite | String | False | If set to true, any existing files with the same name in the destination folder will be overwritten. If false, conflicting files will be indexed or renamed to avoid conflicts.
The default value is true. |
| Name | Type | Description |
| AttachmentId | String | The unique identifier of the retrieved file attachment. Useful for referencing the attachment in subsequent operations. |
| Name | String | The filename or display name of the attachment as it appears to the user. |
| ContentType | String | The MIME type of the attachment content, which defines the file format (for example, application/pdf, image/png). |
| ContentId | String | A custom identifier for the attachment content. Can be used by applications to track or reference specific attachments, especially in inline content scenarios. |
| ContentLocation | String | A URI that points to the content location of the attachment, if available. Often used in web-accessible attachments or linked resources. |
| Size | String | The size of the attachment in bytes. Useful for determining file transfer or storage constraints. |
| LastModifiedTime | String | The timestamp indicating when the attachment file was last modified. Helps in identifying the most recent version of a file. |
| IsInline | String | Indicates whether the attachment is embedded inline within the email body content, such as an image or formatted document. |
| IsContactPhoto | String | Indicates whether the attachment represents a contact photo, commonly used in address book entries or user profiles. |
| Content | String | The Base64-encoded binary content of the attachment. Used when the file is returned directly within the response rather than saved to a folder or stream. |
Returns a collection of room lists available in the Exchange organization. The room lists are mail-enabled distribution groups that contain email addresses of meeting rooms, often used to simplify resource scheduling in Outlook and other calendar tools.
| Name | Type | Description |
| Name | String | The display name of the room list, typically representing a group of physical meeting rooms. This name is shown to users when selecting rooms for scheduling meetings. |
| EmailAddress | String | The SMTP email address associated with the room list. Used to send meeting invitations to all rooms in the list. |
| RoutingType | String | Specifies the protocol used for message routing. A common value is SMTP, which indicates standard email routing. |
| MailboxType | String | Defines the type of mailbox associated with the room list. Possible values include Room, DistributionGroup, or PublicFolder, which determine how the list functions within Exchange. |
Fetches all individual rooms that belong to a specified room list. This is useful for applications that need to display or schedule meetings in available rooms within a specific building or location.
| Name | Type | Required | Description |
| EmailAddress | String | True | The email address of the RoomList for which rooms should be returned. This value is required and must correspond to a valid distribution list of room resources. |
| Name | Type | Description |
| Name | String | The display name of the individual room within the specified RoomList. This name typically represents a meeting space or resource location. |
| RoutingType | String | The protocol used for routing messages to the room. A common example is 'SMTP', which indicates standard email routing through Exchange. |
| MailboxType | String | The classification of the mailbox associated with the room, typically 'Room'. Other possible values include 'Equipment' or 'Shared', depending on how the resource is configured. |
Provides free/busy availability data for a list of users, rooms, and resources over a defined time range. It is often used for scheduling meetings by determining when participants are available.
| Name | Type | Required | Description |
| Mailboxes | String | True | An XML-formatted list of one or more email addresses representing the users whose calendar availability should be retrieved. This input is required and supports multiple entries. |
| StartTime | String | True | The starting date and time of the period for which availability information is requested. This input is required and should be in a recognized datetime format. |
| EndTime | String | True | The ending date and time of the period for which availability information is requested. This input is required and defines the end of the range to evaluate. |
| Timezone | String | False | The time zone to apply when interpreting StartTime and EndTime. Should be specified using a recognized time zone ID (for example, 'Eastern Standard Time'). Required for accurate availability alignment across time zones. |
| Name | Type | Description |
| Id | String | The unique identifier of the calendar event returned for the specified user. Useful for referencing or correlating calendar entries. |
| Subject | String | The subject or title of the calendar event. This is the text typically entered by the organizer to describe the meeting or appointment. |
| Location | String | The physical or virtual location associated with the calendar event (for example, a meeting room, Teams link, or conference call number). |
| StartTime | Time | The starting date and time of the calendar event, adjusted to the time zone specified in the request. |
| EndTime | Time | The ending date and time of the calendar event, adjusted to the time zone specified in the request. |
| BusyType | String | The availability status of the user during the calendar event. Possible values include Free, Tentative, Busy, OOF (Out of Office), or Working Elsewhere. |
| IsMeeting | Boolean | A Boolean value indicating whether the event is a meeting (true) or a personal appointment (false). |
| IsRecurring | Boolean | A Boolean value indicating whether the event is part of a recurring series (true) or a standalone entry (false). |
| IsException | Boolean | A Boolean value indicating whether the event is an exception to a recurring series, such as a skipped or altered instance. |
| IsReminderSet | Boolean | A Boolean value indicating whether a reminder is configured for the event (true) or not (false). |
| IsPrivate | Boolean | A Boolean value indicating whether the event is marked as private, which limits the visibility of its content to the owner. |
| EmailAddress | String | The email address of the user to whom the returned calendar event belongs. This allows matching events to individual request targets. |
Retrieves the Out of Office (OOF) settings for a given user, identified by their email address. It includes information on whether automatic replies are enabled and any custom OOF messages configured by the user.
| Name | Type | Required | Description |
| User | String | True | The email address of the user whose Out of Office (OOF) settings are being retrieved. This is the primary target of the request. |
| ImpersonationUser | String | False | The email address of the account to impersonate when performing the OOF settings request. This is used when the calling user has delegated access or application permissions. |
| ImpersonationType | String | False | Specifies the type of identifier used for impersonating the user. Accepted values include PrincipalName, SID, PrimarySmtpAddress, or SmtpAddress. |
| Name | Type | Description |
| OofState | String | Indicates the current Out of Office (OOF) status of the user. Possible values are: Disabled (OOF is off), Enabled (OOF is always on), or Scheduled (OOF is active during a specified time range). |
| ExternalAudience | String | Defines which external senders receive the user's Out of Office response. Options include: None (no external replies), Known (only contacts), or All (all external senders). |
| StartTime | String | The start date and time for the scheduled Out of Office period, if the OOF state is set to Scheduled. Ignored when OOF is Disabled or always Enabled. |
| EndTime | String | The end date and time for the scheduled Out of Office period. Relevant only when the OOF state is Scheduled. |
| InternalReply | String | The automatic reply message sent to users within the same organization or trusted domains during the OOF period. |
| ExternalReply | String | The automatic reply message sent to users outside the organization, based on the selected external audience policy. |
Moves an item, such as an email or calendar event, from one folder to another within the Exchange mailbox store. This is useful for organizing mailbox contents or implementing custom automation workflows.
| Name | Type | Required | Description |
| ItemId | String | True | The unique identifier of the item (such as an email or calendar entry) that is to be moved. This value is required to locate the item in the mailbox. |
| ItemChangekey | String | True | The change key associated with the item, used to ensure concurrency and identify the specific version of the item to be moved. Required for consistent item state validation. |
| FolderDisplayName | String | True | The display name of the target folder where the item will be moved. This should match an existing folder name in the mailbox (such as Inbox, Archive, or a custom folder). |
| Name | Type | Description |
| ResponseClass | String | Indicates the overall outcome of the move operation. Common values include Success (operation completed), Warning (partial issues), or Error (operation failed). |
| ResponseCode | String | A machine-readable response code that provides additional detail about the outcome of the move operation. Useful for diagnosing issues programmatically. |
| MessageText | String | A descriptive message that explains the result of the move operation, especially in cases of warnings or errors. Intended for display in logs or user interfaces. |
Sends an existing item—such as a draft email message—that resides in the Exchange store. This procedure finalizes the send action and delivers the message to the recipient(s).
| Name | Type | Required | Description |
| ItemId | String | True | The unique identifier of the item to be sent, such as an email draft. This is a required field and is used to locate the item in the mailbox. |
| ItemChangekey | String | True | The version-specific change key of the item to be sent. This value ensures that the correct version of the item is used during the send operation. Required to maintain consistency. |
| SaveToFolder | String | False | A Boolean value that determines whether a copy of the sent item should be saved. If true, the item is saved to the folder specified by 'SavedItemFolder'. If false, the item is sent but not stored. |
| SavedItemFolder | String | False | Specifies the target folder where the sent item should be saved. This can be the name of a standard folder like 'SentItems' or a FolderId of a custom folder. Defaults to 'SentItems' if not specified. |
| Name | Type | Description |
| ResponseClass | String | Indicates the overall outcome of the SendItem operation. Typical values include Success (operation completed), Warning (operation completed with issues), or Error (operation failed). |
| ResponseCode | String | A machine-readable response code that provides additional diagnostic detail about the SendItem operation. Useful for programmatic error handling. |
| MessageText | String | A human-readable message describing the result of the SendItem operation. This includes specific information about any warnings or errors encountered during processing. |
Creates and sends a new email message to one or more specified recipients. This procedure constructs a new message object, defines its content, and dispatches it via the Exchange server.
You can send a mail with attachments, specifying one or more file paths or the base 64 content of the attachment. To specify file paths use Attachments input, whereas for base 64 encoded content specify AttachmentContent and AttachmentName.
Note that if the file location specified in the 'Attachments' input is a folder, than all the files of the first level in that folder will be sent as attachments.
EXECUTE SendMail Subject = 'Issue with CData Cloud', Content = 'I am not being able to connect to Microsoft Exchange', Attachments = 'C:\Users\User\Desktop\logfile.txt,C:\Users\User\Desktop\TestConnectionLog.txt', ToRecipients = '[email protected]'
You can include CC and BCC recipients and send the mail. To specify one or more recipients, separate them using ','.
EXECUTE SendMail Subject = 'Issue with CData Cloud', Content = 'I am am not being able to connect to Microsoft Exchange', ToRecipients = '[email protected]', CcRecipients = '[email protected], [email protected], [email protected]', BccRecipients = '[email protected]'
| Name | Type | Required | Description |
| Subject | String | True | The subject line of the email message. This is displayed to recipients as the email's title in their inbox. |
| Content | String | True | The main body of the email message. This can include plain text or HTML-formatted content depending on client support. |
| Attachments | String | False | A comma-separated list of file paths to local files that should be attached to the email (for example, 'C:\Documents\file1.pdf' or 'C:\Images\image1.png'). |
| AttachmentContent | String | False | The binary content of the attachment, encoded as a Base64 string. This is used when including the attachment directly in the request rather than referencing file paths. |
| AttachmentName | String | False | The filename to assign to the attachment created from 'AttachmentContent'. This will be the name displayed to recipients in the email client. |
| ToRecipients | String | True | A comma-separated list of primary recipients for the email. Each value must be a valid email address (for example, '[email protected]' or '[email protected]'). |
| CcRecipients | String | False | A comma-separated list of email addresses to be copied on the message (Cc:). Recipients in this field are visible to all other recipients. |
| BccRecipients | String | False | A comma-separated list of email addresses to be blind-copied on the message (Bcc:). Recipients in this field are hidden from other recipients. |
| Name | Type | Description |
| Success | String | Indicates whether or not the operation was successful. |
The CData Cloud models Microsoft Exchange data as an easy-to-use SQL database, using tables, views, and stored procedures. These are defined in schema files, which are simple, easy-to-read text files that define the structure and organization of data. Some Microsoft Exchange data is related to other data; foreign keys in the tables, which are like matching IDs, show these relationships.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Microsoft Exchange account.
Common tables include:
| Table | Description |
| Users | Contains directory information for Exchange users, including user IDs, display names, job titles, and email addresses. It serves as a foundational entity for joining with activity and usage datasets. |
| Messages | Contains metadata and content for email messages sent and received through Exchange. This includes sender, recipient, subject, and body fields for mailbox analytics and compliance checks. |
| MailFolders | Lists all mail folders within user mailboxes, such as Inbox, Sent Items, and custom folders. It enables folder-level message organization and navigation in Exchange. |
| Events | Stores primary data for calendar events, including subject, location, attendees, and scheduling details. This table supports the management of both one-time and recurring appointments. |
| Calendars | Contains individual calendar entries associated with users. Each record represents a calendar that can be used for scheduling events, setting reminders, and tracking availability. |
| CalendarView | Returns a collection of calendar events—such as occurrences, exceptions, and single instances—within a specified time window. This is useful for generating user-defined calendar views across various calendar types. |
| Contacts | Stores contact information for users, including names, email addresses, phone numbers, and other metadata. This table provides access to personal or organizational contact directories. |
| Groups | Provides metadata for Microsoft Exchange Groups, including group names, descriptions, membership, and administrative settings. This is useful for auditing group configurations and collaboration patterns across Exchange Online. |
| GroupMembers | Provides a list of members within Microsoft Exchange groups. This includes user identifiers and membership roles, supporting scenarios like group management and access control. |
| EventInstances | Lists each individual occurrence of recurring or single-instance calendar events. It enables tracking of actual event instances, including exceptions or modified occurrences. |
| MessageAttachments | Provides a view of all attachments associated with email messages, including file names, types, and sizes, which is essential for identifying large or sensitive file transmissions. |
| EventAttachments | Displays all file attachments associated with calendar events. This view allows you to analyze or extract files linked to scheduled meetings or appointments. |
| EmailActivityUserDetail | Provides detailed logs on email activity per user, such as number of emails read, sent, received, and interactions with the mailbox, which is often used for monitoring usage trends or security audits. |
| MailboxUsageDetails | Displays granular information on mailbox storage usage, including mailbox size, number of items, and last activity timestamp per user. This is useful for capacity planning and identifying inactive mailboxes. |
| Office365ActiveUserDetail | Reports on user-level activity across Office 365 services (Exchange, Teams, SharePoint, etc.). It includes the last activity date per service to help identify inactive or underutilized accounts. |
| EmailAppUsageUserDetail | Captures insights into how users access their email accounts, including which email clients (desktop, mobile, web) they use and what activities they perform on those platforms. |
| Office365GroupsActivityDetail | Details the usage and engagement of Microsoft Exchange Groups, including counts of emails, posts, and file activities. This is useful for understanding collaborative group behavior over time. |
| TeamsUserActivityUserDetail | Provides detailed insights into user interactions in Microsoft Teams, including chat messages sent, meetings attended, and file collaboration. It supports productivity assessments and adoption tracking. |
| SharePointActivityUserDetail | Captures individual user actions within SharePoint, such as file modifications, site visits, and sharing activity. It supports audit logging and productivity analysis.. |
| OneDriveActivityUserDetail | Tracks OneDrive user activity including file views, edits, and sync actions. This is useful for monitoring user engagement with cloud storage and detecting abnormal file behavior. |
Stored Procedures are SQL scripts that extend beyond standard CRUD operations. These stored procedures enable advanced operations such as sending and forwarding emails, managing attachments, and facilitating OAuth authentication and token management.
The Cloud models the data in Microsoft Exchange as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| CalendarGroups | Represents collections of calendars grouped together by users for organizational purposes. Each entry in this table corresponds to a calendar group that can contain one or more individual calendars. |
| Calendars | Contains individual calendar entries associated with users. Each record represents a calendar that can be used for scheduling events, setting reminders, and tracking availability. |
| Contacts | Stores contact information for users, including names, email addresses, phone numbers, and other metadata. This table provides access to personal or organizational contact directories. |
| Events | Stores primary data for calendar events, including subject, location, attendees, and scheduling details. This table supports the management of both one-time and recurring appointments. |
| ExtendedProperties | Allows access to custom properties added to contact records. Developers use extended properties to store additional metadata beyond the standard contact schema. |
| Groups | Provides metadata for Microsoft Exchange Groups, including group names, descriptions, membership, and administrative settings. This is useful for auditing group configurations and collaboration patterns across Exchange Online. |
| MailFolders | Lists all mail folders within user mailboxes, such as Inbox, Sent Items, and custom folders. It enables folder-level message organization and navigation in Exchange. |
| Messages | Contains metadata and content for email messages sent and received through Exchange. This includes sender, recipient, subject, and body fields for mailbox analytics and compliance checks. |
| Users | Contains directory information for Exchange users, including user IDs, display names, job titles, and email addresses. It serves as a foundational entity for joining with activity and usage datasets. |
Represents collections of calendars grouped together by users for organizational purposes. Each entry in this table corresponds to a calendar group that can contain one or more individual calendars.
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
Represents the unique identifier for the calendar group. This ID is used to distinguish this group from others within the Exchange data store. |
| changeKey | String | False |
Indicates the version of the calendar group item. It is used to detect changes and ensure data consistency during updates. |
| classId | String | False |
Specifies the class identifier associated with the calendar group, which can be used to define behavior or rendering in client applications. |
| name | String | False |
Contains the display name assigned to the calendar group. This name is typically set by the user and shown in calendar navigation panes. |
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 |
| userId | String |
Represents the identifier of the user to whom the calendar group belongs. This is a pseudocolumn used to associate the group with a specific mailbox or account. |
Contains individual calendar entries associated with users. Each record represents a calendar that can be used for scheduling events, setting reminders, and tracking availability.
You can query Calendars by specifying an Id or selecting all:
SELECT * FROM Calendars WHERE Id = 'your Calendar Id goes here'
Select a certain column from the entity and filter by that column:
SELECT Name FROM Calendars WHERE Name LIKE 'John Calendar%'
Note: Unless specifying the AlwaysRequstTableDependencies connection property, or selecting/filtering by the reference CalendarGroupId, the value for CalendarGroupId will remain null.
Specify a Name as a minimum in order to create a new Calendar:
INSERT INTO Calendars (Name) VALUES ('John')
| Name | Type | ReadOnly | Description |
| calendarGroupId | String | False |
Unique identifier of the calendar group to which this calendar belongs. This helps organize multiple calendars under a single group for easier management. |
| canEdit | Bool | False |
Indicates whether the current user has permissions to modify the contents of this calendar, such as adding or updating events. |
| canShare | Bool | False |
Specifies whether the calendar can be shared with other users, allowing collaboration or visibility into scheduling. |
| id [KEY] | String | False |
Unique identifier of the calendar. This value is used to reference the calendar in API calls and database queries. |
| canViewPrivateItems | Bool | False |
Indicates whether the user has access to view private events or entries within the calendar, which are normally hidden. |
| changeKey | String | False |
Version identifier for the calendar object. It changes every time the calendar is updated, ensuring synchronization and conflict resolution. |
| color | String | False |
Represents the display color assigned to the calendar, typically used in calendar views to distinguish it visually from others. |
| name | String | False |
The display name of the calendar. This name is shown in user interfaces and helps users recognize the calendar's purpose. |
| owner_name | String | False |
The full name of the person or entity that owns the calendar. This is typically used for display purposes in shared calendar contexts. |
| owner_address | String | False |
The email address of the calendar owner. This helps identify the calendar source and enables calendar sharing or integration. |
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 |
| userId | String |
Represents the user context under which the calendar data is accessed. Used for impersonation or scoped queries in multi-user systems. |
Stores contact information for users, including names, email addresses, phone numbers, and other metadata. This table provides access to personal or organizational contact directories.
You can query Contacts by specifying an Id or selecting all:
SELECT * FROM Contacts WHERE Id = 'your Contact Id goes here'
Select a certain column from the entity and filter by that column:
SELECT GivenName FROM Contacts WHERE GivenName LIKE 'John%'
Specify a GivenName and a Surname as a minimum in order to create a new Contact:
INSERT INTO Contacts (GivenName, Surname) VALUES ('John', 'Smith')
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
Unique identifier for the contact entry in the Exchange system. This ID is used to reference the contact in queries and operations. |
| categories | String | False |
List of user-defined categories assigned to the contact. Categories help organize and filter contacts in the address book. |
| changeKey | String | False |
Versioning token used to detect changes to the contact. A new change key is generated every time the contact is updated. |
| createdDateTime | Datetime | False |
Timestamp indicating when the contact was originally created in the mailbox. |
| lastModifiedDateTime | Datetime | False |
Timestamp of the most recent update to the contact's information. |
| assistantName | String | False |
Full name of the contact's assistant, if one is specified. |
| birthday | Datetime | False |
Contact's birthdate, stored in Coordinated Universal Time (UTC). |
| businessAddress_street | String | False |
Street address of the contact's primary business location. |
| businessAddress_city | String | False |
City associated with the contact's business address. |
| businessAddress_state | String | False |
State or province of the contact's business address. |
| businessAddress_countryOrRegion | String | False |
Country or region of the contact's business address, formatted as a string. |
| businessAddress_postalCode | String | False |
Postal or ZIP code of the contact's business address. |
| businessHomePage | String | False |
URL to the contact's company or business homepage, if provided. |
| businessPhones | String | False |
Comma-separated list of business phone numbers associated with the contact. Each number should be in international format if possible. |
| children | String | False |
Comma-separated list of names of the contact's children, if provided. |
| companyName | String | False |
Name of the organization or company where the contact is employed. |
| department | String | False |
Department or division within the company where the contact works. |
| displayName | String | False |
Formatted full name of the contact as displayed in Exchange and client interfaces. |
| emailAddresses | String | False |
Comma-separated list of the contact's email addresses. Each address includes the name and the actual email address. |
| fileAs | String | False |
Specifies how the contact should be filed or sorted, such as 'LastName, FirstName'. |
| generation | String | False |
Contact's generational suffix, such as Jr., Sr., III, used in formal naming. |
| givenName | String | False |
Contact's first name or given name. |
| homeAddress_street | String | False |
Street portion of the contact's home address. |
| homeAddress_city | String | False |
City portion of the contact's home address. |
| homeAddress_state | String | False |
The state or province portion of the contact's residential address, used for geographic or mailing purposes. |
| homeAddress_countryOrRegion | String | False |
The country or region of the contact's home address, typically used for location context or international correspondence. |
| homeAddress_postalCode | String | False |
The postal code or ZIP code associated with the contact's home address, used for mailing and location identification. |
| homePhones | String | False |
One or more home phone numbers for the contact, separated by commas if multiple are listed. Used for personal communication. |
| imAddresses | String | False |
A list of instant messaging addresses associated with the contact, separated by commas. May include addresses for Skype, Teams, or other services. |
| initials | String | False |
The initials of the contact's full name, often used for identification or display in address books. |
| jobTitle | String | False |
The contact's job title or professional role, typically reflecting their current employment position. |
| manager | String | False |
The name or identifier of the contact's manager or supervisor, if applicable. Useful for organizational hierarchy mapping. |
| middleName | String | False |
The contact's middle name or middle initial, used as part of the full legal name or for identification purposes. |
| mobilePhone | String | False |
The contact's personal or work mobile phone number, used for direct and often urgent communication. |
| nickName | String | False |
The informal or preferred name the contact goes by, which can differ from their legal first name. |
| officeLocation | String | False |
The physical office location or room number where the contact works, helpful for in-person meetings or mail delivery. |
| otherAddress_street | String | False |
The street portion of an alternate address for the contact, often used when a secondary residence or mailing location is maintained. |
| otherAddress_city | String | False |
The city or municipality of the alternate address associated with the contact. |
| otherAddress_state | String | False |
The state or province of the alternate address, used for region-specific identification. |
| otherAddress_countryOrRegion | String | False |
The country or region associated with the alternate address of the contact. |
| otherAddress_postalCode | String | False |
The postal or ZIP code for the contact's alternate address, supporting mailing and location-based services. |
| parentFolderId | String | False |
The unique identifier of the parent folder where the contact is stored, used for organizing and retrieving contact records. |
| personalNotes | String | False |
Any freeform notes or remarks related to the contact, typically added by the user to store personal or contextual information. |
| profession | String | False |
The professional field or industry in which the contact works, such as Engineering, Medicine, or Education. |
| spouseName | String | False |
The full name of the contact's spouse or partner, when applicable. |
| surname | String | False |
The family or last name of the contact, often used as the primary identifier in sorted lists. |
| title | String | False |
An honorific or courtesy title for the contact, such as Mr., Ms., Dr., or Prof. |
| yomiCompanyName | String | False |
The phonetic Japanese reading (Yomi) of the company name where the contact works. Useful in Japanese-language sorting or pronunciation support. |
| yomiGivenName | String | False |
The Yomi phonetic version of the contact's given (first) name, primarily used in Japanese locales. |
| yomiSurname | String | False |
The Yomi phonetic version of the contact's surname (family name), used for pronunciation and alphabetical ordering in Japanese systems. |
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 |
| userId | String |
A system-generated pseudocolumn representing the unique identifier of the user associated with the contact entry. |
Stores primary data for calendar events, including subject, location, attendees, and scheduling details. This table supports the management of both one-time and recurring appointments.
You can retrieve all rows from Events, specify an event by Id or CalendarId, or filter results by any supported column.
Note: Unless you specify the AlwaysRequestTableDependencies connection property, or select/filter by the reference column CalendarId, the value for CalendarId will remain NULL.
Note: To retrieve all events for another user, you must authenticate with AuthScheme set to AzureServicePrincipal or AzureServicePrincipalCert.
-- Retrieve all events for a specific user and their calendars.
SELECT *
FROM Events
WHERE UserId = '0409f710-2aa9-4f05-8944-ef382160f1d1'
AND CalendarId IN (
SELECT Id
FROM Calendars
WHERE UserId = '0409f710-2aa9-4f05-8944-ef382160f1d1'
);
To create a new event, the Start and End values are required, including the time zone for each. For example:
-- Create a new event in the default calendar.
INSERT INTO Events
(Subject, Body_Content, Start_DateTime, Start_TimeZone, End_DateTime, End_TimeZone)
VALUES
('New Test Event', 'Event created using Office365Provider',
'2016-01-01T10:00:00', 'UTC',
'2016-01-01T11:00:00', 'UTC');
Note: This statement creates your event in the default calendar.
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
Unique identifier of the event within the Exchange calendar system. This ID is used to retrieve, update, or delete the specific event. |
| categories | String | False |
Comma-separated list of user-defined categories assigned to the event, such as ProjectX, CustomerMeeting, HighPriority. |
| changeKey | String | False |
Version identifier that changes whenever the event is updated. It is used for concurrency control to detect changes. |
| createdDateTime | Datetime | False |
Timestamp indicating when the event was originally created in the calendar. |
| lastModifiedDateTime | Datetime | False |
Timestamp indicating the last time the event details were modified. |
| attendees | String | False |
Comma-separated list of attendees' email addresses or user identifiers invited to the event. Includes both required and optional participants. |
| body_contentType | String | False |
Specifies the format of the event body content, such as text or HTML. |
| body_content | String | False |
Main body text of the event invitation or details, containing meeting information, agenda, or notes. |
| bodyPreview | String | False |
Short preview of the event body, typically used in summary displays or list views. It is truncated to a fixed length. |
| end_dateTime | String | False |
Date and time when the event is scheduled to end, formatted as an ISO 8601 string. |
| end_timeZone | String | False |
Time zone context for the event end time, such as Pacific Standard Time or UTC. |
| hasAttachments | Bool | False |
Indicates whether the event includes file attachments, such as agendas, slides, or documents. |
| iCalUId | String | False |
Universal identifier for the event used across different calendar systems, derived from the iCalendar standard. |
| importance | String | False |
Priority level of the event, such as low, normal, or high, used to signal its relative urgency or relevance. |
| isAllDay | Bool | False |
Indicates whether the event is scheduled for an entire day without specific start or end times. |
| isCancelled | Bool | False |
Indicates whether the event has been cancelled. Cancelled events remain in the system for tracking purposes. |
| isOrganizer | Bool | False |
Specifies whether the current user is the organizer of the event. Useful in access control and response handling. |
| isReminderOn | Bool | False |
Indicates whether a reminder notification is enabled for the event. |
| location_displayName | String | False |
Human-readable name of the event location, such as a meeting room name, conference center, or virtual location. |
| location_locationEmailAddress | String | False |
The email address associated with the event location, often used for rooms or resource calendars in Exchange. |
| location_address_street | String | False |
The street address component of the event's location, which can be used for routing or location context. |
| location_address_city | String | False |
The city where the event's location is situated, providing geographic context for attendees. |
| location_address_state | String | False |
The state, province, or region of the event's location, offering further geographic detail. |
| location_address_countryOrRegion | String | False |
The country or region where the event is held, used for internationalization or regional processing. |
| location_address_postalCode | String | False |
The postal or ZIP code corresponding to the event location's address, useful for navigation and filtering. |
| location_coordinates_altitude | Double | False |
The altitude value (in meters) above sea level for the event location, if available from the location metadata. |
| location_coordinates_latitude | Double | False |
The latitude coordinate of the event's physical location, used in map plotting and geospatial analysis. |
| location_coordinates_longitude | Double | False |
The longitude coordinate of the event's physical location, typically paired with latitude for mapping purposes. |
| location_coordinates_accuracy | Double | False |
The horizontal accuracy (in meters) of the location coordinates, indicating the confidence radius of the location fix. |
| location_coordinates_altitudeAccuracy | Double | False |
The accuracy (in meters) of the altitude reading, indicating the reliability of the vertical positioning. |
| location_locationUri | String | False |
A URI that identifies the location resource, which can include a link to a map or a resource entry in the directory. |
| location_locationType | String | False |
The classification of the location, such as default, conference room, home address, business address, or geo-coordinates. |
| location_uniqueId | String | False |
A system-generated identifier that uniquely distinguishes this location from others within the same tenant. |
| location_uniqueIdType | String | False |
Specifies the format or origin of the unique ID, such as unknown, locationStore, or directory, used to resolve the location identity. |
| locations | String | False |
Comma-separated list of physical or virtual locations associated with the event, such as meeting rooms or online conferencing platforms. |
| onlineMeetingUrl | String | False |
The full URL used to join the associated online meeting, typically generated by platforms like Microsoft Teams or Skype. |
| organizer_emailAddress_name | String | False |
The display name of the individual or entity organizing the event, as listed in their email profile. |
| organizer_emailAddress_address | String | False |
The email address of the event organizer, used for identifying the sender or main contact for the meeting. |
| originalEndTimeZone | String | False |
Time zone in which the original end time of the event was defined, preserved for consistent scheduling across systems. |
| originalStart | Datetime | False |
The original start date and time of the event before any changes or rescheduling occurred. |
| originalStartTimeZone | String | False |
Time zone in which the original start time was defined, used to interpret the 'originalStart' value accurately. |
| recurrence_pattern_type | String | False |
Specifies the recurrence pattern type for the event series. Values can include daily, weekly, absoluteMonthly, relativeMonthly, absoluteYearly, and relativeYearly. |
| recurrence_pattern_interval | Int | False |
Defines the interval between recurrences of the event. For example, an interval of 2 with a weekly pattern indicates the event recurs every 2 weeks. |
| recurrence_pattern_month | Int | False |
Specifies the month (1 to 12) in which the event recurs, used primarily for yearly recurrence patterns. |
| recurrence_pattern_dayOfMonth | Int | False |
Indicates the specific day of the month on which the event occurs, applicable for monthly recurrence patterns. |
| recurrence_pattern_daysOfWeek | String | False |
A list of comma-separated days when the event occurs for weekly or relative patterns, such as Monday, Wednesday, and Friday. |
| recurrence_pattern_firstDayOfWeek | String | False |
Defines the first day of the week for recurrence calculations. Values typically include Sunday or Monday. |
| recurrence_pattern_index | String | False |
Specifies the occurrence of the day within the month for relative recurrence patterns. Possible values include first, second, third, fourth, and last. |
| recurrence_range_type | String | False |
Indicates how the recurrence range is defined. Possible values include endDate, noEnd, and numbered, which specify whether the pattern ends after a certain date, never ends, or ends after a set number of occurrences. |
| recurrence_range_startDate | Date | False |
The start date of the recurrence pattern, indicating when the event series begins. |
| recurrence_range_endDate | Date | False |
The end date of the recurrence pattern, indicating when the event series concludes or should stop repeating. |
| recurrence_range_recurrenceTimeZone | String | False |
The time zone in which the recurrence range is defined, affecting how the start and end dates are interpreted. |
| recurrence_range_numberOfOccurrences | Int | False |
The total number of times the recurring event should occur, used when the recurrence ends after a set number of instances. |
| reminderMinutesBeforeStart | Int | False |
The number of minutes before the event's start time when a reminder notification should be triggered. |
| responseRequested | Bool | False |
Indicates whether attendees are expected to respond to the event invitation. |
| responseStatus_response | String | False |
The attendee's response to the event, such as accepted, declined, or tentative. |
| responseStatus_time | Datetime | False |
The timestamp indicating when the attendee submitted their response to the event invitation. |
| sensitivity | String | False |
Defines the visibility level of the event, such as normal, personal, private, or confidential. |
| seriesMasterId | String | False |
The unique identifier of the recurring event series master, used to associate individual event instances with the parent series. |
| showAs | String | False |
Specifies how the event should appear on the calendar, such as free, tentative, busy, or out of office. |
| start_dateTime | String | False |
The date and time when the event is scheduled to begin, in ISO 8601 format. |
| start_timeZone | String | False |
The time zone in which the event's start_dateTime is defined. |
| subject | String | False |
The subject line or title of the event, typically used to summarize its purpose or topic. |
| transactionId | String | False |
An optional identifier used to track changes or updates to the event across systems, ensuring idempotency. |
| type | String | False |
Indicates the type of event, such as singleInstance, occurrence, exception, or seriesMaster. |
| webLink | String | False |
A URL that opens the event in a web-based calendar client, typically Microsoft Outlook on the web. |
| calendarId | String | False |
The identifier of the calendar to which this event belongs. |
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 |
| groupId | String |
The identifier for the Microsoft 365 group associated with the calendar event, if applicable. |
| userId | String |
The identifier of the user who owns the calendar or is associated with the event. |
Allows access to custom properties added to contact records. Developers use extended properties to store additional metadata beyond the standard contact schema.
The Cloud uses the Microsoft Graph API to process WHERE clause conditions built with the following columns and operators:
Note: Entity, EntityId, and Id must be included in the WHERE clause to retrieve any data from the ExtendedProperties table. These filters are required by the API and are evaluated server-side. The rest of the filter is executed client-side within the Cloud.
The following is an example query:
SELECT * FROM ExtendedProperties WHERE Entity = 'Event' AND EntityId = 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD-FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAw8AAABDJHYjDdygQ5pQPUEu3S2cAAZq-GA0AAAA' AND Id = 'String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color'
You can create an extended property in a resource by specifying Entity, EntityId, and Id of the extended property and its Value.
INSERT INTO ExtendedProperties (Entity, EntityId, Id, Value) VALUES ('Calendar', 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD-FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAwcAAABDJHYjDdygQ5pQPUEu3S2cAASHbEoeAAAA', 'String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color', 'Yellow')
| Name | Type | ReadOnly | Description |
| Id | String | False |
Unique identifier for the extended property instance, used to distinguish it from other properties associated with the same entity. |
| Value | String | False |
The actual data or content stored in the extended property, which can vary in type and meaning depending on the context of the entity. |
| Entity | String | False |
Specifies the type of object or resource (such as a message, event, or contact) to which the extended property is associated. |
| EntityId | String | False |
Unique identifier of the parent entity (message, calendar item, contact, etc.) that the extended property is linked to. |
Provides metadata for Microsoft Exchange Groups, including group names, descriptions, membership, and administrative settings. This is useful for auditing group configurations and collaboration patterns across Exchange Online.
Groups require Administrator permissions. To work with them, you must create your own custom OAuth App and set the appropriate OAuthClientId and OAuthClientSecret. In this app, you must configure it to request the Group.Read.All and the Group.ReadWrite.All permissions. This can be done at https://apps.dev.microsoft.com, or in the App Registrations panel at http://portal.azure.com.
To authorize Groups permissions, an administrator must grant the Groups permissions for your organization at large. This can be done via the
administrator authorization endpoint. Simply have the administrator navigate to the following web page and grant permissions. Then
run the OAuth authorization as normal afterwards.
https://login.microsoftonline.com/common/adminconsent?client_id=[YourClientId]&redirect_uri=http://localhost:33333
Note that if your organization has multiple tenants, you may replace the /common/ in the url with the tenant id to indicate which tenant to grant permissions for.
Retrieve all groups, specify a GroupId (Id), or simply filter by a certain column:
SELECT * FROM Groups WHERE Id = 'Group Id here' SELECT Id, Description, DisplayName FROM Groups WHERE Name = 'test'
The following are required to create a new Security Group:
INSERT INTO Groups (DisplayName, MailEnabled, MailNickname, SecurityEnabled) VALUES ('Test group', false, 'test', true)
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
The unique identifier for the group, typically a GUID, used to distinguish this group from all others within the directory. |
| deletedDateTime | Datetime | False |
The timestamp indicating when the group was deleted. A null value means the group is still active. |
| allowExternalSenders | Bool | False |
Specifies whether users outside of the organization are permitted to send emails to the group's email address. |
| assignedLicenses | String | False |
A list of licenses that have been explicitly assigned to the group. Each license entry is represented by a comma-separated string of license identifiers. |
| autoSubscribeNewMembers | Bool | False |
Determines if new users added to the group are automatically subscribed to receive messages and notifications. |
| classification | String | False |
The classification label applied to the group, such as 'Confidential' or 'Internal', which helps in managing compliance and visibility. |
| createdDateTime | Datetime | False |
The date and time when the group was initially created in the directory. |
| description | String | False |
A free-text description of the group that provides context about its purpose or membership. |
| displayName | String | False |
The display name of the group, typically shown in user interfaces and address books. |
| groupTypes | String | False |
Indicates the type(s) of the group, such as 'Unified' or 'DynamicMembership'. Values are comma-separated with 1 space after each comma. |
| hasMembersWithLicenseErrors | Bool | False |
Indicates whether any group members are encountering license assignment issues that require administrative attention. |
| isArchived | Bool | False |
Shows whether the group has been archived. Archived groups are read-only and typically used for preserving past collaboration. |
| isSubscribedByMail | Bool | False |
Specifies whether the current user is subscribed to receive email notifications for group messages. |
| licenseProcessingState_state | String | False |
Reflects the current status of license processing for the group, such as 'Processing', 'Completed', or 'Error'. |
| String | False |
The primary SMTP email address assigned to the group, used for sending and receiving emails. | |
| mailEnabled | Bool | False |
Indicates whether the group is configured to send and receive emails. |
| mailNickname | String | False |
The alias or mail nickname for the group, used in email routing and auto-generated addresses. |
| onPremisesLastSyncDateTime | Datetime | False |
The last date and time when this group was synchronized from an on-premises directory service such as Active Directory. |
| onPremisesProvisioningErrors | String | False |
Lists any errors encountered during the on-premises provisioning of the group. Values are comma-separated with 1 space after each comma. |
| onPremisesSecurityIdentifier | String | False |
The security identifier (SID) assigned to the group in an on-premises directory, used for identity and access management. |
| onPremisesSyncEnabled | Bool | False |
Indicates whether this group is currently being synchronized from an on-premises directory. |
| preferredDataLocation | String | False |
The preferred geographic data location (geo) for storing the group's data, typically aligning with compliance requirements. |
| proxyAddresses | String | False |
A collection of email proxy addresses associated with the group, including SMTP aliases. Values are comma-separated with 1 space after each comma. |
| renewedDateTime | Datetime | False |
The timestamp when the group was last renewed. For groups with expiration policies, this date updates automatically. |
| securityEnabled | Bool | False |
Indicates whether the group is a security group that can be used to assign permissions to resources. |
| unseenCount | Int | False |
The number of unread conversations or notifications for the group as viewed by the current user. |
| visibility | String | False |
Controls the group's visibility setting, such as 'Public' or 'Private', determining who can view group content and membership. |
Lists all mail folders within user mailboxes, such as Inbox, Sent Items, and custom folders. It enables folder-level message organization and navigation in Exchange.
Get the mail folder collection directly under the root folder of the signed-in user. The returned collection includes any mail search folders directly under the root:
SELECT * FROM MailFolders SELECT * FROM MailFolders where userId ='1c67f23f-8681-4c67-9c19-253e628442d5'
Note: This operation does not return all mail folders in a mailbox, only the child folders of the root folder. To return all mail folders in a mailbox, each child folder must be traversed separately.
SELECT * FROM CData.MSGraph.MailFolders Where userId ='1c67f23f-8681-4c67-9c19-253e628442d5' and id = 'AQMkAGY1YTc5NjE4LWE4MWYtNDI3Yy1iYgBmYi1hNDk0ZmMxZTJjZDgALgAAAz6irHRWjXlFqioVZIpcig4BAG0Pxgnb-IlHsx0QnxhOmzcAAAIBGAAAAA==' SELECT * FROM CData.MSGraph.MailFolders Where userId ='1c67f23f-8681-4c67-9c19-253e628442d5' and id = (SELECT parentFolderId from CData.MSGraph.MailFolders where userId ='1c67f23f-8681-4c67-9c19-253e628442d5' and displayName = 'Inbox')
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
Unique identifier for the mail folder, used to retrieve or reference the folder within the user's mailbox hierarchy. |
| childFolderCount | Int | False |
Total number of child folders contained within this folder. Helps determine folder structure depth and sub-organization. |
| displayName | String | False |
The display name of the mail folder as shown in the user interface, such as 'Inbox', 'Drafts', or custom folder names. |
| parentFolderId | String | False |
Identifier of the parent folder. Used to establish the folder hierarchy and trace nesting relationships among mail folders. |
| totalItemCount | Int | False |
The total number of mail items—both read and unread—contained in the folder, including messages, calendar items, or other supported types. |
| unreadItemCount | Int | False |
The number of unread items in the folder, typically used to indicate pending or new messages. |
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 |
| userId | String |
Represents the user who owns the mailbox containing the folder. This is used to scope the folder data to a specific Exchange user. |
Contains metadata and content for email messages sent and received through Exchange. This includes sender, recipient, subject, and body fields for mailbox analytics and compliance checks.
You can retrieve all from Messages, specify a Message (Id), ParentFolderId, or you can filter results by a certain column:
SELECT * FROM Messages WHERE Id = 'MyMessageId' SELECT * FROM Messages WHERE ParentFolderId = 'MyParentfolderId' SELECT * FROM Messages WHERE ParentFolderId = 'Drafts'
Note: Unless specifying the AlwaysRequstTableDependencies connection property, or selecting/filtering by the reference columns ParentFolderId, the value for ParentFolderId will remain null.
After the insert a new Message will be created in the User's Drafts folder.
INSERT INTO Messages (Subject, Body_Content) VALUES ('New test Email', 'Test Email created.')
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
Unique identifier of the message, used to retrieve, update, or delete the message within the mailbox. |
| categories | String | False |
List of user-defined categories associated with the message, separated by commas. Categories help in organizing and filtering emails. |
| changeKey | String | False |
Version identifier for the message that is updated each time the item changes. Used for concurrency control. |
| createdDateTime | Datetime | False |
Timestamp indicating when the message was initially created in the mailbox. |
| lastModifiedDateTime | Datetime | False |
Timestamp of the most recent modification to the message content or metadata. |
| bccRecipients | String | False |
List of recipient email addresses included in the Bcc (blind carbon copy) field, separated by commas. These recipients receive the message without being visible to other recipients. |
| body_contentType | String | False |
Format of the email body content, which is typically either 'text' or 'html'. Determines how the body should be rendered. |
| body_content | String | False |
The actual content of the message body, formatted according to the specified content type (plain text or HTML). |
| bodyPreview | String | False |
A short, plain-text preview of the body content, usually displayed in email summaries or message lists. |
| ccRecipients | String | False |
List of email addresses in the Cc (carbon copy) field, separated by commas. These recipients receive a copy of the message alongside primary recipients. |
| conversationId | String | False |
Identifier for the conversation thread the message belongs to. Used to group related messages together. |
| flag_completedDateTime_dateTime | String | False |
Date and time the follow-up flag was marked complete for this message, indicating the completion of a user-defined task. |
| flag_completedDateTime_timeZone | String | False |
Time zone associated with the flag completion date and time, typically in Internet Assigned Numbers Authority (IANA) format. |
| flag_flagStatus | String | False |
Status of the follow-up flag on the message. Possible values include 'notFlagged', 'flagged', and 'complete'. |
| from_emailAddress_name | String | False |
Display name of the sender as it appears in the 'From' field of the message. |
| from_emailAddress_address | String | False |
The email address of the sender as extracted from the 'From' field in the message metadata. |
| hasAttachments | Bool | False |
Indicates whether the message includes one or more file or item attachments. A value of true means attachments are present. |
| importance | String | False |
Represents the importance level assigned to the message, such as Low, Normal, or High, which can influence how recipients treat the message. |
| inferenceClassification | String | False |
Specifies how the message was classified by Microsoft's inference engine, such as 'focused' or 'other', to support inbox prioritization. |
| internetMessageHeaders | String | False |
A collection of internet message headers, presented as a raw string, providing routing and metadata details for the email. |
| internetMessageId | String | False |
The unique message identifier assigned by the sending mail server, used to identify the message across systems. |
| isDeliveryReceiptRequested | Bool | False |
Indicates whether the sender requested a delivery receipt notification to confirm the message was successfully delivered to the recipient's server. |
| isDraft | Bool | False |
True if the message is in draft state and has not yet been sent. Drafts are typically stored in the 'Drafts' folder. |
| isRead | Bool | False |
Reflects whether the message has been marked as read by the recipient. A value of false indicates it is still unread. |
| isReadReceiptRequested | Bool | False |
Indicates whether the sender requested a read receipt to be sent when the recipient opens the message. |
| parentFolderId | String | False |
The unique identifier of the folder that contains this message, which can be used to locate its parent folder in the mailbox. |
| receivedDateTime | Datetime | False |
The timestamp indicating when the message was received by the mailbox, in Coordinated Universal Time (UTC). |
| replyTo | String | False |
Contains a list of reply-to email addresses specified in the message header, which can differ from the sender. |
| sender_emailAddress_name | String | False |
The display name associated with the sender's email address, typically shown in the 'From' line of the message. |
| sender_emailAddress_address | String | False |
The actual email address of the sender, used for sending and routing purposes. |
| sentDateTime | Datetime | False |
The timestamp indicating when the message was sent from the sender's outbox, in Coordinated Universal Time (UTC). |
| subject | String | False |
The subject line of the email message, summarizing its content or purpose as entered by the sender. |
| toRecipients | String | False |
A comma-separated list of primary recipients' email addresses as specified in the 'To' field of the message. |
| uniqueBody_contentType | String | False |
The content type of the unique body representation of the message, such as 'text' or 'html', used to define formatting. |
| uniqueBody_content | String | False |
The unique body content of the message, which includes only content not duplicated in previous messages in the thread. |
| webLink | String | False |
A URL that provides a direct link to the message in the Microsoft Outlook web interface. |
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 |
| userId | String |
The identifier of the user associated with the message, typically used to filter or attribute messages by account owner. |
Contains directory information for Exchange users, including user IDs, display names, job titles, and email addresses. It serves as a foundational entity for joining with activity and usage datasets.
Query the Users table by retrieving everything from Users, specifying a Id, or filtering by a column:
SELECT * FROM Users WHERE Id = '616391f0-32d8-4127-8f25-aa55771d6617' SELECT DisplayName, Id FROM Users WHERE DisplayName LIKE 'John%'
The following are required to create a new organizational User:
INSERT INTO Users (AccountEnabled, DisplayName, MailNickname, UserPrincipalName, PasswordProfile_ForceChangePasswordNextSignIn, PasswordProfile_Password) VALUES (false, 'John Smith', 'JohnS', '[email protected]', true, '123password')
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False |
The unique identifier assigned to the user by Azure Active Directory. Used internally to track user objects. |
| deletedDateTime | Datetime | False |
The date and time when the user account was deleted. Null if the user is still active. |
| aboutMe | String | False |
A short description or bio written by the user. Displayed in Microsoft 365 profile cards. |
| accountEnabled | Bool | False |
Indicates whether the user account is active and allowed to sign in. A value of true means the account is enabled. |
| ageGroup | String | False |
Specifies the age classification of the user. Typical values include Minor, NotAdult, and Adult, used for compliance purposes. |
| assignedLicenses | String | False |
A comma-separated list of licenses assigned to the user, identifying available services like Teams, Exchange, and SharePoint. |
| assignedPlans | String | False |
Details of service plans provisioned for the user, corresponding to each license assigned (for example, Exchange and OneDrive). |
| birthday | Datetime | False |
The user's birthdate, if provided. Used in profile details and some personalized experiences. |
| businessPhones | String | False |
A comma-separated list of the user's business phone numbers. |
| city | String | False |
The city associated with the user's business address or physical location. |
| companyName | String | False |
The name of the user's employer or organization, as defined in their Azure AD profile. |
| consentProvidedForMinor | String | False |
Indicates whether parental or guardian consent was provided for a minor using Microsoft services. |
| country | String | False |
The country or region in which the user resides or works. Used in determining localization and licensing rules. |
| department | String | False |
The department within the organization that the user belongs to (for example, Sales or IT). |
| deviceEnrollmentLimit | Int | False |
The maximum number of devices the user is allowed to enroll in device management systems such as Intune. |
| displayName | String | False |
The full display name of the user as shown in the Microsoft 365 directory and communication tools. |
| employeeId | String | False |
A custom employee identifier typically used by HR systems for internal tracking and integration. |
| faxNumber | String | False |
The user's business fax number, if applicable. |
| givenName | String | False |
The user's first name or personal name as recorded in their profile. |
| hireDate | Datetime | False |
The date the user was hired, often used in HR reports or onboarding workflows. |
| imAddresses | String | False |
A list of instant messaging addresses associated with the user, usually used with Skype for Business or Teams. |
| interests | String | False |
A comma-separated list of personal or professional interests specified in the user's profile. |
| isResourceAccount | Bool | False |
Indicates whether the user account represents a non-human resource like a conference room or shared mailbox. |
| jobTitle | String | False |
The user's job title or position within the organization (for example, Project Manager). |
| legalAgeGroupClassification | String | False |
Classifies the user into a legal age group based on regional regulations. Common values include MinorWithParentalConsent, NotAdult, and Adult. |
| licenseAssignmentStates | String | False |
Details the current state of each license assigned to the user, such as active, pending, or suspended. |
| String | False |
The user's primary email address, often used as their main communication channel. | |
| mailboxSettings_automaticRepliesSetting_status | String | False |
Specifies whether automatic replies (out-of-office) are currently enabled for the user's mailbox. |
| mailboxSettings_automaticRepliesSetting_externalAudience | String | False |
Indicates whether automatic replies are sent to external senders and to whom (for example, None, ContactsOnly, or All). |
| mailboxSettings_automaticRepliesSetting_scheduledStartDateTime_dateTime | String | False |
The start date and time for scheduled automatic replies in the user's mailbox. |
| mailboxSettings_automaticRepliesSetting_scheduledStartDateTime_timeZone | String | False |
The time zone used for scheduling automatic replies in the user's mailbox settings. |
| mailboxSettings_automaticRepliesSetting_internalReplyMessage | String | False |
The message sent in automatic replies to internal senders within the same organization. |
| mailboxSettings_automaticRepliesSetting_externalReplyMessage | String | False |
The message sent in automatic replies to external senders outside the organization. |
| mailboxSettings_archiveFolder | String | False |
The folder path where archived emails are stored in the user's mailbox. |
| mailboxSettings_timeZone | String | False |
The user's mailbox time zone setting used for calendar events and automatic replies. |
| mailboxSettings_language_locale | String | False |
The locale setting (language and region code) for the user's mailbox (for example, en-US). |
| mailboxSettings_language_displayName | String | False |
The display name for the language setting in the user's mailbox (for example, English (United States)). |
| mailboxSettings_workingHours_daysOfWeek | String | False |
The days of the week the user is scheduled to work, based on their Outlook calendar settings. |
| mailboxSettings_workingHours_startTime | Time | False |
The starting time of the user's typical workday as defined in Outlook settings. |
| mailboxSettings_workingHours_endTime | Time | False |
The ending time of the user's typical workday as defined in Outlook settings. |
| mailboxSettings_workingHours_timeZone_name | String | False |
The time zone name used in defining the user's working hours schedule. |
| mailNickname | String | False |
An alias used for sending mail, often a simplified or alternate version of the user's email address. |
| mobilePhone | String | False |
The user's mobile phone number used for contact and multi-factor authentication. |
| mySite | String | False |
The URL to the user's personal SharePoint or OneDrive site (My Site). |
| officeLocation | String | False |
The physical location or office address where the user is based (for example, Building 1 or Floor 2). |
| onPremisesDistinguishedName | String | False |
The distinguished name (DN) of the user from the on-premises Active Directory. |
| onPremisesDomainName | String | False |
The domain name of the on-premises environment where the user account originated. |
| onPremisesExtensionAttributes_extensionAttribute1 | String | False |
A customizable field from the on-premises directory, used for additional metadata. |
| onPremisesExtensionAttributes_extensionAttribute2 | String | False |
Custom on-premises extension attribute 2. |
| onPremisesExtensionAttributes_extensionAttribute3 | String | False |
Custom on-premises extension attribute 3. |
| onPremisesExtensionAttributes_extensionAttribute4 | String | False |
Custom on-premises extension attribute 4. |
| onPremisesExtensionAttributes_extensionAttribute5 | String | False |
Custom on-premises extension attribute 5. |
| onPremisesExtensionAttributes_extensionAttribute6 | String | False |
Custom on-premises extension attribute 6. |
| onPremisesExtensionAttributes_extensionAttribute7 | String | False |
Custom on-premises extension attribute 7. |
| onPremisesExtensionAttributes_extensionAttribute8 | String | False |
Custom on-premises extension attribute 8. |
| onPremisesExtensionAttributes_extensionAttribute9 | String | False |
Custom on-premises extension attribute 9. |
| onPremisesExtensionAttributes_extensionAttribute10 | String | False |
Custom on-premises extension attribute 10. |
| onPremisesExtensionAttributes_extensionAttribute11 | String | False |
Custom on-premises extension attribute 11. |
| onPremisesExtensionAttributes_extensionAttribute12 | String | False |
Custom on-premises extension attribute 12. |
| onPremisesExtensionAttributes_extensionAttribute13 | String | False |
Custom on-premises extension attribute 13. |
| onPremisesExtensionAttributes_extensionAttribute14 | String | False |
Custom on-premises extension attribute 14. |
| onPremisesExtensionAttributes_extensionAttribute15 | String | False |
Custom on-premises extension attribute 15. |
| onPremisesImmutableId | String | False |
A unique identifier used to match on-premises and cloud accounts for synchronization. |
| onPremisesLastSyncDateTime | Datetime | False |
The last time the user's on-premises identity was synchronized with Azure Active Directory. |
| onPremisesProvisioningErrors | String | False |
A list of errors encountered during the synchronization or provisioning of the user's on-premises identity. |
| onPremisesSamAccountName | String | False |
The Security Account Manager (SAM) name for the user from on-premises Active Directory. |
| onPremisesSecurityIdentifier | String | False |
The security identifier (SID) for the user from on-premises Active Directory, used for access control. |
| onPremisesSyncEnabled | Bool | False |
Indicates whether the user's identity is synchronized from an on-premises directory. True means the account is synced. |
| onPremisesUserPrincipalName | String | False |
The UPN of the user as it exists in the on-premises directory, used during hybrid identity scenarios. |
| otherMails | String | False |
Additional email addresses associated with the user. These can be used as alternate contact methods. |
| passwordPolicies | String | False |
Specifies password policy settings for the user such as 'DisablePasswordExpiration' or 'DisableStrongPassword'. |
| passwordProfile_password | String | False |
The user's password, typically only accessible during account creation or reset workflows. |
| passwordProfile_forceChangePasswordNextSignIn | Bool | False |
Indicates whether the user is required to change their password at the next sign-in. |
| passwordProfile_forceChangePasswordNextSignInWithMfa | Bool | False |
Indicates whether the user must perform MFA along with password change at the next sign-in. |
| pastProjects | String | False |
A comma-separated list of past projects listed in the user's profile. Typically entered manually by the user. |
| postalCode | String | False |
The ZIP or postal code associated with the user's office or mailing address. |
| preferredLanguage | String | False |
The user's preferred locale for the Microsoft 365 interface and communications (for example, en-US). |
| preferredName | String | False |
An alternative name or nickname preferred by the user, displayed in various Microsoft 365 applications. |
| provisionedPlans | String | False |
A list of service plans that have been provisioned for the user, such as Exchange Online or Teams. |
| proxyAddresses | String | False |
A list of proxy email addresses assigned to the user. Includes SMTP and SIP addresses used for routing. |
| responsibilities | String | False |
A list of work responsibilities or duties defined in the user's profile. |
| schools | String | False |
Educational institutions attended by the user, often self-reported in Microsoft Delve or profile cards. |
| showInAddressList | Bool | False |
Indicates whether the user appears in the global address list (GAL). |
| signInSessionsValidFromDateTime | Datetime | False |
The time from which the user's active sign-in sessions remain valid. Used to revoke previous sign-ins after password changes. |
| skills | String | False |
A list of professional skills or competencies the user has added to their profile. |
| state | String | False |
The state, province, or administrative region associated with the user's office location. |
| streetAddress | String | False |
The street address portion of the user's business or mailing address. |
| surname | String | False |
The user's last name or family name. |
| usageLocation | String | False |
The country or region where the user consumes Microsoft 365 services. Important for license assignment and tax rules. |
| userPrincipalName | String | False |
The user's sign-in name for Microsoft 365, formatted as an email address. Used for authentication. |
| userType | String | False |
Specifies the type of user, whether it is a Member (internal users) or Guest (external users). |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| CalendarView | Returns a collection of calendar events—such as occurrences, exceptions, and single instances—within a specified time window. This is useful for generating user-defined calendar views across various calendar types. |
| EmailActivityUserDetail | Provides detailed logs on email activity per user, such as number of emails read, sent, received, and interactions with the mailbox, which is often used for monitoring usage trends or security audits. |
| EmailAppUsageUserDetail | Captures insights into how users access their email accounts, including which email clients (desktop, mobile, web) they use and what activities they perform on those platforms. |
| EventAttachments | Displays all file attachments associated with calendar events. This view allows you to analyze or extract files linked to scheduled meetings or appointments. |
| EventInstances | Lists each individual occurrence of recurring or single-instance calendar events. It enables tracking of actual event instances, including exceptions or modified occurrences. |
| GroupMembers | Provides a list of members within Microsoft Exchange groups. This includes user identifiers and membership roles, supporting scenarios like group management and access control. |
| M365AppUserDetail | Returns detailed usage metrics showing which Microsoft Exchange apps (for example, Word, Excel, Outlook) and platforms (for example, Windows, Mac, web, mobile) users have accessed. Helps assess app adoption and usage trends. |
| MailboxUsageDetails | Displays granular information on mailbox storage usage, including mailbox size, number of items, and last activity timestamp per user. This is useful for capacity planning and identifying inactive mailboxes. |
| MessageAttachments | Provides a view of all attachments associated with email messages, including file names, types, and sizes, which is essential for identifying large or sensitive file transmissions. |
| Office365ActivationsUserDetail | Shows which users have successfully activated Office 365 across devices, including installation date and license status. This is useful for license compliance tracking and deployment validation. |
| Office365ActiveUserDetail | Reports on user-level activity across Office 365 services (Exchange, Teams, SharePoint, etc.). It includes the last activity date per service to help identify inactive or underutilized accounts. |
| Office365GroupsActivityDetail | Details the usage and engagement of Microsoft Exchange Groups, including counts of emails, posts, and file activities. This is useful for understanding collaborative group behavior over time. |
| OneDriveActivityUserDetail | Tracks OneDrive user activity including file views, edits, and sync actions. This is useful for monitoring user engagement with cloud storage and detecting abnormal file behavior. |
| OneDriveUsageAccountDetail | Summarizes OneDrive storage usage by account, including total storage consumed, number of files, and last interaction date. This information helps in managing storage policies and identify inactive accounts. |
| SharePointActivityUserDetail | Captures individual user actions within SharePoint, such as file modifications, site visits, and sharing activity. It supports audit logging and productivity analysis. |
| SharePointSiteUsageDetail | Provides aggregated metrics on SharePoint site usage, including file storage, number of active users, and site visits. This is useful for managing site performance and relevance. |
| SkypeForBusinessActivityUserDetail | Displays detailed usage statistics of Skype for Business per user, such as message volume, call durations, and meeting participation. It aids in tracking user engagement and service effectiveness. |
| SkypeForBusinessDeviceUsageUserDetail | Shows the types of devices used to access Skype for Business, helping IT teams understand client distribution and identify legacy platforms. |
| TeamsDeviceUsageUserDetail | Reveals which device types (desktop, mobile, web) are used by each user to access Microsoft Teams. This is useful for analyzing platform preference and guiding hardware planning. |
| TeamsUserActivityUserDetail | Provides detailed insights into user interactions in Microsoft Teams, including chat messages sent, meetings attended, and file collaboration. It supports productivity assessments and adoption tracking. |
| YammerActivityUserDetail | Provides a detailed breakdown of user-level activity within Yammer, including metrics such as messages posted, read activities, and engagement trends over time. |
| YammerDeviceUsageUserDetail | Offers insights into how users are accessing Yammer by device type (for example, mobile, desktop, web), enabling device usage analysis at an individual user level. |
| YammerGroupsActivityDetail | Returns detailed analytics on activity across Yammer groups, including post volume, member participation, and engagement rates, grouped by Yammer group. |
Returns a collection of calendar events—such as occurrences, exceptions, and single instances—within a specified time window. This is useful for generating user-defined calendar views across various calendar types.
Get the occurrences, exceptions, and single instances of events in a calendar view defined by a time range, from the user's default calendar, or from some other calendar of the user's. By default only the event occurrences from the user's default calendar in the range of the last 30 days are returned. You can filter results by CalendarId, Start_DateTime, End_DateTime.
For example the following queries are processed server-side:
SELECT * FROM CalendarView WHERE Start_DateTime >= '2019-12-10 15:00' AND End_DateTime <= '2020-01-10 14:30'
SELECT * FROM CalendarView WHERE CalendarId = 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD-FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAwcAAABDJHYjDdygQ5pQPUEu3S2cAAACC_IAAAA='
NOTE Unless specifying the AlwaysRequestTableDependencies connection property or selecting/filtering by the reference column CalendarId, the value for CalendarId remains null.
| Name | Type | Description |
| id [KEY] | String | Unique identifier for the calendar event. This ID is used to reference the event in API calls and operations. |
| categories | String | Comma-separated list of user-defined categories that classify the event. Categories help with organizing and filtering calendar items. |
| changeKey | String | A version identifier for the event that changes whenever the event is updated. Used for concurrency control. |
| createdDateTime | Datetime | Timestamp indicating when the event was initially created in the calendar system. |
| lastModifiedDateTime | Datetime | Timestamp showing the last time the event details were updated or modified. |
| attendees | String | Comma-separated list of attendees invited to the event. Each entry includes participant details such as name, email, and type. |
| body_contentType | String | Specifies the format of the event body content. Typical values include 'text' or 'html'. |
| body_content | String | The full content of the event body or description, provided in the format specified by the body_contentType. |
| bodyPreview | String | A plain-text preview of the event body. This field offers a truncated version of the content for quick display or summary. |
| end_dateTime | String | The date and time at which the event is scheduled to end, formatted as an ISO 8601 string. |
| end_timeZone | String | Time zone that applies to the event's end time, such as 'Pacific Standard Time' or 'UTC'. |
| hasAttachments | Bool | Indicates whether the event includes file attachments or related documents. |
| iCalUId | String | The unique identifier of the event as defined by the iCalendar standard. Useful for synchronization with external calendar systems. |
| importance | String | Indicates the perceived priority of the event. Typical values include 'low', 'normal', and 'high'. |
| isAllDay | Bool | Specifies whether the event spans the entire day without a specific start or end time. |
| isCancelled | Bool | Indicates whether the event has been canceled. A canceled event can still appear in calendars depending on context. |
| isOrganizer | Bool | True if the current user is the organizer of the event. Determines permission levels and allowed actions. |
| isReminderOn | Bool | Indicates whether a reminder is set for the event. Reminders trigger notifications before the event starts. |
| location_displayName | String | The display name of the event location, typically a room name or venue title. |
| location_locationEmailAddress | String | Email address associated with the physical location, often used for booking rooms or resources. |
| location_address_street | String | Street address portion of the event location. |
| location_address_city | String | City in which the event is taking place. |
| location_address_state | String | State or province of the event location, if applicable. |
| location_address_countryOrRegion | String | Country or region in which the event is located. |
| location_address_postalCode | String | Specifies the postal code component of the physical address where the calendar event is scheduled to occur. Useful for geolocation and regional context. |
| location_coordinates_altitude | Double | Indicates the vertical elevation of the location, measured in meters above sea level, which can be used in mapping or navigation scenarios. |
| location_coordinates_latitude | Double | Represents the geographic latitude of the event location using decimal degrees. This value is used to place the location on a map. |
| location_coordinates_longitude | Double | Represents the geographic longitude of the event location using decimal degrees. Used with latitude to pinpoint the exact location. |
| location_coordinates_accuracy | Double | Measures the level of accuracy, in meters, for the provided geographic coordinates. A lower value indicates higher precision. |
| location_coordinates_altitudeAccuracy | Double | Denotes the degree of uncertainty, in meters, associated with the altitude value. Useful for assessing the reliability of vertical positioning. |
| location_locationUri | String | Contains a URI or URL that can represent additional metadata or external reference for the location, such as a map link or booking page. |
| location_locationType | String | Specifies the type of location, such as 'conferenceRoom', 'homeAddress', or 'businessAddress'. Helps determine the nature of the event venue. |
| location_uniqueId | String | Stores a unique identifier associated with the location, which can be used for cross-referencing or integration with other systems. |
| location_uniqueIdType | String | Describes the type of unique identifier for the location, such as a directory object ID or custom external ID. Helps in resolving the location from different sources. |
| locations | String | Provides a comma-separated list of location names or descriptors associated with the event. May include primary and additional locations. |
| onlineMeetingUrl | String | Contains the URL link to an online meeting platform (such as Teams or Zoom) for virtual participation in the event. |
| organizer_emailAddress_name | String | Represents the display name of the event organizer as shown in the calendar invitation. |
| organizer_emailAddress_address | String | Holds the email address of the organizer responsible for creating or managing the calendar event. |
| originalEndTimeZone | String | Specifies the time zone that was originally used for the event's end time before any updates. Helps in historical tracking and time conversions. |
| originalStart | Datetime | Indicates the original start date and time of the event, before any modifications were made. Useful for auditing changes. |
| originalStartTimeZone | String | Represents the time zone associated with the original start time of the event, aiding in accurate scheduling across regions. |
| recurrence_pattern_type | String | Defines the recurrence pattern type for repeating events, such as 'daily', 'weekly', 'monthly', or 'yearly'. Supports recurring event logic. |
| recurrence_pattern_interval | Int | Specifies the frequency at which the event recurs, such as every 1 week or every 2 months. This value represents the interval between occurrences, based on the recurrence pattern type. |
| recurrence_pattern_month | Int | Indicates the month of the year in which the recurring event occurs when the recurrence pattern is yearly and the month is explicitly defined. |
| recurrence_pattern_dayOfMonth | Int | Defines the specific day of the month on which the recurring event is scheduled, used in monthly or yearly recurrence patterns. |
| recurrence_pattern_daysOfWeek | String | Lists the days of the week on which the event recurs, separated by commas with no spaces. Valid values include Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. |
| recurrence_pattern_firstDayOfWeek | String | Defines the first day of the week used in the recurrence pattern calculation. Common values are Sunday or Monday, depending on regional or organizational settings. |
| recurrence_pattern_index | String | Specifies the position of the day within the month for recurrence, such as first, second, third, fourth, or last. Used in patterns like 'the second Tuesday of each month.' |
| recurrence_range_type | String | Describes the type of recurrence range, such as a fixed number of occurrences, an end date, or no end date (infinite recurrence). Common values include numbered, endDate, and noEnd. |
| recurrence_range_startDate | Date | Indicates the starting date of the recurrence range, which marks when the repeating event begins. |
| recurrence_range_endDate | Date | Indicates the end date of the recurrence range, after which no further recurrences will be scheduled. |
| recurrence_range_recurrenceTimeZone | String | Defines the time zone context for the recurrence pattern, which affects how start and end times are interpreted across time zones. |
| recurrence_range_numberOfOccurrences | Int | Specifies the total number of times the event should occur within the recurrence range. Used when the recurrence is based on a fixed number of repetitions. |
| reminderMinutesBeforeStart | Int | Indicates the number of minutes before the start time at which a reminder is set to alert the user about the event. |
| responseRequested | Bool | Indicates whether attendees are requested to send a response to the invitation, such as accepting, declining, or marking as tentative. |
| responseStatus_response | String | Reflects the current response status of the attendee, with possible values such as accepted, declined, tentative, or none. |
| responseStatus_time | Datetime | Specifies the timestamp at which the attendee's response status was last updated. |
| sensitivity | String | Denotes the sensitivity level of the event, such as normal, personal, private, or confidential, which affects how it is displayed to others. |
| seriesMasterId | String | References the unique identifier of the series master item when the current item is an occurrence or exception in a recurring series. |
| showAs | String | Specifies how the event appears on the calendar, such as free, tentative, busy, or out of office, affecting availability status. |
| start_dateTime | String | Contains the start date and time of the event instance, formatted as an ISO 8601 string. |
| start_timeZone | String | Specifies the time zone in which the event's start_dateTime is defined, ensuring accurate scheduling across regions. |
| subject | String | Contains the title or subject line of the calendar event, typically shown in calendar views and event summaries. |
| type | String | Indicates the type of calendar item, such as singleInstance, occurrence, exception, or seriesMaster, which reflects its role in recurring events. |
| webLink | String | Provides a direct URL link to view the calendar event in a web browser interface, typically for web-based calendar clients. |
| calendarId | String | Identifies the calendar to which the event belongs, used to associate the event with a specific calendar container or owner. |
Provides detailed logs on email activity per user, such as number of emails read, sent, received, and interactions with the mailbox, which is often used for monitoring usage trends or security audits.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM EmailActivityUserDetail WHERE Period = 'D7' SELECT * FROM EmailActivityUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the email activity report was last refreshed. This reflects the most recent point in time for which activity data is available. |
| UserPrincipalName | String | The unique user principal name (UPN) of the Exchange account, typically in the form of an email address, used to identify the user in the tenant. |
| DisplayName | String | The display name of the user as it appears in the Exchange environment and associated reports. |
| IsDeleted | Boolean | Indicates whether the user's account was deleted at the time of the report. A value of true means the account no longer exists in the tenant. |
| DeletedDate | Date | The date on which the user account was deleted, if applicable. Null if the account is active. |
| LastActivityDate | Date | The most recent date on which the user performed any email-related activity, such as sending, receiving, or reading a message. |
| SendCount | Integer | The total number of email messages the user sent during the reporting period. |
| ReceiveCount | Integer | The total number of email messages the user received during the reporting period. |
| ReadCount | Integer | The number of email messages the user opened and read during the reporting period, representing engagement with received content. |
| MeetingCreatedCount | Integer | The number of meetings the user created during the reporting period using calendar functionality. |
| MeetingInteractedCount | Integer | The number of meetings the user interacted with, such as joining, accepting, or responding to invitations, during the reporting period. |
| AssignedProducts | String | A comma-separated list of Microsoft 365 products assigned to the user, such as Exchange Online, SharePoint Online, or Teams. |
| ReportPeriod | Integer | The duration, in days, covered by the report. Common values include 7, 30, 90, or 180 days depending on the reporting scope. |
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 |
| Period | String | Defines the aggregation window for the report. Supported values are D7, D30, D90, and D180, which represent 7, 30, 90, and 180 days respectively.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date for which user activity is retrieved. The value must be in YYYY-MM-DD format and must fall within the last 30 days, as only recent activity is available. |
Captures insights into how users access their email accounts, including which email clients (desktop, mobile, web) they use and what activities they perform on those platforms.
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM EmailAppUsageUserDetail WHERE Period = 'D7' SELECT * FROM EmailAppUsageUserDetail WHERE Date = '2023-04-19' SELECT * FROM EmailAppUsageUserDetail
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the email app usage report data was last refreshed. This reflects the most recent snapshot available from the reporting source. |
| UserPrincipalName | String | The unique user principal name (UPN) of the individual whose email app usage is being reported. Typically in the format user@domain. |
| DisplayName | String | The full display name of the user as registered in the Exchange environment. This helps identify the individual associated with the usage data. |
| IsDeleted | Boolean | Indicates whether the user account has been deleted from the directory. A value of true means the account has been removed, while false means it is still active. |
| DeletedDate | Date | The date on which the user account was deleted, if applicable. This is relevant only if the 'IsDeleted' field is true. |
| LastActivityDate | Date | The most recent date on which the user accessed or interacted with any email application. Useful for identifying active vs inactive users. |
| MailForMac | String | Indicates whether the user accessed their mailbox using the Mail app on macOS. Captures client-specific activity. |
| OutlookForMac | String | Indicates usage of Microsoft Outlook for Mac by the user. Helps track platform-specific adoption of Outlook clients. |
| OutlookForWindows | String | Indicates whether the user accessed their email through Microsoft Outlook installed on a Windows device. |
| OtherForMobile | String | Captures email access through mobile applications other than Microsoft Outlook, such as third-party apps, on a smartphone or tablet. |
| OutlookForMobile | String | Indicates usage of the Microsoft Outlook mobile app on devices such as iPhones, Android phones, or tablets. |
| OutlookForWeb | String | Indicates whether the user accessed their mailbox using Outlook on the web (Outlook Web App or OWA) through a browser. |
| POP3App | String | Represents the use of email clients that connect to Exchange servers using the POP3 protocol. Lists all applicable applications separated by commas. |
| IMAP4App | String | Represents the use of email clients that connect using the IMAP4 protocol. Lists the names of such applications used by the user. |
| SMTPApp | String | Lists applications or services that sent messages on behalf of the user using the SMTP protocol. Includes clients like printers or third-party tools. |
| ReportPeriod | Integer | Specifies the number of days covered by the report, used to summarize app usage over time. Common values are 7, 30, 90, or 180. |
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 |
| Period | String | Defines the reporting duration using a symbolic value such as D7, D30, D90, or D180, which correspond to the number of days included in the report.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date for which the report details are requested, in the format YYYY-MM-DD. This must fall within the last 30 days, as only recent activity is available. |
Displays all file attachments associated with calendar events. This view allows you to analyze or extract files linked to scheduled meetings or appointments.
You can query EventAttachments by specifying the Event Id (Requried):
SELECT * FROM [EventAttachments] WHERE EventId = 'event id'
This query will get the Attachments of the specified Event as a list without including their content.
| Name | Type | Description |
| eventId | String | Unique identifier of the event to which the attachment is linked. This serves as a foreign key that ties the attachment record to a specific event in the Exchange calendar. |
| id [KEY] | String | Unique identifier of the attachment object. This ID is used to retrieve or manage the attachment independently. |
| contentType | String | Specifies the media type (MIME type) of the attachment content, such as text/plain, image/jpeg, or application/pdf, allowing clients to correctly interpret the file format. |
| isInline | Bool | Indicates whether the attachment is intended to be displayed inline within the body of the event, such as embedded images or HTML content. |
| lastModifiedDateTime | Datetime | Timestamp reflecting the last time the attachment metadata or content was modified. Useful for synchronization and change tracking. |
| name | String | Name of the attachment, typically representing the original filename, which helps identify the content of the attachment. |
| size | Int | Size of the attachment in bytes. This can be used to manage file transfer limits or optimize storage and bandwidth usage. |
| userId | String | Identifier of the user who added or owns the attachment. This can be used for audit trails or access control. |
Lists each individual occurrence of recurring or single-instance calendar events. It enables tracking of actual event instances, including exceptions or modified occurrences.
The Cloud uses the Microsoft Graph API to process WHERE clause conditions built with the following column and operator:
Note: EventId must be included in the WHERE clause to retrieve any data from the EventInstances view. This filter is required by the API and is evaluated server-side.
StartDateTime and EndDateTime are optional filters used to define the date range for the instances returned. If these filters are not provided, the Cloud defaults to the last 30 days. If the specified EventId does not have any instances within the applicable time range, the query returns no results.
The following are example queries:
SELECT * FROM EventInstances WHERE EventId = 'event-id' AND StartDateTime = '2024/01/01' AND EndDateTime = '2024/12/31'
SELECT * FROM EventInstances WHERE EventId = 'event-id'
| Name | Type | Description |
| eventId | String | Unique identifier of the event series to which this specific instance belongs. Useful for grouping recurring events. |
| id [KEY] | String | Globally unique identifier for the specific event instance. Used to retrieve or update this instance. |
| categories | String | Comma-separated list of user-defined categories assigned to the event instance. Each category helps with filtering and organizing calendar items. |
| changeKey | String | Version key that changes whenever the event is updated. Helps maintain synchronization between client and server. |
| createdDateTime | Datetime | Timestamp indicating when the event instance was originally created in the system. |
| lastModifiedDateTime | Datetime | Timestamp showing the last time this event instance was modified, whether by the organizer or an attendee. |
| attendees | String | Comma-separated list of attendees for this event instance. Includes required, optional, and resource attendees. |
| body_contentType | String | Specifies the format of the event body content, such as 'text' or 'html'. Determines how the content is rendered. |
| body_content | String | Full textual content of the event description. Can include meeting agenda, call-in details, or additional context. |
| bodyPreview | String | Short preview of the event content, typically the first 255 characters. Useful for displaying a summary in UI elements. |
| end_dateTime | String | Date and time when the event instance ends. The value is in ISO 8601 format. |
| end_timeZone | String | Time zone in which the event end time is expressed, such as 'Pacific Standard Time' or 'UTC'. |
| hasAttachments | Bool | Boolean indicating whether the event includes file attachments such as documents or images. |
| iCalUId | String | Unique identifier from the iCalendar standard. Used to correlate instances across different calendar systems. |
| importance | String | Indicates the importance level of the event instance. Possible values include 'low', 'normal', and 'high'. |
| isAllDay | Bool | Boolean flag indicating whether the event instance spans the entire day without a specific start or end time. |
| isCancelled | Bool | Boolean flag indicating whether the event instance has been canceled by the organizer. |
| isOrganizer | Bool | Boolean flag indicating whether the signed-in user is the organizer of this event instance. |
| isReminderOn | Bool | Boolean flag indicating whether a reminder is set for this event instance. |
| location_displayName | String | The human-readable name of the location where the event is scheduled to take place, such as a conference room name or building title. |
| location_locationEmailAddress | String | The email address associated with the physical location, commonly used for booking or calendar integration. |
| location_address_street | String | The street address component of the event's location, providing the detailed street name and number. |
| location_address_city | String | The city in which the event location resides, helping to geographically pinpoint the venue. |
| location_address_state | String | The state, province, or regional administrative division of the event's location. |
| location_address_countryOrRegion | String | The country or region in which the event location exists, used for international differentiation. |
| location_address_postalCode | String | The postal or ZIP code assigned to the event's location, supporting regional identification and mailing purposes. |
| location_coordinates_altitude | Double | The altitude of the event location in meters above sea level, based on geographic coordinate data. |
| location_coordinates_latitude | Double | The latitude component of the event location's geographic coordinates, measured in decimal degrees. |
| location_coordinates_longitude | Double | The longitude component of the event location's geographic coordinates, measured in decimal degrees. |
| location_coordinates_accuracy | Double | The level of accuracy in meters for the location's latitude and longitude coordinates. |
| location_coordinates_altitudeAccuracy | Double | The estimated accuracy, in meters, of the altitude value associated with the event location. |
| location_locationUri | String | A URI (Uniform Resource Identifier) that uniquely identifies the event location within the system or network. |
| location_locationType | String | The type classification of the location, such as 'default', 'conferenceRoom', or 'homeAddress'. |
| location_uniqueId | String | A unique identifier assigned to the location, which helps in distinguishing it from other locations. |
| location_uniqueIdType | String | Specifies the type of the unique identifier used, such as 'private' or 'public', indicating the scope of uniqueness. |
| locations | String | A comma-separated list of locations associated with the event. Each location can include display name, email address, coordinates, and address components. |
| onlineMeetingUrl | String | The full URL link to the online meeting associated with the event, such as a Microsoft Teams or Skype link for virtual attendance. |
| organizer_emailAddress_name | String | The display name of the individual or entity who organized the event. This typically appears in calendar invitations and event details. |
| organizer_emailAddress_address | String | The email address of the event organizer, used to send invitations and receive responses from attendees. |
| originalEndTimeZone | String | The time zone in which the event was originally scheduled to end, before any changes were made. Useful for understanding legacy scheduling context. |
| originalStart | Datetime | The original start date and time of the event instance, prior to any updates or rescheduling actions. |
| originalStartTimeZone | String | The time zone in which the event was originally scheduled to start. Helps in reconstructing the event's original timing across regions. |
| recurrence_pattern_type | String | Defines the recurrence pattern type for the event, such as daily, weekly, absoluteMonthly, relativeMonthly, absoluteYearly, or relativeYearly. |
| recurrence_pattern_interval | Int | Specifies the interval between occurrences based on the recurrence pattern type. For example, a value of 2 with a weekly type means the event repeats every 2 weeks. |
| recurrence_pattern_month | Int | Indicates the month in which the recurring event takes place, applicable for yearly recurrence patterns. |
| recurrence_pattern_dayOfMonth | Int | Specifies the day of the month on which the event recurs. Relevant for monthly and yearly recurrence rules. |
| recurrence_pattern_daysOfWeek | String | Lists the days of the week on which the event occurs, such as Monday, Wednesday, or Friday. Multiple values are comma-separated. |
| recurrence_pattern_firstDayOfWeek | String | Defines the first day of the week used in the recurrence pattern, such as Sunday or Monday. Affects how weekly intervals are calculated. |
| recurrence_pattern_index | String | Specifies the instance of the day in the month for recurring events, such as first, second, third, fourth, or last. Used in relative monthly or yearly patterns. |
| recurrence_range_type | String | Defines how long the recurrence range lasts. Possible values include endDate, noEnd, and numbered, determining if the recurrence ends on a date, never ends, or occurs a set number of times. |
| recurrence_range_startDate | Date | The date on which the recurrence pattern begins. All repeating instances of the event are calculated from this starting point. |
| recurrence_range_endDate | Date | The end date of the recurrence pattern for the event series, indicating when the recurring events should stop repeating. |
| recurrence_range_recurrenceTimeZone | String | The time zone used for interpreting the recurrence pattern of the event. This ensures recurring events occur at consistent local times. |
| recurrence_range_numberOfOccurrences | Int | The total number of times the recurring event is scheduled to occur. Used when the recurrence pattern is based on a fixed count rather than an end date. |
| reminderMinutesBeforeStart | Int | The number of minutes before the event start time when a reminder is set to trigger for participants. |
| responseRequested | Bool | Indicates whether a response is requested from the attendees of the event. A value of true prompts invitees to send a response. |
| responseStatus_response | String | The current response status of the attendee, such as 'accepted', 'declined', 'tentativelyAccepted', or 'none'. |
| responseStatus_time | Datetime | The timestamp indicating when the attendee last updated their response status. |
| sensitivity | String | Specifies the sensitivity level of the event. Common values include 'normal', 'personal', 'private', and 'confidential'. This affects how the event is shared with others. |
| seriesMasterId | String | The identifier of the series master event that this instance belongs to. Used to associate individual occurrences with the recurring event series. |
| showAs | String | Describes how the attendee's availability is displayed during the event, such as 'free', 'tentative', 'busy', or 'out of office'. |
| start_dateTime | String | The start date and time of the event instance, represented in ISO 8601 format. |
| start_timeZone | String | The time zone in which the event start time is expressed, allowing for accurate scheduling across regions. |
| subject | String | The subject or title of the event, typically a brief summary visible on the calendar. |
| type | String | Indicates the type of event instance, such as 'singleInstance', 'occurrence', 'exception', or 'seriesMaster'. |
| webLink | String | A URL that opens the event in a web-based calendar application. Useful for direct access to the event details in a browser. |
Provides a list of members within Microsoft Exchange groups. This includes user identifiers and membership roles, supporting scenarios like group management and access control.
Groups require Administrator permissions. To work with them, you must create your own custom OAuth App and set the appropriate OAuthClientId and OAuthClientSecret. In this app, you must configure it to request the GroupMember.Read.All and the GroupMember.ReadWrite.All permissions. This can be done at https://apps.dev.microsoft.com, or in the App Registrations panel at http://portal.azure.com.
To authorize GroupMembers permissions, an administrator must grant the GroupMembers permissions for your organization at large. This can be done via the
administrator authorization endpoint. Simply have the administrator navigate to the following web page and grant permissions. Then
run the OAuth authorization as normal afterwards.
https://login.microsoftonline.com/common/adminconsent?client_id=[YourClientId]&redirect_uri=http://localhost:33333
Note that if your organization has multiple tenants, you may replace the /common/ in the url with the tenant id to indicate which tenant to grant permissions for.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions. The rest of the filter is executed client-side in the Cloud.
For example, the following query is processed server-side:
SELECT * FROM GroupMembers
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the group member record. This ID is used to distinguish each individual entry in the system. |
| GroupId | String | Identifier of the group to which the member belongs. This links the member to a specific Microsoft 365 group. |
| AssistantName | String | The name of the assistant associated with the group member, if applicable. Often used in organizational hierarchy contexts. |
| BusinessPhones | String | A list of business phone numbers associated with the group member. Each number is separated by a comma and can include multiple entries. |
| Classification | String | The classification label applied to the group for data governance purposes, such as 'Confidential' or 'Internal'. |
| CreatedDateTime | Datetime | The date and time when the group member record was created. Stored in UTC and used for auditing or chronological analysis. |
| CreationOptions | String | A list of options or flags applied during group creation, such as 'HideGroupInOutlook' or 'SubscribeMembersToCalendarEvents'. |
| DeletedDateTime | Datetime | Timestamp indicating when the group member was deleted, if applicable. Null if the record is active. |
| Description | String | A descriptive summary of the group or member role, intended to provide context about its purpose or function. |
| DisplayName | String | The display name of the group member, commonly used in user interfaces and address books. |
| ExpirationDateTime | Datetime | The date and time when the group or membership is set to expire. Used to manage lifecycle policies. |
| GivenName | String | The given (first) name of the group member. Typically used in user identity or directory listings. |
| GroupTypes | String | A list of group types associated with the member's group, such as 'Unified' or 'DynamicMembership'. |
| IsAssignableToRole | Boolean | Indicates whether the group can be assigned to administrative roles within Azure Active Directory. |
| JobTitle | String | The job title of the group member, often used in organizational charts or personnel records. |
| String | Primary email address associated with the group member. Used for communication and notifications. | |
| MailEnabled | Bool | Indicates whether the group is enabled to send and receive email. True for mail-enabled groups. |
| MailNickname | String | The email alias or nickname for the group, used to generate the group's email address. |
| MembershipRule | String | The rule used to dynamically assign members to the group based on user attributes, applicable only to dynamic groups. |
| MembershipRuleProcessingState | String | Indicates the current state of membership rule processing for the group member, such as whether dynamic group rules are being evaluated or are in an error state. |
| MobilePhone | String | The mobile phone number associated with the group member's user account, typically used for contact or authentication purposes. |
| OfficeLocation | String | The physical office location assigned to the group member, such as a room number, building name, or campus designation. |
| OnPremisesDomainName | String | Specifies the domain name from the on-premises Active Directory to which the group member belongs, if synchronized from an on-premises environment. |
| OnPremisesLastSyncDateTime | Datetime | The date and time when the group member's account was last synchronized from the on-premises Active Directory to Azure Active Directory. |
| OnPremisesNetBiosName | String | The NetBIOS name of the on-premises domain associated with the group member's account, typically used for legacy systems or compatibility scenarios. |
| OnPremisesProvisioningErrors | String | A list of provisioning errors that occurred during the synchronization process for this user, separated by commas. Each entry describes a specific issue encountered. |
| OnPremisesSamAccountName | String | The Security Account Manager (SAM) account name of the group member as defined in the on-premises Active Directory, used in environments requiring legacy logon names. |
| OnPremisesSecurityIdentifier | String | The on-premises Security Identifier (SID) that uniquely identifies the group member in the domain, used for access control and permissions. |
| OnPremisesSyncEnabled | Bool | A boolean value that specifies whether directory synchronization is enabled for the group member from an on-premises environment. |
| PreferredDataLocation | String | The geographical data residency preference for the group member, typically aligned with regional compliance or regulatory requirements. |
| PreferredLanguage | String | The language and locale preference set by the group member, used to localize content and communications in Exchange and other Microsoft services. |
| ProxyAddresses | String | A list of proxy addresses associated with the group member, such as SMTP and SIP addresses, separated by commas with 1 space after each comma. |
| RenewedDateTime | Datetime | The date and time when the group member's membership or account was last renewed or revalidated, typically in recurring validation scenarios. |
| SecurityEnabled | Bool | A boolean value indicating whether the group member is part of a security-enabled group that can be used to assign access permissions. |
| Surname | String | The last name or family name of the group member, typically used in directory listings and user displays. |
| UserPrincipalName | String | The User Principal Name (UPN) of the group member, which is typically in the format user@domain and used for login and authentication. |
| Visibility | String | Specifies the visibility setting of the group member's directory object, such as Public, Private, or HiddenMembership, which controls who can view membership details. |
Returns detailed usage metrics showing which Microsoft Exchange apps (for example, Word, Excel, Outlook) and platforms (for example, Windows, Mac, web, mobile) users have accessed. Helps assess app adoption and usage trends.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators.
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM M365AppUserDetail WHERE Period = 'D7' SELECT * FROM M365AppUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the M365 app usage report was last refreshed, indicating the currency of the data. |
| UserPrincipalName | String | The unique user principal name (UPN) that identifies the Microsoft 365 account of the user. |
| LastActivationDate | Date | The most recent date the user activated any Microsoft 365 app, typically through license activation or initial setup. |
| LastActivityDate | Date | The most recent date the user performed an activity in any Microsoft 365 app. |
| ReportPeriod | Integer | The number of days the report covers, used to define the reporting window for app usage. |
| Windows | String | Indicates whether the user has accessed any Microsoft 365 app on a Windows device during the reporting period. |
| Mac | String | Indicates whether the user has accessed any Microsoft 365 app on a macOS device during the reporting period. |
| Mobile | String | Indicates whether the user has accessed any Microsoft 365 app on a mobile device, such as iOS or Android. |
| Web | String | Indicates whether the user has accessed Microsoft 365 apps through a web browser. |
| Outlook | String | Indicates whether the user has used the Outlook app, regardless of platform. |
| Word | String | Indicates whether the user has used the Word app, regardless of platform. |
| Excel | String | Indicates whether the user has used the Excel app, regardless of platform. |
| PowerPoint | String | Indicates whether the user has used the PowerPoint app, regardless of platform. |
| OneNote | String | Indicates whether the user has used the OneNote app, regardless of platform. |
| Teams | String | Indicates whether the user has used Microsoft Teams, regardless of platform. |
| OutlookWindows | String | Indicates whether the user has specifically used the Outlook app on a Windows device. |
| WordWindows | String | Indicates whether the user has specifically used the Word app on a Windows device. |
| ExcelWindows | String | Indicates whether the user has specifically used the Excel app on a Windows device. |
| PowerPointWindows | String | Indicates whether the user has specifically used the PowerPoint app on a Windows device. |
| OneNoteWindows | String | Indicates whether the user has specifically used the OneNote app on a Windows device. |
| TeamsWindows | String | Indicates whether the user has accessed or used Microsoft Teams through the Windows desktop application during the reporting period. |
| OutlookMac | String | Indicates whether the user has accessed or used Microsoft Outlook through the macOS application during the reporting period. |
| WordMac | String | Indicates whether the user has accessed or used Microsoft Word through the macOS application during the reporting period. |
| ExcelMac | String | Indicates whether the user has accessed or used Microsoft Excel through the macOS application during the reporting period. |
| PowerPointMac | String | Indicates whether the user has accessed or used Microsoft PowerPoint through the macOS application during the reporting period. |
| OneNoteMac | String | Indicates whether the user has accessed or used Microsoft OneNote through the macOS application during the reporting period. |
| TeamsMac | String | Indicates whether the user has accessed or used Microsoft Teams through the macOS application during the reporting period. |
| OutlookMobile | String | Indicates whether the user has accessed or used Microsoft Outlook on a mobile device (iOS or Android) during the reporting period. |
| WordMobile | String | Indicates whether the user has accessed or used Microsoft Word on a mobile device (iOS or Android) during the reporting period. |
| ExcelMobile | String | Indicates whether the user has accessed or used Microsoft Excel on a mobile device (iOS or Android) during the reporting period. |
| PowerPointMobile | String | Indicates whether the user has accessed or used Microsoft PowerPoint on a mobile device (iOS or Android) during the reporting period. |
| OneNoteMobile | String | Indicates whether the user has accessed or used Microsoft OneNote on a mobile device (iOS or Android) during the reporting period. |
| TeamsMobile | String | Indicates whether the user has accessed or used Microsoft Teams on a mobile device (iOS or Android) during the reporting period. |
| OutlookWeb | String | Indicates whether the user has accessed or used Microsoft Outlook through a web browser (Outlook on the web) during the reporting period. |
| WordWeb | String | Indicates whether the user has accessed or used Microsoft Word through a web browser (Word Online) during the reporting period. |
| ExcelWeb | String | Indicates whether the user has accessed or used Microsoft Excel through a web browser (Excel Online) during the reporting period. |
| PowerPointWeb | String | Indicates whether the user has accessed or used Microsoft PowerPoint through a web browser (PowerPoint Online) during the reporting period. |
| OneNoteWeb | String | Indicates whether the user has accessed or used Microsoft OneNote through a web browser (OneNote Online) during the reporting period. |
| TeamsWeb | String | Indicates whether the user has accessed or used Microsoft Teams through a web browser (Teams on the web) during the reporting period. |
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 |
| Period | String | Specifies the aggregation window for the report. Valid values are: D7, D30, D90, and D180. These correspond to 7, 30, 90, and 180-day periods, respectively.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | Specifies the reporting date to retrieve usage activity for individual users. The format must be YYYY-MM-DD. Only dates within the last 30 days are supported. |
Displays granular information on mailbox storage usage, including mailbox size, number of items, and last activity timestamp per user. This is useful for capacity planning and identifying inactive mailboxes.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM MailboxUsageDetails WHERE Period = 'D7' SELECT * FROM MailboxUsageDetails WHERE Date = '2023-04-19' SELECT * FROM MailboxUsageDetails
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the mailbox usage report data was last refreshed. This reflects the most recent point in time for which data is available. |
| UserPrincipalName | String | The unique user principal name (UPN) associated with the mailbox. This is typically in the format [email protected] and is used to identify the user across Microsoft 365 services. |
| DisplayName | String | The full display name of the mailbox owner as it appears in the address book or global directory. |
| IsDeleted | Boolean | Indicates whether the mailbox is currently marked as deleted. A value of true means the mailbox has been removed from active use. |
| DeletedDate | Date | The date on which the mailbox was marked as deleted, if applicable. This helps track mailbox lifecycle events. |
| CreatedDate | Date | The date on which the mailbox was originally created. Useful for identifying the age and provisioning timeline of the mailbox. |
| LastActivityDate | Date | The most recent date on which email activity was detected in the mailbox, such as sending or receiving messages. |
| ItemCount | String | The total number of items (emails, calendar entries, etc.) currently stored in the mailbox. |
| StorageUsedByte | String | The total storage consumed by the mailbox in bytes, including all mailbox folders and content. |
| IssueWarningQuotaByte | String | The storage threshold in bytes at which a warning is issued to the mailbox user, indicating that they are approaching their quota limit. |
| ProhibitSendQuotaByte | String | The storage limit in bytes beyond which the user is prohibited from sending new messages from the mailbox. |
| ProhibitReceiveQuotaByte | String | The storage limit in bytes beyond which the user is prevented from receiving new messages into the mailbox. |
| DeletedItemCount | String | The number of items that have been deleted by the user but not yet purged from the Deleted Items or Recoverable Items folder. |
| DeletedItemSizeByte | String | The total size in bytes of the items currently stored in the mailbox's Deleted Items or Recoverable Items folder. |
| DeletedItemQuotaByte | String | The quota limit in bytes allocated for deleted items. When this threshold is reached, older deleted items can be purged. |
| HasArchive | Boolean | Indicates whether the mailbox has an associated archive mailbox enabled. Archive mailboxes provide additional storage for long-term email retention. |
| ReportPeriod | Integer | The number of days represented in the report. This indicates the duration over which mailbox usage data has been aggregated. |
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 |
| Period | String | Specifies the aggregation period for the report. Supported values are D7, D30, D90, and D180, where Dn represents the number of days, indicating reporting periods of 7, 30, 90, or 180 days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
Provides a view of all attachments associated with email messages, including file names, types, and sizes, which is essential for identifying large or sensitive file transmissions.
You can query MessageAttachments by specifying the Message Id (Required):
SELECT * FROM [MessageAttachments] WHERE MessageId = 'message id' SELECT * FROM [MessageAttachments] WHERE UserId = '92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe' AND Id = 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD-FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAw4AAABDJHYjDdygQ5pQPUEu3S2cAAhJYnE3AAAAARIAEADUFdfqaYanT5_pTPvzgMYh' AND MessageId = 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD-FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAw4AAABDJHYjDdygQ5pQPUEu3S2cAAhJYnE3AAAA'
This query will get the Attachments of the specified Message as a list without including their content.
| Name | Type | Description |
| messageId | String | Unique identifier of the email message to which the attachment is linked. This helps associate the attachment with the parent message. |
| id [KEY] | String | Unique identifier for the attachment within the message. This value is used to retrieve or manage the attachment content. |
| contentType | String | The MIME content type of the attachment, indicating the nature and format of the file, such as application/pdf or image/jpeg. |
| isInline | Bool | Indicates whether the attachment is meant to be displayed inline within the body of the email message, such as embedded images or signatures. |
| lastModifiedDateTime | Datetime | The timestamp representing the last modification date and time of the attachment, useful for tracking version changes. |
| name | String | The original file name of the attachment, which is typically displayed to the user in the email client. |
| size | Int | The size of the attachment in bytes, used for storage tracking and to enforce attachment size limits. |
| userId | String | The identifier of the user who sent or received the message containing the attachment, used for audit and access control. |
Shows which users have successfully activated Office 365 across devices, including installation date and license status. This is useful for license compliance tracking and deployment validation.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions. The rest of the filter is executed client-side in the Cloud.
For example, the following query is processed server-side:
SELECT * FROM Office365ActivationsUserDetail
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the Office 365 activation report was last refreshed, indicating the freshness of the dataset. |
| UserPrincipalName | String | The unique user identifier in the form of an email address, used to log into Office 365 services. |
| DisplayName | String | The full display name associated with the user account that has Office 365 activations. |
| ProductType | String | The specific Office 365 product or license type assigned to the user, such as Office 365 E3 or Office 365 Business Premium. |
| LastActivatedDate | Date | The most recent date on which the user activated an Office 365 application on any device. |
| Windows | Integer | The total number of times Office 365 has been activated by the user on Windows devices. |
| Mac | Integer | The total number of times Office 365 has been activated by the user on Mac devices. |
| Windows10Mobile | Integer | The total number of times Office 365 has been activated by the user on Windows 10 Mobile devices. |
| IOS | Integer | The total number of times Office 365 has been activated by the user on iOS devices such as iPhones or iPads. |
| Android | Integer | The total number of times Office 365 has been activated by the user on Android devices such as smartphones or tablets. |
| ActivatedOnSharedComputer | Boolean | Indicates whether the user has activated Office 365 on a shared computer environment, such as in a lab or kiosk setup. |
Reports on user-level activity across Office 365 services (Exchange, Teams, SharePoint, etc.). It includes the last activity date per service to help identify inactive or underutilized accounts.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM Office365ActiveUserDetail WHERE Period = 'D7' SELECT * FROM Office365ActiveUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the Office 365 active user report was last refreshed, reflecting the most recent data available. |
| UserPrincipalName | String | The unique user sign-in identifier in the format of an email address (for example, [email protected]) used across Microsoft 365 services. |
| DisplayName | String | The full display name of the user as configured in Azure Active Directory or Exchange Online. |
| IsDeleted | Boolean | Indicates whether the user account is marked as deleted within the Office 365 directory at the time of the report. |
| DeletedDate | Date | The date when the user account was deleted from the Office 365 environment, if applicable. |
| HasExchangeLicense | Boolean | True if the user has been assigned a license that includes Exchange Online for email and calendar services. |
| HasOneDriveLicense | Boolean | True if the user has an active license for OneDrive for Business, enabling personal cloud storage. |
| HasSharePointLicense | Boolean | True if the user has been assigned a SharePoint Online license, allowing access to team sites and document libraries. |
| HasSkypeForBusinessLicense | Boolean | True if the user has a license for Skype for Business, supporting messaging, audio, and video communication features. |
| HasYammerLicense | Boolean | True if the user is licensed for Yammer, Microsoft's enterprise social networking platform. |
| HasTeamsLicense | Boolean | True if the user has been assigned a Microsoft Teams license for collaboration, chat, meetings, and file sharing. |
| ExchangeLastActivityDate | Date | The most recent date the user engaged with Exchange Online, such as sending or receiving email. |
| OneDriveLastActivityDate | Date | The most recent date the user accessed or modified content in OneDrive for Business. |
| SharePointLastActivityDate | Date | The most recent date the user accessed or interacted with content in SharePoint Online. |
| SkypeForBusinessLastActivityDate | Date | The last recorded activity date for the user on Skype for Business, including messages or calls. |
| YammerLastActivityDate | Date | The most recent date the user posted, liked, or engaged with content on Yammer. |
| TeamsLastActivityDate | Date | The last date of user activity on Microsoft Teams, including messages, meetings, or file interactions. |
| ExchangeLicenseAssignDate | Date | The date when the Exchange Online license was assigned to the user account. |
| OneDriveLicenseAssignDate | Date | The date when the OneDrive for Business license was assigned to the user account. |
| SharePointLicenseAssignDate | Date | The date on which the user was assigned a SharePoint license. This indicates the activation of SharePoint capabilities under their Office 365 subscription. |
| SkypeForBusinessLicenseAssignDate | Date | The date on which the user received an assigned license for Skype for Business. This enables the user to access communication and conferencing features of Skype for Business. |
| YammerLicenseAssignDate | Date | The date when the user was provisioned with a Yammer license, allowing access to the organization's Yammer enterprise social network. |
| TeamsLicenseAssignDate | Date | The date when the Microsoft Teams license was assigned to the user, enabling access to Teams collaboration, messaging, and meeting features. |
| AssignedProducts | String | A list of Office 365 products currently assigned to the user, such as Exchange, SharePoint, Teams, Yammer, or Skype for Business. Values are comma-separated without spaces. |
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 |
| Period | String | Defines the aggregation window for the report. Acceptable values include D7, D30, D90, and D180, where Dn represents the number of days, indicating reporting periods of 7, 30, 90, or 180 days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date for which activity data is retrieved in the format YYYY-MM-DD. Only dates within the last 30 days are supported, as the report is limited to a rolling 30-day period. |
Details the usage and engagement of Microsoft Exchange Groups, including counts of emails, posts, and file activities. This is useful for understanding collaborative group behavior over time.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM Office365GroupsActivityDetail WHERE Period = 'D7' SELECT * FROM Office365GroupsActivityDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the Office 365 usage report was last refreshed, indicating the most recent data available in the dataset. |
| GroupDisplayName | String | The display name of the Office 365 group, used to identify the group in user interfaces and reports. |
| IsDeleted | Boolean | Indicates whether the Office 365 group has been deleted. A value of true means the group is no longer active. |
| OwnerPrincipalName | String | The User Principal Name (UPN) of the person who owns the Office 365 group, typically the person who created or manages the group. |
| LastActivityDate | Date | The most recent date on which any member activity (email, file sharing, or communication) occurred within the Office 365 group. |
| GroupType | String | The classification of the Office 365 group, such as 'Unified' for Microsoft 365 Groups. This helps determine the services the group integrates with. |
| MemberCount | Integer | The total number of members currently associated with the Office 365 group. |
| ExternalMemberCount | String | The number of members in the group who are external to the organization, such as guests or partner users. |
| ExchangeReceivedEmailCount | String | The total number of emails received by the group's mailbox through Exchange Online during the reporting period. |
| SharePointActiveFileCount | String | The number of unique files that were viewed or edited by members in the group's connected SharePoint site. |
| YammerPostedMessageCount | String | The number of original messages posted in Yammer conversations by group members during the reporting period. |
| YammerReadMessageCount | String | The number of Yammer messages read by group members, showing group engagement levels on the Yammer platform. |
| YammerLikedMessageCount | String | The total number of Yammer messages liked by members of the group, indicating interaction and sentiment. |
| ExchangeMailboxTotalItemCount | String | The cumulative count of all items (emails, calendar events, or tasks) in the group's Exchange mailbox. |
| ExchangeMailboxStorageUsedByte | String | The total amount of storage, in bytes, currently used by the group's Exchange mailbox. |
| SharePointTotalFileCount | Integer | The total number of files stored in the SharePoint document libraries associated with the group. |
| SharePointSiteStorageUsedByte | Integer | The total storage consumption, in bytes, of the group's SharePoint site, including documents and site content. |
| GroupId | String | The unique identifier (GUID) for the Office 365 group, used internally across services to reference the group. |
| ReportPeriod | Integer | The duration, in days, that the report covers. Common values include 7, 30, 90, or 180 days. |
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 |
| Period | String | The aggregation interval used for the report. Accepted values are D7, D30, D90, and D180, where Dn represents the number of days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific calendar date (in YYYY-MM-DD format) representing when the activity snapshot was taken. Valid only for dates in the past 30 days. |
Tracks OneDrive user activity including file views, edits, and sync actions. This is useful for monitoring user engagement with cloud storage and detecting abnormal file behavior.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators.:
The rest of the filter is executed client-side in the Cloud.
Either Date or Period column is required to get the data but in case if no filter specified in critera driver will a make request with default value of period as D7
For example, the following query is processed server-side:
SELECT * FROM OneDriveActivityUserDetail WHERE Period = 'D7' SELECT * FROM OneDriveActivityUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the OneDrive activity report was last refreshed. This timestamp reflects the most recent update to the dataset. |
| UserPrincipalName | String | The unique identifier (User Principal Name) of the user whose OneDrive activity is being recorded. Typically in the format of an email address. |
| IsDeleted | Boolean | Indicates whether the user account was deleted at the time of the report. A value of 'true' means the user account no longer exists in the directory. |
| DeletedDate | String | The date on which the user account was deleted from the tenant, if applicable. This is only populated if the account has been removed. |
| LastActivityDate | Date | The most recent date when the user performed any activity in OneDrive, such as viewing, editing, syncing, or sharing files. |
| ViewedOrEditedFileCount | Integer | The total number of files that the user viewed or edited in OneDrive during the reporting period. This includes all file interactions. |
| SyncedFileCount | Integer | The total number of files that were successfully synced between the user's local device and OneDrive during the reporting period. |
| SharedInternallyFileCount | Integer | The number of OneDrive files the user shared with other users within the same organization or tenant during the reporting period. |
| SharedExternallyFileCount | Integer | The number of OneDrive files the user shared with people outside the organization or tenant during the reporting period. |
| AssignedProducts | String | A comma-separated list of Microsoft 365 products assigned to the user, such as Exchange, OneDrive, SharePoint, Microsoft Teams. Each product indicates availability of related services. |
| ReportPeriod | Integer | The duration of time, in days, covered by the OneDrive activity report. This typically matches one of the supported aggregation windows: 7, 30, 90, or 180 days. |
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 |
| Period | String | Specifies the aggregation window for the report. Acceptable values are D7, D30, D90, and D180, where Dn represents the number of days. The 'D7' value refers to a period of 7 days, and similarly for other values.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date for which the activity data is requested, formatted as YYYY-MM-DD. Only dates from the past 30 days are valid for this report. |
Summarizes OneDrive storage usage by account, including total storage consumed, number of files, and last interaction date. This information helps in managing storage policies and identify inactive accounts.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM OneDriveUsageAccountDetail WHERE Period = 'D7' SELECT * FROM OneDriveUsageAccountDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the OneDrive usage report data was last refreshed. This reflects the most recent day for which activity or storage metrics are available. |
| SiteURL | String | The full URL of the user's personal OneDrive site, used for identifying and accessing the specific document library associated with the user. |
| OwnerDisplayName | String | The display name of the user who owns the OneDrive site. This typically includes the user's full name as recorded in the directory. |
| IsDeleted | Boolean | Indicates whether the user's OneDrive site has been marked as deleted. A value of true means the site is no longer active or accessible. |
| LastActivityDate | Date | The most recent date on which any file-related activity—such as viewing, editing, or sharing—was recorded on the user's OneDrive site. |
| FileCount | Integer | The total number of files stored within the user's OneDrive site at the time of reporting, regardless of activity status. |
| ActiveFileCount | Integer | The number of files within the OneDrive site that were actively engaged with (viewed, edited, or shared) during the reporting period. |
| StorageUsedByte | Integer | The total amount of OneDrive storage space currently in use by the user, measured in bytes. This includes all files stored within the user's site. |
| StorageAllocatedByte | Long | The maximum amount of storage space allocated to the user's OneDrive site, measured in bytes. This is typically defined by organizational policy or license type. |
| OwnerPrincipalName | String | The unique user principal name (UPN) of the OneDrive site owner, typically in email format. Used to correlate identity across services. |
| ReportPeriod | Integer | The duration, in days, that the report covers. Common values include 7, 30, 90, and 180, representing how far back usage data is aggregated. |
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 |
| Period | String | The standardized time interval over which the report aggregates activity. Supported values are D7, D30, D90, and D180, each representing the number of days in the reporting window.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific calendar date (formatted as YYYY-MM-DD) for which activity data is requested. This must fall within the past 30 days, as historical data beyond this window is not retained. |
Displays detailed usage statistics of Skype for Business per user, such as message volume, call durations, and meeting participation. It aids in tracking user engagement and service effectiveness.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM SkypeForBusinessActivityUserDetail WHERE Period = 'D7' SELECT * FROM SkypeForBusinessActivityUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the Skype for Business activity report data was last refreshed. Represents the latest snapshot of user activity available. |
| UserPrincipalName | String | The unique user principal name (UPN) of the Skype for Business user. Typically formatted as an email address and used for identity tracking. |
| IsDeleted | String | Indicates whether the user's Skype for Business account has been deleted. A value of true means the account is no longer active. |
| DeletedDate | String | The date on which the user's Skype for Business account was deleted, if applicable. This value is empty for active accounts. |
| LastActivityDate | Date | The most recent date on which the user performed any activity in Skype for Business, including messaging, conferencing, or peer-to-peer sessions. |
| TotalPeertopeerSessionCount | Integer | The total number of direct peer-to-peer sessions initiated or received by the user during the reporting period. Sessions include IM, audio, and video. |
| TotalOrganizedConferenceCount | Integer | The total number of online meetings or conferences organized by the user in Skype for Business. |
| TotalParticipatedConferenceCount | Integer | The total number of Skype for Business conferences the user joined, regardless of whether they were the organizer. |
| PeertopeerLastActivityDate | Date | The last recorded date on which the user engaged in a peer-to-peer session using Skype for Business. |
| OrganizedConferenceLastActivityDate | String | The last recorded date on which the user organized a conference or online meeting in Skype for Business. |
| ParticipatedConferenceLastActivityDate | String | The last recorded date on which the user participated in a Skype for Business conference organized by another user. |
| PeertopeerIMCount | Integer | The number of instant messaging (IM) interactions the user had in peer-to-peer sessions during the reporting period. |
| PeertopeerAudioCount | Integer | The number of peer-to-peer audio calls the user participated in using Skype for Business. |
| PeertopeerAudioMinutes | Integer | The total duration, in minutes, of all peer-to-peer audio calls made or received by the user. |
| PeertopeerVideoCount | Integer | The number of peer-to-peer video calls the user participated in during the reporting period. |
| PeertopeerVideoMinutes | Integer | The total duration, in minutes, of peer-to-peer video sessions involving the user. |
| PeertopeerAppSharingCount | Integer | The number of times the user initiated or participated in peer-to-peer application sharing sessions. |
| PeertopeerFileTransferCount | Integer | The number of file transfers the user performed in peer-to-peer sessions using Skype for Business. |
| OrganizedConferenceIMCount | Integer | The number of instant messages sent or received during conferences organized by the user. |
| OrganizedConferenceAudioVideoCount | Integer | The total number of audio or video interactions that took place in conferences organized by the user. |
| OrganizedConferenceAudioVideoMinutes | Integer | The total duration, in minutes, of audio and video sessions held in conferences organized by the user. |
| OrganizedConferenceAppSharingCount | Integer | The number of application sharing sessions initiated during conferences organized by the user. |
| OrganizedConferenceWebCount | Integer | The number of web-based conferencing sessions initiated by the user as the organizer. |
| OrganizedConferenceDialinout3rdPartyCount | Integer | The number of times users dialed into or out of conferences organized by the user using third-party telephony providers. |
| OrganizedConferenceDialinoutMicrosoftCount | Integer | The number of times users dialed into or out of conferences organized by the user using Microsoft's dial-in/out conferencing services. |
| OrganizedConferenceDialinMicrosoftMinutes | Integer | The total duration, in minutes, of calls dialed into conferences using Microsoft-provided dial-in capabilities. |
| OrganizedConferenceDialoutMicrosoftMinutes | Integer | The total duration, in minutes, of calls dialed out from conferences using Microsoft-provided dial-out services. |
| ParticipatedConferenceIMCount | Integer | The number of instant messages exchanged by the user while participating in conferences organized by others. |
| ParticipatedConferenceAudioVideoCount | Integer | The number of audio or video interactions the user engaged in during conferences they participated in. |
| ParticipatedConferenceAudioVideoMinutes | Integer | The total time, in minutes, the user spent in audio or video sessions while participating in conferences. |
| ParticipatedConferenceAppSharingCount | Integer | The number of application sharing sessions the user participated in during conferences organized by others. |
| ParticipatedConferenceWebCount | Integer | The number of times the user accessed web conferencing sessions as a participant. |
| ParticipatedConferenceDialinout3rdPartyCount | Integer | The number of times the user dialed into or out of conferences using a third-party telephony provider while participating. |
| AssignedProducts | String | A comma-separated list of Microsoft products assigned to the user, which can include Skype for Business, Teams, Exchange Online, and others. |
| ReportPeriod | Integer | The number of days covered by the Skype for Business activity report. Common values are 7, 30, 90, and 180. |
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 |
| Period | String | Defines the aggregation window for the report. Acceptable values are D7, D30, D90, and D180, where Dn represents the number of days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date (in YYYY-MM-DD format) for which user activity is reported. Only dates within the past 30 days are supported. |
Shows the types of devices used to access Skype for Business, helping IT teams understand client distribution and identify legacy platforms.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM SkypeForBusinessDeviceUsageUserDetail WHERE Period = 'D7' SELECT * FROM SkypeForBusinessDeviceUsageUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the Skype for Business device usage report was last refreshed. Indicates the latest available data snapshot. |
| UserPrincipalName | String | The unique user principal name (UPN) associated with the individual whose device usage is being reported. Typically formatted as an email address. |
| LastActivityDate | Date | The most recent date on which the user accessed Skype for Business from any device. This helps track recent engagement levels. |
| UsedWindows | String | Indicates whether the user accessed Skype for Business using a Windows-based device during the reporting period. A non-empty value confirms usage. |
| UsedWindowsPhone | String | Indicates whether the user accessed Skype for Business via a Windows Phone device during the reporting period. |
| UsedAndroidPhone | String | Indicates whether the user accessed Skype for Business from an Android phone. A non-empty value implies activity on the platform. |
| UsediPhone | String | Indicates whether the user accessed Skype for Business on an iPhone device during the report period. |
| UsediPad | String | Indicates whether the user accessed Skype for Business on an iPad. Presence of data suggests usage of the platform on iOS tablets. |
| ReportPeriod | Integer | The number of days covered by the device usage report. Common values include 7, 30, 90, and 180, representing how far back the data is aggregated. |
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 |
| Period | String | Specifies the standardized time range used for aggregating report data. Acceptable values include D7, D30, D90, and D180, where Dn represents the number of days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The calendar date (in YYYY-MM-DD format) for which the device usage data is being requested. Only dates from the past 30 days are supported in this report. |
Reveals which device types (desktop, mobile, web) are used by each user to access Microsoft Teams. This is useful for analyzing platform preference and guiding hardware planning.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM TeamsDeviceUsageUserDetail WHERE Period = 'D7' SELECT * FROM TeamsDeviceUsageUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the Microsoft Teams device usage report was last refreshed. This represents the most recent date for which usage data is available. |
| UserId | String | A unique identifier assigned to the user within Microsoft 365. Used internally to associate activity data with the correct user profile. |
| UserPrincipalName | String | The user principal name (UPN) of the Teams user. This is typically the user's login ID in the form of an email address. |
| LastActivityDate | Date | The most recent date on which the user accessed Microsoft Teams using any supported device. Indicates their latest activity across platforms. |
| IsDeleted | Boolean | Indicates whether the user's Teams account has been deleted. A value of true signifies the user is no longer active in the directory. |
| DeletedDate | Date | The date on which the user's Teams account was deleted, if applicable. Empty for users who are still active. |
| UsedWeb | String | Indicates whether the user accessed Microsoft Teams through a web browser. A non-empty value confirms browser-based usage. |
| UsedWindowsPhone | String | Indicates whether the user accessed Microsoft Teams using a Windows Phone. Presence of a value confirms usage from this device type. |
| UsedIOS | String | Indicates whether the user accessed Microsoft Teams from an iOS device such as an iPhone or iPad. |
| UsedMac | String | Indicates whether the user accessed Microsoft Teams on a macOS device. Usage is tracked if any Teams activity occurred on a Mac computer. |
| UsedAndroidPhone | String | Indicates whether the user accessed Microsoft Teams using an Android phone. Usage is tracked when Teams is accessed on Android devices. |
| UsedWindows | String | Indicates whether the user accessed Microsoft Teams from a Windows device, such as a laptop or desktop PC. |
| UsedChromeOS | String | Indicates whether the user accessed Microsoft Teams from a Chrome OS device. Typically includes Chromebooks running the Teams web or Android app. |
| UsedLinux | String | Indicates whether the user accessed Microsoft Teams on a Linux-based operating system. Teams can be accessed via web browser or Linux-compatible apps. |
| IsLicensed | String | Indicates whether the user has been assigned a valid Microsoft Teams license. A non-empty value suggests that the user has a Teams-compatible subscription. |
| ReportPeriod | Integer | The number of days covered by the device usage report. Common values are 7, 30, 90, and 180, representing how far back activity is tracked. |
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 |
| Period | String | Specifies the aggregation interval for the report data. Supported values include D7, D30, D90, and D180, where Dn represents the number of days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date (formatted as YYYY-MM-DD) for which device usage data is being returned. Must be within the past 28 days, as this is the retention limit. |
Provides detailed insights into user interactions in Microsoft Teams, including chat messages sent, meetings attended, and file collaboration. It supports productivity assessments and adoption tracking.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM TeamsUserActivityUserDetail WHERE Period = 'D7' SELECT * FROM TeamsUserActivityUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the Microsoft Teams user activity report was last refreshed. Represents the most recent day for which activity metrics are available. |
| UserId | String | The unique identifier for the user in Microsoft 365. Used internally to associate Teams activity with the user's account. |
| UserPrincipalName | String | The user principal name (UPN), typically in email format, that uniquely identifies the user within the Microsoft 365 tenant. |
| LastActivityDate | Date | The most recent date the user performed any measurable activity in Teams, including messaging, calls, or meetings. |
| IsDeleted | Boolean | Indicates whether the user account has been deleted from the directory. A value of true means the user is no longer active. |
| DeletedDate | Date | The date on which the user's account was deleted, if applicable. Empty if the user is still active. |
| AssignedProducts | String | A comma-separated list of Microsoft services or product licenses assigned to the user. May include Teams, Exchange Online, SharePoint, and others. |
| TeamChatMessageCount | Integer | The total number of messages the user posted in standard or public Teams channels during the reporting period. |
| PrivateChatMessageCount | Integer | The total number of messages the user sent in private one-on-one or group chats within Teams. |
| CallCount | Integer | The number of peer-to-peer or group voice/video calls made or received by the user in Teams. |
| MeetingCount | Integer | The total number of Teams meetings the user participated in, regardless of whether they were the organizer or attendee. |
| MeetingsOrganizedCount | Integer | The number of Teams meetings the user scheduled or hosted during the reporting period. |
| MeetingsAttendedCount | Integer | The number of Teams meetings the user joined as a participant during the reporting window. |
| AdHocMeetingsOrganizedCount | Integer | The number of ad hoc (unscheduled) Teams meetings the user initiated during the reporting period. |
| AdHocMeetingsAttendedCount | Integer | The number of ad hoc Teams meetings the user joined during the reporting period. |
| ScheduledOnetimeMeetingsOrganizedCount | Integer | The number of scheduled one-time Teams meetings the user organized. |
| ScheduledOnetimeMeetingsAttendedCount | Integer | The number of scheduled one-time Teams meetings the user attended. |
| ScheduledRecurringMeetingsOrganizedCount | Integer | The number of scheduled recurring Teams meetings the user organized, such as weekly syncs or monthly reviews. |
| ScheduledRecurringMeetingsAttendedCount | Integer | The number of scheduled recurring Teams meetings the user attended. |
| AudioDuration | String | The total amount of time the user spent in Teams meetings or calls with audio, displayed in a formatted string (for example, 01:23:45). |
| VideoDuration | String | The total amount of time the user was engaged in video sessions during Teams meetings or calls, displayed as a formatted string. |
| ScreenShareDuration | String | The total amount of time the user shared their screen during Teams meetings or calls, displayed as a formatted string. |
| AudioDurationInSeconds | Integer | The duration of all audio sessions for the user, measured in seconds. |
| VideoDurationInSeconds | Integer | The duration of all video sessions for the user, measured in seconds. |
| ScreenShareDurationInSeconds | Integer | The duration of screen sharing activity by the user, measured in seconds. |
| HasOtherAction | String | Indicates whether the user performed other Teams-related actions that are not explicitly tracked in the message, call, or meeting categories. |
| UrgentMessages | Integer | The number of urgent messages the user sent. Urgent messages notify recipients repeatedly for increased visibility. |
| PostMessages | Integer | The number of new posts the user created in Teams channels. This excludes replies to existing threads. |
| TenantDisplayName | String | The display name of the Microsoft 365 tenant to which the user belongs. Useful in multi-tenant environments for identifying user origin. |
| SharedChannelTenantDisplayNames | String | A comma-separated list of tenant display names with which the user has participated in shared channel communications. |
| ReplyMessages | Integer | The number of reply messages the user posted in response to existing messages in Teams channels. |
| IsLicensed | String | Indicates whether the user has a Teams license assigned. A non-empty value signifies license presence. |
| ReportPeriod | Integer | The duration, in days, over which activity data is aggregated. Common values are 7, 30, 90, and 180. |
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 |
| Period | String | Specifies the standardized aggregation window for the report. Valid values are D7, D30, D90, and D180, where Dn represents the number of days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date (in YYYYMMDD format) for which user activity is reported. Must fall within the past 30 days due to data retention limits. |
Provides a detailed breakdown of user-level activity within Yammer, including metrics such as messages posted, read activities, and engagement trends over time.
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the Yammer activity report was last refreshed. Reflects the most recent date for which user activity data is available. |
| UserPrincipalName | String | The user principal name (UPN) of the individual whose Yammer activity is being reported. Typically formatted as an email address and used for identity resolution. |
| DisplayName | String | The full display name of the user as it appears in Yammer. This is the name shown in user-facing interfaces. |
| UserState | String | Indicates the current state of the user account in Yammer. Possible values include Active, Deleted, or Blocked. |
| StateChangeDate | Date | The date on which the user's Yammer account state last changed. Useful for tracking recent activations or deactivations. |
| LastActivityDate | Date | The most recent date the user performed any activity in Yammer, including posting, reading, or liking messages. |
| PostedCount | Integer | The total number of messages or posts the user created in Yammer during the reporting period. |
| ReadCount | Integer | The number of messages or conversations the user viewed in Yammer during the reporting period. |
| LikedCount | Integer | The number of messages or posts the user marked with a 'like' in Yammer during the reporting period. |
| AssignedProducts | String | A comma-separated list of Microsoft services or product licenses assigned to the user. May include Yammer, Exchange Online, Teams, and others. |
| ReportPeriod | Integer | The length of time, in days, that the report covers. Typical values include 7, 30, 90, or 180, indicating how far back Yammer activity is aggregated. |
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 |
| Period | String | Specifies the standardized aggregation window for the report. Supported values include D7, D30, D90, and D180, where Dn represents the number of days in the reporting period.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date (in YYYY-MM-DD format) for which Yammer activity data is requested. Only dates from the past 30 days are valid for this report. |
Offers insights into how users are accessing Yammer by device type (for example, mobile, desktop, web), enabling device usage analysis at an individual user level.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM YammerDeviceUsageUserDetail WHERE Period = 'D7' SELECT * FROM YammerDeviceUsageUserDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date on which the Yammer device usage report was last refreshed. Indicates the most recent snapshot of device usage data available. |
| UserPrincipalName | String | The user principal name (UPN) associated with the Yammer account. Typically in the format of an email address and used for uniquely identifying the user. |
| DisplayName | String | The display name of the user as shown in Yammer. This name appears in conversations and user listings. |
| UserState | String | Indicates the current state of the user account in Yammer. Common values include Active, Blocked, or Deleted. |
| StateChangeDate | Date | The date on which the user's Yammer account status last changed, such as becoming active, blocked, or deleted. |
| LastActivityDate | String | The most recent date the user accessed Yammer using any device. This helps determine user engagement across platforms. |
| UsedWeb | String | Indicates whether the user accessed Yammer through a web browser during the reporting period. A non-empty value confirms activity. |
| UsedWindowsPhone | String | Indicates whether the user accessed Yammer from a Windows Phone. Presence of data confirms at least one session on this device type. |
| UsedAndroidPhone | String | Indicates whether the user accessed Yammer using an Android phone during the reporting period. |
| UsediPhone | String | Indicates whether the user accessed Yammer on an iPhone device. A value here reflects usage on iOS smartphones. |
| UsediPad | String | Indicates whether the user accessed Yammer on an iPad. This field helps track engagement on larger mobile iOS devices. |
| UsedOthers | String | Captures usage from other platforms not explicitly listed, such as desktop apps or older/unsupported devices. |
| ReportPeriod | Integer | The number of days for which Yammer device usage is reported. Common values include 7, 30, 90, or 180 days. |
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 |
| Period | String | Specifies the standardized aggregation window for the report. Valid values are D7, D30, D90, and D180, where Dn indicates the duration in days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific calendar date (formatted as YYYY-MM-DD) for which device usage data is requested. This must be within the last 30 days, based on data retention policies. |
Returns detailed analytics on activity across Yammer groups, including post volume, member participation, and engagement rates, grouped by Yammer group.
The Cloud uses the Microsoft Exchange API to process WHERE clause conditions built with the following columns and operators:
The rest of the filter is executed client-side in the Cloud.
At a minimum, a Date or Period column is required to get the report data. By default, the driver makes a request of the period as D7 if no filter is specified.
For example, the following query is processed server-side:
SELECT * FROM YammerGroupsActivityDetail WHERE Period = 'D7' SELECT * FROM YammerGroupsActivityDetail WHERE Date = '2023-04-19'
| Name | Type | Description |
| ReportRefreshDate | Date | The date when the Yammer group activity report was last refreshed. Represents the latest available snapshot of group-level metrics. |
| GroupDisplayName | String | The name of the Yammer group as displayed in the user interface. This is the public or internal name shown to users. |
| IsDeleted | Boolean | Indicates whether the Yammer group has been deleted. A value of true means the group is no longer active or accessible. |
| OwnerPrincipalName | String | The user principal name (UPN) of the person who owns or administers the Yammer group. Typically displayed in email format. |
| LastActivityDate | Date | The most recent date when any member of the group performed an activity such as posting, reading, or liking messages. |
| GroupType | String | Specifies the type of Yammer group. Common values include Private, Public, and Secret, which determine group visibility and access. |
| Office365Connected | String | Indicates whether the Yammer group is connected to a Microsoft 365 group. A connected group integrates with services like SharePoint, Outlook, and Teams. |
| MemberCount | Integer | The total number of active members in the Yammer group at the time of reporting. |
| PostedCount | String | The total number of messages or posts created in the Yammer group during the reporting period. |
| ReadCount | String | The total number of messages viewed by group members during the reporting period. Helps indicate engagement level. |
| LikedCount | String | The total number of posts that received 'likes' within the Yammer group during the reporting window. |
| ReportPeriod | Integer | The duration of the reporting period, in days. Typical values are 7, 30, 90, or 180, indicating how far back activity is measured. |
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 |
| Period | String | Specifies the standardized aggregation range for the report. Accepted values include D7, D30, D90, and D180, where Dn represents the number of days.
The allowed values are D7, D30, D90, D180. The default value is D7. |
| Date | Date | The specific date (formatted as YYYY-MM-DD) for which activity data is returned. Only dates from the past 30 days are supported in this report. |
Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with Microsoft Exchange.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Microsoft Exchange, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| AddAttachments | Attaches one or more files to an existing email message, allowing for automated message composition and delivery workflows involving document attachments. |
| DeleteAttachment | Removes a specified attachment from an email or message item, supporting cleanup and content modification operations. |
| DismissEventReminder | Programmatically dismisses the reminder for a calendar event, simulating the user action of closing the reminder notification. |
| FetchAdditionalUserFields | Retrieves extended metadata fields (T1, T2, and T3) for a specified user, which can include custom attributes defined within the tenant's directory schema. |
| ForwardMail | Forwards an existing email message to one or more recipients, replicating the 'Forward' action typically available in email clients. |
| GetAdminConsentURL.rsb | Additional optional parameters that can be passed to the authorization request. These are typically key-value pairs used for advanced configurations. |
| MoveMail | Moves an email message from one folder to another within a user's mailbox, enabling inbox organization and workflow automation. |
| ReplyToMessage | Sends a reply to an existing email message, preserving the message thread and including quoted content where applicable. |
| RespondToEvent | Submits a response (accept, decline, tentative) to a calendar event invitation, updating the attendee's participation status. |
| SendMail | Composes and sends a new email message using specified recipients, subject, body content, and optional attachments. |
| SnoozeEventReminder | Postpones a calendar event reminder for a defined duration, emulating the 'Snooze' functionality in email/calendar clients. |
Attaches one or more files to an existing email message, allowing for automated message composition and delivery workflows involving document attachments.
| Name | Type | Required | Description |
| Id | String | True | The unique identifier of the target item (message or event) to which the attachment will be added. Required to associate the attachment with the correct object. |
| DestinationType | String | True | Specifies the type of destination object to receive the attachment. Valid values are 'Message' for emails and 'Event' for calendar events. |
| FileName | String | True | The name that will be assigned to the attachment when it is added. This name will be displayed to recipients or users viewing the item. |
| LocalFile | String | False | The local file path containing the attachment content to upload. Used when reading the file directly from disk. |
| ContentBytes | String | False | The binary content of the attachment encoded as a Base64 string. Used when attachment data is provided inline rather than from a file. |
| UserId | String | False | The unique identifier of the user being impersonated when performing the attachment operation. Enables delegated access scenarios. |
| Name | Type | Description |
| ContentBytes | String | Returns 'Added Successfully' if the attachment content was successfully added to the target message or event. |
| Id | String | The unique identifier assigned to the newly added attachment. This ID can be used for reference in subsequent operations. |
| LastModifiedDateTime | Datetime | The timestamp indicating when the attachment was last modified. Useful for tracking changes or ensuring version accuracy. |
| Isinline | Boolean | A Boolean value that specifies whether the attachment is an inline element, such as an embedded image in an email or calendar item. |
| Name | String | The name of the attachment that was added. This is the same value as specified in 'FileName'. |
| Contenttype | String | The MIME type of the attachment (for example, application/pdf, image/png), indicating the file format. |
| Size | Int | The size of the attachment, measured in bytes. Useful for validating against size limits or storage policies. |
Removes a specified attachment from an email or message item, supporting cleanup and content modification operations.
| Name | Type | Required | Description |
| MessageId | String | True | The unique identifier of the email message from which an attachment will be deleted. Required to locate the correct message item. |
| AttachmentID | String | True | The unique identifier of the specific attachment to delete from the message. This must correspond to an existing attachment on the message. |
| UserId | String | False | The identifier of the impersonated user under whose context the delete operation will be executed. Used in scenarios where delegated access is required. |
| Name | Type | Description |
| Success | String | Indicates whether the attachment deletion operation completed successfully. Returns true if the attachment was removed; false if an error occurred. |
Programmatically dismisses the reminder for a calendar event, simulating the user action of closing the reminder notification.
| Name | Type | Required | Description |
| EventId | String | True | The unique identifier of the calendar event for which the reminder is being dismissed. This ID is required to target the correct event. |
| UserId | String | False | The identifier of the user being impersonated to perform the dismissal action. Used in delegated or service account scenarios to act on behalf of the user. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the dismissal request completed successfully. A value of true confirms the reminder was dismissed without error. |
Retrieves extended metadata fields (T1, T2, and T3) for a specified user, which can include custom attributes defined within the tenant's directory schema.
| Name | Type | Required | Description |
| UserId | String | True | The unique identifier of the user whose additional fields are being requested. Required to target a specific user profile. |
| IncludeFields | String | False | A comma-separated list of specific user profile fields to include in the response. Only the listed fields will be returned (for example, 'field1', 'field2', or 'field3'). |
| ExcludeFields | String | False | A comma-separated list of user profile fields to omit from the response. Used to refine output when all other fields are returned by default (for example, 'field1', 'field2', or 'field3'. |
| Name | Type | Description |
| * | String | Represents the full set of user profile data returned based on the specified include and exclude criteria. This is a dynamic result set shaped by the input parameters. |
Forwards an existing email message to one or more recipients, replicating the 'Forward' action typically available in email clients.
| Name | Type | Required | Description |
| MessageId | String | True | The unique identifier of the email message to be forwarded. This ID is required to locate the original message in the mailbox. |
| ToRecipients | String | True | A semicolon-separated list of recipient email addresses to whom the message will be forwarded (for example, '[email protected]' or '[email protected]'). |
| Comment | String | False | Optional text that will be included above the original message content in the forwarded email. Can be used to add context or additional information. |
| UserId | String | False | The identifier of the impersonated user on whose behalf the email is being forwarded. Required in scenarios involving delegated or application-level access. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the forward operation completed successfully. Returns true if the message was forwarded without error. |
Additional optional parameters that can be passed to the authorization request. These are typically key-value pairs used for advanced configurations.
| Name | Type | Required | Description |
| CallbackUrl | String | False | The redirect URI where the user will be sent after granting admin consent. This must exactly match the reply URL configured in your Azure Active Directory application's settings. |
| State | String | False | An opaque string value used to maintain state between the request and callback. This value is returned to the application unchanged and can be used to prevent cross-site request forgery attacks. |
| Scope | String | False | A space-separated list of permission scopes being requested from the admin. These determine what access the application is requesting. Refer to Microsoft Graph API documentation for valid values. |
| Name | Type | Description |
| URL | String | The complete admin consent authorization URL to be opened in a web browser. When visited, it prompts the admin to grant consent to the specified scopes for your application. |
Moves an email message from one folder to another within a user's mailbox, enabling inbox organization and workflow automation.
| Name | Type | Required | Description |
| MessageId | String | True | The unique identifier of the email message to be moved. Required to locate and operate on the specific message within the mailbox. |
| DestinationId | String | True | The unique identifier of the destination folder where the email message should be moved. This folder must exist within the user's mailbox. |
| UserId | String | False | The identifier of the impersonated user on whose behalf the reply is being sent. Used in delegated access scenarios. |
| Name | Type | Description |
| Id | String | The unique identifier of the email message after it has been successfully moved to the specified destination folder. |
Sends a reply to an existing email message, preserving the message thread and including quoted content where applicable.
| Name | Type | Required | Description |
| MessageId | String | True | The unique identifier of the original email message being replied to. This ID is required to retrieve the correct message from the mailbox. |
| Comment | String | False | The body content of the reply message. This comment will appear above the original message in the reply thread. |
| ToAll | String | False | Specifies whether the reply should be sent to all original recipients (true) or only to the sender (false).
The default value is false. |
| UserId | String | False | The identifier of the impersonated user on whose behalf the reply is being sent. Used in delegated access scenarios. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the reply operation was completed successfully. A value of true confirms the message was sent; false indicates failure. |
Submits a response (accept, decline, tentative) to a calendar event invitation, updating the attendee's participation status.
| Name | Type | Required | Description |
| EventId | String | True | The unique identifier of the calendar event to which the user is responding. This ID is used to locate the specific event in the user's calendar. |
| ResponseType | String | True | Indicates the type of response to send for the event invitation. Valid values are: Accept, Decline. This determines the participant's response status for the event. |
| SendResponse | String | False | Boolean value that specifies whether a response should be sent to the event organizer. If true, a response is sent; if false, the response is not communicated. Optional. Default is true.
The default value is true. |
| Comment | String | False | An optional message or note to include in the response. This text is typically visible to the event organizer. |
| UserId | String | False | The identifier of the impersonated user on whose behalf the reply is being sent. Used in delegated access scenarios. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the operation to respond to the event was successful. Returns true if the response was processed correctly, false otherwise. |
Composes and sends a new email message using specified recipients, subject, body content, and optional attachments.
| Name | Type | Required | Description |
| Id | String | False | The identifier of an existing draft or message to be sent. This is optional. If not provided, a new email is created using the subject, content, recipients, and attachments specified. |
| Subject | String | False | The subject line of the email message. Appears in the recipient's inbox as the main heading. |
| Content | String | False | The body content of the email message. Can contain plain text or HTML depending on the specified content type. |
| Attachments | String | False | The attachments to include in the email. Provide each attachment as a pair in this format: filename1,filecontent1; filename2,filecontent2. Each file content can be Base64-encoded data or a local file path prefixed with @. |
| FileName | String | False | The name of a file to be attached to the email, if not using the full Attachments format. |
| LocalFile | String | False | The path to a local file whose content will be used as an attachment. Useful when uploading directly from the file system. |
| ContentBytes | String | False | The Base64-encoded binary content of the file attachment. Used when directly supplying the attachment content instead of a file path. |
| ToRecipients | String | False | Semicolon-separated list of email addresses to whom the email will be sent directly. Example: [email protected]; [email protected]. |
| CcRecipients | String | False | Semicolon-separated list of email addresses to be copied (Cc) on the email. These recipients will be visible to all other recipients. |
| BccRecipients | String | False | Semicolon-separated list of email addresses to be blind copied (Bcc) on the email. These recipients will not be visible to others. |
| SenderEmail | String | False | The email address on whose behalf the message is sent. Use this when sending on behalf of another user. |
| FromEmail | String | False | The actual sender's email address. This field is used when sending an email from another user's account explicitly. |
| UserId | String | False | The identifier of the impersonated user under whose context the operation will be executed. Required for delegated access scenarios. |
| ContentType | String | False | Specifies the format of the email body. Valid values typically include 'Text' or 'HTML'.
The allowed values are text, html. The default value is text. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the email send operation was successful. Returns true if the email was sent successfully, false otherwise. |
Postpones a calendar event reminder for a defined duration, emulating the 'Snooze' functionality in email/calendar clients.
| Name | Type | Required | Description |
| EventId | String | True | The unique identifier of the calendar event for which the reminder is being postponed. This is required to locate the specific event in the user's calendar. |
| DateTime | String | False | The new date and time to which the event reminder should be snoozed. This value determines when the reminder will next appear. |
| TimeZone | String | False | The time zone associated with the new reminder date and time. Ensures the snooze is scheduled accurately relative to the user's local time. |
| UserId | String | False | The identifier of the impersonated user performing the operation. Required when actions are taken on behalf of another user. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the snooze reminder request was successful. Returns true if the operation completed without errors. |
You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.
The following tables return database metadata for Microsoft Exchange:
The following tables return information about how to connect to and query the data source:
The following table returns query statistics for data modification queries:
Lists the available databases.
The following query retrieves all databases determined by the connection string:
SELECT * FROM sys_catalogs
| Name | Type | Description |
| CatalogName | String | The database name. |
Lists the available schemas.
The following query retrieves all available schemas:
SELECT * FROM sys_schemas
| Name | Type | Description |
| CatalogName | String | The database name. |
| SchemaName | String | The schema name. |
Lists the available tables.
The following query retrieves the available tables and views:
SELECT * FROM sys_tables
| Name | Type | Description |
| CatalogName | String | The database containing the table or view. |
| SchemaName | String | The schema containing the table or view. |
| TableName | String | The name of the table or view. |
| TableType | String | The table type (table or view). |
| Description | String | A description of the table or view. |
| IsUpdateable | Boolean | Whether the table can be updated. |
Describes the columns of the available tables and views.
The following query returns the columns and data types for the Contacts table:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Contacts'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the table or view. |
| SchemaName | String | The schema containing the table or view. |
| TableName | String | The name of the table or view containing the column. |
| ColumnName | String | The column name. |
| DataTypeName | String | The data type name. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| Length | Int32 | The storage size of the column. |
| DisplaySize | Int32 | The designated column's normal maximum width in characters. |
| NumericPrecision | Int32 | The maximum number of digits in numeric data. The column length in characters for character and date-time data. |
| NumericScale | Int32 | The column scale or number of digits to the right of the decimal point. |
| IsNullable | Boolean | Whether the column can contain null. |
| Description | String | A brief description of the column. |
| Ordinal | Int32 | The sequence number of the column. |
| IsAutoIncrement | String | Whether the column value is assigned in fixed increments. |
| IsGeneratedColumn | String | Whether the column is generated. |
| IsHidden | Boolean | Whether the column is hidden. |
| IsArray | Boolean | Whether the column is an array. |
| IsReadOnly | Boolean | Whether the column is read-only. |
| IsKey | Boolean | Indicates whether a field returned from sys_tablecolumns is the primary key of the table. |
| ColumnType | String | The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN. |
Lists the available stored procedures.
The following query retrieves the available stored procedures:
SELECT * FROM sys_procedures
| Name | Type | Description |
| CatalogName | String | The database containing the stored procedure. |
| SchemaName | String | The schema containing the stored procedure. |
| ProcedureName | String | The name of the stored procedure. |
| Description | String | A description of the stored procedure. |
| ProcedureType | String | The type of the procedure, such as PROCEDURE or FUNCTION. |
Describes stored procedure parameters.
The following query returns information about all of the input parameters for the GetAttachment stored procedure:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetAttachment' AND Direction = 1 OR Direction = 2
To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetAttachment' AND IncludeResultColumns='True'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the stored procedure. |
| SchemaName | String | The name of the schema containing the stored procedure. |
| ProcedureName | String | The name of the stored procedure containing the parameter. |
| ColumnName | String | The name of the stored procedure parameter. |
| Direction | Int32 | An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| DataTypeName | String | The name of the data type. |
| NumericPrecision | Int32 | The maximum precision for numeric data. The column length in characters for character and date-time data. |
| Length | Int32 | The number of characters allowed for character data. The number of digits allowed for numeric data. |
| NumericScale | Int32 | The number of digits to the right of the decimal point in numeric data. |
| IsNullable | Boolean | Whether the parameter can contain null. |
| IsRequired | Boolean | Whether the parameter is required for execution of the procedure. |
| IsArray | Boolean | Whether the parameter is an array. |
| Description | String | The description of the parameter. |
| Ordinal | Int32 | The index of the parameter. |
| Values | String | The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated. |
| SupportsStreams | Boolean | Whether the parameter represents a file that you can pass as either a file path or a stream. |
| IsPath | Boolean | Whether the parameter is a target path for a schema creation operation. |
| Default | String | The value used for this parameter when no value is specified. |
| SpecificName | String | A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here. |
| IsCDataProvided | Boolean | Whether the procedure is added/implemented by CData, as opposed to being a native Microsoft Exchange procedure. |
| Name | Type | Description |
| IncludeResultColumns | Boolean | Whether the output should include columns from the result set in addition to parameters. Defaults to False. |
Describes the primary and foreign keys.
The following query retrieves the primary key for the Contacts table:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Contacts'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the key. |
| SchemaName | String | The name of the schema containing the key. |
| TableName | String | The name of the table containing the key. |
| ColumnName | String | The name of the key column. |
| IsKey | Boolean | Whether the column is a primary key in the table referenced in the TableName field. |
| IsForeignKey | Boolean | Whether the column is a foreign key referenced in the TableName field. |
| PrimaryKeyName | String | The name of the primary key. |
| ForeignKeyName | String | The name of the foreign key. |
| ReferencedCatalogName | String | The database containing the primary key. |
| ReferencedSchemaName | String | The schema containing the primary key. |
| ReferencedTableName | String | The table containing the primary key. |
| ReferencedColumnName | String | The column name of the primary key. |
Describes the foreign keys.
The following query retrieves all foreign keys which refer to other tables:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the key. |
| SchemaName | String | The name of the schema containing the key. |
| TableName | String | The name of the table containing the key. |
| ColumnName | String | The name of the key column. |
| PrimaryKeyName | String | The name of the primary key. |
| ForeignKeyName | String | The name of the foreign key. |
| ReferencedCatalogName | String | The database containing the primary key. |
| ReferencedSchemaName | String | The schema containing the primary key. |
| ReferencedTableName | String | The table containing the primary key. |
| ReferencedColumnName | String | The column name of the primary key. |
| ForeignKeyType | String | Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key. |
Describes the primary keys.
The following query retrieves the primary keys from all tables and views:
SELECT * FROM sys_primarykeys
| Name | Type | Description |
| CatalogName | String | The name of the database containing the key. |
| SchemaName | String | The name of the schema containing the key. |
| TableName | String | The name of the table containing the key. |
| ColumnName | String | The name of the key column. |
| KeySeq | String | The sequence number of the primary key. |
| KeyName | String | The name of the primary key. |
Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.
The following query retrieves all indexes that are not primary keys:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the index. |
| SchemaName | String | The name of the schema containing the index. |
| TableName | String | The name of the table containing the index. |
| IndexName | String | The index name. |
| ColumnName | String | The name of the column associated with the index. |
| IsUnique | Boolean | True if the index is unique. False otherwise. |
| IsPrimary | Boolean | True if the index is a primary key. False otherwise. |
| Type | Int16 | An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3). |
| SortOrder | String | The sort order: A for ascending or D for descending. |
| OrdinalPosition | Int16 | The sequence number of the column in the index. |
Returns information on the available connection properties and those set in the connection string.
The following query retrieves all connection properties that have been set in the connection string or set through a default value:
SELECT * FROM sys_connection_props WHERE Value <> ''
| Name | Type | Description |
| Name | String | The name of the connection property. |
| ShortDescription | String | A brief description. |
| Type | String | The data type of the connection property. |
| Default | String | The default value if one is not explicitly set. |
| Values | String | A comma-separated list of possible values. A validation error is thrown if another value is specified. |
| Value | String | The value you set or a preconfigured default. |
| Required | Boolean | Whether the property is required to connect. |
| Category | String | The category of the connection property. |
| IsSessionProperty | String | Whether the property is a session property, used to save information about the current connection. |
| Sensitivity | String | The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms. |
| PropertyName | String | A camel-cased truncated form of the connection property name. |
| Ordinal | Int32 | The index of the parameter. |
| CatOrdinal | Int32 | The index of the parameter category. |
| Hierarchy | String | Shows dependent properties associated that need to be set alongside this one. |
| Visible | Boolean | Informs whether the property is visible in the connection UI. |
| ETC | String | Various miscellaneous information about the property. |
Describes the SELECT query processing that the Cloud can offload to the data source.
See SQL Compliance for SQL syntax details.
Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.
| Name | Description | Possible Values |
| AGGREGATE_FUNCTIONS | Supported aggregation functions. | AVG, COUNT, MAX, MIN, SUM, DISTINCT |
| COUNT | Whether COUNT function is supported. | YES, NO |
| IDENTIFIER_QUOTE_OPEN_CHAR | The opening character used to escape an identifier. | [ |
| IDENTIFIER_QUOTE_CLOSE_CHAR | The closing character used to escape an identifier. | ] |
| SUPPORTED_OPERATORS | A list of supported SQL operators. | =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR |
| GROUP_BY | Whether GROUP BY is supported, and, if so, the degree of support. | NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE |
| OJ_CAPABILITIES | The supported varieties of outer joins supported. | NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS |
| OUTER_JOINS | Whether outer joins are supported. | YES, NO |
| SUBQUERIES | Whether subqueries are supported, and, if so, the degree of support. | NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED |
| STRING_FUNCTIONS | Supported string functions. | LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE |
| NUMERIC_FUNCTIONS | Supported numeric functions. | ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE |
| TIMEDATE_FUNCTIONS | Supported date/time functions. | NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT |
| REPLICATION_SKIP_TABLES | Indicates tables skipped during replication. | |
| REPLICATION_TIMECHECK_COLUMNS | A string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication. | |
| IDENTIFIER_PATTERN | String value indicating what string is valid for an identifier. | |
| SUPPORT_TRANSACTION | Indicates if the provider supports transactions such as commit and rollback. | YES, NO |
| DIALECT | Indicates the SQL dialect to use. | |
| KEY_PROPERTIES | Indicates the properties which identify the uniform database. | |
| SUPPORTS_MULTIPLE_SCHEMAS | Indicates if multiple schemas may exist for the provider. | YES, NO |
| SUPPORTS_MULTIPLE_CATALOGS | Indicates if multiple catalogs may exist for the provider. | YES, NO |
| DATASYNCVERSION | The CData Data Sync version needed to access this driver. | Standard, Starter, Professional, Enterprise |
| DATASYNCCATEGORY | The CData Data Sync category of this driver. | Source, Destination, Cloud Destination |
| SUPPORTSENHANCEDSQL | Whether enhanced SQL functionality beyond what is offered by the API is supported. | TRUE, FALSE |
| SUPPORTS_BATCH_OPERATIONS | Whether batch operations are supported. | YES, NO |
| SQL_CAP | All supported SQL capabilities for this driver. | SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX |
| PREFERRED_CACHE_OPTIONS | A string value specifies the preferred cacheOptions. | |
| ENABLE_EF_ADVANCED_QUERY | Indicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side. | YES, NO |
| PSEUDO_COLUMNS | A string array indicating the available pseudo columns. | |
| MERGE_ALWAYS | If the value is true, The Merge Mode is forcibly executed in Data Sync. | TRUE, FALSE |
| REPLICATION_MIN_DATE_QUERY | A select query to return the replicate start datetime. | |
| REPLICATION_MIN_FUNCTION | Allows a provider to specify the formula name to use for executing a server side min. | |
| REPLICATION_START_DATE | Allows a provider to specify a replicate startdate. | |
| REPLICATION_MAX_DATE_QUERY | A select query to return the replicate end datetime. | |
| REPLICATION_MAX_FUNCTION | Allows a provider to specify the formula name to use for executing a server side max. | |
| IGNORE_INTERVALS_ON_INITIAL_REPLICATE | A list of tables which will skip dividing the replicate into chunks on the initial replicate. | |
| CHECKCACHE_USE_PARENTID | Indicates whether the CheckCache statement should be done against the parent key column. | TRUE, FALSE |
| CREATE_SCHEMA_PROCEDURES | Indicates stored procedures that can be used for generating schema files. |
The following query retrieves the operators that can be used in the WHERE clause:
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.
| Name | Type | Description |
| NAME | String | A component of SQL syntax, or a capability that can be processed on the server. |
| VALUE | String | Detail on the supported SQL or SQL syntax. |
Returns information about attempted modifications.
The following query retrieves the Ids of the modified rows in a batch operation:
SELECT * FROM sys_identity
| Name | Type | Description |
| Id | String | The database-generated Id returned from a data modification operation. |
| Batch | String | An identifier for the batch. 1 for a single operation. |
| Operation | String | The result of the operation in the batch: INSERTED, UPDATED, or DELETED. |
| Message | String | SUCCESS or an error message if the update in the batch failed. |
Describes the available system information.
The following query retrieves all columns:
SELECT * FROM sys_information
| Name | Type | Description |
| Product | String | The name of the product. |
| Version | String | The version number of the product. |
| Datasource | String | The name of the datasource the product connects to. |
| NodeId | String | The unique identifier of the machine where the product is installed. |
| HelpURL | String | The URL to the product's help documentation. |
| License | String | The license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.) |
| Location | String | The file path location where the product's library is stored. |
| Environment | String | The version of the environment or rumtine the product is currently running under. |
| DataSyncVersion | String | The tier of CData Sync required to use this connector. |
| DataSyncCategory | String | The category of CData Sync functionality (e.g., Source, Destination). |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
| Property | Description |
| Platform | Specifies the Microsoft Exchange platform to target when establishing a connection. |
| Schema | Specifies the schema to use when connecting to the Microsoft Exchange platform. |
| AuthScheme | Specifies the authentication scheme used to connect to the Microsoft Exchange server. |
| Server | Specifies the URL of the Microsoft Exchange server to connect to. |
| User | Specifies the username used to authenticate to the Microsoft Exchange server. |
| Password | Specifies the password used to authenticate to the Microsoft Exchange server. |
| Office365Environment | Specifies the Office 365 environment to use when establishing a connection. |
| Property | Description |
| AzureTenant | Identifies the Microsoft Exchange tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID. |
| Property | Description |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created. |
| UserId | Specifies the user account to impersonate when accessing Outlook resources using the client credentials flow. |
| Property | Description |
| OAuthJWTCert | Supplies the name of the client certificate's JWT Certificate store. |
| OAuthJWTCertType | Identifies the type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate. |
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
| Property | Description |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Property | Description |
| AlwaysRequestTableDependencies | Specifies whether the provider should always retrieve table dependencies (foreign key relationships). |
| BodyType | Specifies how the body content of email messages is formatted in the response. |
| CustomHeaders | Specifies additional HTTP headers to append to the request headers created from other properties, such as ContentType and From. Use this property to customize requests for specialized or nonstandard APIs. |
| DirectoryRetrievalDepth | Specifies the folder depth to use when retrieving items and subfolders from the directory. |
| DisableServerSideFiltering | Specifies whether to disable server-side filtering in queries. |
| GroupId | Specifies the Microsoft 365 group to target when accessing group-scoped resources using the client credentials flow. |
| ImpersonationType | Specifies the type of identifier used for provider impersonation. |
| ImpersonationUser | Specifies the user account to impersonate when sending requests to the provider server. |
| IncludeContent | Specifies whether to retrieve additional content, such as message bodies, when querying items. |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Microsoft Exchange. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| ShowCustomFoldersAsTables | A boolean indicating whether to expose custom folders as tables. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UseInplaceArchive | Specifies whether to query the in-place archive mailbox instead of the primary mailbox. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
| Property | Description |
| Platform | Specifies the Microsoft Exchange platform to target when establishing a connection. |
| Schema | Specifies the schema to use when connecting to the Microsoft Exchange platform. |
| AuthScheme | Specifies the authentication scheme used to connect to the Microsoft Exchange server. |
| Server | Specifies the URL of the Microsoft Exchange server to connect to. |
| User | Specifies the username used to authenticate to the Microsoft Exchange server. |
| Password | Specifies the password used to authenticate to the Microsoft Exchange server. |
| Office365Environment | Specifies the Office 365 environment to use when establishing a connection. |
Specifies the Microsoft Exchange platform to target when establishing a connection.
string
"Exchange_Online"
Set this property to the version of Microsoft Exchange your organization is using. This allows the Cloud to optimize API calls and behavior for the selected platform.
Available values:
| Exchange2007 | Targets the initial release version of Microsoft Exchange 2007. |
| Exchange2007_SP1 | Targets Microsoft Exchange 2007 Service Pack 1 (SP1), Microsoft Exchange 2007 Service Pack 2 (SP2), and Microsoft Exchange 2007 Service Pack 3 (SP3). |
| Exchange2010 | Targets Microsoft Exchange 2010. |
| Exchange2010_SP1 | Targets Microsoft Exchange 2010 Service Pack 1 (SP1). |
| Exchange2010_SP2 | Targets Microsoft Exchange 2010 Service Pack 2 (SP2) and Microsoft Exchange 2010 Service Pack 3 (SP3). |
| Exchange2013 | Targets Microsoft Exchange 2013. |
| Exchange2013_SP1 | Targets Microsoft Exchange 2013 Service Pack 1 (SP1). |
| Exchange_Online | Targets Microsoft Exchange Online. |
Note: Filtering using the WHERE clause is not supported on the Exchange2007 and Exchange2007_SP1 platforms.
Specifies the schema to use when connecting to the Microsoft Exchange platform.
string
"MSGraph"
Set this property to choose the schema that determines how the Cloud interacts with the Microsoft Exchange service.
Available values:
The MSGraph schema is only supported with the Exchange_Online platform. Earlier versions of Microsoft Exchange only support EWS.
Specifies the authentication scheme used to connect to the Microsoft Exchange server.
string
"OAuth"
Together with Password and User, this field is used to authenticate against the server. Basic is the default option. Use the following options to select your authentication scheme:
Specifies the URL of the Microsoft Exchange server to connect to.
string
""
Set this property to the full URL of the Exchange Web Services (EWS) endpoint.
This property is useful for directing the Cloud to the correct EWS endpoint based on your deployment, whether cloud-based or on-premises.
Specifies the username used to authenticate to the Microsoft Exchange server.
string
""
Set this property to the username of the account you want to authenticate with.
Username formats vary by environment. Use [email protected] for Microsoft Exchange Online and OAuth-based authentication. Use DOMAIN\user for NTLM or other domain-based authentication methods.
Note: Basic authentication using User and Password has been deprecated in Microsoft Exchange Online. Use modern authentication methods such as OAuth or Azure AD where possible.
This property is useful for authenticating to on-premise Microsoft Exchange servers or legacy deployments that still support Basic or NTLM authentication.
Specifies the password used to authenticate to the Microsoft Exchange server.
string
""
Set this property to the password for the user account specified in the User property. The password is used in conjunction with the selected authentication scheme.
Note: Microsoft has deprecated Basic authentication for Exchange Online. If you are connecting to Exchange Online, consider using a modern authentication scheme such as OAuth or Azure AD.
This property is useful for authenticating to on-premise Exchange environments or legacy systems where Basic or NTLM authentication is still supported.
Specifies the Office 365 environment to use when establishing a connection.
string
"GLOBAL"
Use this property to select the appropriate Office 365 environment for your account. In most cases, the default value GLOBAL is sufficient.
If your Office 365 account resides in a sovereign or restricted environment, set this property accordingly.
Available values:
This property is useful when connecting to region-specific or government-restricted Office 365 tenants.
This section provides a complete list of the Azure Authentication properties you can configure in the connection string for this provider.
| Property | Description |
| AzureTenant | Identifies the Microsoft Exchange tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID. |
Identifies the Microsoft Exchange tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID.
string
""
A tenant is a digital container for your organization's users and resources, managed through Microsoft Entra ID (formerly Azure AD). Each tenant is associated with a unique directory ID, and often with a custom domain (for example, microsoft.com or contoso.onmicrosoft.com).
To find the directory (tenant) ID in the Microsoft Entra Admin Center, navigate to Microsoft Entra ID > Properties and copy the value labeled "Directory (tenant) ID".
This property is required in the following cases:
You can provide the tenant value in one of two formats:
Specifying the tenant explicitly ensures that the authentication request is routed to the correct directory, which is especially important when a user belongs to multiple tenants or when using service principal–based authentication.
If this value is omitted when required, authentication may fail or connect to the wrong tenant. This can result in errors such as unauthorized or resource not found.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created. |
| UserId | Specifies the user account to impersonate when accessing Outlook resources using the client credentials flow. |
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
string
""
This property is required in two cases:
(When the driver provides embedded OAuth credentials, this value may already be provided by the Cloud and thus not require manual entry.)
OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.
OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.
While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.
For more information on how this property is used when configuring a connection, see Establishing a Connection.
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
string
""
This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.
The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.
OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.
Notes:
For more information on how this property is used when configuring a connection, see Establishing a Connection
Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.
string
""
Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.
When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested.
When InitiateOAuth is set to either REFRESH or OFF, you can change which scopes are requested using either this property or the Scope input.
Specifies the user account to impersonate when accessing Outlook resources using the client credentials flow.
string
""
Set this property to the identifier of the user whose Outlook mailbox or calendar data you want to access. The value should be the user's unique identifier, typically in the form of a UPN ([email protected]) or Azure AD object ID.
This property is useful for service applications using client credentials to operate on behalf of a specific user without interactive login.
This section provides a complete list of the JWT OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthJWTCert | Supplies the name of the client certificate's JWT Certificate store. |
| OAuthJWTCertType | Identifies the type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate. |
Supplies the name of the client certificate's JWT Certificate store.
string
""
The OAuthJWTCertType field specifies the type of the certificate store specified in OAuthJWTCert. If the store is password-protected, use OAuthJWTCertPassword to supply the password..
OAuthJWTCert is used in conjunction with the OAuthJWTCertSubject field in order to specify client certificates. If OAuthJWTCert has a value, and OAuthJWTCertSubject is set, the CData Cloud initiates a search for a certificate. For further information, see OAuthJWTCertSubject.
Designations of certificate stores are platform-dependent.
Notes
Identifies the type of key store containing the JWT Certificate.
string
"PEMKEY_BLOB"
| Value | Description | Notes |
| USER | A certificate store owned by the current user. | Only available in Windows. |
| MACHINE | A machine store. | Not available in Java or other non-Windows environments. |
| PFXFILE | A PFX (PKCS12) file containing certificates. | |
| PFXBLOB | A string (base-64-encoded) representing a certificate store in PFX (PKCS12) format. | |
| JKSFILE | A Java key store (JKS) file containing certificates. | Only available in Java. |
| JKSBLOB | A string (base-64-encoded) representing a certificate store in Java key store (JKS) format. | Only available in Java. |
| PEMKEY_FILE | A PEM-encoded file that contains a private key and an optional certificate. | |
| PEMKEY_BLOB | A string (base64-encoded) that contains a private key and an optional certificate. | |
| PUBLIC_KEY_FILE | A file that contains a PEM- or DER-encoded public key certificate. | |
| PUBLIC_KEY_BLOB | A string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate. | |
| SSHPUBLIC_KEY_FILE | A file that contains an SSH-style public key. | |
| SSHPUBLIC_KEY_BLOB | A string (base-64-encoded) that contains an SSH-style public key. | |
| P7BFILE | A PKCS7 file containing certificates. | |
| PPKFILE | A file that contains a PPK (PuTTY Private Key). | |
| XMLFILE | A file that contains a certificate in XML format. | |
| XMLBLOB | Astring that contains a certificate in XML format. | |
| BCFKSFILE | A file that contains an Bouncy Castle keystore. | |
| BCFKSBLOB | A string (base-64-encoded) that contains a Bouncy Castle keystore. |
Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank.
string
""
This property specifies the password needed to open a password-protected certificate store. To determine if a password is necessary, refer to the documentation or configuration for your specific certificate store.
Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate.
string
"*"
The value of this property is used to locate a matching certificate in the store. The search process works as follows:
You can set the value to '*' to automatically select the first certificate in the store. The certificate subject is a comma-separated list of distinguished name fields and values. For example: CN=www.server.com, OU=test, C=US, [email protected].
Common fields include:
| Field | Meaning |
| CN | Common Name. This is commonly a host name like www.server.com. |
| O | Organization |
| OU | Organizational Unit |
| L | Locality |
| S | State |
| C | Country |
| E | Email Address |
If a field value contains a comma, enclose it in quotes. For example: "O=ACME, Inc.".
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
string
""
If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.
This property can take the following forms:
| Description | Example |
| A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| A path to a local file containing the certificate | C:\cert.cer |
| The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| The MD5 Thumbprint (hex values can also be either space- or colon-separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
| The SHA1 Thumbprint (hex values can also be either space- or colon-separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
| Property | Description |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
string
"1"
This property defines the level of detail the Cloud includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.
The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.
When combined with the LogModules property, Verbosity can refine logging to specific categories of information.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
| Property | Description |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
string
""
Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
| Property | Description |
| AlwaysRequestTableDependencies | Specifies whether the provider should always retrieve table dependencies (foreign key relationships). |
| BodyType | Specifies how the body content of email messages is formatted in the response. |
| CustomHeaders | Specifies additional HTTP headers to append to the request headers created from other properties, such as ContentType and From. Use this property to customize requests for specialized or nonstandard APIs. |
| DirectoryRetrievalDepth | Specifies the folder depth to use when retrieving items and subfolders from the directory. |
| DisableServerSideFiltering | Specifies whether to disable server-side filtering in queries. |
| GroupId | Specifies the Microsoft 365 group to target when accessing group-scoped resources using the client credentials flow. |
| ImpersonationType | Specifies the type of identifier used for provider impersonation. |
| ImpersonationUser | Specifies the user account to impersonate when sending requests to the provider server. |
| IncludeContent | Specifies whether to retrieve additional content, such as message bodies, when querying items. |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Microsoft Exchange. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| ShowCustomFoldersAsTables | A boolean indicating whether to expose custom folders as tables. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UseInplaceArchive | Specifies whether to query the in-place archive mailbox instead of the primary mailbox. |
Specifies whether the provider should always retrieve table dependencies (foreign key relationships).
bool
false
Set this property to true to force the Cloud to request foreign key relationships when retrieving metadata. This can be useful for applications that require complete relational context across tables.
When set to false, the Cloud skips retrieving foreign key information unless explicitly requested, which improves performance and reduces the number of API calls.
This property is useful for tools that analyze table relationships or require complete schema diagrams during introspection.
Specifies how the body content of email messages is formatted in the response.
string
"Best"
Set this property to control how the Cloud formats the body of email messages when returning results from the Exchange Web Services (EWS) schema.
Available values:
This property is useful for ensuring body content is returned in the format your application expects, whether for display, parsing, or plain-text processing.
Specifies additional HTTP headers to append to the request headers created from other properties, such as ContentType and From. Use this property to customize requests for specialized or nonstandard APIs.
string
""
Use this property to add custom headers to HTTP requests sent by the Cloud.
This property is useful when fine-tuning requests to interact with APIs that require additional or nonstandard headers. Headers must follow the format "header: value" as described in the HTTP specifications and each header line must be separated by the carriage return and line feed (CRLF) characters. Important: Use caution when setting this property. Supplying invalid headers may cause HTTP requests to fail.
Specifies the folder depth to use when retrieving items and subfolders from the directory.
string
"5"
This property controls how many levels deep the Cloud queries when retrieving folders and items from the directory hierarchy.
Set this property to a numeric value representing the desired depth. For example, a value of 1 retrieves only top-level folders, while higher values allow deeper traversal into subfolders.
If not explicitly set, the Cloud defaults to a depth of 5.
This property is useful for controlling the scope of folder discovery, especially when working with deeply nested folder structures or when performance is a concern.
Specifies whether to disable server-side filtering in queries.
bool
false
Set this property to true to disable server-side filtering. When disabled, all filtering is performed client-side by the Cloud.
By default, this property is set to false, and the Cloud attempts to push filters to the server for all supported columns and tables.
This property is useful when server-side filtering is insufficient or unsupported for complex queries, and a complete dataset is required for accurate client-side processing.
Specifies the Microsoft 365 group to target when accessing group-scoped resources using the client credentials flow.
string
""
Set this property to the identifier of the Microsoft 365 group whose resources you want to access.
The value should be the group’s unique identifier (GUID), as registered in Microsoft Entra ID (Azure AD).
This property is useful for service applications using client credentials to operate on behalf of a specific Microsoft 365 group, especially in scenarios where access is scoped to group-owned content instead of individual user mailboxes.
Specifies the type of identifier used for provider impersonation.
string
"PrincipalName"
Set this property to control which identifier type is used when impersonating a user account in Exchange Web Services (EWS). This allows you to access mailbox data on behalf of another user.
You can also use the ImpersonationType pseudo-column in SQL queries to dynamically change the impersonation context at runtime.
Available values:
| PrincipalName | Uses the user principal name (UPN) of the account to impersonate. This is typically formatted like an email address ([email protected]). |
| SID | Uses the security identifier (SID) of the account, expressed in SDDL format. This is a fixed identifier assigned by Active Directory. |
| PrimarySmtpAddress | Uses the user's primary SMTP address. Requires an Active Directory lookup to resolve the SID. |
| SmtpAddress | Uses any SMTP address associated with the user. Also requires an Active Directory lookup to resolve the SID. |
This property is useful when accessing mailboxes programmatically on behalf of users, such as in service-based or multi-tenant environments.
Specifies the user account to impersonate when sending requests to the provider server.
string
""
Set this property to the identifier of the user account to impersonate when accessing mailbox data through Exchange Web Services (EWS). This enables the Cloud to act on behalf of another user.
You can also use the ImpersonationUser pseudo-column in SQL queries to dynamically impersonate different users during query execution.
This property is useful for service accounts that need to access multiple user mailboxes without switching credentials.
Specifies whether to retrieve additional content, such as message bodies, when querying items.
bool
false
Set this property to true to include additional content fields, such as the body of an email message, when retrieving records from item tables like Inbox or Sent Items.
When set to false, the Cloud omits large content fields to improve performance and reduce data usage.
This property is not supported for the Folders table or calendar-related child views.
This property is useful when you need full access to message content for display, search, or processing workflows.
Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
int
-1
The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)
Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.
This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
Specifies the maximum number of records per page the provider returns when requesting data from Microsoft Exchange.
int
1000
When processing a query, instead of requesting all of the queried data at once from Microsoft Exchange, the Cloud can request the queried data in pieces called pages.
This connection property determines the maximum number of results that the Cloud requests per page.
Note: Setting large page sizes may improve overall query execution time, but doing so causes the Cloud to use more memory when executing queries and risks triggering a timeout.
Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
string
""
This property allows you to define which pseudocolumns the Cloud exposes as table columns.
To specify individual pseudocolumns, use the following format:
Table1=Column1;Table1=Column2;Table2=Column3
To include all pseudocolumns for all tables use:
*=*
A boolean indicating whether to expose custom folders as tables.
bool
false
A boolean indicating whether to expose custom folders as tables.
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
int
60
The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.
Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.
Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.
Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
Specifies whether to query the in-place archive mailbox instead of the primary mailbox.
bool
false
Set this property to true to connect to the in-place archive mailbox associated with a user's Microsoft Exchange account.
When set to false, the Cloud queries the user's primary mailbox.
This property is useful for accessing archived mail content that has been automatically moved from the primary mailbox to the in-place archive.
LZMA from 7Zip LZMA SDK
LZMA SDK is placed in the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
LZMA2 from XZ SDK
Version 1.9 and older are in the public domain.
Xamarin.Forms
Xamarin SDK
The MIT License (MIT)
Copyright (c) .NET Foundation Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
NSIS 3.10
Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.