The following table(s) contains detailed examples of the metadata fields available from the Outlook Calendar API endpoints Worklytics leverages. In order to pseudonymize and sanitize PII and other potentially sensitive data, Worklytics provides access to a Data Loss Prevention (DLP) Proxy, which allows customers to pre-filter metadata, within customer infrastructure, before it is sent to Worklytics for processing.
These are the fields Worklytics recommends but the Worklytics DLP Proxy provides full field-level control and therefore any field may be removed or sanitized.
Field descriptions are taken from third party API documentation, these are maintained on a best effort basis and Worklytics can not guarantee their indefinite accuracy. Please refer to the source API site for the most up-to-date documentation.
How to read the "DLP Proxy" column in the table(s):
🔴 This field is completely redacted by the DLP Proxy
⭕ This field is transformed, usually partially redacted
🟡 This field is "pseudonymized" by the DLP Proxy: only a SHA256 hash of its value is sent to Worklytics; never the value itself
To see only the fully sanitized version of this document, click here.
Worklytics requires access to the following API primary endpoints:
Used to retrieve a list of calendar views
Endpoints:
/v1.0/me/calendar/calendarView
Used to retrieve a list of events in a user calendar, or the default calendar of a Microsoft 365 group.
Endpoints:
/users/{id}/calendar/events
API docs: https://learn.microsoft.com/en-us/graph/api/user-list-calendars?view=graph-rest-beta&tabs=http
DLP Proxy docs: Outlook Calendar
🟢 Allowed
id
String
🔴 Redacted
name
String
API docs: https://docs.microsoft.com/en-us/graph/api/resources/event?view=graph-rest-beta
DLP Proxy docs: Outlook Calendar
🔴 Redacted
allowNewTimeProposals
Boolean
🟡 Pseudonymized
attachments[]
List of Attachment
The collection of FileAttachment and ItemAttachment attachments for the event. Navigation property.
🔴 Redacted
attachments[].name
String
🟢 Allowed
attachments[].size
Integer
🟡 Pseudonymized
attendees[]
List of Attendee
The collection of attendees for the event.
🟡 Pseudonymized
attendees[].emailAddress
EmailAddress
🟡 Pseudonymized
attendees[].emailAddress.address
String
Raw example: engineering@M365x214355.onmicrosoft.com
Sanitized example:
🔴 Redacted
attendees[].emailAddress.name
String
🟢 Allowed
attendees[].proposedNewTime
ProposedNewTime
🟢 Allowed
attendees[].proposedNewTime.end
DateTimeTimeZone
🟢 Allowed
attendees[].proposedNewTime.end.dateTime
Date
🟢 Allowed
attendees[].proposedNewTime.end.timeZone
String
🟢 Allowed
attendees[].proposedNewTime.start
DateTimeTimeZone
🟢 Allowed
attendees[].proposedNewTime.start.dateTime
Date
🟢 Allowed
attendees[].proposedNewTime.start.timeZone
String
🟢 Allowed
attendees[].status
ResponseStatus
🟢 Allowed
attendees[].status.time
Date
🔴 Redacted
body
ItemBody
The body of the message associated with the event. It can be in HTML or text format.
🔴 Redacted
body.content
String
🔴 Redacted
bodyPreview
String
The preview of the message associated with the event. Example: Today's weather will be clear and sunny. High of 75 degrees.
🟡 Pseudonymized
calendar
Calendar
The calendar that contains the event. Navigation property.
🟢 Allowed
calendar.id
String
🔴 Redacted
calendar.name
String
🟢 Allowed
categories
List of String
The categories associated with the event. Each category corresponds to the displayName property of an outlookCategory defined for the user.
🟢 Allowed
changeKey
String
Identifies the version of the event object. Every time the event is changed, ChangeKey changes as well. This allows Exchange to apply changes to the correct version of the object.
🟢 Allowed
createdDateTime
Date
The date and time that the event was created.
🟢 Allowed
end
DateTimeTimeZone
The end time of the event.
🟢 Allowed
end.dateTime
Date
🟢 Allowed
end.timeZone
String
🟢 Allowed
etag
String
🟢 Allowed
hasAttachments
Boolean
🟢 Allowed
hideAttendees
Boolean
When set to true, each attendee only sees themselves in the meeting request and meeting Tracking list. Default is false.
🟢 Allowed
iCalUId
String
🟢 Allowed
id
String
🟢 Allowed
importance
String
The importance of the event. Possible values are: low, normal, high.
🟢 Allowed
isAllDay
Boolean
Set to true if the event lasts all day.
🟢 Allowed
isCancelled
Boolean
Set to true if the event has been canceled.
🟢 Allowed
isDraft
Boolean
Set to true if the user has updated the meeting in Outlook but has not sent the updates to attendees. Set to false if all changes have been sent, or if the event is an appointment without any attendees.
🟢 Allowed
isOnlineMeeting
Boolean
🟢 Allowed
isOrganizer
Boolean
🔴 Redacted
isReminderOn
Boolean
🟢 Allowed
lastModifiedDateTime
Date
The date and time that the event was last modified.
🟡 Pseudonymized
location
Location
The location of the event.
🔴 Redacted
location.address
PhysicalAddress
🔴 Redacted
location.address.city
String
🔴 Redacted
location.address.countryOrRegion
String
🔴 Redacted
location.address.postOfficeBox
String
🔴 Redacted
location.address.postalCode
String
🔴 Redacted
location.address.state
String
🔴 Redacted
location.address.street
String
🔴 Redacted
location.coordinates
GeoCoordinates
🔴 Redacted
location.coordinates.accuracy
Double
🔴 Redacted
location.coordinates.altitude
Double
🔴 Redacted
location.coordinates.altitudeAccuracy
Double
🔴 Redacted
location.coordinates.latitude
Double
🔴 Redacted
location.coordinates.longitude
Double
⭕ Sanitized
location.displayName
String
The name associated with the location. Example: Conf Room 1
⭕ Sanitized
location.locationUri
String
⭕ Sanitized
location.uniqueId
String
🟢 Allowed
location.uniqueIdType
String
🟢 Allowed
locations[]
List of Location
The locations where the event is held or attended from.
🟢 Allowed
occurrenceId
String
🟡 Pseudonymized
onlineMeeting
OnlineMeetingInfo
Details for an attendee to join the meeting online. Default is null. Read-only.
🟢 Allowed
onlineMeeting.conferenceId
String
The ID of the conference.
⭕ Sanitized
onlineMeeting.joinUrl
String
The external link that launches the online meeting. This is a URL that clients launch into a browser and will redirect the user to join the meeting.
🟢 Allowed
onlineMeeting.phones[]
List of Phone
🟢 Allowed
onlineMeeting.phones[].number
String
🟢 Allowed
onlineMeeting.phones[].type
String
🟢 Allowed
onlineMeeting.quickDial
String
🟢 Allowed
onlineMeeting.tollFreeNumbers
List of String
🟢 Allowed
onlineMeeting.toolNumber
String
🟢 Allowed
onlineMeetingProvider
String
Represents the online meeting service provider. By default, onlineMeetingProvider is unknown. The possible values are unknown, teamsForBusiness, skypeForBusiness, and skypeForConsumer.
⭕ Sanitized
onlineMeetingUrl
String
🟡 Pseudonymized
organizer
Recipient
The organizer of the event.
🟡 Pseudonymized
organizer.emailAddress
EmailAddress
🟡 Pseudonymized
organizer.emailAddress.address
String
Raw example: engineering@M365x214355.onmicrosoft.com
Sanitized example:
🔴 Redacted
organizer.emailAddress.name
String
🟢 Allowed
originalEndTimeZone
String
🟢 Allowed
originalStartTimeZone
String
🟢 Allowed
recurrence
PatternedRecurrence
The recurrence pattern for the event.
🟢 Allowed
recurrence.recurrencePattern
RecurrencePattern
🟢 Allowed
recurrence.recurrencePattern.dayOfMonth
Integer
🟢 Allowed
recurrence.recurrencePattern.daysOfWeek
List of Integer
🟢 Allowed
recurrence.recurrencePattern.firstDayOfWeek
Integer
🟢 Allowed
recurrence.recurrencePattern.interval
Integer
🟢 Allowed
recurrence.recurrencePattern.month
Integer
🟢 Allowed
recurrence.recurrencePattern.weekIndex
Integer
🟢 Allowed
recurrence.recurrenceRange
RecurrenceRange
🟢 Allowed
recurrence.recurrenceRange.numberOfOccurrences
Integer
🔴 Redacted
reminderMinutesBeforeStart
Integer
🟢 Allowed
responseRequested
Boolean
🟢 Allowed
responseStatus
ResponseStatus
Indicates the type of response sent in response to an event message.
🟢 Allowed
responseStatus.time
Date
🟢 Allowed
seriesMasterId
String
🟢 Allowed
showAs
String
The status to show. Possible values are: free, tentative, busy, oof, workingElsewhere, unknown.
🟢 Allowed
start
DateTimeTimeZone
The start time of the event.
🟢 Allowed
start.dateTime
Date
🟢 Allowed
start.timeZone
String
⭕ Sanitized
subject
String
The text of the event's subject line. Only present if matches certain DLP Proxy rules (see documentation for details)
🔴 Redacted
transactionId
String
🟢 Allowed
uid
String
A unique identifier for calendar events.
🟢 Allowed
webLink
String
The URL to open the event in Outlook Web App.