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 MySQL or 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/MySQL database.
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 EWS and Microsoft Graph, set Schema to either EWS or MSGraph.
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.
Authentication to Azure AD over a Web application always requires the creation of a custom OAuth application .
For details about creating a custom OAuth application, see Creating an Azure AD Application.
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 an Azure AD App with Service Principal.
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 the Microsoft Exchange 2 and Microsoft Exchange APIs as relational tables, views, and stored procedures. These are defined in schema files, which are simple, text-based configuration files.
The available entities, as well as any API limitations and requirements for querying these entities, are documented in EWS Data Model and MSGraph Data Model.
The Data Models illustrate an example of what your Microsoft Exchange environment might look like. The actual data model will be obtained dynamically based on your Microsoft Exchange account.
EWS Data Model describes the schemas available to connect to Microsoft Exchange OnPremise and Microsoft Exchange Online using EWS. You can use tables to work with live Microsoft Exchange data. You can use stored procedures provided by CData Cloud to automate working with Microsoft Exchange data.
MSGraph Data Model describes the schemas available to connect to Microsoft Exchange Online accounts via the Microsoft Graph. You can use tables to work with live Microsoft Exchange data. You can use stored procedures provided by CData Cloud to automate working with Microsoft Exchange data.
The CData Cloud models Microsoft Exchange entities as relational Tables and Stored Procedures. These are defined in schema files, which are simple, text-based configuration files.
API limitations and requirements are documented in this section; you can use the SupportEnhancedSQL feature, set by default, to circumvent most of these limitations.
Stored Procedures are function-like interfaces to Microsoft Exchange. They can be used to search, update, and modify information in Microsoft Exchange.
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 | Create, update, delete, and query Calendar items. |
| Calendar_OptionalAttendees | The optional attendees for a particular event. An ItemId must be specified when querying this view. |
| Calendar_RequiredAttendees | The required attendees for a particular event. An ItemId must be specified when querying this view. |
| Contacts | Create, update, delete, and query Contacts items. |
| DeletedItems | Create, update, delete, and query Deleted Items. |
| Drafts | Create, update, delete, and query Drafts items. |
| Folders | Create, update, delete, and query subfolders for a given folder. |
| Inbox | Create, update, delete, and query Inbox items. |
| JunkEmail | Create, update, delete, and query Junk Email items. |
| Outbox | Create, update, delete, and query Outbox items. |
| SentItems | Create, update, delete, and query Sent Items. |
| Tasks | Create, update, delete, and query Tasks items. |
Create, update, delete, and query Calendar items.
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 |
Contains the unique identifier of an item in the Exchange store. This property is read-only. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. This property is read-only. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. This property is read-only. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. This property is read-only. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Body of the Calendar Item. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | True |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| Start | Datetime | False |
Represents the start of a duration. |
| End | Datetime | False |
Represents the end of a duration. |
| OriginalStart | Datetime | False |
Represents the original start time of a calendar item. |
| IsAllDayEvent | Boolean | False |
Indicates whether a calendar item or meeting request represents an all-day event. |
| LegacyFreeBusyStatus | String | False |
Represents the free/busy status of the calendar item. |
| Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| When | String | False |
Provides information about when a calendar or meeting item occurs. |
| IsMeeting | Boolean | False |
Indicates whether the calendar item is a meeting or an appointment. |
| IsCancelled | Boolean | False |
Indicates whether an appointment or meeting has been cancelled. |
| IsRecurring | Boolean | True |
Indicates whether a calendar item, meeting request, or task is part of a recurring item. This element is read-only. |
| MeetingRequestWasSent | Boolean | True |
Indicates whether a meeting request has been sent to requested attendees. |
| IsResponseRequested | Boolean | True |
Indicates whether a response to an item is requested. |
| CalendarItemType | String | True |
Represents the type of a calendar item. |
| MyResponseType | String | False |
Contains the status of or response to a calendar item. |
| OrganizerName | String | False |
Defines the name of the mailbox user. |
| OrganizerEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Organizer mailbox user. |
| OrganizerRoutingType | String | False |
Defines the routing that is used for the Organizer mailbox. The default is SMTP. |
| ConflictingMeetingCount | Integer | True |
Represents the number of meetings that conflict with the calendar item. |
| AdjacentMeetingCount | Integer | True |
Represents the total number of calendar items that are adjacent to a meeting time. |
| Duration | String | True |
Represents the duration of a calendar item. |
| TimeZone | String | True |
Provides a text description of a time zone. |
| AppointmentReplyTime | Datetime | False |
Represents the date and time that an attendee replied to a meeting request. |
| AppointmentSequenceNumber | String | False |
Specifies the sequence number of a version of an appointment. |
| AppointmentState | String | True |
Specifies the status of the appointment. |
| Recurrence_Type | String | False |
Contains the recurrence type for calendar items and meeting requests. The allowed values are RelativeYearlyRecurrence, AbsoluteYearlyRecurrence, RelativeMonthlyRecurrence, AbsoluteMonthlyRecurrence, WeeklyRecurrence, DailyRecurrence. |
| Recurrence_DaysOfWeek | String | False |
Describes days of the week that are used in item recurrence patterns. |
| Recurrence_DayOfWeekIndex | String | False |
Describes which week in a month is used in a relative yearly recurrence pattern. The allowed values are First, Second, Third, Fourth, Last. |
| Recurrence_Month | String | False |
Describes the month when a yearly recurring item occurs. |
| Recurrence_DayOfMonth | Integer | False |
Describes the day in a month on which a recurring item occurs. |
| Recurrence_Interval | Integer | False |
Defines the interval between two consecutive recurring items. |
| Recurrence_FirstDayOfWeek | String | False |
Specifies the first day of the week. |
| Recurrence_Duration | String | False |
Contains the recurrence duration type for calendar items and meeting requests. The allowed values are NoEndRecurrence, EndDateRecurrence, NumberedRecurrence. |
| Recurrence_StartDate | Date | False |
Represents the start date of a recurring task or calendar item. |
| Recurrence_EndDate | Date | False |
Represents the end date of a recurring task or calendar item. |
| Recurrence_NumberOfOccurrences | Integer | False |
Contains the number of occurrences of a recurring item. |
| FirstOccurrence_ItemId | String | False |
Contains the unique identifier of the last occurrence of a recurring calendar item. |
| FirstOccurrence_Start | Datetime | False |
Represents the start time of the last occurrence of a recurring calendar item. |
| FirstOccurrence_End | Datetime | False |
Represents the end time of the last occurrence of a recurring calendar item. |
| FirstOccurrence_OriginalStart | Datetime | False |
Represents the original start time of the last occurrence of a recurring calendar item. |
| LastOccurrence_ItemId | String | False |
Contains the unique identifier of the last occurrence of a recurring calendar item. |
| LastOccurrence_Start | Datetime | False |
Represents the start time of the last occurrence of a recurring calendar item. |
| LastOccurrence_End | Datetime | False |
Represents the end time of the last occurrence of a recurring calendar item. |
| LastOccurrence_OriginalStart | Datetime | False |
Represents the original start time of the last occurrence of a recurring calendar item. |
| ModifiedOccurrences_Aggregate | String | True |
Modified occurrences of the calendar, as aggregate. |
| DeletedOccurrences_Aggregate | String | True |
Deleted occurrences as aggregate. |
| StartTimeZone_Id | String | True |
Represents the unique identifier of the time zone definition for the start time. |
| StartTimeZone_Name | String | True |
Represents the descriptive name of the time zone definition for the start time. |
| EndTimeZone_Id | String | True |
Represents the unique identifier of the time zone definition for the end time. |
| EndTimeZone_Name | String | True |
Represents the descriptive name of the time zone definition for the end time. |
| ConferenceType | Integer | False |
Describes the type of conferencing that is performed with a calendar item (0 = NetMeeting, 1 = NetShow, 2 = Chat. |
| AllowNewTimeProposal | Boolean | False |
Indicates whether a new meeting time can be proposed for a meeting by an attendee. |
| IsOnlineMeeting | Boolean | False |
Indicates whether the meeting is online. |
| MeetingWorkspaceUrl | String | False |
Contains the URL for the meeting workspace that is linked to by the calendar item. |
| NetShowUrl | String | False |
Specifies the URL for a Microsoft NetShow online meeting. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Contains the identifier of an item or conversation. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SendMeetingInvitations | String |
The allowed values are SendToNone, SendOnlyToAll, and SendToAllAndSaveCopy. The default is SendToNone. |
| SendCancellationsMode | String |
The allowed values are SendToNone, SendOnlyToAll, and SendToAllAndSaveCopy. The default is SendToNone. |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the calendar events in a shared mailbox. |
The optional attendees for a particular event. An ItemId must be specified when querying this view.
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). If you wish to view the individual recurrences of a recurring event, you'll need to filter the search by the IsRecurring column
and use Start and End to specify a time period. Your query will need to include a WHERE clause similar to the following:
INSERT INTO Calendar_OptionalAttendees (EmailAddress, ItemId, SendMeetingInvitations) VALUES ('[email protected]', 'itemid', 'SendOnlyToChanged')
| Name | Type | ReadOnly | Description |
| EmailAddress [KEY] | String | False | |
| ItemId [KEY] | String | False | |
| Name | String | False |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SendMeetingInvitations | String |
The allowed values are SendToNone, SendOnlyToAll, SendOnlyToChanged and SendToAllAndSaveCopy. The default is SendToNone. |
The required attendees for a particular event. An ItemId must be specified when querying this view.
When performing an INSERT operation, you will need to specify EmailAddress and ItemId. Additionally, there is a property called SendMeetingInvitations you can set to decide who is notified when you insert required attendees.
INSERT INTO Calendar_RequiredAttendees (EmailAddress, ItemId, SendMeetingInvitations) VALUES ('[email protected]', 'itemid', 'SendOnlyToChanged')
| Name | Type | ReadOnly | Description |
| EmailAddress [KEY] | String | False | |
| ItemId | String | False | |
| Name | String | False |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SendMeetingInvitations | String |
The allowed values are SendToNone, SendOnlyToAll, SendOnlyToChanged and SendToAllAndSaveCopy. The default is SendToNone. |
Create, update, delete, and query Contacts items.
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 |
Contains the unique identifier of an item in the Exchange store. This property is read-only. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. This property is read-only. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. This property is read-only. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. This property is read-only. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| InReplyTo | String | True |
Represents the identifier of the item to which this item is a reply. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the Cc box. This is the concatenated string of all Cc recipient display names. |
| DisplayTo | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| HasAttachments | Boolean | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| Culture | String | False |
Represents the culture for a given item in a mailbox. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| FileAs | String | False |
Represents how a contact or distribution list is filed in the Contacts folder. |
| FileAsMapping | String | False |
Defines how to construct what is displayed for a contact. |
| DisplayName | String | False |
Defines the display name of a folder, contact, distribution list, delegate user, location, or rule. |
| GivenName | String | False |
Contains the given name of a contact. |
| Initials | String | False |
Represents the initials of a contact. |
| MiddleName | String | False |
Represents the middle name of a contact. |
| Nickname | String | False |
Represents the nickname of a contact. |
| CompleteName_Title | String | True |
Represents the title of a contact. |
| CompleteName_FirstName | String | True |
Represents the first name of a contact. |
| CompleteName_MiddleName | String | True |
Represents the middle name of a contact. |
| CompleteName_LastName | String | True |
Represents the last name of a contact. |
| CompleteName_Suffix | String | True |
Represents the suffix of a contact. |
| CompleteName_Initials | String | True |
Represents the initials of a contact. |
| CompleteName_FullName | String | True |
Represents the full name of a contact. |
| CompleteName_Nickname | String | True |
Represents the nickname of a contact. |
| CompleteName_YomiFirstName | String | True |
Represents the name used in Japan for the searchable or phonetic spelling of a Japanese first name. |
| CompleteName_YomiLastName | String | True |
Represents the name used in Japan for the searchable or phonetic spelling of a Japanese first name. |
| CompanyName | String | False |
Represents the company name that is associated with a contact. |
| EmailAddress1 | String | False |
Represents a single email address for a contact. |
| EmailAddress2 | String | False |
Represents a single email address for a contact. |
| EmailAddress3 | String | False |
Represents a single email address for a contact. |
| BusinessAddress_Street | String | False |
Represents the Business street address for a contact item. |
| BusinessAddress_City | String | False |
Represents the Business city name for a contact item. |
| BusinessAddress_State | String | False |
Represents the Business state of residence for a contact item. |
| BusinessAddress_Country | String | False |
Represents the Business country or region for a contact item. |
| BusinessAddress_PostalCode | String | False |
Represents the Business postal code for a contact item. |
| HomeAddress_Street | String | False |
Represents the Home street address for a contact item. |
| HomeAddress_City | String | False |
Represents the Home city name for a contact item. |
| HomeAddress_State | String | False |
Represents the Home state of residence for a contact item. |
| HomeAddress_Country | String | False |
Represents the Home country or region for a contact item. |
| HomeAddress_PostalCode | String | False |
Represents the Home postal code for a contact item. |
| OtherAddress_Street | String | False |
Represents the Other street address for a contact item. |
| OtherAddress_City | String | False |
Represents the Other city name for a contact item. |
| OtherAddress_State | String | False |
Represents the Other state of residence for a contact item. |
| OtherAddress_Country | String | False |
Represents the Other country or region for a contact item. |
| OtherAddress_PostalCode | String | False |
Represents the Other postal code for a contact item. |
| AssistantPhone | String | False |
Represents the AssistantPhone number for a contact item. |
| BusinessFax | String | False |
Represents the BusinessFax number for a contact item. |
| BusinessPhone | String | False |
Represents the BusinessPhone number for a contact item. |
| BusinessPhone2 | String | False |
Represents the BusinessPhone2 number for a contact item. |
| Callback | String | False |
Represents the Callback number for a contact item. |
| CarPhone | String | False |
Represents the CarPhone number for a contact item. |
| CompanyMainPhone | String | False |
Represents the CompanyMainPhone number for a contact item. |
| HomeFax | String | False |
Represents the HomeFax number for a contact item. |
| HomePhone | String | False |
Represents the HomePhone number for a contact item. |
| HomePhone2 | String | False |
Represents the HomePhone2 number for a contact item. |
| Isdn | String | False |
Represents the Isdn number for a contact item. |
| MobilePhone | String | False |
Represents the MobilePhone number for a contact item. |
| OtherFax | String | False |
Represents the OtherFax number for a contact item. |
| OtherTelephone | String | False |
Represents the OtherTelephone number for a contact item. |
| Pager | String | False |
Represents the Pager number for a contact item. |
| PrimaryPhone | String | False |
Represents the PrimaryPhone number for a contact item. |
| RadioPhone | String | False |
Represents the RadioPhone number for a contact item. |
| Telex | String | False |
Represents the Telex number for a contact item. |
| TtyTddPhone | String | False |
Represents the TtyTddPhone number for a contact item. |
| AssistantName | String | False |
Represents an assistant to a contact. |
| Birthday | Datetime | False |
Represents the birth date of a contact. |
| BusinessHomePage | String | False |
Represents the Home page (Web address) for the contact. |
| Children_1 | String | False |
Contains the name of the child of a contact. |
| Children_2 | String | False |
Contains the name of the child of a contact. |
| Children_3 | String | False |
Contains the name of the child of a contact. |
| Companies_1 | String | False |
Represents the name of a company associated with a contact. |
| Companies_2 | String | False |
Represents the name of a company associated with a contact. |
| Companies_3 | String | False |
Represents the name of a company associated with a contact. |
| ContactSource | String | False |
Describes whether the contact is located in the Exchange store or Active Directory Domain Services. |
| Department | String | False |
Represents the department of a contact. |
| Generation | String | False |
Represents a generational abbreviation that follows the full name of a contact. |
| ImAddress1 | String | False |
Represents an instant messaging (IM) address for a contact. |
| ImAddress2 | String | False |
Represents an instant messaging (IM) address for a contact. |
| ImAddress3 | String | False |
Represents an instant messaging (IM) address for a contact. |
| JobTitle | String | False |
Represents the job title of a contact. |
| Manager | String | False |
Represents the manager of a contact. |
| Mileage | String | False |
Represents the mileage for a contact item. |
| OfficeLocation | String | False |
Represents the office location of a contact. |
| PostalAddressIndex | String | False |
Represents the display type for the physical address of a contact. |
| Profession | String | False |
Represents the profession of a contact. |
| SpouseName | String | False |
Represents the name of the spouse or partner of the contact. |
| Surname | String | False |
Represents the surname of a contact. |
| WeddingAnniversary | Datetime | False |
Contains the wedding anniversary of a contact. |
| HasPicture | Boolean | False |
Indicates whether the contact item has a file attachment that represents the picture of a contact. |
| PhoneticFullName | String | False |
Contains the full name of a contact, including the first and last name, spelled phonetically. |
| PhoneticFirstName | String | False |
Contains the first name of a contact, spelled phonetically. |
| PhoneticLastName | String | False |
Contains the last name of a contact, spelled phonetically. |
| Alias | String | False |
Contains the email alias of a contact. |
| Notes | String | False |
Contains supplementary contact information. |
| Photo | String | False |
Contains a value that encodes the photo of a contact. |
| UserSMIMECertificate | String | False |
Contains a value that encodes the SMIME certificate of a contact. |
| MSExchangeCertificate | String | False |
Contains a value that encodes the Microsoft Exchange certificate of a contact. |
| DirectoryId | String | False |
Contains the directory Id of a contact. |
| ManagerMailbox | String | False |
Contains SMTP information that identifies the mailbox of the manager of a contact. |
| DirectReports | String | False |
Contains SMTP information that identifies the direct reports of a contact. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the contacts of a shared mailbox. |
Create, update, delete, and query Deleted Items.
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 |
Contains the unique identifier of an item in the Exchange store. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | False |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. This is used by the ReminderMinutesBeforeStart element to determine when the reminder is displayed. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| SenderName | String | False |
Defines the name of the Sender mailbox user. |
| SenderEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Sender mailbox user. |
| SenderRoutingType | String | False |
Defines the routing that is used for the Sender mailbox. The default is SMTP. |
| ToRecipients_Name | String | False |
Defines the name of the ToRecipient. |
| ToRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ToRecipient. |
| ToRecipients_ItemId | String | False |
Defines the item identifier of a ToRecipient. |
| CcRecipients_Name | String | False |
Defines the name of the CcRecipient. |
| CcRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the CcRecipient. |
| CcRecipients_ItemId | String | False |
Defines the item identifier of a CcRecipient. |
| BccRecipients_Name | String | False |
Defines the name of the BccRecipient. |
| BccRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the BccRecipient. |
| BccRecipients_ItemId | String | False |
Defines the item identifier of a BccRecipient. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a read receipt. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a delivery receipt. |
| ConversationIndex | String | False |
Contains a binary Id that represents the thread to which this message belongs. |
| ConversationTopic | String | False |
Represents the conversation topic. |
| FromName | String | False |
Defines the name of the From mailbox user. |
| FromEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the From mailbox user. |
| FromRoutingType | String | False |
Defines the routing that is used for the From mailbox. The default is SMTP. |
| InternetMessageId | String | False |
Represents the Internet message identifier of an item. |
| IsRead | Boolean | False |
Indicates whether a message has been read. |
| IsResponseRequested | Boolean | False |
Indicates whether a response to an item is requested. |
| References | String | False |
Represents the Usenet header that is used to associate replies with the original messages. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| ReceivedByName | String | False |
Defines the name of the ReceivedBy mailbox user. |
| ReceivedByEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedBy mailbox user. |
| ReceivedByRoutingType | String | False |
Defines the routing that is used for the ReceivedBy mailbox. The default is SMTP. |
| ReceivedRepresentingName | String | False |
Defines the name of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingRoutingType | String | False |
Defines the routing that is used for the ReceivedRepresenting mailbox. The default is SMTP. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| ReminderMessageData_Text | String | False |
Specifies the text of a reminder message. |
| ReminderMessageData_Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| ReminderMessageData_StartTime | Datetime | False |
Specifies the starting time of the item that the reminder is for. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the ending time of the item that the reminder is for. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Represents the calendar item that is associated with the ReminderMessageData. |
| Attachments | String | True |
Contains a comma-separated list of the Ids of the attached files. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the Deleted items of a shared mailbox. |
Create, update, delete, and query Drafts items.
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 |
Contains the unique identifier of an item in the Exchange store. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | False |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. This is used by the ReminderMinutesBeforeStart element to determine when the reminder is displayed. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the Cc box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| SenderName | String | False |
Defines the name of the Sender mailbox user. |
| SenderEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Sender mailbox user. |
| SenderRoutingType | String | False |
Defines the routing that is used for the Sender mailbox. The default is SMTP. |
| ToRecipients_Name | String | False |
Defines the name of the ToRecipient. |
| ToRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ToRecipient. |
| ToRecipients_ItemId | String | False |
Defines the item identifier of a ToRecipient. |
| CcRecipients_Name | String | False |
Defines the name of the CcRecipient. |
| CcRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the CcRecipient. |
| CcRecipients_ItemId | String | False |
Defines the item identifier of a CcRecipient. |
| BccRecipients_Name | String | False |
Defines the name of the BccRecipient. |
| BccRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the BccRecipient. |
| BccRecipients_ItemId | String | False |
Defines the item identifier of a BccRecipient. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a read receipt. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a delivery receipt. |
| ConversationIndex | String | False |
Contains a binary Id that represents the thread to which this message belongs. |
| ConversationTopic | String | False |
Represents the conversation topic. |
| FromName | String | False |
Defines the name of the From mailbox user. |
| FromEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the From mailbox user. |
| FromRoutingType | String | False |
Defines the routing that is used for the From mailbox. The default is SMTP. |
| InternetMessageId | String | False |
Represents the Internet message identifier of an item. |
| IsRead | Boolean | False |
Indicates whether a message has been read. |
| IsResponseRequested | Boolean | False |
Indicates whether a response to an item is requested. |
| References | String | False |
Represents the Usenet header that is used to associate replies with the original messages. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| ReceivedByName | String | False |
Defines the name of the ReceivedBy mailbox user. |
| ReceivedByEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedBy mailbox user. |
| ReceivedByRoutingType | String | False |
Defines the routing that is used for the ReceivedBy mailbox. The default is SMTP. |
| ReceivedRepresentingName | String | False |
Defines the name of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingRoutingType | String | False |
Defines the routing that is used for the ReceivedRepresenting mailbox. The default is SMTP. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| ReminderMessageData_Text | String | False |
Specifies the text of a reminder message. |
| ReminderMessageData_Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| ReminderMessageData_StartTime | Datetime | False |
Specifies the starting time of the item that the reminder is for. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the ending time of the item that the reminder is for. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Represents the calendar item that is associated with the ReminderMessageData. |
| Attachments | String | True |
Contains a comma-separated list of the Ids of the attached files. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the Draft items of a shared mailbox. |
Create, update, delete, and query subfolders for a given folder.
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 |
Contains the unique identifier of an folder in the Exchange store. |
| FolderChangeKey | String | True |
Contains the unique change key of an folder in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| FolderClass | String | False |
Represents the folder class for a given folder. |
| DisplayName | String | False |
Contains the display name of a folder. |
| TotalCount | Integer | True |
Represents the total count of items within a given folder. |
| ChildFolderCount | Integer | True |
Represents the number of child folders that are contained within a folder. |
| CanDelete | Boolean | True |
Indicates whether a managed folder can be deleted by a customer. |
| CanRenameOrMove | Boolean | True |
Indicates whether a given managed folder can be renamed or moved by the customer. |
| MustDisplayComment | Boolean | True |
Indicates whether the managed folder comment must be displayed. |
| HasQuota | Boolean | True |
Indicates whether the managed folder has a quota. |
| IsManagedFoldersRoot | Boolean | True |
Indicates whether the managed folder is the root for all managed folders. |
| ManagedFolderId | String | True |
Contains the folder Id of the managed folder. |
| Comment | String | True |
Contains the comment that is associated with a managed folder. |
| StorageQuota | Integer | True |
Describes the storage quota for the managed folder. |
| FolderSize | Integer | True |
Describes the total size of all the contents of a managed folder. |
| HomePage | String | True |
Specifies the URL that will be the default home page for the managed folder. |
| UnreadCount | Integer | True |
Represents the count of unread items within a given folder. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| SharingEffectiveRights | String | False |
Indicates the permissions that the user has for the contact data that is being shared. |
| ParentFolderName | String | False |
Represents the distinguished folder Id of the parent folder. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| Traversal | String |
Defines how a search is performed. One of [Shallow, Deep, SoftDeleted]. Default values is Shallow |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the shared folders. |
| Rows@Next | String |
Identifier for the next page of results. Do not set this value manually. |
Create, update, delete, and query Inbox items.
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 |
Contains the unique identifier of an item in the Exchange store. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | False |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. This is used by the ReminderMinutesBeforeStart element to determine when the reminder is displayed. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| SenderName | String | False |
Defines the name of the Sender mailbox user. |
| SenderEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Sender mailbox user. |
| SenderRoutingType | String | False |
Defines the routing that is used for the Sender mailbox. The default is SMTP. |
| ToRecipients_Names | String | False |
Defines the name of the ToRecipient. |
| ToRecipients_EmailAddresses | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ToRecipient. |
| ToRecipients_ItemIds | String | False |
Defines the item identifier of a ToRecipient. |
| CcRecipients_Names | String | False |
Defines the name of the CcRecipient. |
| CcRecipients_EmailAddresses | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the CcRecipient. |
| CcRecipients_ItemIds | String | False |
Defines the item identifier of a CcRecipient. |
| BccRecipients_Name | String | False |
Defines the name of the BccRecipient. |
| BccRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the BccRecipient. |
| BccRecipients_ItemId | String | False |
Defines the item identifier of a BccRecipient. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a read receipt. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a delivery receipt. |
| ConversationIndex | String | False |
Contains a binary Id that represents the thread to which this message belongs. |
| ConversationTopic | String | False |
Represents the conversation topic. |
| FromName | String | False |
Defines the name of the From mailbox user. |
| FromEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the From mailbox user. |
| FromRoutingType | String | False |
Defines the routing that is used for the From mailbox. The default is SMTP. |
| InternetMessageId | String | False |
Represents the Internet message identifier of an item. |
| IsRead | Boolean | False |
Indicates whether a message has been read. |
| IsResponseRequested | Boolean | False |
Indicates whether a response to an item is requested. |
| References | String | False |
Represents the Usenet header that is used to associate replies with the original messages. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| ReceivedByName | String | False |
Defines the name of the ReceivedBy mailbox user. |
| ReceivedByEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedBy mailbox user. |
| ReceivedByRoutingType | String | False |
Defines the routing that is used for the ReceivedBy mailbox. The default is SMTP. |
| ReceivedRepresentingName | String | False |
Defines the name of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingRoutingType | String | False |
Defines the routing that is used for the ReceivedRepresenting mailbox. The default is SMTP. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| ReminderMessageData_Text | String | False |
Specifies the text of a reminder message. |
| ReminderMessageData_Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| ReminderMessageData_StartTime | Datetime | False |
Specifies the starting time of the item that the reminder is for. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the ending time of the item that the reminder is for. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Represents the calendar item that is associated with the ReminderMessageData. |
| Attachments | String | True |
Contains a comma-separated list of the Ids of the attached files. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the inbox items of a shared mailbox. |
Create, update, delete, and query Junk Email items.
| Name | Type | ReadOnly | Description |
| ItemId [KEY] | String | True |
Contains the unique identifier of an item in the Exchange store. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | False |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. This is used by the ReminderMinutesBeforeStart element to determine when the reminder is displayed. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| SenderName | String | False |
Defines the name of the Sender mailbox user. |
| SenderEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Sender mailbox user. |
| SenderRoutingType | String | False |
Defines the routing that is used for the Sender mailbox. The default is SMTP. |
| ToRecipients_Name | String | False |
Defines the name of the ToRecipient. |
| ToRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ToRecipient. |
| ToRecipients_ItemId | String | False |
Defines the item identifier of a ToRecipient. |
| CcRecipients_Name | String | False |
Defines the name of the CcRecipient. |
| CcRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the CcRecipient. |
| CcRecipients_ItemId | String | False |
Defines the item identifier of a CcRecipient. |
| BccRecipients_Name | String | False |
Defines the name of the BccRecipient. |
| BccRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the BccRecipient. |
| BccRecipients_ItemId | String | False |
Defines the item identifier of a BccRecipient. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a read receipt. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a delivery receipt. |
| ConversationIndex | String | False |
Contains a binary Id that represents the thread to which this message belongs. |
| ConversationTopic | String | False |
Represents the conversation topic. |
| FromName | String | False |
Defines the name of the From mailbox user. |
| FromEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the From mailbox user. |
| FromRoutingType | String | False |
Defines the routing that is used for the From mailbox. The default is SMTP. |
| InternetMessageId | String | False |
Represents the Internet message identifier of an item. |
| IsRead | Boolean | False |
Indicates whether a message has been read. |
| IsResponseRequested | Boolean | False |
Indicates whether a response to an item is requested. |
| References | String | False |
Represents the Usenet header that is used to associate replies with the original messages. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| ReceivedByName | String | False |
Defines the name of the ReceivedBy mailbox user. |
| ReceivedByEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedBy mailbox user. |
| ReceivedByRoutingType | String | False |
Defines the routing that is used for the ReceivedBy mailbox. The default is SMTP. |
| ReceivedRepresentingName | String | False |
Defines the name of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingRoutingType | String | False |
Defines the routing that is used for the ReceivedRepresenting mailbox. The default is SMTP. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| ReminderMessageData_Text | String | False |
Specifies the text of a reminder message. |
| ReminderMessageData_Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| ReminderMessageData_StartTime | Datetime | False |
Specifies the starting time of the item that the reminder is for. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the ending time of the item that the reminder is for. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Represents the calendar item that is associated with the ReminderMessageData. |
| Attachments | String | True |
Contains a comma-separated list of the Ids of the attached files. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the Junk Emails of a shared mailbox. |
Create, update, delete, and query Outbox items.
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 |
Contains the unique identifier of an item in the Exchange store. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | False |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. This is used by the ReminderMinutesBeforeStart element to determine when the reminder is displayed. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| SenderName | String | False |
Defines the name of the Sender mailbox user. |
| SenderEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Sender mailbox user. |
| SenderRoutingType | String | False |
Defines the routing that is used for the Sender mailbox. The default is SMTP. |
| ToRecipients_Name | String | False |
Defines the name of the ToRecipient. |
| ToRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ToRecipient. |
| ToRecipients_ItemId | String | False |
Defines the item identifier of a ToRecipient. |
| CcRecipients_Name | String | False |
Defines the name of the CcRecipient. |
| CcRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the CcRecipient. |
| CcRecipients_ItemId | String | False |
Defines the item identifier of a CcRecipient. |
| BccRecipients_Name | String | False |
Defines the name of the BccRecipient. |
| BccRecipients_EmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the BccRecipient. |
| BccRecipients_ItemId | String | False |
Defines the item identifier of a BccRecipient. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a read receipt. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a delivery receipt. |
| ConversationIndex | String | False |
Contains a binary Id that represents the thread to which this message belongs. |
| ConversationTopic | String | False |
Represents the conversation topic. |
| FromName | String | False |
Defines the name of the From mailbox user. |
| FromEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the From mailbox user. |
| FromRoutingType | String | False |
Defines the routing that is used for the From mailbox. The default is SMTP. |
| InternetMessageId | String | False |
Represents the Internet message identifier of an item. |
| IsRead | Boolean | False |
Indicates whether a message has been read. |
| IsResponseRequested | Boolean | False |
Indicates whether a response to an item is requested. |
| References | String | False |
Represents the Usenet header that is used to associate replies with the original messages. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| ReceivedByName | String | False |
Defines the name of the ReceivedBy mailbox user. |
| ReceivedByEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedBy mailbox user. |
| ReceivedByRoutingType | String | False |
Defines the routing that is used for the ReceivedBy mailbox. The default is SMTP. |
| ReceivedRepresentingName | String | False |
Defines the name of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingRoutingType | String | False |
Defines the routing that is used for the ReceivedRepresenting mailbox. The default is SMTP. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| ReminderMessageData_Text | String | False |
Specifies the text of a reminder message. |
| ReminderMessageData_Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| ReminderMessageData_StartTime | Datetime | False |
Specifies the starting time of the item that the reminder is for. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the ending time of the item that the reminder is for. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Represents the calendar item that is associated with the ReminderMessageData. |
| Attachments | String | True |
Contains a comma-separated list of the Ids of the attached files. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the outbox items of a shared mailbox. |
Create, update, delete, and query Sent Items.
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 |
Contains the unique identifier of an item in the Exchange store. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
Represents the actual body content of a message. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| Importance | String | False |
Describes the importance of an item. |
| InReplyTo | String | False |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. This is used by the ReminderMinutesBeforeStart element to determine when the reminder is displayed. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| SenderName | String | False |
Defines the name of the Sender mailbox user. |
| SenderEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the Sender mailbox user. |
| SenderRoutingType | String | False |
Defines the routing that is used for the Sender mailbox. The default is SMTP. |
| ToRecipients_Names | String | False |
Defines the name of the ToRecipient. |
| ToRecipients_EmailAddresses | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ToRecipient. |
| ToRecipients_ItemIds | String | False |
Defines the item identifier of a ToRecipient. |
| CcRecipients_Names | String | False |
Defines the name of the CcRecipient. |
| CcRecipients_EmailAddresses | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the CcRecipient. |
| CcRecipients_ItemIds | String | False |
Defines the item identifier of a CcRecipient. |
| BccRecipients_Names | String | False |
Defines the name of the BccRecipient. |
| BccRecipients_EmailAddresses | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the BccRecipient. |
| BccRecipients_ItemIds | String | False |
Defines the item identifier of a BccRecipient. |
| IsReadReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a read receipt. |
| IsDeliveryReceiptRequested | Boolean | False |
Indicates whether the sender of an item requests a delivery receipt. |
| ConversationIndex | String | False |
Contains a binary Id that represents the thread to which this message belongs. |
| ConversationTopic | String | False |
Represents the conversation topic. |
| FromName | String | False |
Defines the name of the From mailbox user. |
| FromEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the From mailbox user. |
| FromRoutingType | String | False |
Defines the routing that is used for the From mailbox. The default is SMTP. |
| InternetMessageId | String | False |
Represents the Internet message identifier of an item. |
| IsRead | Boolean | False |
Indicates whether a message has been read. |
| IsResponseRequested | Boolean | False |
Indicates whether a response to an item is requested. |
| References | String | False |
Represents the Usenet header that is used to associate replies with the original messages. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| ReceivedByName | String | False |
Defines the name of the ReceivedBy mailbox user. |
| ReceivedByEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedBy mailbox user. |
| ReceivedByRoutingType | String | False |
Defines the routing that is used for the ReceivedBy mailbox. The default is SMTP. |
| ReceivedRepresentingName | String | False |
Defines the name of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingEmailAddress | String | False |
Defines the Simple Mail Transfer Protocol (SMTP) address of the ReceivedRepresenting mailbox user. |
| ReceivedRepresentingRoutingType | String | False |
Defines the routing that is used for the ReceivedRepresenting mailbox. The default is SMTP. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. This element is read-only. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Identifies a specific conversation in the Exchange store. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | True |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | True |
Describes how the unique item body is stored in the item (HTML or TEXT). |
| ReminderMessageData_Text | String | False |
Specifies the text of a reminder message. |
| ReminderMessageData_Location | String | False |
Represents the location of a meeting, appointment, or persona. |
| ReminderMessageData_StartTime | Datetime | False |
Specifies the starting time of the item that the reminder is for. |
| ReminderMessageData_EndTime | Datetime | False |
Specifies the ending time of the item that the reminder is for. |
| ReminderMessageData_AssociatedCalendarId | String | True |
Represents the calendar item that is associated with the ReminderMessageData. |
| Attachments | String | True |
Contains a comma-separated list of the Ids of the attached files. |
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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the sent items of a shared mailbox. |
Create, update, delete, and query Tasks items.
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 |
Contains the unique identifier of an item in the Exchange store. This property is read-only. |
| MimeContent | String | True |
Contains the native Multipurpose Internet Mail Extensions (MIME) stream of an object that is represented in Base64 binary format. |
| ItemChangeKey | String | True |
Contains the unique change key of an item in the Exchange store. This property is read-only. |
| ParentFolderId | String | False |
Represents the unique identifier of the parent folder that contains the item or folder. This property is read-only. |
| ParentFolderChangeKey | String | True |
Represents the unique change key of the parent folder that contains the item or folder. This property is read-only. |
| ItemClass | String | False |
Represents the message class of an item. |
| Subject | String | False |
Represents the subject for Exchange store items and response objects. The subject is limited to 255 characters. |
| Sensitivity | String | True |
Indicates the sensitivity level of an item. |
| Body | String | False |
This field contains the body for the Task. |
| DateTimeReceived | Datetime | True |
Represents the date and time that an item in a mailbox was received. |
| Size | Integer | True |
Represents the size in bytes of an item. This property is read-only. |
| Categories | String | False |
Represents a collection of strings that identify to which categories an item in the mailbox belongs. |
| InReplyTo | String | True |
Represents the identifier of the item to which this item is a reply. |
| IsSubmitted | Boolean | True |
Indicates whether an item has been submitted to the Outbox default folder. |
| IsDraft | Boolean | True |
Represents whether an item has not yet been sent. |
| IsFromMe | Boolean | True |
Indicates whether a user sent an item to himself or herself. |
| IsResend | Boolean | True |
Indicates whether the item had previously been sent. |
| IsUnmodified | Boolean | True |
Indicates whether the item has been modified. |
| InternetMessageHeaders | String | True |
Represents the collection of all Internet message headers that are contained within an item in a mailbox. |
| DateTimeSent | Datetime | True |
Represents the date and time that an item in a mailbox was sent. |
| DateTimeCreated | Datetime | True |
Represents the date and time that a given item in the mailbox was created. |
| ReminderDueBy | Datetime | False |
Represents the date and time when the event occurs. |
| ReminderIsSet | Boolean | False |
Indicates whether a reminder has been set for an item in the Exchange store. |
| ReminderMinutesBeforeStart | Integer | False |
Represents the number of minutes before an event occurs when a reminder is displayed. |
| DisplayCc | String | True |
Represents the display string that is used for the contents of the To box. This is the concatenated string of all To recipient display names. |
| DisplayTo | String | True |
Represents a property that is set to true if an item has at least one visible attachment. This property is read-only. |
| HasAttachments | Boolean | True |
Indicates whether an item has attachments. |
| Culture | String | False |
Represents the Culture of an item. |
| ActualWork | Integer | False |
Represents the actual amount of time that is spent on a task. |
| AssignedTime | Datetime | False |
Represents the time when a task is assigned to a contact. |
| BillingInformation | String | False |
Holds billing information for a task. |
| ChangeCount | Integer | False |
Specifies the version of the task. |
| Companies1 | String | False |
Represents the collection of companies that are associated with a contact or task. |
| Companies2 | String | False |
Represents the collection of companies that are associated with a contact or task. |
| Companies3 | String | False |
Represents the collection of companies that are associated with a contact or task. |
| CompleteDate | Datetime | False |
Represents the date on which a task is completed. |
| Contacts1 | String | False |
Contains a list of contacts who are associated with a task. |
| Contacts2 | String | False |
Contains a list of contacts who are associated with a task. |
| Contacts3 | String | False |
Contains a list of contacts who are associated with a task. |
| DelegationState | String | False |
Represents the status of a delegated task. |
| Delegator | String | False |
Contains the name of the delegator who assigned the task. |
| DueDate | Datetime | False |
Represents the date when a task item is due. |
| IsAssignmentEditable | Boolean | False |
Indicates whether the task is editable or not. |
| IsComplete | Boolean | False |
Indicates whether the task has been completed or not. |
| IsRecurring | Boolean | True |
Indicates whether a task is part of a recurring item. |
| IsTeamTask | Boolean | False |
Indicates whether the task is owned by a team or not. |
| Mileage | String | False |
Represents mileage for a task item. |
| Owner | String | False |
Represents the owner of a task. |
| PercentComplete | Double | False |
Describes the completion status of a task. |
| Recurrence_Type | String | False |
Contains the recurrence type for task items and meeting requests. The allowed values are RelativeYearlyRecurrence, AbsoluteYearlyRecurrence, RelativeMonthlyRecurrence, AbsoluteMonthlyRecurrence, WeeklyRecurrence, DailyRecurrence, DailyRegeneration, WeeklyRegeneration, MonthlyRegeneration, YearlyRegeneration. |
| Recurrence_DaysOfWeek | String | False |
Describes days of the week that are used in item recurrence patterns. |
| Recurrence_DayOfWeekIndex | String | False |
Describes which week in a month is used in a relative yearly recurrence pattern. The allowed values are First, Second, Third, Fourth, Last. |
| Recurrence_Month | String | False |
Describes the month when a yearly recurring item occurs. |
| Recurrence_DayOfMonth | Integer | False |
Describes the day in a month on which a recurring item occurs. |
| Recurrence_Interval | Integer | False |
Defines the interval between two consecutive recurring items. |
| Recurrence_FirstDayOfWeek | String | False |
Specifies the first day of the week. |
| Recurrence_Duration | String | False |
Contains the recurrence duration type for task items and meeting requests. The allowed values are NoEndRecurrence, EndDateRecurrence, NumberedRecurrence. |
| Recurrence_StartDate | Datetime | False |
Represents the start date of a recurring task or calendar item. |
| Recurrence_EndDate | Datetime | False |
Represents the end date of a recurring task or calendar item. |
| Recurrence_NumberOfOccurrences | Integer | False |
Contains the number of occurrences of a recurring item. |
| StartDate | Datetime | False |
Represents the start date of a task item. |
| Status | String | False |
Represents the status of a task item. |
| StatusDescription | String | True |
Contains an explanation of the task status. |
| TotalWork | Integer | False |
Contains a description of how much work is associated with an item. |
| EffectiveRights_CreateAssociated | Boolean | True |
Indicates whether a client can create an associated contents table. |
| EffectiveRights_CreateContents | Boolean | True |
Indicates whether a client can create a contents table. |
| EffectiveRights_CreateHierarchy | Boolean | True |
Indicates whether a client can create a hierarchy table. |
| EffectiveRights_Delete | Boolean | True |
Indicates whether a client can delete a folder or item. |
| EffectiveRights_Modify | Boolean | True |
Indicates whether a client can modify a folder or item. |
| EffectiveRights_Read | Boolean | True |
Indicates whether a client can read a folder or item. |
| EffectiveRights_ViewPrivateItems | Boolean | True |
Indicates whether a private item can be viewed. |
| LastModifiedName | String | True |
Contains the display name of the last user to modify an item. |
| LastModifiedTime | Datetime | True |
Indicates when an item was last modified. |
| IsAssociated | Boolean | False |
Indicates whether the item is associated with a folder. |
| WebClientReadFormQueryString | String | True |
Represents a URL to concatenate to the Microsoft Office Outlook Web App endpoint to read an item in Outlook Web App. |
| WebClientEditFormQueryString | String | True |
Represents a URL to concatenate to the Outlook Web App endpoint to edit an item in Outlook Web App. |
| ConversationId | String | True |
Contains the identifier of an item or conversation. |
| ConversationChangeKey | String | True |
Contains the change key of an item or conversation. |
| UniqueBody | String | False |
Represents an HTML fragment or plain-text which represents the unique body of this conversation. |
| UniqueBodyType | String | False |
Describes how the unique item body is stored in the item (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 |
The Identifier of the user to impersonate. |
| ImpersonationType | String |
The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| SharedMailboxEmail | String |
The email of a shared mailbox. Use this to retrieve the task items of a shared mailbox. |
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 | Create and add a attachment to an existing email. |
| GetAttachment | Retrieves the indicated attachments. |
| GetUserOofSettings | Provides access to the OOF settings of a user. A user is identified by the email address of the user. If the OOF message is null and OOF is enabled, no OOF message is sent. |
| MoveItem | Move messages from one folder to another. |
| SendItem | Send an email message that is located in the Exchange store. |
| SendMail | Send a new email to the specified recipients. |
Create and add a attachment to an existing email.
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 id of the email item to add the attachment to. |
| Attachments | String | False | The attachment to be added. |
| AttachmentContent | String | False | The attachment content base 64 encoded. |
| AttachmentName | String | False | The name of the file that will be created out of the attachment content. |
| Name | Type | Description |
| AttachmentIds | String | The id of the attachment created |
Retrieves the indicated attachments.
| Name | Type | Required | Description |
| AttachmentIds | String | True | A semicolon-separated list of the Ids of the attachments to retrieve. |
| IncludeMimeContent | String | False | Specifies whether the Multipurpose Internet Mail Extensions (MIME) content of an item or attachment is returned in the response. This element is optional. |
| BodyType | String | False | Identifies how the body text is formatted in the response. This element is optional. Valid values are: Best, HTML, Text. |
| AttachmentFolder | String | False | Folder to download attachments to. |
| Overwrite | String | False | If true, conflicting files will be overwritten, otherwise they will be indexed.
The default value is true. |
| Name | Type | Description |
| AttachmentId | String | Identifies the file attachment. |
| Name | String | Represents the name of the attachment. |
| ContentType | String | Describes the Multipurpose Internet Mail Extensions (MIME) type of the attachment content. |
| ContentId | String | Represents an identifier for the contents of an attachment. ContentId can be set to any string value. Applications can use ContentId to implement their own identification mechanisms. |
| ContentLocation | String | Contains the Uniform Resource Identifier (URI) that corresponds to the location of the content of the attachment. |
| Size | String | Represents the size in bytes of the file attachment. |
| LastModifiedTime | String | Represents when the file attachment was last modified. |
| IsInline | String | Represents whether the attachment appears in-line within an item. |
| IsContactPhoto | String | Indicates whether the file attachment is a contact picture. |
| Content | String | Contains the Base64-encoded contents of the file attachment. |
Provides access to the OOF settings of a user. A user is identified by the email address of the user. If the OOF message is null and OOF is enabled, no OOF message is sent.
| Name | Type | Required | Description |
| User | String | False | The email address of the user whose OOF settings to retreive. |
| ImpersonationUser | String | False | The email address of the user to impersonate when requesting OOF settings. |
| ImpersonationType | String | False | The type of Identifier used for the impersonation user (PrincipalName, SID, PrimarySmtpAddress, SmtpAddress). |
| Name | Type | Description |
| OofState | String | The user's Out of Office (OOF) state. (Disabled or Enabled or Scheduled) |
| ExternalAudience | String | The value that determines to whom external Out of Office (OOF) messages are sent. (None or Known or All) |
| StartTime | String | Represents the start of the time span set with an OOF status. |
| EndTime | String | Represents the end of the time span set with an OOF status. |
| InternalReply | String | The out of office (OOF) response sent to other users in the user's domain or trusted domains. |
| ExternalReply | String | The out of office (OOF) response that is sent to addresses outside the recipient's domain or trusted domains. |
Move messages from one folder to another.
| Name | Type | Required | Description |
| ItemId | String | False | The unique ItemId of the item to be sent (required). |
| ItemChangekey | String | False | The unique ItemChangeKey of the item to be sent (required). |
| FolderDisplayName | String | False | The display name of the new folder. |
| Name | Type | Description |
| ResponseClass | String | The overall class of the response for the SendItem operation (Success/Warning/Error). |
| ResponseCode | String | A response code for the SendItem operation. |
| MessageText | String | Specific message text describing any errors or warning for the SendItem operation. |
Send an email message that is located in the Exchange store.
| Name | Type | Required | Description |
| ItemId | String | True | The unique ItemId of the item to be sent (required). |
| ItemChangekey | String | True | The unique ItemChangeKey of the item to be sent (required). |
| SaveToFolder | String | False | Boolean value to determine whether or not to save the item. |
| SavedItemFolder | String | False | The folder where the item will be saved. This value can be the name of any of the standard folders or the FolderId of a custom folder. Defaults to SentItems. |
| Name | Type | Description |
| ResponseClass | String | The overall class of the response for the SendItem operation (Success/Warning/Error). |
| ResponseCode | String | A response code for the SendItem operation. |
| MessageText | String | Specific message text describing any errors or warning for the SendItem operation. |
Send a new email to the specified recipients.
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 email subject. |
| Content | String | True | Email body content. |
| Attachments | String | False | The attachments. Specify the filepaths of the files you want to attach in the following format: 'filepath1,filepath2'. |
| AttachmentContent | String | False | The attachment content base 64 encoded. |
| AttachmentName | String | False | The name of the file that will be created out of the attachment content. |
| ToRecipients | String | True | The recipients. Specify recipients in the following format: '[email protected],[email protected]'. |
| CcRecipients | String | False | The Cc: recipients for the message. Specify recipients in the following format: '[email protected],[email protected]'. |
| BccRecipients | String | False | The Bcc: recipients for the message. Specify recipients in the following format: '[email protected],[email protected]'. |
The CData Cloud models Microsoft Exchange objects as relational tables and views. A Microsoft Exchange object has relationships to other objects; in the tables, these relationships are expressed through foreign keys. The following sections show the available API objects and provide more information on executing SQL to Microsoft Exchange APIs.
Schemas for most database objects are defined in simple, text-based configuration files.
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 | CalendarGroups table for Exchange data provider. |
| Calendars | Calendars table for Exchange data provider. |
| Contacts | Contacts table for Exchange data provider. |
| Events | Events table for Exchange data provider. |
| ExtendedProperties | Create, update, delete, and query Contacts items. |
| Groups | Groups table for Exchange data provider. |
| MailFolders | MailFolders table for Exchange data provider. |
| Messages | Messages table for Exchange data provider. |
| Users | Users table for Exchange data provider. |
CalendarGroups table for Exchange data provider.
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False | |
| changeKey | String | False | |
| classId | String | False | |
| name | String | False |
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 |
Calendars table for Exchange data provider.
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 | |
| id [KEY] | String | False | |
| canEdit | Bool | False | |
| canShare | Bool | False | |
| canViewPrivateItems | Bool | False | |
| changeKey | String | False | |
| color | String | False | |
| name | String | False | |
| owner_name | String | False | |
| owner_address | String | False |
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 |
Contacts table for Exchange data provider.
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 | |
| categories | String | False | |
| changeKey | String | False | |
| createdDateTime | Datetime | False | |
| lastModifiedDateTime | Datetime | False | |
| assistantName | String | False | |
| birthday | Datetime | False | |
| businessAddress_street | String | False | |
| businessAddress_city | String | False | |
| businessAddress_state | String | False | |
| businessAddress_countryOrRegion | String | False | |
| businessAddress_postalCode | String | False | |
| businessHomePage | String | False | |
| businessPhones | String | False | |
| children | String | False | |
| companyName | String | False | |
| department | String | False | |
| displayName | String | False | |
| emailAddresses | String | False | |
| fileAs | String | False | |
| generation | String | False | |
| givenName | String | False | |
| homeAddress_street | String | False | |
| homeAddress_city | String | False | |
| homeAddress_state | String | False | |
| homeAddress_countryOrRegion | String | False | |
| homeAddress_postalCode | String | False | |
| homePhones | String | False | |
| imAddresses | String | False | |
| initials | String | False | |
| jobTitle | String | False | |
| manager | String | False | |
| middleName | String | False | |
| mobilePhone | String | False | |
| nickName | String | False | |
| officeLocation | String | False | |
| otherAddress_street | String | False | |
| otherAddress_city | String | False | |
| otherAddress_state | String | False | |
| otherAddress_countryOrRegion | String | False | |
| otherAddress_postalCode | String | False | |
| parentFolderId | String | False | |
| personalNotes | String | False | |
| profession | String | False | |
| spouseName | String | False | |
| surname | String | False | |
| title | String | False | |
| yomiCompanyName | String | False | |
| yomiGivenName | String | False | |
| yomiSurname | String | False |
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 |
Events table for Exchange data provider.
You can retrieve all from Events, specify an Event (Id), CalendarId, or you can filter results by a certain column.
Note: Unless specifying the AlwaysRequstTableDependencies connection property, or selecting/filtering by the reference columns CalendarId, the value for CalendarId will remain null.
Note: To retrieve all Events for Other user (Works only in case of OAuthGrantType=CLIENT), you can specify the query like -
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, start and end are required, including the timezone.
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: By default this statement will create your event under the default calendar.
| Name | Type | ReadOnly | Description |
| id [KEY] | String | False | |
| categories | String | False | |
| changeKey | String | False | |
| createdDateTime | Datetime | False | |
| lastModifiedDateTime | Datetime | False | |
| attendees | String | False | |
| body_contentType | String | False | |
| body_content | String | False | |
| bodyPreview | String | False | |
| end_dateTime | String | False | |
| end_timeZone | String | False | |
| hasAttachments | Bool | False | |
| iCalUId | String | False | |
| importance | String | False | |
| isAllDay | Bool | False | |
| isCancelled | Bool | False | |
| isOrganizer | Bool | False | |
| isReminderOn | Bool | False | |
| location_displayName | String | False | |
| location_locationEmailAddress | String | False | |
| location_address_street | String | False | |
| location_address_city | String | False | |
| location_address_state | String | False | |
| location_address_countryOrRegion | String | False | |
| location_address_postalCode | String | False | |
| location_coordinates_altitude | Double | False | |
| location_coordinates_latitude | Double | False | |
| location_coordinates_longitude | Double | False | |
| location_coordinates_accuracy | Double | False | |
| location_coordinates_altitudeAccuracy | Double | False | |
| location_locationUri | String | False | |
| location_locationType | String | False | |
| location_uniqueId | String | False | |
| location_uniqueIdType | String | False | |
| locations | String | False | |
| onlineMeetingUrl | String | False | |
| organizer_emailAddress_name | String | False | |
| organizer_emailAddress_address | String | False | |
| originalEndTimeZone | String | False | |
| originalStart | Datetime | False | |
| originalStartTimeZone | String | False | |
| recurrence_pattern_type | String | False | |
| recurrence_pattern_interval | Int | False | |
| recurrence_pattern_month | Int | False | |
| recurrence_pattern_dayOfMonth | Int | False | |
| recurrence_pattern_daysOfWeek | String | False | |
| recurrence_pattern_firstDayOfWeek | String | False | |
| recurrence_pattern_index | String | False | |
| recurrence_range_type | String | False | |
| recurrence_range_startDate | Date | False | |
| recurrence_range_endDate | Date | False | |
| recurrence_range_recurrenceTimeZone | String | False | |
| recurrence_range_numberOfOccurrences | Int | False | |
| reminderMinutesBeforeStart | Int | False | |
| responseRequested | Bool | False | |
| responseStatus_response | String | False | |
| responseStatus_time | Datetime | False | |
| sensitivity | String | False | |
| seriesMasterId | String | False | |
| showAs | String | False | |
| start_dateTime | String | False | |
| start_timeZone | String | False | |
| subject | String | False | |
| transactionId | String | False | |
| type | String | False | |
| webLink | String | False | |
| calendarId | String | False |
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 | |
| userId | String |
Create, update, delete, and query Contacts items.
You can query ExtendedProperties for a specific resource from the following resources: Events, Calendars and Messages. In order to get the value for an extended property you need to specify:
- Entity field, wether it is Message, Event or Calendar
- EntityId, the Id of the resource
- Id, the id of the extended property.
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, 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 |
The Identifier of the extended property |
| Value | String | False |
The value of the extended property |
| Entity | String | False |
The entity type. |
| EntityId | String | False |
The entity id that the extended properties belong to. |
Groups table for Exchange data provider.
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 | |
| deletedDateTime | Datetime | False | |
| allowExternalSenders | Bool | False | |
| assignedLicenses | String | False | |
| autoSubscribeNewMembers | Bool | False | |
| classification | String | False | |
| createdDateTime | Datetime | False | |
| description | String | False | |
| displayName | String | False | |
| groupTypes | String | False | |
| hasMembersWithLicenseErrors | Bool | False | |
| isArchived | Bool | False | |
| isSubscribedByMail | Bool | False | |
| licenseProcessingState_state | String | False | |
| String | False | ||
| mailEnabled | Bool | False | |
| mailNickname | String | False | |
| onPremisesLastSyncDateTime | Datetime | False | |
| onPremisesProvisioningErrors | String | False | |
| onPremisesSecurityIdentifier | String | False | |
| onPremisesSyncEnabled | Bool | False | |
| preferredDataLocation | String | False | |
| proxyAddresses | String | False | |
| renewedDateTime | Datetime | False | |
| securityEnabled | Bool | False | |
| unseenCount | Int | False | |
| visibility | String | False |
MailFolders table for Exchange data provider.
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 | |
| childFolderCount | Int | False | |
| displayName | String | False | |
| parentFolderId | String | False | |
| totalItemCount | Int | False | |
| unreadItemCount | Int | False |
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 |
Messages table for Exchange data provider.
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 | |
| categories | String | False | |
| changeKey | String | False | |
| createdDateTime | Datetime | False | |
| lastModifiedDateTime | Datetime | False | |
| bccRecipients | String | False | |
| body_contentType | String | False | |
| body_content | String | False | |
| bodyPreview | String | False | |
| ccRecipients | String | False | |
| conversationId | String | False | |
| flag_completedDateTime_dateTime | String | False | |
| flag_completedDateTime_timeZone | String | False | |
| flag_flagStatus | String | False | |
| from_emailAddress_name | String | False | |
| from_emailAddress_address | String | False | |
| hasAttachments | Bool | False | |
| importance | String | False | |
| inferenceClassification | String | False | |
| internetMessageHeaders | String | False | |
| internetMessageId | String | False | |
| isDeliveryReceiptRequested | Bool | False | |
| isDraft | Bool | False | |
| isRead | Bool | False | |
| isReadReceiptRequested | Bool | False | |
| parentFolderId | String | False | |
| receivedDateTime | Datetime | False | |
| replyTo | String | False | |
| sender_emailAddress_name | String | False | |
| sender_emailAddress_address | String | False | |
| sentDateTime | Datetime | False | |
| subject | String | False | |
| toRecipients | String | False | |
| uniqueBody_contentType | String | False | |
| uniqueBody_content | String | False | |
| webLink | String | False |
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 |
Users table for Exchange data provider.
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 | |
| deletedDateTime | Datetime | False | |
| aboutMe | String | False | |
| accountEnabled | Bool | False | |
| ageGroup | String | False | |
| assignedLicenses | String | False | |
| assignedPlans | String | False | |
| birthday | Datetime | False | |
| businessPhones | String | False | |
| city | String | False | |
| companyName | String | False | |
| consentProvidedForMinor | String | False | |
| country | String | False | |
| department | String | False | |
| deviceEnrollmentLimit | Int | False | |
| displayName | String | False | |
| employeeId | String | False | |
| faxNumber | String | False | |
| givenName | String | False | |
| hireDate | Datetime | False | |
| imAddresses | String | False | |
| interests | String | False | |
| isResourceAccount | Bool | False | |
| jobTitle | String | False | |
| legalAgeGroupClassification | String | False | |
| licenseAssignmentStates | String | False | |
| String | False | ||
| mailboxSettings_automaticRepliesSetting_status | String | False | |
| mailboxSettings_automaticRepliesSetting_externalAudience | String | False | |
| mailboxSettings_automaticRepliesSetting_scheduledStartDateTime_dateTime | String | False | |
| mailboxSettings_automaticRepliesSetting_scheduledStartDateTime_timeZone | String | False | |
| mailboxSettings_automaticRepliesSetting_internalReplyMessage | String | False | |
| mailboxSettings_automaticRepliesSetting_externalReplyMessage | String | False | |
| mailboxSettings_archiveFolder | String | False | |
| mailboxSettings_timeZone | String | False | |
| mailboxSettings_language_locale | String | False | |
| mailboxSettings_language_displayName | String | False | |
| mailboxSettings_workingHours_daysOfWeek | String | False | |
| mailboxSettings_workingHours_startTime | Time | False | |
| mailboxSettings_workingHours_endTime | Time | False | |
| mailboxSettings_workingHours_timeZone_name | String | False | |
| mailNickname | String | False | |
| mobilePhone | String | False | |
| mySite | String | False | |
| officeLocation | String | False | |
| onPremisesDistinguishedName | String | False | |
| onPremisesDomainName | String | False | |
| onPremisesExtensionAttributes_extensionAttribute1 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute2 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute3 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute4 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute5 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute6 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute7 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute8 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute9 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute10 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute11 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute12 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute13 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute14 | String | False | |
| onPremisesExtensionAttributes_extensionAttribute15 | String | False | |
| onPremisesImmutableId | String | False | |
| onPremisesLastSyncDateTime | Datetime | False | |
| onPremisesProvisioningErrors | String | False | |
| onPremisesSamAccountName | String | False | |
| onPremisesSecurityIdentifier | String | False | |
| onPremisesSyncEnabled | Bool | False | |
| onPremisesUserPrincipalName | String | False | |
| otherMails | String | False | |
| passwordPolicies | String | False | |
| passwordProfile_password | String | False | |
| passwordProfile_forceChangePasswordNextSignIn | Bool | False | |
| passwordProfile_forceChangePasswordNextSignInWithMfa | Bool | False | |
| pastProjects | String | False | |
| postalCode | String | False | |
| preferredLanguage | String | False | |
| preferredName | String | False | |
| provisionedPlans | String | False | |
| proxyAddresses | String | False | |
| responsibilities | String | False | |
| schools | String | False | |
| showInAddressList | Bool | False | |
| signInSessionsValidFromDateTime | Datetime | False | |
| skills | String | False | |
| state | String | False | |
| streetAddress | String | False | |
| surname | String | False | |
| usageLocation | String | False | |
| userPrincipalName | String | False | |
| userType | String | False |
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 | Retrieve the ccurrences, 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. |
| EventAttachments | EventAttachments View for Exchange data provider. |
| EventInstances | EventInstances View for Exchange data provider. |
| GroupMembers | Group Members table for Exchange data provider. |
| MessageAttachments | MessageAttachments View for Exchange data provider. |
Retrieve the ccurrences, 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.
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 | |
| categories | String | |
| changeKey | String | |
| createdDateTime | Datetime | |
| lastModifiedDateTime | Datetime | |
| attendees | String | |
| body_contentType | String | |
| body_content | String | |
| bodyPreview | String | |
| end_dateTime | String | |
| end_timeZone | String | |
| hasAttachments | Bool | |
| iCalUId | String | |
| importance | String | |
| isAllDay | Bool | |
| isCancelled | Bool | |
| isOrganizer | Bool | |
| isReminderOn | Bool | |
| location_displayName | String | |
| location_locationEmailAddress | String | |
| location_address_street | String | |
| location_address_city | String | |
| location_address_state | String | |
| location_address_countryOrRegion | String | |
| location_address_postalCode | String | |
| location_coordinates_altitude | Double | |
| location_coordinates_latitude | Double | |
| location_coordinates_longitude | Double | |
| location_coordinates_accuracy | Double | |
| location_coordinates_altitudeAccuracy | Double | |
| location_locationUri | String | |
| location_locationType | String | |
| location_uniqueId | String | |
| location_uniqueIdType | String | |
| locations | String | |
| onlineMeetingUrl | String | |
| organizer_emailAddress_name | String | |
| organizer_emailAddress_address | String | |
| originalEndTimeZone | String | |
| originalStart | Datetime | |
| originalStartTimeZone | String | |
| recurrence_pattern_type | String | |
| recurrence_pattern_interval | Int | |
| recurrence_pattern_month | Int | |
| recurrence_pattern_dayOfMonth | Int | |
| recurrence_pattern_daysOfWeek | String | |
| recurrence_pattern_firstDayOfWeek | String | |
| recurrence_pattern_index | String | |
| recurrence_range_type | String | |
| recurrence_range_startDate | Date | |
| recurrence_range_endDate | Date | |
| recurrence_range_recurrenceTimeZone | String | |
| recurrence_range_numberOfOccurrences | Int | |
| reminderMinutesBeforeStart | Int | |
| responseRequested | Bool | |
| responseStatus_response | String | |
| responseStatus_time | Datetime | |
| sensitivity | String | |
| seriesMasterId | String | |
| showAs | String | |
| start_dateTime | String | |
| start_timeZone | String | |
| subject | String | |
| type | String | |
| webLink | String | |
| calendarId | String |
EventAttachments View for Exchange data provider.
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 | |
| id [KEY] | String | |
| contentType | String | |
| isInline | Bool | |
| lastModifiedDateTime | Datetime | |
| name | String | |
| size | Int | |
| userId | String |
EventInstances View for Exchange data provider.
You can query EventInstances by specifying the Event Id, StartDatetime and EndDateTime. EventId is a required field, instead StartDatetime and EndDateTime have a default range of the last 30 days. If you query filtering only by EventId and the specific event does not exist within this time range, you will get empty results.
SELECT * FROM [EventInstances] WHERE id = 'event id' AND StartDateTime = '2018/01/01' AND EndDateTime = '2018/12/31'
SELECT * FROM [EventInstances] WHERE id = 'event id'
By default, if StartDateTime and EndDateTime filters are not specified, only the event instances from the user's default calendar in the range of the last 30 days will be returned. Otherwise, the query will get the instances of the Event during the period specified by StartDateTime and EndDateTime.
| Name | Type | Description |
| eventId | String | |
| id [KEY] | String | |
| categories | String | |
| changeKey | String | |
| createdDateTime | Datetime | |
| lastModifiedDateTime | Datetime | |
| attendees | String | |
| body_contentType | String | |
| body_content | String | |
| bodyPreview | String | |
| end_dateTime | String | |
| end_timeZone | String | |
| hasAttachments | Bool | |
| iCalUId | String | |
| importance | String | |
| isAllDay | Bool | |
| isCancelled | Bool | |
| isOrganizer | Bool | |
| isReminderOn | Bool | |
| location_displayName | String | |
| location_locationEmailAddress | String | |
| location_address_street | String | |
| location_address_city | String | |
| location_address_state | String | |
| location_address_countryOrRegion | String | |
| location_address_postalCode | String | |
| location_coordinates_altitude | Double | |
| location_coordinates_latitude | Double | |
| location_coordinates_longitude | Double | |
| location_coordinates_accuracy | Double | |
| location_coordinates_altitudeAccuracy | Double | |
| location_locationUri | String | |
| location_locationType | String | |
| location_uniqueId | String | |
| location_uniqueIdType | String | |
| locations | String | |
| onlineMeetingUrl | String | |
| organizer_emailAddress_name | String | |
| organizer_emailAddress_address | String | |
| originalEndTimeZone | String | |
| originalStart | Datetime | |
| originalStartTimeZone | String | |
| recurrence_pattern_type | String | |
| recurrence_pattern_interval | Int | |
| recurrence_pattern_month | Int | |
| recurrence_pattern_dayOfMonth | Int | |
| recurrence_pattern_daysOfWeek | String | |
| recurrence_pattern_firstDayOfWeek | String | |
| recurrence_pattern_index | String | |
| recurrence_range_type | String | |
| recurrence_range_startDate | Date | |
| recurrence_range_endDate | Date | |
| recurrence_range_recurrenceTimeZone | String | |
| recurrence_range_numberOfOccurrences | Int | |
| reminderMinutesBeforeStart | Int | |
| responseRequested | Bool | |
| responseStatus_response | String | |
| responseStatus_time | Datetime | |
| sensitivity | String | |
| seriesMasterId | String | |
| showAs | String | |
| start_dateTime | String | |
| start_timeZone | String | |
| subject | String | |
| type | String | |
| webLink | String |
Group Members table for Exchange data provider.
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 | |
| GroupId | String | |
| AssistantName | String | |
| BusinessPhones | String | |
| Classification | String | |
| CreatedDateTime | Datetime | |
| CreationOptions | String | |
| DeletedDateTime | Datetime | |
| Description | String | |
| DisplayName | String | |
| ExpirationDateTime | Datetime | |
| GivenName | String | |
| GroupTypes | String | |
| IsAssignableToRole | Boolean | |
| JobTitle | String | |
| String | ||
| MailEnabled | Bool | |
| MailNickname | String | |
| MembershipRule | String | |
| MembershipRuleProcessingState | String | |
| MobilePhone | String | |
| OfficeLocation | String | |
| OnPremisesDomainName | String | |
| OnPremisesLastSyncDateTime | Datetime | |
| OnPremisesNetBiosName | String | |
| OnPremisesProvisioningErrors | String | |
| OnPremisesSamAccountName | String | |
| OnPremisesSecurityIdentifier | String | |
| OnPremisesSyncEnabled | Bool | |
| PreferredDataLocation | String | |
| PreferredLanguage | String | |
| ProxyAddresses | String | |
| RenewedDateTime | Datetime | |
| SecurityEnabled | Bool | |
| Surname | String | |
| UserPrincipalName | String | |
| Visibility | String |
MessageAttachments View for Exchange data provider.
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 | |
| id [KEY] | String | |
| contentType | String | |
| isInline | Bool | |
| lastModifiedDateTime | Datetime | |
| name | String | |
| size | Int | |
| userId | String |
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 | Add attachment(s) to a message. |
| DeleteAttachment | Delete attachment. |
| DismissEventReminder | Dismiss the reminder for an Event. |
| FetchAdditionalUserFields | Fetch all T1, T2, and T3 fields for a specified user. |
| ForwardMail | Retrieve Forwarded Mail. |
| GetAdminConsentURL | Gets the admin consent URL that must be opened separately by an admin of a given domain to grant access to your application. Only needed when using custom OAuth credentials. |
| MoveMail | Move mail. |
| ReplyToMessage | Reply to a Message. |
| RespondToEvent | Respond to an Event. |
| SendMail | Send mail. |
| SnoozeEventReminder | Snooze the reminder for an Event. |
Add attachment(s) to a message.
| Name | Type | Required | Description |
| Id | String | True | The Id of the message to add the attachment to. |
| DestinationType | String | True | The destination object type where the attachment is being added. Allowed values are; Message or Event. |
| FileName | String | True | Name of the email attachment. |
| LocalFile | String | False | The file containing the content of the attachment |
| ContentBytes | String | False | Content of the attachment encoded to base 64. |
| UserId | String | False | Id of the Impersonated User. |
| Name | Type | Description |
| ContentBytes | String | Added Successfully - if the attachment content was added to the message/event. |
| Id | String | Id of the attachment that was added. |
| LastModifiedDateTime | Datetime | Last modified date time of attachment that was added. |
| Isinline | Boolean | Whether the attachment that was added is inline. |
| Name | String | Name of the attachment that was added. |
| Contenttype | String | Content-type of the attachment that was added. |
| Size | Int | Size of the attachment that was added. |
Delete attachment.
| Name | Type | Required | Description |
| MessageId | String | True | The email Id. |
| AttachmentID | String | True | Id of the attachment. |
| UserId | String | False | Id of the Impersonated User. |
| Name | Type | Description |
| Success | String | Indicates whether or not the operation was successful. |
Dismiss the reminder for an Event.
| Name | Type | Required | Description |
| EventId | String | True | The event of the Id you are dismissing. |
| UserId | String | False | Id of the Impersonated User. |
| Name | Type | Description |
| Success | Boolean | If the request is sucessful. |
Fetch all T1, T2, and T3 fields for a specified user.
| Name | Type | Required | Description |
| UserId | String | True | The unique identifier of the user. |
| IncludeFields | String | False | Comma-separated list of the specific fields you want to include in the fetch. |
| ExcludeFields | String | False | Comma-separated list of the specific fields you want to exclude in the fetch. |
| Name | Type | Description |
| * | String | Results of the query. |
Retrieve Forwarded Mail.
| Name | Type | Required | Description |
| MessageId | String | True | Id of the email. |
| ToRecipients | String | True | A semicolon-separated list of recipient emails. |
| Comment | String | False | BodyContent on top of the original message. |
| UserId | String | False | Id of the Impersonated User. |
| Name | Type | Description |
| Success | Boolean | If the request is sucessful. |
Gets the admin consent URL that must be opened separately by an admin of a given domain to grant access to your application. Only needed when using custom OAuth credentials.
| Name | Type | Required | Description |
| CallbackUrl | String | False | The URL the user will be redirected to after authorizing your application. This value must match the Reply URL in the Azure AD app settings. |
| State | String | False | The same value for state that you sent when you requested the authorization code. |
| Scope | String | False | A space-separated list of scopes to request from the Admin. Please check the Microsoft Graph API documentation for a list of available permissions. |
| Name | Type | Description |
| URL | String | The authorization URL, entered into a Web browser to obtain the verifier token and authorize your app. |
Move mail.
| Name | Type | Required | Description |
| MessageId | String | True | The email Id. |
| DestinationId | String | True | Id of the destination folder where the email will be moved to. |
| Name | Type | Description |
| Id | String | Id of the message that was moved. |
Reply to a Message.
| Name | Type | Required | Description |
| MessageId | String | True | Id of the email. |
| Comment | String | False | BodyContent on top of the original message. |
| ToAll | String | False | Reply to all or not.
The default value is false. |
| UserId | String | False | Id of the Impersonated User. |
| Name | Type | Description |
| Success | Boolean | If the request is sucessful. |
Respond to an Event.
| Name | Type | Required | Description |
| EventId | String | True | The event of the Id you are responding to. |
| ResponseType | String | True | The type of the response to this event. Allowed values: Accept, Decline |
| SendResponse | String | False | True if a response is to be sent to the organizer; otherwise, false. Optional. Default is true.
The default value is true. |
| Comment | String | False | Text included in the response. Optional. |
| Name | Type | Description |
| Success | Boolean | If the request is sucessful. |
Send mail.
| Name | Type | Required | Description |
| Id | String | False | The Id of the message to be sent (this is optional). The user can either use an existing email Id or send a new email by optionally filling the other fields. |
| Subject | String | False | The email subject. |
| Content | String | False | Email body content. |
| Attachments | String | False | The attachments. Specify File attachments in the following format: filename1,filecontent1;filename2,filecontent2. Each filecontent can be either base64 data, or the path of a local file with the @ character before it |
| FileName | String | False | Name of the email attachment. |
| LocalFile | String | False | The file containing the content of the attachment |
| ContentBytes | String | False | Content of the attachment encoded to base 64. |
| ToRecipients | String | False | The recipients. Specify recipients in the following order: [email protected];[email protected]. |
| CcRecipients | String | False | The Cc: recipients for the message. Specify recipients in the following order: [email protected];[email protected]. |
| BccRecipients | String | False | The Bcc: recipients for the message. Specify recipients in the following order: [email protected];[email protected]. |
| SenderEmail | String | False | The email address on who's behalf email needs to be sent. Set this if you want to send email on behalf of other user's account. |
| FromEmail | String | False | The email address of the User from which email needs to be sent. Set this if you want to send email from other user's account. |
| UserId | String | False | Id of the Impersonated User. |
| ContentType | String | False | The content type of the email body.
The allowed values are text, html. The default value is text. |
| Name | Type | Description |
| Success | Boolean | If the request is sucessful. |
Snooze the reminder for an Event.
| Name | Type | Required | Description |
| EventId | String | True | The event of the Id you are dismissing. |
| DateTime | String | False | The new date-time to postpone the event reminder to. |
| TimeZone | String | False | The TimeZone for the chosen date-time |
| UserId | String | False | Id of the Impersonated User. |
| Name | Type | Description |
| Success | Boolean | If the request is sucessful. |
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. |
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
| 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. |
| DataTypeName | String | The name of the data type. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| Length | Int32 | The number of characters allowed for character data. The number of digits allowed for numeric data. |
| NumericPrecision | Int32 | The maximum precision for numeric data. The column length in characters for character and date-time 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. |
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 | The Platform associated with the Exchange server. |
| Schema | Specify the Microsoft Exchange schema. |
| AuthScheme | The scheme used for authentication. Accepted entries are NTLM, Basic, Digest, None, Negotiate, OAuth, AzureAD, AzureServicePrincipal and AzureMSI. |
| Server | The address of the Exchange server to which you are connecting. |
| User | The user who is authenticating to the Exchange site. |
| Password | The password used to authenticate to the Exchange site. |
| Office365Environment | The Office365 Environment to use when establishing a connection. |
| Property | Description |
| AzureTenant | Identifies the Microsoft Exchange tenant being used to access data, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional). |
| Property | Description |
| OAuthClientId | Specifies the client Id that was assigned the custom OAuth application was created. (Also known as the consumer key.) This ID registers the custom application with the OAuth authorization server. |
| OAuthClientSecret | Specifies the client secret that was assigned when the custom OAuth application was created. (Also known as the consumer secret ). This secret registers the custom application with the OAuth authorization server. |
| OAuthGrantType | Specifies the grant type for the chosen OAuth flow. This value should be the same as the grant_type that was set during OAuth custom application creation. |
| UserId | Specify this UserId in order to access Outlook resources for a specific user. Required when OAuthGrantType is set to 'CLIENT'. |
| Property | Description |
| OAuthJWTCert | The JWT Certificate store. |
| OAuthJWTCertType | The type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | The password for the OAuth JWT certificate used to access a certificate store that requires a password. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | 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 | Control whether you want to always retrieve Table Dependencies (Foreign Keys). Setting this to TRUE might slow down queries and increase amount of calls made. |
| BodyType | The BodyType element identifies how the body text 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 | Depth level of folder to query Folders and Items. |
| DisableServerSideFiltering | Control whether you want to disable server-side filtering. By default this property is set to False, and server-side filtering is attempted for all columns/tables. |
| GroupId | Specify this GroupId in order to access the OneNote documents for this group. |
| ImpersonationType | The type of identifier to use with impersonation while sending requests to the Exchange site. |
| ImpersonationUser | The user to impersonate while sending requests to the Exchange site. |
| IncludeContent | A boolean indicating if additional content should be retrieved. |
| MaxRows | Specifies the maximum rows returned for queries without aggregation or GROUP BY. |
| Pagesize | Specifies the maximum number of results to return from Microsoft Exchange, per page. This setting overrides the default page size set by the datasource, which is optimized for most use cases. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout. |
| UseInplaceArchive | A boolean indicating whether to use either the in-place archive or the default mailbox. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
| Property | Description |
| Platform | The Platform associated with the Exchange server. |
| Schema | Specify the Microsoft Exchange schema. |
| AuthScheme | The scheme used for authentication. Accepted entries are NTLM, Basic, Digest, None, Negotiate, OAuth, AzureAD, AzureServicePrincipal and AzureMSI. |
| Server | The address of the Exchange server to which you are connecting. |
| User | The user who is authenticating to the Exchange site. |
| Password | The password used to authenticate to the Exchange site. |
| Office365Environment | The Office365 Environment to use when establishing a connection. |
The Platform associated with the Exchange server.
string
"Exchange_Online"
The Platform associated with the Exchange server.
| Exchange2007* | Target the initial release version of Exchange 2007. |
| Exchange2007_SP1* | Target Exchange 2007 Service Pack 1 (SP1), Exchange 2007 Service Pack 2 (SP2), and Exchange 2007 Service Pack 3 (SP3). |
| Exchange2010 | Target Exchange 2010. |
| Exchange2010_SP1 | Target Exchange 2010 Service Pack 1 (SP1). |
| Exchange2010_SP2 | Target Exchange 2010 Service Pack 2 (SP2) and Exchange 2010 Service Pack 3 (SP3). |
| Exchange2013 | Target Exchange 2013. |
| Exchange2013_SP1 | Target Exchange 2013 Service Pack 1 (SP1). |
| Exchange_Online | Target Exchange Online. |
* - These APIs do not support filtering using the WHERE clause.
Specify the Microsoft Exchange schema.
string
"MSGraph"
The schemas available are EWS and MSGraph.
The scheme used for authentication. Accepted entries are NTLM, Basic, Digest, None, Negotiate, OAuth, AzureAD, AzureServicePrincipal and AzureMSI.
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:
The address of the Exchange server to which you are connecting.
string
""
Set to the Exchange Web Services URL. For Exchange Online, set it to https://outlook.office365.com/EWS/Exchange.asmx. For Exchange On-Premises, set it to https://<mail-server>/EWS/Exchange.asmx.
The user who is authenticating to the Exchange site.
string
""
The username used to authenticate to the Exchange site. NOTE: According to Exchange, Basic authentication (using User and Password) will be deprecated soon.
The password used to authenticate to the Exchange site.
string
""
The password used to authenticate to the Exchange site. NOTE: According to Exchange, Basic authentication (using User and Password) will be deprecated soon.
The Office365 Environment to use when establishing a connection.
string
"GLOBAL"
In most cases, leaving the environment set to global will work. However, if your Office365 Account has been added to a different environment, the Office365Environment may be used to specify which environment. The available values are GLOBAL, CHINA, USGOVTGCC, USGOVTDOD.
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, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional). |
Identifies the Microsoft Exchange tenant being used to access data, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional).
string
""
A tenant is a digital representation of your organization, primarily associated with a domain (for example, microsoft.com). The tenant is managed through a Tenant ID (also known as the directory ID), which is specified whenever you assign users permissions to access or manage Azure resources.
To locate the directory ID in the Azure Portal, navigate to Azure Active Directory > Properties.
Specifying AzureTenant is required when AuthScheme = either AzureServicePrincipal or AzureServicePrincipalCert, or if AuthScheme = AzureAD and the user belongs to more than one tenant.
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 that was assigned the custom OAuth application was created. (Also known as the consumer key.) This ID registers the custom application with the OAuth authorization server. |
| OAuthClientSecret | Specifies the client secret that was assigned when the custom OAuth application was created. (Also known as the consumer secret ). This secret registers the custom application with the OAuth authorization server. |
| OAuthGrantType | Specifies the grant type for the chosen OAuth flow. This value should be the same as the grant_type that was set during OAuth custom application creation. |
| UserId | Specify this UserId in order to access Outlook resources for a specific user. Required when OAuthGrantType is set to 'CLIENT'. |
Specifies the client Id that was assigned the custom OAuth application was created. (Also known as the consumer key.) This ID registers the custom application with the OAuth authorization server.
string
""
OAuthClientId is one of a handful of connection parameters that need to be set before users can authenticate via OAuth. For details, see Establishing a Connection.
Specifies the client secret that was assigned when the custom OAuth application was created. (Also known as the consumer secret ). This secret registers the custom application with the OAuth authorization server.
string
""
OAuthClientSecret is one of a handful of connection parameters that need to be set before users can authenticate via OAuth. For details, see Establishing a Connection.
Specifies the grant type for the chosen OAuth flow. This value should be the same as the grant_type that was set during OAuth custom application creation.
string
"CODE"
In most cases, the default grant type should not be modified. For information about the most common OAuth grant types and the trade-offs between them, see https://oauth.net/2/grant-types/.
Specify this UserId in order to access Outlook resources for a specific user. Required when OAuthGrantType is set to 'CLIENT'.
string
""
Specify this UserId in order to access Outlook resources for a specific user. Required when OAuthGrantType is set to 'CLIENT'.
This section provides a complete list of the JWT OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthJWTCert | The JWT Certificate store. |
| OAuthJWTCertType | The type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | The password for the OAuth JWT certificate used to access a certificate store that requires a password. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | 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. |
The JWT Certificate store.
string
""
The name of the certificate store for the client certificate.
The OAuthJWTCertType field specifies the type of the certificate store specified by OAuthJWTCert. If the store is password protected, specify the password in OAuthJWTCertPassword.
OAuthJWTCert is used in conjunction with the OAuthJWTCertSubject field in order to specify client certificates. If OAuthJWTCert has a value, and OAuthJWTCertSubject is set, a search for a certificate is initiated. Please refer to the OAuthJWTCertSubject field for details.
Designations of certificate stores are platform-dependent.
The following are designations of the most common User and Machine certificate stores in Windows:
| MY | A certificate store holding personal certificates with their associated private keys. |
| CA | Certifying authority certificates. |
| ROOT | Root certificates. |
| SPC | Software publisher certificates. |
In Java, the certificate store normally is a file containing certificates and optional private keys.
When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store).
The type of key store containing the JWT Certificate.
string
"PEMKEY_BLOB"
This property can take one of the following values:
| USER | For Windows, this specifies that the certificate store is a certificate store owned by the current user. Note: This store type is not available in Java. |
| MACHINE | For Windows, this specifies that the certificate store is a machine store. Note: this store type is not available in Java. |
| PFXFILE | The certificate store is the name of a PFX (PKCS12) file containing certificates. |
| PFXBLOB | The certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format. |
| JKSFILE | The certificate store is the name of a Java key store (JKS) file containing certificates. Note: this store type is only available in Java. |
| JKSBLOB | The certificate store is a string (base-64-encoded) representing a certificate store in Java key store (JKS) format. Note: this store type is only available in Java. |
| PEMKEY_FILE | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
| PEMKEY_BLOB | The certificate store is a string (base64-encoded) that contains a private key and an optional certificate. |
| PUBLIC_KEY_FILE | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
| PUBLIC_KEY_BLOB | The certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate. |
| SSHPUBLIC_KEY_FILE | The certificate store is the name of a file that contains an SSH-style public key. |
| SSHPUBLIC_KEY_BLOB | The certificate store is a string (base-64-encoded) that contains an SSH-style public key. |
| P7BFILE | The certificate store is the name of a PKCS7 file containing certificates. |
| PPKFILE | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
| XMLFILE | The certificate store is the name of a file that contains a certificate in XML format. |
| XMLBLOB | The certificate store is a string that contains a certificate in XML format. |
| BCFKSFILE | The certificate store is the name of a file that contains an Bouncy Castle keystore. |
| BCFKSBLOB | The certificate store is a string (base-64-encoded) that contains a Bouncy Castle keystore. |
The password for the OAuth JWT certificate used to access a certificate store that requires a password. If the certificate store does not require a password, leave this property blank.
string
""
This property specifies the password needed to open the certificate store, but only if the store type requires one. To determine if a password is necessary, refer to the documentation or configuration for your specific certificate store.
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 using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is 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 |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
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 | Control whether you want to always retrieve Table Dependencies (Foreign Keys). Setting this to TRUE might slow down queries and increase amount of calls made. |
| BodyType | The BodyType element identifies how the body text 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 | Depth level of folder to query Folders and Items. |
| DisableServerSideFiltering | Control whether you want to disable server-side filtering. By default this property is set to False, and server-side filtering is attempted for all columns/tables. |
| GroupId | Specify this GroupId in order to access the OneNote documents for this group. |
| ImpersonationType | The type of identifier to use with impersonation while sending requests to the Exchange site. |
| ImpersonationUser | The user to impersonate while sending requests to the Exchange site. |
| IncludeContent | A boolean indicating if additional content should be retrieved. |
| MaxRows | Specifies the maximum rows returned for queries without aggregation or GROUP BY. |
| Pagesize | Specifies the maximum number of results to return from Microsoft Exchange, per page. This setting overrides the default page size set by the datasource, which is optimized for most use cases. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout. |
| UseInplaceArchive | A boolean indicating whether to use either the in-place archive or the default mailbox. |
Control whether you want to always retrieve Table Dependencies (Foreign Keys). Setting this to TRUE might slow down queries and increase amount of calls made.
bool
false
Control whether you want to always retrieve Table Dependencies (Foreign Keys). Setting this to TRUE might slow down queries and increase amount of calls made.
The BodyType element identifies how the body text is formatted in the response.
string
"Best"
The BodyType element identifies how the body text is formatted in the response. The available options are:
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.
Depth level of folder to query Folders and Items.
string
"5"
This property must be set in the connection string or the driver uses a default of Depth=1.
Control whether you want to disable server-side filtering. By default this property is set to False, and server-side filtering is attempted for all columns/tables.
bool
false
To be used in cases when complex queries are attempted and server-side filters are incapable or insufficient for producing the desired output.
Specify this GroupId in order to access the OneNote documents for this group.
string
""
Specify this GroupId in order to access the OneNote documents for this group.
The type of identifier to use with impersonation while sending requests to the Exchange site.
string
"PrincipalName"
The type of identifier to use with impersonation while sending requests to the Exchange site. The pseudo-column of the same name can be used in the SQL query in order to more dynamically impersonate users.
Possible values for ImpersonationType are:
| PrincipalName | Represents the user principal name (UPN) of the account to use for impersonation. This should be the UPN for the domain where the user account exists. |
| SID | Represents the security descriptor definition language (SDDL) form of the security identifier (SID) for the account to use for impersonation. |
| PrimarySmtpAddress | Represents the primary Simple Mail Transfer Protocol (SMTP) address of the account to use for Exchange impersonation. If the primary SMTP address is supplied, it will cost an extra Active Directory directory service lookup in order to obtain the SID of the user. We recommend that you use the SID or UPN if they are available. |
| SmtpAddress | Represents the Simple Mail Transfer Protocol (SMTP) address of the account to use for Exchange Impersonation. If the SMTP address is supplied, it will cost an extra Active Directory lookup in order to obtain the SID of the user. We recommend that you use the SID or UPN if they are available. |
The user to impersonate while sending requests to the Exchange site.
string
""
The user to impersonate while sending requests to the Exchange site. The pseudo column of the same name can be used in the SQL query in order to more dynamically impersonate users.
A boolean indicating if additional content should be retrieved.
bool
false
A boolean indicating if additional content should be retrieved, such as the Body field of an Inbox email. Retrieving all content for a large number of items can be expensive. This property cannot be used with the Folders table, or the Calendar child views.
Specifies the maximum rows returned for queries without aggregation or GROUP BY.
int
-1
This property sets an upper limit on the number of rows the Cloud returns for queries that do not include aggregation or GROUP BY clauses. This limit ensures that queries do not return excessively large result sets by default.
When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting. If MaxRows is set to "-1", no row limit is enforced unless a LIMIT clause is explicitly included in the query.
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 results to return from Microsoft Exchange, per page. This setting overrides the default page size set by the datasource, which is optimized for most use cases.
int
1000
You may want to adjust the default pagesize to optimize results for a particular object or service endpoint you are querying. Be aware that increasing the page size may improve performance, but it could also result in higher memory consumption per page.
Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property.
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: "*=*"
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout.
int
60
This property controls the maximum time, in seconds, that the Cloud waits for an operation to complete before canceling it. If the timeout period expires before the operation finishes, the Cloud cancels the operation and throws an exception.
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.
Setting this property to 0 disables the timeout, allowing 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. Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
A boolean indicating whether to use either the in-place archive or the default mailbox.
bool
false
A boolean indicating whether to use either the in-place archive or the default mailbox.