The following table(s) contains detailed examples of the metadata fields available from the Google 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 collection of existing calendars
Endpoints:
/calendar/v3/calendars/{accountId}
Used to retrieve the collection of calendars in the user's calendar list
Endpoints:
/calendar/v3/users/{accountId}/calendarList
Used to retrieve a list of calendar events (or an individual event)
Endpoints:
/calendar/v3/calendars/{accountId}/events
/calendar/v3/calendars/{accountId}/events/{eventId}
Used to retrieve a collection of calendar events
Used to retrieve the collection of settings
Endpoints:
/calendar/v3/users/{accountId}/settings
API docs: https://developers.google.com/calendar/api/v3/reference/calendars#resource
DLP Proxy docs: Google Calendar
🟢 Allowed
description
String
🟢 Allowed
etag
String
🟡 Pseudonymized
id
String
Identifier of the calendar
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
kind
String
🟢 Allowed
location
String
🔴 Redacted
summary
String
🟢 Allowed
timeZone
String
API docs: https://developers.google.com/calendar/api/v3/reference/calendarList#resource
DLP Proxy docs: Google Calendar
🟢 Allowed
etag
String
🟡 Pseudonymized
items[]
List of CalendarListEntry
🟢 Allowed
items[].accessRole
String
🟢 Allowed
items[].backgroundColor
String
🟢 Allowed
items[].colorId
String
🟢 Allowed
items[].deleted
Boolean
🔴 Redacted
items[].description
String
🟢 Allowed
items[].etag
String
🟢 Allowed
items[].foregroundColor
String
🟢 Allowed
items[].hidden
Boolean
🟡 Pseudonymized
items[].id
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
items[].kind
String
🟢 Allowed
items[].location
String
🟢 Allowed
items[].primary
Boolean
🟢 Allowed
items[].selected
Boolean
⭕ Sanitized
items[].summary
String
⭕ Sanitized
items[].summaryOverride
String
🟢 Allowed
items[].timeZone
String
🟢 Allowed
kind
String
🟢 Allowed
nextPageToken
String
🟢 Allowed
nextSyncToken
String
API docs: https://developers.google.com/calendar/api/v3/reference/events#resource
DLP Proxy docs: Google Calendar
🟢 Allowed
anyoneCanAddSelf
Boolean
🟢 Allowed
attachments[]
List of EventAttachment
🟢 Allowed
attachments[].fileId
String
🟢 Allowed
attachments[].fileUrl
String
🟢 Allowed
attachments[].iconLink
String
🟢 Allowed
attachments[].mimeType
String
🟢 Allowed
attachments[].title
String
🟡 Pseudonymized
attendees[]
List of Attendee
🟢 Allowed
attendees[].additionalGuests
Integer
🔴 Redacted
attendees[].displayName
String
🟡 Pseudonymized
attendees[].email
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
attendees[].id
String
🟢 Allowed
attendees[].optional
Boolean
🟢 Allowed
attendees[].organizer
Boolean
🟢 Allowed
attendees[].resource
Boolean
🟢 Allowed
attendees[].responseStatus
String
🟢 Allowed
attendees[].self
Boolean
🟢 Allowed
attendeesOmitted
Boolean
🟢 Allowed
colorId
String
🟡 Pseudonymized
conferenceData
ConferenceData
🟢 Allowed
conferenceData.conferenceId
String
🟢 Allowed
conferenceData.conferenceSolution
ConferenceSolution
🟢 Allowed
conferenceData.conferenceSolution.iconUri
String
🟢 Allowed
conferenceData.conferenceSolution.key
ConferenceSolutionKey
🟢 Allowed
conferenceData.conferenceSolution.key.type
String
🟢 Allowed
conferenceData.conferenceSolution.name
String
⭕ Sanitized
conferenceData.entryPoints[]
List of EntryPoint
🔴 Redacted
conferenceData.entryPoints[].accessCode
String
🟢 Allowed
conferenceData.entryPoints[].entryPointFeatures
List of String
🟢 Allowed
conferenceData.entryPoints[].entryPointType
String
🟢 Allowed
conferenceData.entryPoints[].label
String
🟢 Allowed
conferenceData.entryPoints[].meetingCode
String
🔴 Redacted
conferenceData.entryPoints[].passcode
String
🔴 Redacted
conferenceData.entryPoints[].password
String
🔴 Redacted
conferenceData.entryPoints[].pin
String
🟢 Allowed
conferenceData.entryPoints[].regionCode
String
🔴 Redacted
conferenceData.entryPoints[].uri
String
🔴 Redacted
conferenceData.notes
String
🟢 Allowed
conferenceData.signature
String
🟢 Allowed
created
DateTime
🟡 Pseudonymized
creator
Creator
🔴 Redacted
creator.displayName
String
🟡 Pseudonymized
creator.email
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
creator.id
String
🟢 Allowed
creator.self
Boolean
🟢 Allowed
defaultCalendarTimeZone
String
🔴 Redacted
description
String
🟢 Allowed
end
EventDateTime
🟢 Allowed
end.date
DateTime
🟢 Allowed
end.dateTime
DateTime
🟢 Allowed
end.timeZone
String
🟢 Allowed
endTimeUnspecified
Boolean
🟢 Allowed
etag
String
🟢 Allowed
eventType
String
🔴 Redacted
extendedProperties
ExtendedProperties
🔴 Redacted
extendedProperties.shared
Map of String
🟢 Allowed
guestsCanInviteOthers
Boolean
🟢 Allowed
guestsCanModify
Boolean
🟢 Allowed
guestsCanSeeOtherGuests
Boolean
🟢 Allowed
hangoutLink
String
🟢 Allowed
htmlLink
String
🟢 Allowed
iCalUID
String
🟢 Allowed
id
String
🟢 Allowed
kind
String
⭕ Sanitized
location
String
🟢 Allowed
locked
Boolean
🟡 Pseudonymized
organizer
Organizer
🔴 Redacted
organizer.displayName
String
🟡 Pseudonymized
organizer.email
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
organizer.id
String
🟢 Allowed
organizer.self
Boolean
🟢 Allowed
originalStartTime
EventDateTime
🟢 Allowed
originalStartTime.date
DateTime
🟢 Allowed
originalStartTime.dateTime
DateTime
🟢 Allowed
originalStartTime.timeZone
String
🟢 Allowed
privateCopy
Boolean
🟢 Allowed
recurrence
List of String
🟢 Allowed
recurringEventId
String
🟢 Allowed
sequence
Integer
🟢 Allowed
start
EventDateTime
🟢 Allowed
start.date
DateTime
🟢 Allowed
start.dateTime
DateTime
🟢 Allowed
start.timeZone
String
🟢 Allowed
status
String
⭕ Sanitized
summary
String
Title of the event
🟢 Allowed
transparency
String
🟢 Allowed
updated
DateTime
🟢 Allowed
userAccountId
String
🟢 Allowed
visibility
String
API docs: https://developers.google.com/calendar/api/v3/reference/events
DLP Proxy docs: Google Calendar
🟢 Allowed
etag
String
🟡 Pseudonymized
items[]
List of Event
🟢 Allowed
items[].anyoneCanAddSelf
Boolean
🟢 Allowed
items[].attachments[]
List of EventAttachment
🟢 Allowed
items[].attachments[].fileId
String
🟢 Allowed
items[].attachments[].fileUrl
String
🟢 Allowed
items[].attachments[].iconLink
String
🟢 Allowed
items[].attachments[].mimeType
String
🟢 Allowed
items[].attachments[].title
String
🟡 Pseudonymized
items[].attendees[]
List of Attendee
🟢 Allowed
items[].attendees[].additionalGuests
Integer
🔴 Redacted
items[].attendees[].displayName
String
🟡 Pseudonymized
items[].attendees[].email
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
items[].attendees[].id
String
🟢 Allowed
items[].attendees[].optional
Boolean
🟢 Allowed
items[].attendees[].organizer
Boolean
🟢 Allowed
items[].attendees[].resource
Boolean
🟢 Allowed
items[].attendees[].responseStatus
String
🟢 Allowed
items[].attendees[].self
Boolean
🟢 Allowed
items[].attendeesOmitted
Boolean
🟢 Allowed
items[].colorId
String
🟡 Pseudonymized
items[].conferenceData
ConferenceData
🟢 Allowed
items[].conferenceData.conferenceId
String
🟢 Allowed
items[].conferenceData.conferenceSolution
ConferenceSolution
🟢 Allowed
items[].conferenceData.conferenceSolution.iconUri
String
🟢 Allowed
items[].conferenceData.conferenceSolution.key
ConferenceSolutionKey
🟢 Allowed
items[].conferenceData.conferenceSolution.key.type
String
🟢 Allowed
items[].conferenceData.conferenceSolution.name
String
⭕ Sanitized
items[].conferenceData.entryPoints[]
List of EntryPoint
🔴 Redacted
items[].conferenceData.entryPoints[].accessCode
String
🟢 Allowed
items[].conferenceData.entryPoints[].entryPointFeatures
List of String
🟢 Allowed
items[].conferenceData.entryPoints[].entryPointType
String
🟢 Allowed
items[].conferenceData.entryPoints[].label
String
🟢 Allowed
items[].conferenceData.entryPoints[].meetingCode
String
🔴 Redacted
items[].conferenceData.entryPoints[].passcode
String
🔴 Redacted
items[].conferenceData.entryPoints[].password
String
🔴 Redacted
items[].conferenceData.entryPoints[].pin
String
🟢 Allowed
items[].conferenceData.entryPoints[].regionCode
String
🔴 Redacted
items[].conferenceData.entryPoints[].uri
String
🔴 Redacted
items[].conferenceData.notes
String
🟢 Allowed
items[].conferenceData.signature
String
🟢 Allowed
items[].created
DateTime
🟡 Pseudonymized
items[].creator
Creator
🔴 Redacted
items[].creator.displayName
String
🟡 Pseudonymized
items[].creator.email
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
items[].creator.id
String
🟢 Allowed
items[].creator.self
Boolean
🟢 Allowed
items[].defaultCalendarTimeZone
String
🔴 Redacted
items[].description
String
🟢 Allowed
items[].end
EventDateTime
🟢 Allowed
items[].end.date
DateTime
🟢 Allowed
items[].end.dateTime
DateTime
🟢 Allowed
items[].end.timeZone
String
🟢 Allowed
items[].endTimeUnspecified
Boolean
🟢 Allowed
items[].etag
String
🟢 Allowed
items[].eventType
String
🔴 Redacted
items[].extendedProperties
ExtendedProperties
🔴 Redacted
items[].extendedProperties.shared
Map of String
🟢 Allowed
items[].guestsCanInviteOthers
Boolean
🟢 Allowed
items[].guestsCanModify
Boolean
🟢 Allowed
items[].guestsCanSeeOtherGuests
Boolean
🟢 Allowed
items[].hangoutLink
String
🟢 Allowed
items[].htmlLink
String
🟢 Allowed
items[].iCalUID
String
🟢 Allowed
items[].id
String
🟢 Allowed
items[].kind
String
⭕ Sanitized
items[].location
String
🟢 Allowed
items[].locked
Boolean
🟡 Pseudonymized
items[].organizer
Organizer
🔴 Redacted
items[].organizer.displayName
String
🟡 Pseudonymized
items[].organizer.email
String
Raw example: alice@acme.com
Sanitized example:
🟢 Allowed
items[].organizer.id
String
🟢 Allowed
items[].organizer.self
Boolean
🟢 Allowed
items[].originalStartTime
EventDateTime
🟢 Allowed
items[].originalStartTime.date
DateTime
🟢 Allowed
items[].originalStartTime.dateTime
DateTime
🟢 Allowed
items[].originalStartTime.timeZone
String
🟢 Allowed
items[].privateCopy
Boolean
🟢 Allowed
items[].recurrence
List of String
🟢 Allowed
items[].recurringEventId
String
🟢 Allowed
items[].sequence
Integer
🟢 Allowed
items[].start
EventDateTime
🟢 Allowed
items[].start.date
DateTime
🟢 Allowed
items[].start.dateTime
DateTime
🟢 Allowed
items[].start.timeZone
String
🟢 Allowed
items[].status
String
⭕ Sanitized
items[].summary
String
Title of the event
🟢 Allowed
items[].transparency
String
🟢 Allowed
items[].updated
DateTime
🟢 Allowed
items[].userAccountId
String
🟢 Allowed
items[].visibility
String
🟢 Allowed
kind
String
🟢 Allowed
nextPageToken
String
🟢 Allowed
nextSyncToken
String
🔴 Redacted
summary
String
🟢 Allowed
timeZone
String
🟢 Allowed
updated
EventDateTime
🟢 Allowed
updated.date
DateTime
🟢 Allowed
updated.dateTime
DateTime
🟢 Allowed
updated.timeZone
String
API docs: https://developers.google.com/calendar/api/v3/reference/settings#resource
DLP Proxy docs: Google Calendar
🟢 Allowed
etag
String
🟢 Allowed
id
String
🟢 Allowed
kind
String
🟢 Allowed
value
String