CData Cloud offers access to Microsoft Office 365 across several standard services and protocols, in a cloud-hosted solution. Any application that can connect to a SQL Server database can connect to Microsoft Office 365 through CData Cloud.
CData Cloud allows you to standardize and configure connections to Microsoft Office 365 as though it were any other OData endpoint or standard SQL Server.
This page provides a guide to Establishing a Connection to Microsoft Office 365 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 Office 365 and configure any necessary connection properties to create a database in CData Cloud
Accessing data from Microsoft Office 365 through the available standard services and CData Cloud administration is documented in further details in the CData Cloud Documentation.
Connect to Microsoft Office 365 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.
Microsoft Office 365 uses the OAuth authentication standard. To authenticate using OAuth, you will need to create an app to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties.
Note: Microsoft has rebranded Azure AD as Entra ID. In topics that require the user to interact with the Entra ID Admin site, we use the same names Microsoft does. However, there are still CData connection properties whose names or values reference "Azure AD".
Microsoft Entra ID is a multi-tenant, cloud-based identity and access management platform. It supports OAuth-based authentication flows that enable the driver to access Microsoft Office 365 endpoints securely.
Authentication to Entra ID via a web application always requires that you first create and register a custom OAuth application. This enables your application to define its own redirect URI, manage credential scope, and comply with organization-specific security policies.
For full instructions on how to create and register a custom OAuth application, see Creating an Entra ID (Azure AD) Application.
After setting AuthScheme to AzureAD, the steps to authenticate vary, depending on the environment. For details on how to connect from desktop applications, web-based workflows, or headless systems, see the following sections.
Note: Microsoft has rebranded Azure AD as Entra ID. In topics that require the user to interact with the Entra ID Admin site, we use the same names Microsoft does. However, there are still CData connection properties whose names or values reference "Azure AD".
Azure Service Principal is role-based application-based authentication. This means that authentication is done per application, rather than per user.
All tasks taken on by the application are executed without a default user context, but based on the assigned roles.
The application access to the resources is controlled through the assigned roles' permissions.
For information about how to set up Azure Service Principal authentication, see Creating a Service Principal App in Entra ID (Azure AD).
If you are running Microsoft Office 365 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. 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.
By default, the Cloud attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
To specify another certificate, see the SSLServerCert connection property.
To authenticate to an HTTP proxy, set the following:
Set the following properties:
The CData Cloud models Microsoft Office 365 objects as an easy-to-use SQL database, using tables, views, and stored procedures. These are defined in schema files, which are simple, easy-to-read text files that define the structure and organization of data. Because the table definitions are dynamically retrieved, any changes to the remote data are immediately reflected in your queries.
Note: The Cloud uses the Microsoft Office 365 API to process supported filters. Other filters are processed client-side.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples from a sample Office 365 site. Your data model is obtained dynamically based on your user credentials and Office 365 site.
The sample site includes the following tables:
| Table | Description |
| CalendarView | Returns a filtered list of calendar events such as occurrences, exceptions, and single instances, within a specified time range from a user's calendar. |
| Calendars | Provides details about calendars associated with users, including names, time zones, and ownership metadata. Maps dynamically to the API fields. |
| Contacts | Contains user contact records, including names, email addresses, job titles, and business phone numbers synced from Office365. |
| Conversations | Stores threaded conversations from Microsoft 365 Groups, including messages and participants. |
| EventAttachments | Displays attachments related to calendar events, including file metadata and associated event identifiers. |
| EventOccurrences | Provides a flattened view of recurring event instances, enabling analysis of each occurrence individually. |
| Events | Captures core details of calendar events, such as start and end times, locations, organizers, and recurrence rules. Maps dynamically to API fields. |
| Files | Lists files stored in OneDrive or SharePoint, with metadata including file names, locations, last modified times, and sharing status. |
| Groups | Includes metadata about Microsoft 365 Groups, such as group names, descriptions, email aliases, and visibility settings. |
| MessageAttachments | Retrieves email message attachments with metadata like attachment names, sizes, and parent message IDs. |
| Messages | Contains email messages from user mailboxes, including subjects, senders, timestamps, and read status. |
| Plans | Displays task plan data from Microsoft Planner, including plan names, owners, and associated group IDs. |
| Tasks | Lists individual tasks from Microsoft To Do or Planner, with details like titles, due dates, and completion status. |
| Users | Supports reading, creating, updating, and deleting Office365 user accounts. Includes profile and licensing details. |
Stored Procedures are SQL scripts that extend beyond standard CRUD operations. They can be used to search, update, and modify information in Office365.
The Cloud models the data in Microsoft Office 365 as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| Calendars | Provides details about calendars associated with users, including names, time zones, and ownership metadata. Maps dynamically to the API fields. |
| Contacts | Contains user contact records, including names, email addresses, job titles, and business phone numbers synced from Office365. |
| Conversations | Stores threaded conversations from Microsoft 365 Groups, including messages and participants. |
| Events | Captures core details of calendar events, such as start and end times, locations, organizers, and recurrence rules. Maps dynamically to API fields. |
| Files | Lists files stored in OneDrive or SharePoint, with metadata including file names, locations, last modified times, and sharing status. |
| Groups | Includes metadata about Microsoft 365 Groups, such as group names, descriptions, email aliases, and visibility settings. |
| Messages | Contains email messages from user mailboxes, including subjects, senders, timestamps, and read status. |
| Tasks | Lists individual tasks from Microsoft To Do or Planner, with details like titles, due dates, and completion status. |
| Users | Supports reading, creating, updating, and deleting Office365 user accounts. Includes profile and licensing details. |
Provides details about calendars associated with users, including names, time zones, and ownership metadata. Maps dynamically to the API fields.
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 id FROM Calendars WHERE name LIKE 'Calendar%'
Specify a Name as a minimum in order to create a new Calendar:
INSERT INTO Calendars (Name) VALUES ('John')
Note: In case of client credentials, UserId is required in order to create a new Calendar:
INSERT INTO Calendars (Name, UserId) VALUES ('Test123', '92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe');
| Name | Type | ReadOnly | References | Description |
| id [KEY] | String | True |
Unique identifier for the calendar object within the user's mailbox. | |
| Etag | String | False |
Entity tag used for version control of the calendar object. | |
| allowedOnlineMeetingProviders | String | False |
List of online meeting providers (with 1 space after each comma) that are allowed for this calendar, such as Teams, Skype, Webex. | |
| canEdit | Bool | False |
Indicates whether the user has permission to edit events on this calendar. | |
| canShare | Bool | False |
Indicates whether the user has permission to share this calendar with others. | |
| canViewPrivateItems | Bool | False |
Indicates whether the user can view events marked as private on this calendar. | |
| changeKey | String | False |
Token used to identify the version of the calendar object and detect changes. | |
| color | String | False |
Predefined color name assigned to this calendar for visual differentiation. | |
| defaultOnlineMeetingProvider | String | False |
Specifies the default provider used when scheduling online meetings from this calendar. | |
| hexColor | String | False |
Hexadecimal color code associated with the calendar (for example, #FF5733) for custom coloring. | |
| isDefaultCalendar | Bool | False |
Indicates whether this calendar is the user's default calendar. | |
| isRemovable | Bool | False |
Indicates whether this calendar can be removed by the user. | |
| isTallyingResponses | Bool | False |
Specifies whether responses to event invitations on this calendar are being tracked. | |
| name | String | False |
Display name assigned to the calendar, such as 'Work' or 'Personal'. | |
| owner_address | String | False |
Email address of the owner of the calendar. | |
| owner_name | String | False |
Display name of the calendar owner. | |
| UserId [KEY] | String | False |
Identifier of the user associated with the calendar entry. |
Contains user contact records, including names, email addresses, job titles, and business phone numbers synced from Office365.
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')
Note: In case of client credentials, UserId is required in order to create a new Contact:
INSERT INTO Contacts (GivenName, Surname, UserId) VALUES ('John', 'Smith', '92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe')
| Name | Type | ReadOnly | References | Description |
| id [KEY] | String | True |
Unique identifier for the contact record. | |
| Etag | String | False |
Entity tag used to determine whether the contact has changed since it was last retrieved. | |
| categories | String | False |
List of categories assigned to the contact for organization or filtering. | |
| changeKey | String | False |
Version key that updates each time the contact is modified. | |
| createdDateTime | Datetime | False |
Timestamp indicating when the contact was created in the system. | |
| lastModifiedDateTime | Datetime | False |
Timestamp indicating the last time the contact was updated. | |
| assistantName | String | False |
Full name of the contact's assistant. | |
| birthday | Datetime | False |
The contact's date of birth. | |
| businessAddress_city | String | False |
City portion of the contact's business address. | |
| businessAddress_countryOrRegion | String | False |
Country or region of the contact's business address. | |
| businessAddress_postalCode | String | False |
Postal code of the contact's business address. | |
| businessAddress_state | String | False |
State or province of the contact's business address. | |
| businessAddress_street | String | False |
Street portion of the contact's business address. | |
| businessHomePage | String | False |
URL of the contact's business home page. | |
| businessPhones | String | False |
One or more business phone numbers associated with the contact. | |
| children | String | False |
Names of the contact's children, separated by commas. | |
| companyName | String | False |
Name of the company where the contact works. | |
| department | String | False |
Department within the company to which the contact belongs. | |
| displayName | String | False |
The contact's full display name as shown in the address book. | |
| emailAddresses | String | False |
List of email addresses associated with the contact. | |
| fileAs | String | False |
Text used to file and sort the contact in address books. | |
| generation | String | False |
Suffix denoting generational titles such as Jr., Sr., III. | |
| givenName | String | False |
The contact's first name or given name. | |
| homeAddress_city | String | False |
City portion of the contact's home address. | |
| homeAddress_countryOrRegion | String | False |
Country or region of the contact's home address. | |
| homeAddress_postalCode | String | False |
Postal code of the contact's home address. | |
| homeAddress_state | String | False |
State or province of the contact's home address. | |
| homeAddress_street | String | False |
Street portion of the contact's home address. | |
| homePhones | String | False |
One or more home phone numbers associated with the contact. | |
| imAddresses | String | False |
Instant messaging (IM) addresses associated with the contact. | |
| initials | String | False |
The contact's initials, typically derived from given and family names. | |
| jobTitle | String | False |
The contact's job title or position within the organization. | |
| manager | String | False |
Name of the contact's manager or supervisor. | |
| middleName | String | False |
The contact's middle name. | |
| mobilePhone | String | False |
Primary mobile phone number for the contact. | |
| nickName | String | False |
Nickname or informal name used for the contact. | |
| officeLocation | String | False |
Location or room number of the contact's office. | |
| otherAddress_city | String | False |
City portion of an alternate address for the contact. | |
| otherAddress_countryOrRegion | String | False |
Country or region of the contact's alternate address. | |
| otherAddress_postalCode | String | False |
Postal code of the contact's alternate address. | |
| otherAddress_state | String | False |
State or province of the contact's alternate address. | |
| otherAddress_street | String | False |
Street portion of the contact's alternate address. | |
| parentFolderId | String | False |
Identifier of the folder that contains the contact. | |
| personalNotes | String | False |
Freeform notes or annotations the user has added about the contact. | |
| profession | String | False |
The contact's profession or area of expertise. | |
| spouseName | String | False |
Name of the contact's spouse or partner. | |
| surname | String | False |
The contact's family name or surname. | |
| title | String | False |
Courtesy title or salutation for the contact such as Mr., Ms., Dr. | |
| yomiCompanyName | String | False |
Phonetic spelling of the contact's company name in Japanese kana. | |
| yomiGivenName | String | False |
Phonetic spelling of the contact's first name in Japanese kana. | |
| yomiSurname | String | False |
Phonetic spelling of the contact's last name in Japanese kana. | |
| UserId [KEY] | String | False |
Identifier for the user to whom the contact belongs. |
Stores threaded conversations from Microsoft 365 Groups, including messages and participants.
The GroupId is required to get group Conversations.
SELECT * FROM Conversations WHERE GroupId = 'your GroupId goes here'
You can also get group Conversations by using the GroupId and the Conversation Id.
SELECT * FROM Conversations WHERE Id = 'conversation Id here' AND GroupId = 'your GroupId goes here'
Specify GroupId, Topic, Content, and NewParticipants to create a new Conversation. NewParticipants is a complex type. Its format is as follows: 'name1, email1; name2, email2'.
INSERT INTO Conversations (GroupId, Topic, Content, NewParticipants) VALUES ('GroupId here', 'This is a test topic.', 'Hi, How Are you?', 'someone, [email protected]')
| Name | Type | ReadOnly | References | Description |
| id [KEY] | String | True |
Unique identifier for the conversation thread. | |
| Etag | String | False |
Entity tag used to detect changes to the conversation since it was last retrieved. | |
| hasAttachments | Bool | False |
Indicates whether any messages in the conversation contain attachments. | |
| lastDeliveredDateTime | Datetime | False |
Timestamp of the most recent message delivered in the conversation. | |
| preview | String | False |
Text snippet providing a short preview of the latest message in the conversation. | |
| topic | String | False |
The subject or topic line associated with the conversation. | |
| uniqueSenders | String | False |
Comma-separated list of unique senders who have contributed to the conversation. Each sender is listed once. For example: [email protected], [email protected]. | |
| GroupId [KEY] | String | False |
Identifier of the Microsoft 365 group associated with the conversation. | |
| Content | String | False |
Full content of the conversation, including messages and attachments where applicable. | |
| NewParticipants | String | False |
Comma-separated list of participants who have joined the conversation since the last message. For example: [email protected], [email protected]. |
Captures core details of calendar events, such as start and end times, locations, organizers, and recurrence rules. Maps dynamically to API fields.
By default, the driver uses the Microsoft Graph alias 'me' for the UserId input to return events for the signed-in user.
To override this, you can specify the UserId in the WHERE clause when returning events:
SELECT * FROM Events WHERE UserId = 'abc123' AND subject LIKE '%test%'
The GroupId can be a calendar type Id or a group Id. For example:
SELECT * FROM Events WHERE GroupId = 'enter your group Id here'
To create a new event, you must specify start_dateTime, start_timeZone, end_dateTime, and end_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 creates your event under the default calendar.
To create a new event using client credentials, you must specify UserId:
INSERT INTO Events (subject, body_content, start_dateTime, start_timeZone, end_dateTime, end_timeZone, UserId) VALUES ('New Test Event', 'Event created using Office365Provider', '2016-01-01T10:00:00', 'UTC', '2016-01-01T11:00:00', 'UTC', '92dfdfc6-f1d4-4965-9f71-30e4da4fa7fe')
Non-primitive collection fields such as attendees must be provided as full JSON aggregates when inserting events:
INSERT INTO Events (
attendees,
subject,
body_content,
start_dateTime,
start_timeZone,
end_dateTime,
end_timeZone,
UserId
)
VALUES (
'[{"emailAddress":{"address":"[email protected]","name":"Existing attendee"},"type":"required"},
{"emailAddress":{"address":"[email protected]","name":"Another New Person"},"type":"optional"}]',
'New Test Event',
'Event created using Office365Provider',
'2025-10-10T10:00:00',
'UTC',
'2025-10-10T11:00:00',
'UTC',
'a9920804-3212-4f9d-aac7-f55c697fa2bc'
);
Non-primitive collection fields such as attendees must be provided as full JSON aggregates when updating events:
UPDATE Events
SET subject = 'Test subject',
attendees = '[{"emailAddress":{"address":"[email protected]","name":"Required attendee"},"type":"required"},
{"emailAddress":{"address":"[email protected]","name":"Another New Person"},"type":"optional"}]'
WHERE Id = 'AAMkADAxN2QyZTIwLTY0YjEtNDZiNy04ZjFhLTU2MzA0ZWNjMGNjYwBGAAAAAADpUZiyrqBVQpCowL_0uo9dBwBhzddEbK9VR5ygMcniqu-UAAAAAAENAABhzddEbK9VR5ygMcniqu-UAACrGWckAAA=';
| Name | Type | ReadOnly | References | Description |
| id [KEY] | String | True |
Unique identifier for the event record. | |
| Etag | String | False |
Entity tag used to identify changes to the event data since it was last retrieved. | |
| categories | String | False |
List of categories assigned to the event for organization or filtering. | |
| changeKey | String | False |
Version key that updates every time the event is changed. | |
| createdDateTime | Datetime | False |
Timestamp indicating when the event was created. | |
| lastModifiedDateTime | Datetime | False |
Timestamp indicating the most recent update to the event. | |
| allowNewTimeProposals | Bool | False |
Indicates whether attendees are allowed to propose a new meeting time. | |
| attendees | String | False |
List of attendees invited to the event. For example: [email protected], [email protected]. | |
| body_content | String | False |
Full message body or description of the event. | |
| body_contentType | String | False |
Format of the body content, such as text or HTML. | |
| bodyPreview | String | False |
Short preview or snippet from the event description. | |
| end_dateTime | Datetime | False |
End time of the event in local time. | |
| end_timeZone | String | False |
Time zone associated with the end time. | |
| hasAttachments | Bool | False |
Indicates whether the event has associated file attachments. | |
| hideAttendees | Bool | False |
True if attendee information is hidden from other participants. | |
| iCalUId | String | False |
Unique identifier used to synchronize the event across calendar systems. | |
| importance | String | False |
Importance level of the event, such as low, normal, or high. | |
| isAllDay | Bool | False |
True if the event spans the entire day without specific start or end times. | |
| isCancelled | Bool | False |
True if the event has been canceled. | |
| isDraft | Bool | False |
True if the event is a draft and has not been finalized. | |
| isOnlineMeeting | Bool | False |
True if the event includes an online meeting component. | |
| isOrganizer | Bool | False |
True if the current user is the organizer of the event. | |
| isReminderOn | Bool | False |
Indicates whether a reminder is enabled for the event. | |
| location_address_city | String | False |
City component of the event's location. | |
| location_address_countryOrRegion | String | False |
Country or region of the event's location. | |
| location_address_postalCode | String | False |
Postal code for the event location. | |
| location_address_state | String | False |
State or province of the event location. | |
| location_address_street | String | False |
Street address where the event takes place. | |
| location_coordinates_accuracy | Double | False |
Precision of the location's geographic coordinates in meters. | |
| location_coordinates_altitude | Double | False |
Altitude of the event location in meters above sea level. | |
| location_coordinates_altitudeAccuracy | Double | False |
Accuracy of the altitude measurement in meters. | |
| location_coordinates_latitude | Double | False |
Latitude coordinate of the event location. | |
| location_coordinates_longitude | Double | False |
Longitude coordinate of the event location. | |
| location_displayName | String | False |
Display name of the event location. | |
| location_locationEmailAddress | String | False |
Email address of the location resource, such as a meeting room. | |
| location_locationType | String | False |
Type of location, such as default, conference room, or home address. | |
| location_locationUri | String | False |
URI or web-based reference for the location, if available. | |
| location_uniqueId | String | False |
Unique identifier for the location object. | |
| location_uniqueIdType | String | False |
Source of the location ID, such as directory or locationStore. | |
| locations | String | False |
List of additional locations for the event. For example: Conference Room A, Main Hall. | |
| onlineMeeting_conferenceId | String | False |
Conference ID used by the online meeting provider. | |
| onlineMeeting_joinUrl | String | False |
Join URL used by participants to access the online meeting. | |
| onlineMeeting_phones | String | False |
Phone numbers available for dial-in access to the online meeting. | |
| onlineMeeting_quickDial | String | False |
Quick dial string that participants can use to join the meeting quickly. | |
| onlineMeeting_tollFreeNumbers | String | False |
Toll-free phone numbers for joining the online meeting. For example: 8001234567, 8887654321. | |
| onlineMeeting_tollNumber | String | False |
Standard toll number for dialing into the online meeting. | |
| onlineMeetingProvider | String | False |
Online meeting provider used for the event, such as Teams or Skype for Business. | |
| onlineMeetingUrl | String | False |
Full URL to the online meeting interface. | |
| organizer_emailAddress_address | String | False |
Email address of the event organizer. | |
| organizer_emailAddress_name | String | False |
Display name of the event organizer. | |
| originalEndTimeZone | String | False |
Time zone that was originally assigned to the event end time. | |
| originalStart | Datetime | False |
Original start time of the event before any changes were made. | |
| originalStartTimeZone | String | False |
Time zone that was originally assigned to the event start time. | |
| recurrence_pattern_dayOfMonth | Int | False |
Day of the month on which the event recurs, for monthly patterns. | |
| recurrence_pattern_daysOfWeek | String | False |
Days of the week when the event recurs. For example: Monday, Wednesday, Friday. | |
| recurrence_pattern_firstDayOfWeek | String | False |
Day considered the start of the week for recurrence calculations. | |
| recurrence_pattern_index | String | False |
Occurrence within the month for weekly patterns, such as first or last. | |
| recurrence_pattern_interval | Int | False |
Interval between recurrences, such as every 2 weeks or every 3 days. | |
| recurrence_pattern_month | Int | False |
Month of the year when the event occurs, used for yearly patterns. | |
| recurrence_pattern_type | String | False |
Pattern type for recurrence, such as daily, weekly, monthly, or yearly. | |
| recurrence_range_endDate | Datetime | False |
Date on which the recurring event ends. | |
| recurrence_range_numberOfOccurrences | Int | False |
Number of times the event is set to occur. | |
| recurrence_range_recurrenceTimeZone | String | False |
Time zone used for the recurrence pattern. | |
| recurrence_range_startDate | Datetime | False |
Start date of the recurrence range. | |
| recurrence_range_type | String | False |
Type of recurrence range, such as endDate, numberOfOccurrences, or noEnd. | |
| reminderMinutesBeforeStart | Int | False |
Number of minutes before the start time when a reminder is triggered. | |
| responseRequested | Bool | False |
True if the organizer has requested attendee responses. | |
| responseStatus_response | String | False |
The current response status from an attendee, such as accepted or declined. | |
| responseStatus_time | Datetime | False |
Timestamp of the attendee's most recent response. | |
| sensitivity | String | False |
Sensitivity level of the event, such as normal, personal, private, or confidential. | |
| seriesMasterId | String | False |
Identifier for the master event in a recurring series. | |
| showAs | String | False |
How the event is displayed on calendars, such as free, busy, or out of office. | |
| start_dateTime | Datetime | False |
Start time of the event in local time. | |
| start_timeZone | String | False |
Time zone associated with the start time. | |
| subject | String | False |
Subject or title of the event. | |
| transactionId | String | False |
Client-defined identifier to detect duplicate event submissions. | |
| type | String | False |
Type of event, such as singleInstance, occurrence, exception, or seriesMaster. | |
| webLink | String | False |
URL that opens the event in a web browser. | |
| UserId | String | False |
Identifier of the user who owns or created the event. | |
| GroupId | String | False |
Identifier of the Microsoft 365 group associated with the event. |
Lists files stored in OneDrive or SharePoint, with metadata including file names, locations, last modified times, and sharing status.
Retrieve files by using the UserId or File Id (Id) for instance, or simply filter by a certain column:
SELECT * FROM Files WHERE UserId = 'MyUserId' SELECT Name, LastModifiedDateTime FROM Files WHERE Name LIKE 'test%'
To work for Folder-level files, we need to specify the parentReference_path in the query.
SELECT * FROM files WHERE parentReference_path = '/drives/b!3LIvU2zISEqicGlWkgVknKxKT-q7gM5IqlBJ4w4MZqaX6BQc_vtwQpnqaldXkH9I/root:/Test_Shubham';
INSERT operation is not supported for this table.
Note: See UploadFile (or CreateFolder to create a folder) to insert and update content to a file.
| Name | Type | ReadOnly | References | Description |
| id [KEY] | String | True |
Unique identifier for the file object. | |
| Etag | String | False |
Entity tag representing the version of the file for concurrency control. | |
| createdBy_application_displayName | String | False |
Display name of the application that created the file. | |
| createdBy_application_id | String | False |
Identifier of the application that created the file. | |
| createdDateTime | Datetime | False |
Timestamp indicating when the file was created. | |
| description | String | False |
User-defined or system-generated description of the file. | |
| lastModifiedBy_application_displayName | String | False |
Display name of the application that last modified the file. | |
| lastModifiedBy_application_id | String | False |
Identifier of the application that last modified the file. | |
| lastModifiedDateTime | Datetime | False |
Timestamp indicating the last modification time of the file. | |
| name | String | False |
Name of the file. | |
| parentReference_driveId | String | False |
Drive ID of the parent folder that contains the file. | |
| parentReference_driveType | String | False |
Type of drive (for example, personal, business, or document library) where the file resides. | |
| parentReference_id | String | False |
ID of the parent folder or drive reference. | |
| parentReference_name | String | False |
Name of the parent folder containing the file. | |
| parentReference_path | String | False |
Path from the drive root to the parent folder. | |
| parentReference_shareId | String | False |
Sharing ID associated with the parent reference. | |
| parentReference_sharepointIds_listId | String | False |
SharePoint list ID linked to the parent reference. | |
| parentReference_sharepointIds_listItemId | String | False |
List item ID in SharePoint for the parent reference. | |
| parentReference_sharepointIds_listItemUniqueId | String | False |
Unique ID of the list item in SharePoint for the parent reference. | |
| parentReference_sharepointIds_siteId | String | False |
Site ID in SharePoint associated with the parent reference. | |
| parentReference_sharepointIds_siteUrl | String | False |
URL of the SharePoint site related to the parent reference. | |
| parentReference_sharepointIds_tenantId | String | False |
Tenant ID for the SharePoint environment of the parent reference. | |
| parentReference_sharepointIds_webId | String | False |
Web ID in SharePoint for the parent reference. | |
| parentReference_siteId | String | False |
Site ID associated with the file's parent location. | |
| webUrl | String | False |
Web-accessible URL pointing to the file. | |
| audio_album | String | False |
Album title associated with the audio file. | |
| audio_albumArtist | String | False |
Primary artist for the album associated with the audio file. | |
| audio_artist | String | False |
Artist of the audio file. | |
| audio_bitrate | Long | False |
Bitrate of the audio content in bits per second. | |
| audio_composers | String | False |
List of composers for the audio content. | |
| audio_copyright | String | False |
Copyright statement for the audio file. | |
| audio_disc | Int | False |
Disc number for multi-disc audio content. | |
| audio_discCount | Int | False |
Total number of discs in the album. | |
| audio_duration | Long | False |
Duration of the audio content in milliseconds. | |
| audio_genre | String | False |
Genre of the audio content. | |
| audio_hasDrm | Bool | False |
Indicates whether the audio file is protected by digital rights management. | |
| audio_isVariableBitrate | Bool | False |
Indicates whether the audio file uses variable bitrate encoding. | |
| audio_title | String | False |
Title of the audio track. | |
| audio_track | Int | False |
Track number of the audio file within the album. | |
| audio_trackCount | Int | False |
Total number of tracks in the album. | |
| audio_year | Int | False |
Year the audio track was released. | |
| content | String | False |
File contents in raw or encoded format. | |
| cTag | String | False |
Client tag used for managing file changes and synchronization. | |
| deleted_state | String | False |
Indicates the deletion state of the file, such as deleted or notDeleted. | |
| file_hashes_crc32Hash | String | False |
CRC32 hash value used to validate file content integrity. | |
| file_hashes_quickXorHash | String | False |
QuickXorHash used for content comparison and validation. | |
| file_hashes_sha1Hash | String | False |
SHA-1 hash of the file contents. | |
| file_hashes_sha256Hash | String | False |
SHA-256 hash of the file contents. | |
| file_mimeType | String | False |
MIME type indicating the file format, such as text/plain or application/pdf. | |
| file_processingMetadata | Bool | False |
Indicates whether metadata processing is complete for the file. | |
| fileSystemInfo_createdDateTime | Datetime | False |
Creation timestamp of the file from the file system. | |
| fileSystemInfo_lastAccessedDateTime | Datetime | False |
Last accessed timestamp recorded by the file system. | |
| fileSystemInfo_lastModifiedDateTime | Datetime | False |
Last modified timestamp recorded by the file system. | |
| folder_childCount | Int | False |
Number of child items within the folder. | |
| folder_view_sortBy | String | False |
Default column used to sort items in the folder view. | |
| folder_view_sortOrder | String | False |
Sort order (ascending or descending) used in the folder view. | |
| folder_view_viewType | String | False |
Type of folder view, such as details or thumbnails. | |
| image_height | Int | False |
Height of the image in pixels. | |
| image_width | Int | False |
Width of the image in pixels. | |
| location_altitude | Double | False |
Altitude where the image or file was captured, in meters. | |
| location_latitude | Double | False |
Latitude coordinate where the file or photo was created. | |
| location_longitude | Double | False |
Longitude coordinate where the file or photo was created. | |
| package_type | String | False |
Type of file package, such as oneNote or PDFPackage. | |
| pendingOperations_pendingContentUpdate_queuedDateTime | Datetime | False |
Timestamp when a pending content update was queued. | |
| photo_cameraMake | String | False |
Manufacturer of the camera used to take the photo. | |
| photo_cameraModel | String | False |
Model of the camera used to take the photo. | |
| photo_exposureDenominator | Double | False |
Denominator value for the exposure time used in the photo. | |
| photo_exposureNumerator | Double | False |
Numerator value for the exposure time used in the photo. | |
| photo_fNumber | Double | False |
F-number indicating the aperture setting of the camera. | |
| photo_focalLength | Double | False |
Focal length of the camera lens in millimeters. | |
| photo_iso | Int | False |
ISO setting used when the photo was taken. | |
| photo_orientation | Int | False |
Orientation value of the photo, indicating how it was rotated when taken. | |
| photo_takenDateTime | Datetime | False |
Timestamp when the photo was captured. | |
| publication_level | String | False |
Indicates the publication level, such as draft or published. | |
| publication_versionId | String | False |
Version ID of the published file. | |
| remoteItem_createdBy_application_displayName | String | False |
Display name of the application that originally created the remote item. | |
| remoteItem_createdBy_application_id | String | False |
Identifier of the application that created the remote item. | |
| remoteItem_createdDateTime | Datetime | False |
Timestamp when the remote item was created. | |
| remoteItem_file_hashes_crc32Hash | String | False |
CRC32 hash of the remote file used to verify data integrity. | |
| remoteItem_file_hashes_quickXorHash | String | False |
QuickXorHash of the remote file for efficient content comparison. | |
| remoteItem_file_hashes_sha1Hash | String | False |
SHA-1 hash of the remote file content. | |
| remoteItem_file_hashes_sha256Hash | String | False |
SHA-256 hash of the remote file content. | |
| remoteItem_file_mimeType | String | False |
MIME type of the remote file, identifying its format. | |
| remoteItem_file_processingMetadata | Bool | False |
Indicates whether metadata processing is complete for the remote file. | |
| remoteItem_fileSystemInfo_createdDateTime | Datetime | False |
Timestamp of when the remote file was created in the file system. | |
| remoteItem_fileSystemInfo_lastAccessedDateTime | Datetime | False |
Timestamp of when the remote file was last accessed. | |
| remoteItem_fileSystemInfo_lastModifiedDateTime | Datetime | False |
Timestamp of when the remote file was last modified. | |
| remoteItem_folder_childCount | Int | False |
Number of child items in the remote folder. | |
| remoteItem_folder_view_sortBy | String | False |
Field used to sort child items in the remote folder view. | |
| remoteItem_folder_view_sortOrder | String | False |
Sort order used in the remote folder view (ascending or descending). | |
| remoteItem_folder_view_viewType | String | False |
Type of view used for the remote folder, such as list or grid. | |
| remoteItem_id | String | False |
Unique identifier for the remote item. | |
| remoteItem_image_height | Int | False |
Height of the remote image in pixels. | |
| remoteItem_image_width | Int | False |
Width of the remote image in pixels. | |
| remoteItem_lastModifiedDateTime | Datetime | False |
Timestamp indicating when the remote item was last modified. | |
| remoteItem_name | String | False |
Name of the remote item. | |
| remoteItem_package_type | String | False |
Package type of the remote item, such as oneNote or PDFPackage. | |
| remoteItem_parentReference_driveId | String | False |
Drive ID of the parent folder of the remote item. | |
| remoteItem_parentReference_driveType | String | False |
Type of drive containing the remote item. | |
| remoteItem_parentReference_id | String | False |
Identifier of the remote item's parent folder. | |
| remoteItem_parentReference_name | String | False |
Name of the folder containing the remote item. | |
| remoteItem_parentReference_path | String | False |
Full path from the drive root to the remote item's parent. | |
| remoteItem_parentReference_shareId | String | False |
Share ID associated with the parent of the remote item. | |
| remoteItem_parentReference_sharepointIds_listId | String | False |
SharePoint list ID associated with the remote item's parent. | |
| remoteItem_parentReference_sharepointIds_listItemId | String | False |
SharePoint list item ID for the remote item's parent. | |
| remoteItem_parentReference_sharepointIds_listItemUniqueId | String | False |
Unique ID of the SharePoint list item for the remote item's parent. | |
| remoteItem_parentReference_sharepointIds_siteId | String | False |
SharePoint site ID associated with the parent of the remote item. | |
| remoteItem_parentReference_sharepointIds_siteUrl | String | False |
SharePoint site URL associated with the remote item's parent. | |
| remoteItem_parentReference_sharepointIds_tenantId | String | False |
Tenant ID of the SharePoint site for the remote item's parent. | |
| remoteItem_parentReference_sharepointIds_webId | String | False |
Web ID of the SharePoint site for the remote item's parent. | |
| remoteItem_parentReference_siteId | String | False |
Site ID where the remote item's parent folder is located. | |
| remoteItem_shared_scope | String | False |
Scope of sharing for the remote item, such as users or organization. | |
| remoteItem_shared_sharedDateTime | Datetime | False |
Timestamp when the remote item was shared. | |
| remoteItem_size | Long | False |
Size of the remote item in bytes. | |
| remoteItem_specialFolder_name | String | False |
Name of the special folder associated with the remote item, such as documents or photos. | |
| remoteItem_video_audioBitsPerSample | Int | False |
Bit depth per audio sample in the remote video file. | |
| remoteItem_video_audioChannels | Int | False |
Number of audio channels in the remote video file. | |
| remoteItem_video_audioSamplesPerSecond | Int | False |
Audio sample rate in samples per second for the remote video. | |
| remoteItem_video_bitrate | Int | False |
Bitrate of the remote video content in bits per second. | |
| remoteItem_video_duration | Long | False |
Duration of the remote video in milliseconds. | |
| remoteItem_video_fourCC | String | False |
Four-character code (FourCC) identifying the video codec of the remote video. | |
| remoteItem_video_frameRate | Double | False |
Frame rate of the remote video in frames per second. | |
| remoteItem_video_height | Int | False |
Height of the remote video in pixels. | |
| remoteItem_video_width | Int | False |
Width of the remote video in pixels. | |
| remoteItem_webDavUrl | String | False |
WebDAV URL that provides remote access to the item. | |
| remoteItem_webUrl | String | False |
Publicly accessible web URL of the remote item. | |
| searchResult_onClickTelemetryUrl | String | False |
URL used to collect telemetry when a search result is clicked. | |
| shared_owner_application_displayName | String | False |
Display name of the application that owns the shared item. | |
| shared_owner_application_id | String | False |
Identifier of the application that owns the shared item. | |
| shared_scope | String | False |
Scope of the sharing, such as anonymous or organization. | |
| shared_sharedDateTime | Datetime | False |
Timestamp indicating when the item was shared. | |
| sharepointIds_listId | String | False |
SharePoint list ID associated with the item. | |
| sharepointIds_listItemId | String | False |
List item ID within the SharePoint list. | |
| sharepointIds_listItemUniqueId | String | False |
Globally unique identifier of the SharePoint list item. | |
| sharepointIds_siteId | String | False |
SharePoint site ID where the item resides. | |
| sharepointIds_siteUrl | String | False |
URL of the SharePoint site containing the item. | |
| sharepointIds_tenantId | String | False |
Tenant ID of the SharePoint organization. | |
| sharepointIds_webId | String | False |
Web ID of the SharePoint site. | |
| size | Long | False |
Total size of the file in bytes. | |
| specialFolder_name | String | False |
Type of special folder, such as documents or photos, associated with the item. | |
| video_audioBitsPerSample | Int | False |
Number of bits per audio sample in the video file. | |
| video_audioChannels | Int | False |
Number of audio channels in the video. | |
| video_audioFormat | String | False |
Format of the audio stream embedded in the video. | |
| video_audioSamplesPerSecond | Int | False |
Sampling rate of the audio stream in samples per second. | |
| video_bitrate | Int | False |
Bitrate of the video content in bits per second. | |
| video_duration | Long | False |
Total duration of the video in milliseconds. | |
| video_fourCC | String | False |
FourCC representing the video codec. | |
| video_frameRate | Double | False |
Video frame rate measured in frames per second. | |
| video_height | Int | False |
Vertical resolution of the video in pixels. | |
| video_width | Int | False |
Horizontal resolution of the video in pixels. | |
| webDavUrl | String | False |
WebDAV endpoint URL to access the file remotely. | |
| UserId | String | False |
Identifier of the user who owns or uploaded the file. |
Includes metadata about Microsoft 365 Groups, such as group names, descriptions, email aliases, and visibility settings.
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. See Creating an Entra ID (Azure AD) Application for more details on creating a custom app.
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 DisplayName = '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 | References | Description |
| id [KEY] | String | True |
Globally Unique Identifier (GUID) for the Microsoft 365 group. | |
| Etag | String | False |
Entity tag value used for optimistic concurrency checks on the group record. | |
| deletedDateTime | Datetime | False |
Date and time when the group was soft deleted. Null if the group is active. | |
| allowExternalSenders | Bool | False |
Indicates whether people outside the organization can send email to the group. | |
| assignedLabels | String | False |
Sensitivity labels currently applied to the group, stored in JSON format. | |
| assignedLicenses | String | False |
List of Azure Active Directory license SKUs that have been assigned to the group. | |
| autoSubscribeNewMembers | Bool | False |
Indicates whether any new member added to the group is automatically subscribed to receive email conversations. | |
| classification | String | False |
Data classification label, such as Public or Confidential, that the organization has applied to the group. | |
| createdDateTime | Datetime | False |
Timestamp indicating when the group was created. | |
| description | String | False |
Optional text describing the group's purpose or intended use. | |
| displayName | String | False |
Friendly display name for the group as shown in address books. | |
| expirationDateTime | Datetime | False |
Date and time when the group expires and is deleted if it is not renewed. | |
| groupTypes | String | False |
Collection that defines the group type. Accepted values are Unified for Microsoft 365 groups, DynamicMembership for dynamic groups. | |
| hasMembersWithLicenseErrors | Bool | False |
Indicates whether any group members have license assignment errors. | |
| hideFromAddressLists | Bool | False |
Indicates whether the group is hidden from the global address list. | |
| hideFromOutlookClients | Bool | False |
Indicates whether the group does not appear in Outlook clients. | |
| isArchived | Bool | False |
Indicates whether the group has been archived in Microsoft Teams. | |
| isSubscribedByMail | Bool | False |
Indicates whether the current user is subscribed to receive email for this group. | |
| licenseProcessingState_state | String | False |
Current status of processing group-based license assignments, such as InProgress or Completed. | |
| String | False |
Primary SMTP address of the group. | ||
| mailEnabled | Bool | False |
Indicates whether the group is configured to receive mail. Combined with securityEnabled determines group category. | |
| mailNickname | String | False |
Alias for the group that is unique within the organization and forms the local part of its email address. | |
| membershipRule | String | False |
Rule expression that defines the dynamic group membership, written in Azure Active Directory rule syntax. | |
| membershipRuleProcessingState | String | False |
Processing state of the dynamic membership rule, such as On or Paused. | |
| onPremisesDomainName | String | False |
Domain name where the corresponding on-premises group is located. | |
| onPremisesLastSyncDateTime | Datetime | False |
Timestamp when the group was last synchronized from the on-premises directory. | |
| onPremisesNetBiosName | String | False |
NetBIOS name of the on-premises domain for the group. | |
| onPremisesProvisioningErrors | String | False |
Collection of errors encountered during on-premises synchronization provisioning. | |
| onPremisesSamAccountName | String | False |
Security Account Manager (SAM) account name of the on-premises group. | |
| onPremisesSecurityIdentifier | String | False |
On-premises security identifier (SID) that maps to the cloud group. | |
| onPremisesSyncEnabled | Bool | False |
Indicates whether the group continues to be synchronized from the on-premises directory. | |
| preferredDataLocation | String | False |
Azure geography where the group's SharePoint and OneDrive data is stored. | |
| preferredLanguage | String | False |
Default language tag, for example en-US, used in group communications. | |
| proxyAddresses | String | False |
Set of proxy email addresses assigned to the group, such as SMTP:[email protected], sip:[email protected]. | |
| renewedDateTime | Datetime | False |
Timestamp when the group was last renewed through lifecycle policy. | |
| securityEnabled | Bool | False |
Indicates whether the group is security-enabled. When true and mailEnabled is also true, the group is a mail-enabled security group. | |
| securityIdentifier | String | False |
SID assigned to the group in Azure Active Directory. | |
| theme | String | False |
Custom theme identifier applied to the group in SharePoint or Teams. | |
| unseenCount | Int | False |
Number of group posts that the current user has not yet read. | |
| visibility | String | False |
Defines who can see the group. Possible values are Private, Public, HiddenMembership, or empty (interpreted as Public). |
Contains email messages from user mailboxes, including subjects, senders, timestamps, and read status.
You can retrieve all from Messages, specify a Message (Id), UserId, or ParentFolderId, or you can filter results by a certain column:
SELECT * FROM Messages WHERE Id = 'MyMessageId' SELECT * FROM Messages WHERE UserId = 'MyUserId' SELECT * FROM Messages WHERE ParentFolderId = 'MyParentfolderId' SELECT * FROM Messages WHERE ParentFolderId = 'Drafts' SELECT DisplayName, Id FROM Users WHERE DisplayName LIKE 'John%'
After the INSERT, a new Message will be created in the User's Drafts folder.
INSERT INTO Messages (Subject, Body_Content, UserId) VALUES ('New test Email', 'Test Email created.', 'User Id goes here')
Note: To send the mail, see SendMail.
To update a message:
UPDATE Messages SET Subject = 'Email Updated', Body_Content = 'New Body Content' WHERE Id = 'MyMessageId'
If you are executing an INSERT or UPDATE and your message has HTML in its body_content, you must set body_contentType to 'html'.
UPDATE Messages SET body_content = '<my html document>', body_contentType = 'html'
If you don't set body_contentType to 'html', the HTML content of the message (such as elements and tags) will be visible in the body of the resulting email as plaintext instead of being processed as HTML.
This table may return an inconsistent number of results. That is, it can return a number of rows for one query and a different numbers of rows in subsequent queries, even when your messages remain unchanged. This means that some messages may be missing when querying this table.
This is a known bug in the Microsoft Graph API.
There is a workaround that allows the Cloud to retrieve all messages, but it comes with a tradeoff: 'events' and 'contacts' data will be returned along with 'messages' data. When using this workaround, you must use filtering to distinguish between message and non-message rows.
To enable this workaround, add "ClientSidePaging=true;" (without quotation marks) in the value of the Other connection property.
| Name | Type | ReadOnly | References | Description |
| id [KEY] | String | True |
Unique identifier for the message. | |
| Etag | String | False |
Entity tag representing the version of the message, used for concurrency control. | |
| categories | String | False |
List of categories assigned to the message, such as Red Category or Blue Category. | |
| changeKey | String | False |
Version-specific identifier that changes whenever the message is updated. | |
| createdDateTime | Datetime | False |
Timestamp indicating when the message was created in the mailbox. | |
| lastModifiedDateTime | Datetime | False |
Timestamp of the last modification to the message. | |
| bccRecipients | String | False |
Collection of recipients who received the message as BCC. | |
| body_content | String | False |
HTML or plain text content of the message body. | |
| body_contentType | String | False |
Specifies whether the message body content is in HTML or plain text format. | |
| bodyPreview | String | False |
Text preview of the message body, typically the first few lines. | |
| ccRecipients | String | False |
Collection of recipients who received the message as CC. | |
| conversationId | String | False |
Identifier that groups related messages into the same conversation thread. | |
| conversationIndex | Binary | False |
Binary value used to sort and order messages within the same conversation. | |
| flag_completedDateTime_dateTime | Datetime | False |
Timestamp marking when the follow-up flag was completed. | |
| flag_completedDateTime_timeZone | String | False |
Time zone associated with the flag completion date and time. | |
| flag_flagStatus | String | False |
Status of the follow-up flag, such as notFlagged, complete, or flagged. | |
| from_emailAddress_address | String | False |
Email address of the sender shown in the From field. | |
| from_emailAddress_name | String | False |
Display name of the sender shown in the From field. | |
| hasAttachments | Bool | False |
Indicates whether the message includes one or more file attachments. | |
| importance | String | False |
Priority level of the message: Low, Normal, or High. | |
| inferenceClassification | String | False |
Specifies if the message was classified as focused or other by the inbox rule system. | |
| internetMessageHeaders | String | False |
Raw internet headers of the email message, such as MIME-Version, From, To, and Received. | |
| internetMessageId | String | False |
Globally unique identifier assigned by the sending mail server. | |
| isDeliveryReceiptRequested | Bool | False |
Indicates whether a delivery receipt was requested for the message. | |
| isDraft | Bool | False |
Indicates whether the message has been saved as a draft and not yet sent. | |
| isRead | Bool | False |
Indicates whether the message has been read by the user. | |
| isReadReceiptRequested | Bool | False |
Indicates whether a read receipt was requested for the message. | |
| parentFolderId | String | False |
Identifier of the folder that contains the message. | |
| receivedDateTime | Datetime | False |
Timestamp when the message was received by the mailbox. | |
| replyTo | String | False |
Collection of addresses that replies should be sent to, overriding the From address. | |
| sender_emailAddress_address | String | False |
Email address of the actual sender of the message. | |
| sender_emailAddress_name | String | False |
Display name of the actual sender of the message. | |
| sentDateTime | Datetime | False |
Timestamp when the message was sent. | |
| subject | String | False |
Subject line of the message as entered by the sender. | |
| toRecipients | String | False |
Collection of recipients in the To field of the message. | |
| uniqueBody_content | String | False |
Message body content that excludes previous replies or forwards. | |
| uniqueBody_contentType | String | False |
Specifies the format of the unique body content: HTML or plain text. | |
| webLink | String | False |
URL to open the message directly in Outlook on the web. | |
| UserId | String | False |
Identifier of the user who owns or sent the message. | |
| IsEventMessage | Bool | False |
Indicates whether the message is a calendar invitation or event-related message. |
Lists individual tasks from Microsoft To Do or Planner, with details like titles, due dates, and completion status.
Tasks requires the Groups and Tasks permissions from the Microsoft Graph. For this reason, you must create your own OAuth App. Please see Creating an Entra ID (Azure AD) Application for more details.
By default, if no criteria is specified, only Tasks personally assigned to you will show up. For example:
SELECT * FROM Tasks
To bring back tasks across the organization, provide the specific plans ids, or use a subselect for the plan id. For example:
SELECT * FROM Tasks WHERE PlanId IN (SELECT Id FROM Plans)
To insert a Task, the associated plan must be specified:
INSERT INTO Tasks (Title, PlanId) VALUES ('My Title', '99999999-eeeeeeeee')
To update a Task, both the Id and Etag must be specified:
UPDATE Tasks SET Title = 'New Title' WHERE Id = 'xxxxxx-AAAAAAAAAAA' AND Etag = 'W/\"XXXXXXQEBAQEBAQEBAQEBAQEBARCc=\"'
To delete a Task, both the Id and Etag must be specified:
DELETE FROM Tasks WHERE Id = 'xxxxxx-AAAAAAAAAAA' AND Etag = 'W/\"XXXXXXQEBAQEBAQEBAQEBAQEBARCc=\"'
| Name | Type | ReadOnly | References | Description |
| activeChecklistItemCount | Int | False |
Number of checklist items that are not yet completed in the task. | |
| appliedCategories | String | False |
Set of category labels applied to the task, such as category1, category2, category3. | |
| assigneePriority | String | False |
Priority value used to determine task assignment order among multiple users. | |
| assignments | String | False |
List of user assignments for the task, including details like assignment status and assigned time. | |
| bucketId | String | False |
Identifier of the bucket within the plan where the task is located. | |
| checklistItemCount | Int | False |
Total number of checklist items associated with the task. | |
| completedBy_application_displayName | String | False |
Display name of the application that marked the task as completed. | |
| completedBy_application_id | String | False |
Identifier of the application that marked the task as completed. | |
| completedDateTime | Datetime | False |
Timestamp indicating when the task was marked as completed. | |
| conversationThreadId | String | False |
Identifier of the conversation thread associated with the task in Microsoft 365 Groups. | |
| createdBy_application_displayName | String | False |
Display name of the application that created the task. | |
| createdBy_application_id | String | False |
Identifier of the application that created the task. | |
| createdDateTime | Datetime | False |
Timestamp when the task was created. | |
| dueDateTime | Datetime | False |
Date and time when the task is due. | |
| hasDescription | Bool | False |
Indicates whether the task has a non-empty description. | |
| orderHint | String | False |
Ordering hint used to determine the position of the task within the bucket. | |
| percentComplete | Int | False |
Percentage of the task that is completed, typically between 0 and 100. | |
| planId | String | False |
Identifier of the plan to which the task belongs. | |
| previewType | String | False |
Specifies how the task preview is rendered in the UI. Possible values include automatic, checklist, description, reference. | |
| priority | Int | False |
Numeric value representing the priority of the task. Lower values indicate higher priority. | |
| referenceCount | Int | False |
Number of external references or linked resources associated with the task. | |
| startDateTime | Datetime | False |
Date and time when work on the task is scheduled to start. | |
| title | String | False |
Title or name of the task. | |
| Etag | String | False |
Entity tag used to track the version of the task for concurrency control. | |
| Id [KEY] | String | False |
Unique identifier of the task. |
Supports reading, creating, updating, and deleting Office365 user accounts. Includes profile and licensing details.
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 | References | Description |
| id [KEY] | String | True |
Globally Unique Identifier (GUID) assigned to the user object in Azure Active Directory. | |
| deletedDateTime | Datetime | False |
Timestamp when the user was soft deleted from the directory; null if the account is active. | |
| accountEnabled | Bool | False |
Indicates whether the account is enabled for sign-in and Azure AD authentication. | |
| businessPhones | String | False |
Comma-separated list of business phone numbers for the user, in E.164 or in local format, for example +1 4255550100, +1 4255550120. | |
| city | String | False |
City portion of the user's physical address. | |
| companyName | String | False |
Name of the company or organization where the user works. | |
| country | String | False |
Country or region listed in the user's address. | |
| createdDateTime | Datetime | False |
Timestamp when the user account was created in Azure Active Directory. | |
| department | String | False |
Department or organizational unit the user belongs to. | |
| displayName | String | False |
Full display name for the user, shown in address books and Teams. | |
| employeeHireDate | Datetime | False |
Date when the employee was hired, according to human resources records. | |
| employeeId | String | False |
Employee identifier used by payroll or HR systems. | |
| employeeLeaveDateTime | Datetime | False |
Date and time when the employee left the organization; null if still employed. | |
| employeeOrgData_costCenter | String | False |
Cost center code associated with the user for financial tracking. | |
| employeeOrgData_division | String | False |
Division name within the organization associated with the user. | |
| employeeType | String | False |
Classification of employment, such as Employee, Contractor, or Vendor. | |
| givenName | String | False |
User's given name (first name). | |
| identities | String | False |
Collection of sign-in identities for the user, each with issuer, issuerAssignedId, and signInType. | |
| imAddresses | String | False |
Comma-separated list of instant messaging addresses for the user, for example sip:[email protected], sip:[email protected]. | |
| isResourceAccount | Bool | False |
Indicates whether this account represents a resource such as a room or equipment mailbox. | |
| jobTitle | String | False |
Job title of the user, such as Senior Analyst. | |
| lastPasswordChangeDateTime | Datetime | False |
Most recent date and time when the user changed their password. | |
| String | False |
Primary SMTP email address for the user. | ||
| mailNickname | String | False |
Alias used to generate the user's email address; must be unique within the tenant. | |
| mobilePhone | String | False |
Mobile phone number for the user, stored in E.164 format where possible. | |
| officeLocation | String | False |
Office location, room number, or desk identifier for the user. | |
| onPremisesDistinguishedName | String | False |
Distinguished name (DN) of the on-premises Active Directory object mapped to the user. | |
| onPremisesDomainName | String | False |
Domain name of the on-premises Active Directory forest where the user originates. | |
| onPremisesExtensionAttributes_extensionAttribute1 | String | False |
Custom extension attribute 1 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute10 | String | False |
Custom extension attribute 10 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute11 | String | False |
Custom extension attribute 11 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute12 | String | False |
Custom extension attribute 12 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute13 | String | False |
Custom extension attribute 13 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute14 | String | False |
Custom extension attribute 14 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute15 | String | False |
Custom extension attribute 15 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute2 | String | False |
Custom extension attribute 2 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute3 | String | False |
Custom extension attribute 3 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute4 | String | False |
Custom extension attribute 4 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute5 | String | False |
Custom extension attribute 5 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute6 | String | False |
Custom extension attribute 6 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute7 | String | False |
Custom extension attribute 7 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute8 | String | False |
Custom extension attribute 8 replicated from on-premises Active Directory. | |
| onPremisesExtensionAttributes_extensionAttribute9 | String | False |
Custom extension attribute 9 replicated from on-premises Active Directory. | |
| onPremisesImmutableId | String | False |
Immutable identifier used to map the cloud user to an on-premises Active Directory object. | |
| onPremisesLastSyncDateTime | Datetime | False |
Timestamp of the most recent synchronization from on-premises Active Directory. | |
| onPremisesProvisioningErrors | String | False |
List of provisioning errors returned during directory synchronization. | |
| onPremisesSamAccountName | String | False |
SAMAccountName from on-premises Active Directory, used for legacy authentication. | |
| onPremisesSecurityIdentifier | String | False |
Security identifier (SID) assigned to the on-premises object. | |
| onPremisesSyncEnabled | Bool | False |
Indicates whether the object continues to synchronize from on-premises Active Directory. | |
| onPremisesUserPrincipalName | String | False |
User principal name (UPN) of the on-premises object. | |
| otherMails | String | False |
Comma-separated collection of additional SMTP addresses associated with the user, such as [email protected], [email protected]. | |
| passwordProfile_forceChangePasswordNextSignIn | Bool | False |
Indicates whether the user must change password at the next sign-in. | |
| passwordProfile_forceChangePasswordNextSignInWithMfa | Bool | False |
Indicates whether the user must change password at next sign-in and complete multifactor authentication. | |
| passwordProfile_password | String | False |
Write-only initial password set for the user during creation or reset. | |
| postalCode | String | False |
Postal or ZIP code portion of the user's address. | |
| preferredLanguage | String | False |
Preferred language for the user, expressed as an ISO language tag such as en-US. | |
| securityIdentifier | String | False |
SID assigned to the user in Azure Active Directory. | |
| state | String | False |
State or province portion of the user's physical address. | |
| streetAddress | String | False |
Street name, number, and unit for the user's physical address. | |
| surname | String | False |
User's family name (last name). | |
| userPrincipalName | String | False |
Principal name the user uses to sign in, typically of the form [email protected]. | |
| userType | String | False |
Identifies the type of user: Member for internal users, Guest for external users invited to the tenant. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| CalendarView | Returns a filtered list of calendar events such as occurrences, exceptions, and single instances, within a specified time range from a user's calendar. |
| EventAttachments | Displays attachments related to calendar events, including file metadata and associated event identifiers. |
| EventOccurrences | Provides a flattened view of recurring event instances, enabling analysis of each occurrence individually. |
| MessageAttachments | Retrieves email message attachments with metadata like attachment names, sizes, and parent message IDs. |
| Plans | Displays task plan data from Microsoft Planner, including plan names, owners, and associated group IDs. |
Returns a filtered list of calendar events such as occurrences, exceptions, and single instances, within a specified time range from a user's calendar.
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 will be returned. You can filter results by CalendarId, UserId, Start_DateTime, End_DateTime.
For example the following queries will be 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='
SELECT * FROM CalendarView WHERE CalendarId = 'AQMkAGRlMWQ5MDg0LWI5ZTQtNDk2Yi1hOTQ1LTU4YzFmMzEwZjlhMgBGAAAD-FjxR3cIwE6TEGSCVtIHcwcAQyR2Iw3coEOaUD1BLt0tnAAAAwcAAABDJHYjDdygQ5pQPUEu3S2cAAACC_IAAAA=' AND UserId = 'a98f25b5-5da1-4937-8729-c0d03026caa0' AND Start_DateTime >= '2019-12-15 08:00' AND End_DateTime <= '2020-01-14 08:00'
| Name | Type | References | Description |
| id [KEY] | String | Unique identifier for the calendar event. | |
| Etag | String | Entity tag used to identify changes to the event object. | |
| categories | String | List of user-defined categories associated with the event. | |
| changeKey | String | Version key for the event, used to track updates. | |
| createdDateTime | Datetime | Timestamp indicating when the event was created. | |
| lastModifiedDateTime | Datetime | Timestamp indicating the last time the event was updated. | |
| allowNewTimeProposals | Bool | Indicates whether attendees can suggest new meeting times. | |
| attendees | String | List of people invited to the event, including required and optional attendees. | |
| body_content | String | Main content of the event body. | |
| body_contentType | String | Type of the content in the event body, such as HTML or plain text. | |
| bodyPreview | String | Short preview of the event body content. | |
| end_dateTime | Datetime | Date and time when the event ends. | |
| end_timeZone | String | Time zone of the event end time. | |
| hasAttachments | Bool | Indicates whether the event includes file attachments. | |
| hideAttendees | Bool | Indicates whether attendee details are hidden from others. | |
| iCalUId | String | Unique iCalendar identifier used across systems. | |
| importance | String | Importance level of the event such as low, normal, or high. | |
| isAllDay | Bool | Specifies whether the event is an all-day event. | |
| isCancelled | Bool | Indicates whether the event has been canceled. | |
| isDraft | Bool | Indicates whether the event is in draft status. | |
| isOnlineMeeting | Bool | Specifies whether the event is an online meeting. | |
| isOrganizer | Bool | Indicates whether the current user is the organizer of the event. | |
| isReminderOn | Bool | Indicates whether a reminder is set for the event. | |
| location_address_city | String | City where the event location is situated. | |
| location_address_countryOrRegion | String | Country or region of the event location. | |
| location_address_postalCode | String | Postal code of the event location. | |
| location_address_state | String | State or province of the event location. | |
| location_address_street | String | Street address of the event location. | |
| location_coordinates_accuracy | Double | Accuracy of the provided coordinates in meters. | |
| location_coordinates_altitude | Double | Altitude of the event location in meters. | |
| location_coordinates_altitudeAccuracy | Double | Accuracy of the altitude value in meters. | |
| location_coordinates_latitude | Double | Latitude of the event location. | |
| location_coordinates_longitude | Double | Longitude of the event location. | |
| location_displayName | String | Display name for the location of the event. | |
| location_locationEmailAddress | String | Email address associated with the location, if available. | |
| location_locationType | String | Type of location, such as default, conference room, or custom. | |
| location_locationUri | String | URI that uniquely identifies the location resource. | |
| location_uniqueId | String | Unique identifier for the location object. | |
| location_uniqueIdType | String | Specifies the format of the unique location ID. | |
| locations | String | List of all locations associated with the event. | |
| onlineMeeting_conferenceId | String | Conference ID provided by the online meeting provider. | |
| onlineMeeting_joinUrl | String | URL used by attendees to join the online meeting. | |
| onlineMeeting_phones | String | List of phone numbers that can be used to dial into the meeting. | |
| onlineMeeting_quickDial | String | Preformatted string for one-tap mobile dialing into the meeting. | |
| onlineMeeting_tollFreeNumbers | String | Toll-free numbers attendees can use to join. Values are comma-separated with 1 space after each comma. | |
| onlineMeeting_tollNumber | String | Primary toll number attendees can use to join the meeting. | |
| onlineMeetingProvider | String | Name of the service provider hosting the online meeting, such as Skype. | |
| onlineMeetingUrl | String | URL that opens the full online meeting experience in a browser. | |
| organizer_emailAddress_address | String | Email address of the meeting organizer. | |
| organizer_emailAddress_name | String | Display name of the person organizing the meeting. | |
| originalEndTimeZone | String | Time zone in which the event was originally set to end. | |
| originalStart | Datetime | Original start date and time of the event before any updates. | |
| originalStartTimeZone | String | Time zone in which the event was originally scheduled to start. | |
| recurrence_pattern_dayOfMonth | Int | Day of the month when the recurring event occurs. | |
| recurrence_pattern_daysOfWeek | String | Days of the week when the event recurs. Values are comma-separated with 1 space after each comma. | |
| recurrence_pattern_firstDayOfWeek | String | The first day of the week used in the recurrence pattern. | |
| recurrence_pattern_index | String | Specifies which instance in the recurrence, such as first, second, or last. | |
| recurrence_pattern_interval | Int | Interval between recurrences, based on the pattern type. | |
| recurrence_pattern_month | Int | Month of the year when the event recurs, used for yearly patterns. | |
| recurrence_pattern_type | String | Type of recurrence pattern, such as daily, weekly, monthly, or yearly. | |
| recurrence_range_endDate | Datetime | Date when the recurrence pattern ends. | |
| recurrence_range_numberOfOccurrences | Int | Number of times the recurring event should occur. | |
| recurrence_range_recurrenceTimeZone | String | Time zone used for the recurrence schedule. | |
| recurrence_range_startDate | Datetime | Start date of the recurrence range. | |
| recurrence_range_type | String | Defines the way recurrence ends, such as after a number of occurrences or on a specific end date. | |
| reminderMinutesBeforeStart | Int | Number of minutes before the event start at which the reminder triggers. | |
| responseRequested | Bool | Indicates whether the organizer is requesting responses from attendees. | |
| responseStatus_response | String | The attendee's response status, such as accepted, declined, or tentative. | |
| responseStatus_time | Datetime | Date and time when the attendee submitted their response. | |
| sensitivity | String | Sensitivity setting for the event, such as normal, personal, private, or confidential. | |
| seriesMasterId | String | Identifier of the master event in a recurring series. | |
| showAs | String | How the event appears on the calendar, such as free, busy, or tentative. | |
| start_dateTime | Datetime | Date and time when the event starts. | |
| start_timeZone | String | Time zone associated with the event's start time. | |
| subject | String | Title or subject line of the calendar event. | |
| transactionId | String | Client-supplied ID used to ensure idempotency of create requests. | |
| type | String | Type of event, such as singleInstance, occurrence, or exception. | |
| webLink | String | URL to view the event in a web browser. | |
| UserId | String | Identifier of the user associated with the calendar event. | |
| CalendarId | String | Identifier of the calendar that contains the event. |
Displays attachments related to calendar events, including file metadata and associated event identifiers.
| Name | Type | References | Description |
| EventId | String |
Events.Id | |
| id [KEY] | String | ||
| contentType | String | ||
| isInline | Bool | ||
| lastModifiedDateTime | Datetime | ||
| name | String | ||
| size | Int | ||
| event_categories | String | ||
| event_changeKey | String | ||
| event_createdDateTime | Datetime | ||
| event_lastModifiedDateTime | Datetime | ||
| event_allowNewTimeProposals | Bool | ||
| event_attendees | String | ||
| event_body | String | ||
| event_bodyPreview | String | ||
| event_cancelledOccurrences | String | ||
| event_end | String | ||
| event_hasAttachments | Bool | ||
| event_hideAttendees | Bool | ||
| event_iCalUId | String | ||
| event_importance | String | ||
| event_isAllDay | Bool | ||
| event_isCancelled | Bool | ||
| event_isDraft | Bool | ||
| event_isOnlineMeeting | Bool | ||
| event_isOrganizer | Bool | ||
| event_isReminderOn | Bool | ||
| event_location | String | ||
| event_locations | String | ||
| event_onlineMeeting | String | ||
| event_onlineMeetingProvider | String | ||
| event_onlineMeetingUrl | String | ||
| event_organizer | String | ||
| event_originalEndTimeZone | String | ||
| event_originalStart | Datetime | ||
| event_originalStartTimeZone | String | ||
| event_recurrence | String | ||
| event_reminderMinutesBeforeStart | Int | ||
| event_responseRequested | Bool | ||
| event_responseStatus | String | ||
| event_sensitivity | String | ||
| event_seriesMasterId | String | ||
| event_showAs | String | ||
| event_start | String | ||
| event_subject | String | ||
| event_transactionId | String | ||
| event_type | String | ||
| event_webLink | String | ||
| contentType | String | ||
| isInline | Bool | ||
| lastModifiedDateTime | Datetime | ||
| name | String | ||
| size | Int |
Provides a flattened view of recurring event instances, enabling analysis of each occurrence individually.
You can query EventOccurrences 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 [EventOccurrences] WHERE id = 'event id' AND StartDateTime = '2018/01/01' AND EndDateTime = '2018/12/31'
By default, if StartDateTime and EndDateTime filters are not specified, only the event occurrences from the user's default calendar in the range of the last 30 days will be returned. Otherwise, the query will get the Occurrences of the Event during the period specified by StartDateTime and EndDateTime.
| Name | Type | References | Description |
| GroupId | String | Identifier of the Microsoft 365 group that owns the event. | |
| UserId | String | Identifier of the user who is associated with the event. | |
| Events_id [KEY] | String |
Events.id | Identifier of the parent event series from which this occurrence is derived. |
| id [KEY] | String | Unique identifier for this specific event occurrence. | |
| categories | String | List of categories assigned to the event for classification or filtering. | |
| changeKey | String | Version key that updates each time the event occurrence is modified. | |
| createdDateTime | Datetime | Timestamp indicating when the event occurrence was created. | |
| lastModifiedDateTime | Datetime | Timestamp indicating the last time the event occurrence was modified. | |
| allowNewTimeProposals | Bool | Indicates whether attendees can suggest a new time for the event. | |
| attendees | String | List of attendees invited to the event. For example: [email protected], [email protected]. | |
| body_content | String | Main message body or description of the event. | |
| body_contentType | String | Format of the message body, such as text or HTML. | |
| bodyPreview | String | Short preview of the event message body. | |
| end_dateTime | Datetime | Scheduled end time of the event. | |
| end_timeZone | String | Time zone used for the event's end time. | |
| hasAttachments | Bool | Indicates whether the event occurrence includes file attachments. | |
| hideAttendees | Bool | Indicates whether attendee information is hidden from others. | |
| iCalUId | String | Unique identifier used for cross-system calendar interoperability. | |
| importance | String | Level of importance assigned to the event, such as low, normal, or high. | |
| isAllDay | Bool | Indicates whether the event is an all-day event with no specific start or end time. | |
| isCancelled | Bool | Indicates whether the event occurrence has been canceled. | |
| isDraft | Bool | Indicates whether the event is still a draft and not finalized. | |
| isOnlineMeeting | Bool | Indicates whether the event includes an online meeting link. | |
| isOrganizer | Bool | Indicates whether the current user is the organizer of the event. | |
| isReminderOn | Bool | Indicates whether a reminder is set for this event occurrence. | |
| location_address_city | String | City of the event location. | |
| location_address_countryOrRegion | String | Country or region of the event location. | |
| location_address_postalCode | String | Postal code of the event location. | |
| location_address_state | String | State or province of the event location. | |
| location_address_street | String | Street address of the event location. | |
| location_coordinates_accuracy | Double | Accuracy of the provided location coordinates in meters. | |
| location_coordinates_altitude | Double | Altitude of the location in meters above sea level. | |
| location_coordinates_altitudeAccuracy | Double | Accuracy of the altitude measurement in meters. | |
| location_coordinates_latitude | Double | Latitude of the event location. | |
| location_coordinates_longitude | Double | Longitude of the event location. | |
| location_displayName | String | Display name for the event location. | |
| location_locationEmailAddress | String | Email address of the location resource, if applicable. | |
| location_locationType | String | Type of location, such as default, conference room, or home address. | |
| location_locationUri | String | Uniform Resource Identifier (URI) for the location, if available. | |
| location_uniqueId | String | Unique identifier for the physical or virtual location. | |
| location_uniqueIdType | String | Type of identifier used for the location, such as locationStore or directory. | |
| locations | String | List of additional locations for the event. For example: Main Hall, Room 204. | |
| onlineMeeting_conferenceId | String | Unique conference ID for the online meeting provider. | |
| onlineMeeting_joinUrl | String | Join URL that participants can use to enter the online meeting. | |
| onlineMeeting_phones | String | List of dial-in phone numbers for the online meeting. | |
| onlineMeeting_quickDial | String | Quick dial string for joining the online meeting directly. | |
| onlineMeeting_tollFreeNumbers | String | List of toll-free phone numbers for the online meeting. For example: 8001234567, 8887654321. | |
| onlineMeeting_tollNumber | String | Toll number provided for participants to join by phone. | |
| onlineMeetingProvider | String | Online meeting provider, such as Teams or Skype for Business. | |
| onlineMeetingUrl | String | URL used to launch or view the online meeting. | |
| organizer_emailAddress_address | String | Email address of the event organizer. | |
| organizer_emailAddress_name | String | Display name of the event organizer. | |
| originalEndTimeZone | String | Time zone used for the original end time before any changes. | |
| originalStart | Datetime | Original start time of the event before any rescheduling. | |
| originalStartTimeZone | String | Time zone used for the original start time. | |
| recurrence_pattern_dayOfMonth | Int | Day of the month on which the event repeats, if applicable. | |
| recurrence_pattern_daysOfWeek | String | Days of the week on which the event repeats. For example: Monday, Wednesday, Friday. | |
| recurrence_pattern_firstDayOfWeek | String | First day of the week for the recurrence pattern. | |
| recurrence_pattern_index | String | Position in the month the event recurs, such as first, second, or last. | |
| recurrence_pattern_interval | Int | Interval at which the event repeats, such as every 2 days or every 3 weeks. | |
| recurrence_pattern_month | Int | Month of the year when the event recurs, used for yearly patterns. | |
| recurrence_pattern_type | String | Pattern type used for recurrence, such as daily, weekly, monthly, or yearly. | |
| recurrence_range_endDate | Datetime | Date on which the recurrence pattern ends. | |
| recurrence_range_numberOfOccurrences | Int | Total number of times the event should occur. | |
| recurrence_range_recurrenceTimeZone | String | Time zone used for the recurrence pattern. | |
| recurrence_range_startDate | Datetime | Start date of the recurrence range. | |
| recurrence_range_type | String | Specifies whether the recurrence ends by end date, number of occurrences, or has no end. | |
| reminderMinutesBeforeStart | Int | Number of minutes before the event when a reminder should be triggered. | |
| responseRequested | Bool | Indicates whether the organizer requests attendee responses. | |
| responseStatus_response | String | Current response status from the attendee, such as accepted or declined. | |
| responseStatus_time | Datetime | Timestamp of the most recent response from the attendee. | |
| sensitivity | String | Sensitivity label for the event, such as normal, personal, private, or confidential. | |
| seriesMasterId | String | Identifier of the master series event, used to link recurring occurrences. | |
| showAs | String | Calendar availability status during the event, such as free, tentative, busy, or out of office. | |
| start_dateTime | Datetime | Scheduled start time of the event. | |
| start_timeZone | String | Time zone used for the event's start time. | |
| subject | String | Subject or title of the event. | |
| transactionId | String | Client-supplied identifier used to detect duplicate event creations. | |
| type | String | Type of event occurrence, such as singleInstance, occurrence, exception, or seriesMaster. | |
| webLink | String | URL to open the event occurrence in a web browser. |
Retrieves email message attachments with metadata like attachment names, sizes, and parent message IDs.
| Name | Type | References | Description |
| MessageId [KEY] | String |
Messages.Id | |
| id [KEY] | String | ||
| contentType | String | ||
| isInline | Bool | ||
| lastModifiedDateTime | Datetime | ||
| name | String | ||
| size | Int | ||
| message_categories | String | ||
| message_changeKey | String | ||
| message_createdDateTime | Datetime | ||
| message_lastModifiedDateTime | Datetime | ||
| message_bccRecipients | String | ||
| message_body | String | ||
| message_bodyPreview | String | ||
| message_ccRecipients | String | ||
| message_conversationId | String | ||
| message_conversationIndex | Binary | ||
| message_flag | String | ||
| message_from | String | ||
| message_hasAttachments | Bool | ||
| message_importance | String | ||
| message_inferenceClassification | String | ||
| message_internetMessageHeaders | String | ||
| message_internetMessageId | String | ||
| message_isDeliveryReceiptRequested | Bool | ||
| message_isDraft | Bool | ||
| message_isRead | Bool | ||
| message_isReadReceiptRequested | Bool | ||
| message_parentFolderId | String | ||
| message_receivedDateTime | Datetime | ||
| message_replyTo | String | ||
| message_sender | String | ||
| message_sentDateTime | Datetime | ||
| message_subject | String | ||
| message_toRecipients | String | ||
| message_uniqueBody | String | ||
| message_webLink | String |
Displays task plan data from Microsoft Planner, including plan names, owners, and associated group IDs.
Using Plans requires access to Groups permissions. This requires Admin approval. For this reason, you must use your own OAuth App to add the Groups permissions and from the Microsoft Graph. See Creating an Entra ID (Azure AD) Application for more details.
All plans in MS Planner exist as a part of a group. In order to retrieve the list of available plans, you must retrieve a list of available plans per group.
If no GroupId is specified, then the following WHERE condition will be appended to any query:
GroupId IN (SELECT Id FROM Groups)
| Name | Type | References | Description |
| container_containerId | String | Identifier of the container that holds the plan, typically referencing a Microsoft 365 Group or Team. | |
| container_type | String | Type of container where the plan is stored, such as group or roster. | |
| container_url | String | URL link to the container that holds the plan, such as the associated Group or Team. | |
| createdBy_application_displayName | String | Display name of the application that created the plan. | |
| createdBy_application_id | String | Unique identifier of the application that created the plan. | |
| createdDateTime | Datetime | Timestamp indicating when the plan was created. | |
| owner | String | Identifier of the user or entity that owns the plan. | |
| title | String | Title or name of the plan as displayed in Microsoft Planner. | |
| GroupId | String | Identifier of the Microsoft 365 Group associated with the plan. | |
| Id [KEY] | String | Unique identifier of the plan. |
Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with Microsoft Office 365.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Microsoft Office 365, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| AddAttachments | Adds one or more attachments to an existing email message based on message ID. |
| AssignLicense | Assigns or removes Microsoft 365 subscriptions for a user and enables or disables specific service plans within those subscriptions. |
| CancelEvent | Cancels an existing calendar event and updates the event status across invitees. |
| CreateFolder | Creates a new folder or updates the contents of an existing file in OneDrive or SharePoint. |
| DeleteAttachment | Removes an attachment from an email message based on the message and attachment IDs. |
| FetchAdditionalUserFields | Retrieves additional Tier 1, Tier 2, and Tier 3 user fields for enhanced profile data. |
| ForwardEvent | Forwards a calendar event invitation to one or more recipients. |
| ForwardMail | Forwards an existing email message to specified recipients. |
| GetAdminConsentURL | Returns a URL to initiate the admin consent process for granting application access using custom OAuth credentials. |
| MoveMail | Moves an email message to a specified folder within a user's mailbox. |
| SendMail | Sends an email message from the authenticated user's mailbox with optional attachments. |
Adds one or more attachments to an existing email message based on message ID.
| Name | Type | Required | Description |
| Id | String | True | Identifier of the message or event to which the attachment is added. |
| DestinationType | String | True | Type of destination object for the attachment. Allowed values are: Message or Event. |
| FileName | String | True | File name of the attachment to be added. |
| LocalFile | String | False | Path to the local file that contains the content to be attached. |
| ContentBytes | String | False | Attachment content encoded as a Base64 byte array. Used if LocalFile is not specified. |
| Name | Type | Description |
| ContentBytes | String | Indicates whether the attachment content was successfully added to the target message or event. |
| Id | String | Identifier of the newly added attachment. |
| LastModifiedDateTime | Datetime | Timestamp indicating the last time the added attachment was modified. |
| Isinline | Boolean | Indicates whether the attachment was added as an inline element within the message or event body. |
| Name | String | Name of the attachment that was added. |
| Contenttype | String | The content type of the attachment. |
| Size | Int | Size of the added attachment in bytes. |
Assigns or removes Microsoft 365 subscriptions for a user and enables or disables specific service plans within those subscriptions.
| Name | Type | Required | Description |
| UserID | String | False | Identifier of the user to whom the license is assigned. Leave blank to assign the license to the currently authenticated user. |
| UserPrincipalName | String | False | User principal name (UPN) of the user to whom the license is assigned. Leave blank to assign the license to the currently authenticated user. |
| AddLicenseSkuId | String | False | Globally Unique Identifier (GUID) of the license SKU to be added to the user. |
| DisabledPlans | String | False | Comma-separated list of plan identifiers to disable within the license, such as 6fd2c87f-b296-42f0-b197-1e91e994b900, 1f2f344a-700d-42c9-9427-cf6a4d3fdf28. |
| RemoveLicenses | String | False | Comma-separated list of license GUIDs to remove from the user, such as 76b8cfd1-3de8-4a73-9fb6-dc0c50e2b2f3, b2307a39-3b5c-44db-96f5-1a045c007cb9. |
| Name | Type | Description |
| Status | String | Indicates whether the stored procedure completed successfully or returned an error. |
Cancels an existing calendar event and updates the event status across invitees.
| Name | Type | Required | Description |
| EventId | String | True | Identifier of the calendar event to be canceled. |
| UserId | String | False | Identifier of the user who owns the calendar event. |
| UserPrincipalName | String | False | User principal name (UPN) of the calendar owner. Leave blank to use the currently authenticated user. |
| Comment | String | False | Optional comment to include with the cancellation notice. Can be an empty string. |
| Name | Type | Description |
| Status | String | Indicates whether the stored procedure executed successfully or returned an error. |
Creates a new folder or updates the contents of an existing file in OneDrive or SharePoint.
| Name | Type | Required | Description |
| FolderName | String | True | Name of the new folder to be created. |
| ParentId | String | False | Identifier of the parent folder in which the new folder is created. |
| Name | Type | Description |
| Id | String | Identifier of the folder that was successfully created. |
Removes an attachment from an email message based on the message and attachment IDs.
| Name | Type | Required | Description |
| MessageId | String | True | Identifier of the email message that contains the attachment to be deleted. |
| AttachmentID | String | True | Identifier of the attachment to delete from the message. |
| Name | Type | Description |
| Id | String | Identifier of the message from which the attachment was removed. |
Retrieves additional Tier 1, Tier 2, and Tier 3 user fields for enhanced profile data.
| Name | Type | Required | Description |
| UserId | String | True | Unique identifier of the user whose additional fields are being fetched. |
| IncludeFields | String | False | Comma-separated list of user fields to include in the result, such as displayName, mail, jobTitle. |
| ExcludeFields | String | False | Comma-separated list of user fields to exclude from the result, such as mobilePhone, officeLocation. |
| Name | Type | Description |
| * | String | Query results including all selected fields from the user object, based on include and exclude parameters. |
Forwards a calendar event invitation to one or more recipients.
| Name | Type | Required | Description |
| EventId | String | True | Identifier of the calendar event to be forwarded. |
| ToRecipients | String | True | Semicolon-separated list of recipient email addresses to whom the event is forwarded, such as [email protected]; [email protected]. |
| UserId | String | False | Identifier of the user who is forwarding the event. |
| UserPrincipalName | String | False | User principal name (UPN) of the user forwarding the event. Leave blank to use the currently authenticated user. |
| Comment | String | False | Optional message or comment to include with the forwarded event. Can be an empty string. |
| Name | Type | Description |
| Status | String | Indicates whether the stored procedure completed successfully or returned an error. |
Forwards an existing email message to specified recipients.
| Name | Type | Required | Description |
| MessageId | String | True | Identifier of the email message to be forwarded. |
| ToRecipients | String | True | Semicolon-separated list of recipient email addresses, such as [email protected]; [email protected]. |
| Comment | String | False | Optional comment or body content to include above the original message when forwarding. |
| Name | Type | Description |
| Status | String | Indicates whether the stored procedure completed successfully or returned an error. |
Returns a URL to initiate the admin consent process for granting application access using custom OAuth credentials.
| Name | Type | Required | Description |
| CallbackUrl | String | False | URL to which the user is redirected after granting admin consent. Must match the Reply URL configured in the Azure Active Directory app registration. |
| State | String | False | Opaque value used to maintain state between the request and the callback. Returned unchanged in the response for validation. |
| Scope | String | False | Space-separated list of permissions to request from the admin, such as User.Read Mail.Read Calendars.ReadWrite.
The default value is offline_access https://graph.microsoft.com/group.read.all https://graph.microsoft.com/group.readwrite.all https://graph.microsoft.com/user.read https://graph.microsoft.com/user.readwrite.all https://graph.microsoft.com/calendars.readwrite https://graph.microsoft.com/contacts.readwrite https://graph.microsoft.com/mail.readwrite https://graph.microsoft.com/Files.ReadWrite.All. |
| Name | Type | Description |
| URL | String | Authorization URL that should be opened in a browser to initiate admin consent and retrieve the verifier token. |
Moves an email message to a specified folder within a user's mailbox.
| Name | Type | Required | Description |
| MessageId | String | True | Identifier of the email message that is to be moved. |
| DestinationId | String | True | Identifier of the destination folder where the email message should be moved. |
| Name | Type | Description |
| Id | String | Identifier of the email message after it has been successfully moved. |
Sends an email message from the authenticated user's mailbox with optional attachments.
| Name | Type | Required | Description |
| Id | String | False | Optional identifier of the draft email message to send. If not provided, a new message is created from the input fields. |
| Subject | String | False | Subject line of the email. |
| Content | String | False | Body content of the email message. |
| Attachments | String | False | List of attachments in the format: filename1, filecontent1; filename2, filecontent2. Each filecontent can be Base64-encoded data or a file path prefixed with @. |
| FileName | String | False | Name of the email attachment when sending a file manually. |
| LocalFile | String | False | Path to the local file that contains the attachment content. |
| ContentBytes | String | False | Content of the attachment encoded in Base64 format. |
| ToRecipients | String | False | Semicolon-separated list of recipient email addresses for the To field, such as [email protected]; [email protected]. |
| CCRecipients | String | False | Semicolon-separated list of recipient email addresses for the CC field. |
| BccRecipients | String | False | Semicolon-separated list of recipient email addresses for the Bcc field. |
| SenderEmail | String | False | Email address on whose behalf the message should be sent. Use this to send on behalf of another user. |
| FromEmail | String | False | Email address from which the message is sent. Use this to send from another user's account. |
| ContentType | String | False | Format of the email body content, such as text or HTML.
The allowed values are text, html. The default value is text. |
| Name | Type | Description |
| Status | String | Indicates whether the stored procedure executed successfully or returned an error. |
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 Office 365:
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 Events table:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Events'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the table or view. |
| SchemaName | String | The schema containing the table or view. |
| TableName | String | The name of the table or view containing the column. |
| ColumnName | String | The column name. |
| DataTypeName | String | The data type name. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| Length | Int32 | The storage size of the column. |
| DisplaySize | Int32 | The designated column's normal maximum width in characters. |
| NumericPrecision | Int32 | The maximum number of digits in numeric data. The column length in characters for character and date-time data. |
| NumericScale | Int32 | The column scale or number of digits to the right of the decimal point. |
| IsNullable | Boolean | Whether the column can contain null. |
| Description | String | A brief description of the column. |
| Ordinal | Int32 | The sequence number of the column. |
| IsAutoIncrement | String | Whether the column value is assigned in fixed increments. |
| IsGeneratedColumn | String | Whether the column is generated. |
| IsHidden | Boolean | Whether the column is hidden. |
| IsArray | Boolean | Whether the column is an array. |
| IsReadOnly | Boolean | Whether the column is read-only. |
| IsKey | Boolean | Indicates whether a field returned from sys_tablecolumns is the primary key of the table. |
| ColumnType | String | The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN. |
Lists the available stored procedures.
The following query retrieves the available stored procedures:
SELECT * FROM sys_procedures
| Name | Type | Description |
| CatalogName | String | The database containing the stored procedure. |
| SchemaName | String | The schema containing the stored procedure. |
| ProcedureName | String | The name of the stored procedure. |
| Description | String | A description of the stored procedure. |
| ProcedureType | String | The type of the procedure, such as PROCEDURE or FUNCTION. |
Describes stored procedure parameters.
The following query returns information about all of the input parameters for the SendMail stored procedure:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'SendMail' AND Direction = 1 OR Direction = 2
To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'SendMail' AND IncludeResultColumns='True'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the stored procedure. |
| SchemaName | String | The name of the schema containing the stored procedure. |
| ProcedureName | String | The name of the stored procedure containing the parameter. |
| ColumnName | String | The name of the stored procedure parameter. |
| Direction | Int32 | An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| DataTypeName | String | The name of the data type. |
| NumericPrecision | Int32 | The maximum precision for numeric data. The column length in characters for character and date-time data. |
| Length | Int32 | The number of characters allowed for character data. The number of digits allowed for numeric data. |
| NumericScale | Int32 | The number of digits to the right of the decimal point in numeric data. |
| IsNullable | Boolean | Whether the parameter can contain null. |
| IsRequired | Boolean | Whether the parameter is required for execution of the procedure. |
| IsArray | Boolean | Whether the parameter is an array. |
| Description | String | The description of the parameter. |
| Ordinal | Int32 | The index of the parameter. |
| Values | String | The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated. |
| SupportsStreams | Boolean | Whether the parameter represents a file that you can pass as either a file path or a stream. |
| IsPath | Boolean | Whether the parameter is a target path for a schema creation operation. |
| Default | String | The value used for this parameter when no value is specified. |
| SpecificName | String | A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here. |
| IsCDataProvided | Boolean | Whether the procedure is added/implemented by CData, as opposed to being a native Microsoft Office 365 procedure. |
| Name | Type | Description |
| IncludeResultColumns | Boolean | Whether the output should include columns from the result set in addition to parameters. Defaults to False. |
Describes the primary and foreign keys.
The following query retrieves the primary key for the Events table:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Events'
| 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 Cloud maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.
| Microsoft Office 365 (OData V4) | CData Schema |
| Edm.Binary | binary |
| Edm.Boolean | bool |
| Edm.Date | datetime |
| Edm.DateTimeOffset | datetime |
| Edm.Decimal | decimal |
| Edm.Double | double |
| Edm.Guid | guid |
| Edm.Int32 | int |
| Edm.String | string |
| Edm.TimeOfDay | time |
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 |
| AuthScheme | Specifies the type of authentication to use when connecting to Microsoft Office 365. If this property is left blank, the default authentication is used. |
| Property | Description |
| AzureTenant | Identifies the Microsoft Office 365 tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID. |
| AzureEnvironment | Specifies the Azure network environment to which you will connect. Must be the same network to which your Azure account was added. |
| Property | Description |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created. |
| Property | Description |
| OAuthJWTCert | Supplies the name of the client certificate's JWT Certificate store. |
| OAuthJWTCertType | Identifies the type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate. |
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
| Property | Description |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Property | Description |
| DirectoryRetrievalDepth | Specifies how far down in a Files table's subdirectories should be scanned to retrieve results. If DirectoryRetrievalDepth is not explicitly set, the driver uses a depth of 5 sublevels below the root (default). |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Microsoft Office 365. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UseClientSidePaging | Toggles the CData ADO.NET Provider for Microsoft Office 365's use of client side paging. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
| Property | Description |
| AuthScheme | Specifies the type of authentication to use when connecting to Microsoft Office 365. If this property is left blank, the default authentication is used. |
Specifies the type of authentication to use when connecting to Microsoft Office 365. If this property is left blank, the default authentication is used.
string
"AzureAD"
AuthScheme values include:
For information about creating a custom application to authenticate with Azure AD, see Creating an Entra ID (Azure AD) Application.
For information about creating a custom application to authenticate with Azure AD Service Principal, see Creating a Service Principal App in Entra ID (Azure AD).
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 Office 365 tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID. |
| AzureEnvironment | Specifies the Azure network environment to which you will connect. Must be the same network to which your Azure account was added. |
Identifies the Microsoft Office 365 tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID.
string
""
A tenant is a digital container for your organization's users and resources, managed through Microsoft Entra ID (formerly Azure AD). Each tenant is associated with a unique directory ID, and often with a custom domain (for example, microsoft.com or contoso.onmicrosoft.com).
To find the directory (tenant) ID in the Microsoft Entra Admin Center, navigate to Microsoft Entra ID > Properties and copy the value labeled "Directory (tenant) ID".
This property is required in the following cases:
You can provide the tenant value in one of two formats:
Specifying the tenant explicitly ensures that the authentication request is routed to the correct directory, which is especially important when a user belongs to multiple tenants or when using service principal–based authentication.
If this value is omitted when required, authentication may fail or connect to the wrong tenant. This can result in errors such as unauthorized or resource not found.
Specifies the Azure network environment to which you will connect. Must be the same network to which your Azure account was added.
string
"GLOBAL"
Required if your Azure account is part of a different network than the Global network, such as China, USGOVT, or USGOVTDOD.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created. |
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
string
""
This property is required in two cases:
(When the driver provides embedded OAuth credentials, this value may already be provided by the Cloud and thus not require manual entry.)
OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.
OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.
While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.
For more information on how this property is used when configuring a connection, see Establishing a Connection.
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
string
""
This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.
The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.
OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.
Notes:
For more information on how this property is used when configuring a connection, see Establishing a Connection
Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.
string
""
Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.
When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested.
When InitiateOAuth is set to either REFRESH or OFF, you can change which scopes are requested using either this property or the Scope input.
This section provides a complete list of the JWT OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthJWTCert | Supplies the name of the client certificate's JWT Certificate store. |
| OAuthJWTCertType | Identifies the type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate. |
Supplies the name of the client certificate's JWT Certificate store.
string
""
The OAuthJWTCertType field specifies the type of the certificate store specified in OAuthJWTCert. If the store is password-protected, use OAuthJWTCertPassword to supply the password..
OAuthJWTCert is used in conjunction with the OAuthJWTCertSubject field in order to specify client certificates. If OAuthJWTCert has a value, and OAuthJWTCertSubject is set, the CData Cloud initiates a search for a certificate. For further information, see OAuthJWTCertSubject.
Designations of certificate stores are platform-dependent.
Notes
Identifies the type of key store containing the JWT Certificate.
string
"PEMKEY_BLOB"
| Value | Description | Notes |
| USER | A certificate store owned by the current user. | Only available in Windows. |
| MACHINE | A machine store. | Not available in Java or other non-Windows environments. |
| PFXFILE | A PFX (PKCS12) file containing certificates. | |
| PFXBLOB | A string (base-64-encoded) representing a certificate store in PFX (PKCS12) format. | |
| JKSFILE | A Java key store (JKS) file containing certificates. | Only available in Java. |
| JKSBLOB | A string (base-64-encoded) representing a certificate store in Java key store (JKS) format. | Only available in Java. |
| PEMKEY_FILE | A PEM-encoded file that contains a private key and an optional certificate. | |
| PEMKEY_BLOB | A string (base64-encoded) that contains a private key and an optional certificate. | |
| PUBLIC_KEY_FILE | A file that contains a PEM- or DER-encoded public key certificate. | |
| PUBLIC_KEY_BLOB | A string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate. | |
| SSHPUBLIC_KEY_FILE | A file that contains an SSH-style public key. | |
| SSHPUBLIC_KEY_BLOB | A string (base-64-encoded) that contains an SSH-style public key. | |
| P7BFILE | A PKCS7 file containing certificates. | |
| PPKFILE | A file that contains a PPK (PuTTY Private Key). | |
| XMLFILE | A file that contains a certificate in XML format. | |
| XMLBLOB | Astring that contains a certificate in XML format. | |
| BCFKSFILE | A file that contains an Bouncy Castle keystore. | |
| BCFKSBLOB | A string (base-64-encoded) that contains a Bouncy Castle keystore. |
Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank.
string
""
This property specifies the password needed to open a password-protected certificate store. To determine if a password is necessary, refer to the documentation or configuration for your specific certificate store.
Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate.
string
"*"
The value of this property is used to locate a matching certificate in the store. The search process works as follows:
You can set the value to '*' to automatically select the first certificate in the store. The certificate subject is a comma-separated list of distinguished name fields and values. For example: CN=www.server.com, OU=test, C=US, [email protected].
Common fields include:
| Field | Meaning |
| CN | Common Name. This is commonly a host name like www.server.com. |
| O | Organization |
| OU | Organizational Unit |
| L | Locality |
| S | State |
| C | Country |
| E | Email Address |
If a field value contains a comma, enclose it in quotes. For example: "O=ACME, Inc.".
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
string
""
If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.
This property can take the following forms:
| Description | Example |
| A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| A path to a local file containing the certificate | C:\cert.cer |
| The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| The MD5 Thumbprint (hex values can also be either space- or colon-separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
| The SHA1 Thumbprint (hex values can also be either space- or colon-separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
| Property | Description |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
string
"1"
This property defines the level of detail the Cloud includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.
The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.
When combined with the LogModules property, Verbosity can refine logging to specific categories of information.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
| Property | Description |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
string
""
Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
| Property | Description |
| DirectoryRetrievalDepth | Specifies how far down in a Files table's subdirectories should be scanned to retrieve results. If DirectoryRetrievalDepth is not explicitly set, the driver uses a depth of 5 sublevels below the root (default). |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Microsoft Office 365. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UseClientSidePaging | Toggles the CData ADO.NET Provider for Microsoft Office 365's use of client side paging. |
Specifies how far down in a Files table's subdirectories should be scanned to retrieve results. If DirectoryRetrievalDepth is not explicitly set, the driver uses a depth of 5 sublevels below the root (default).
string
"5"
To scan only resources located in the root, specify 0.
To get all the data in a drive regardless of what depth it's located in, specify a value of -1.
Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
int
-1
The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)
Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.
This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
Specifies the maximum number of records per page the provider returns when requesting data from Microsoft Office 365.
int
300
When processing a query, instead of requesting all of the queried data at once from Microsoft Office 365, the Cloud can request the queried data in pieces called pages.
This connection property determines the maximum number of results that the Cloud requests per page.
Note: Setting large page sizes may improve overall query execution time, but doing so causes the Cloud to use more memory when executing queries and risks triggering a timeout.
Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
string
""
This property allows you to define which pseudocolumns the Cloud exposes as table columns.
To specify individual pseudocolumns, use the following format:
Table1=Column1;Table1=Column2;Table2=Column3
To include all pseudocolumns for all tables use:
*=*
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
int
60
The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.
Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.
Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.
Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
Toggles the CData ADO.NET Provider for Microsoft Office 365's use of client side paging.
bool
true
If your source does not support server side paging, leave UseClientSidePaging set to True (default).
If your source supports server side paging, set UseClientSidePaging to False.
Note: Setting UseClientSidePaging to True on a source that already supports paging can cause incomplete results.
LZMA from 7Zip LZMA SDK
LZMA SDK is placed in the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
LZMA2 from XZ SDK
Version 1.9 and older are in the public domain.
Xamarin.Forms
Xamarin SDK
The MIT License (MIT)
Copyright (c) .NET Foundation Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
NSIS 3.10
Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.