Skip to main content

Lookup Relations Table

All actions of users and share recipients end up as events in the Events table. The table below details all of the available lookup tables and the fields we return when you call them.

Events

FieldExplanation
eventIdIdentifier of an event; an event is an interaction of a user in the Showpad apps.
startTimeTimestamp of the event (start).
endTimeTimestamp of the event (end).
loggedAtTimestamp of the logging of the event to the database (can be later in offline use case).
userIdIdentifier of a user.
channelIdIdentifier of a channel; A channel is an experience (classic, advances or experience app).
shareIdIdentifier of a share; A share can be a shared space or simple share, a simple share can be sent via the mobile app, web app or a plugin.
deviceIdIdentifier of a device.
divisionIdDeprecated field, please do not use this for linking division lookup table. The correct divisionId is found on the asset lookup table.
assetIdIdentifier of an asset.
contactIdIdentifier of a contact.
typeType of event.
pagePage of the asset (for view events only); NULL for all other cases or the "all pages" view event; page is also only filled when the export is executed with pageBased=true; Values are numeric for all non-HTML5 assets and can be text/string for HTML5 assets.
metadataSome experiences have some extra metadata on usage data.
sharedSpaceIdIdentifier of a Shared Space.
sharedSpaceParticipantIdIdentifier of a Shared Space Participant.

Users

FieldExplanation
userIdIdentifier of a user.
createdAtTimestamp when the user was created.
firstnameFirst name.
lastnameLast name.
emailaddressEmail Address - also the login for the user.
deletedAtTimestamp when the user is deleted; In the OP, all reporting will exclude events after this date.
isActiveIndicates the user has assigned a license (is active in user OP reporting).
isForgottenIndicates the user has been anonymized for GDPR reasons; i.e. deleted users are anonymized after x months according to configuration in the OP. Also for some geographies active users can be anonymized; emailAddress, firstname and lastname will also be anonymized.
userRoleThe role of the user inside Showpad. Can be one of: Admin, Manager, Promoted Member, User.
managerIdThe identifier of the manager user.
externalIdThe external id of the user.

Usergroups

FieldExplanation
userGroupIdIdentifier of a user group.
nameName of the group.
deletedAtTimestamp when the user group is deleted; In the OP, all reporting will exclude events after this date.

User-usergroups

FieldExplanation
userIdIdentifier of a user.
userGroupIdIdentifier of a user group.

Devices

FieldExplanation
deviceIdIdentifier of a device.
appusedOn the device record that is registered, we keep multiple fields to identify the device, e.g. the operating system, the device model (device model or browser user agent), the type of device (web, browser, tablet, trackingPixel), and the app that was used.

If you use the gmail or chrome extension, Showpad would recognize a browser with a certain user agent. We have the app field that tells us which Showpad app was being used, e.g. Showpad for Gmail.

The app field was introduced somewhere mid-2016, so before that it is not filled in. Therefore, in case it is missing we just mention the type of device (tablet).

Possible values:
  • web: Showpad webapp is used (in the browser)
  • android: Android app is used
  • ios: iPhone or iPad app is used
  • windows: old legacy windows app
  • windows-wda: the legacy windows desktop app
  • windows-wda-2.0: new windows desktop app
  • app scv: Showcase Viewer, aka the share mini-website the recipient uses for viewing assets
  • outlook: Outlook plugin
  • gmail: Gmail plugin
  • tablet: we fall back to show the device "type" (tablet, browser, phone) in case the device did not send any app (exception fallback case).
  • dealroom: alternative name for Shared Spaces
  • Si-app: shares tab in front-end
  • Crm-app: SFDC app.
lastActiveUserIdLast user ID which logged on to this device. If the event is not related to a Showpad user, this field is NULL.
modelModel of the device (if available).
location(last) location of the device (if available).
typeThe mapping is based on model and app used. This is done to facilitate recreating identical reporting to that used in our Online Platform.

Possible values:
  • desktop
  • tablet
  • phone

Shares

FieldExplanation
shareIdIdentifier of a share.
titleTitle of the share.
typeType of the share.

Possible values:
  • email: simple email share via Showpad.
  • link: simple link share via Showpad.
  • gmail: share via gmail plugin.
  • outlook: share via Outlook plugin.
salesforceIndicator whether logged to Salesforce or not.
themeName of the theme used for sharing (simple shares only).
recipientsList of recipients of the share. Typically recipient email address. If we don't have email but we have the name we store the name.

If data is anonymized you will see numerical values (hash value):
  • After x months data is anonymized according to account security settings.
  • When recipients don't give consent.
  • With reshares we are not allowed to store email addresses.
  • With the use of links this is often not filled in (since we have neither address nor name).
  • Marketo plugin and chrome extension are technically links but depending on the use case we sometimes have info. If we have info we store it here.
sharedAtTimestamp of creation of share record (should be close to timestamp of event itself).
revokedAtShares can be revoked (not deleted). This is the timestamp.
creatorIdThe user ID that created the share.

Sharedspaces

FieldExplanation
shareSpaceIdIdentifier of a share.
titleTitle of the shared space.
ownerIdOwner of the shared space - lookup to users.
sharedSpaceParticipantsIdArray with all participants - lookup to sharedspaceparticipants.
descriptionDescription.
statusStatus of the shared space. Can be one of: active, archived, deleted
creatorldCreate of the shared space - lookup to users.
createdAtTimestamp of creation of shared space (should be close to timestamp of event itself).
lastActivityAtTimestamp of last activity on the shared space.
deletedAtShared Spaces can be deleted; this is the timestamp.

Sharedspaceparticipants

FieldExplanation
sharedSpaceParticipantsIdParticipant ID.
userIdLookup to the user table.
accessGrantedAtTimestamp this person was granted access.
accessRevokedAtTimestamp this person was revoked access.
lastActivityAtTimestamp of last activity of this participant.
deletedAtTimestamp of removal of this participant.
sharedSpaceIdIdentifier of a Shared Space.
createdAtTimestap when the participant was created.

Sharedspace-items

FieldExplanation
sharedSpaceItemIdItem ID.
sharedSpaceIdIdentifier of a shared space.
userIdIdentifier of a user.
assetIdIdentifier of an asset.
pagePage number (zero-based) in case a single page was inserted in the shared space.
createdAtTimestamp when the item was added to the shared space.
updatedAtTimestamp when the item was last modified in the shared space.
deletedAtTimestamp when the item was deleted in the shared space.

Contacts

FieldExplanation
contactIdIdentifier of a share recipient.
nameThe name of the contact.
userIdUser ID that created the contact (can be different than the user that generates the share).
deletedAtTimestamp when the contact is deleted. In the OP, all reporting will exclude events after this date.

Divisions

FieldExplanation
divisionIdIdentifier of a division.
nameThe name of the division.
isGlobalIndicates the division is a global division.
isPersonalIndicates the source of assets is the user's My Files, which is in fact a personal division.
ownerUserIdIn case of a personal division (My Files) this field contains the related userId.
deletedAtTimestamp when the division is deleted. In the Online Platform, all reporting will exclude events after this date.

Division_usergroups

FieldExplanation
divisionIdIdentifier of a division.
usergroupIdIdentifier of a user group.

Channels

FieldExplanation
channelIdIdentifier of an experience.
nameThe name of the experience.
statusDeprecated field. Please ignore.
deletedAtTimestamp when the channel is deleted. In the Online Platform, all reporting will exclude events after this date.

Assets

FieldExplanation
assetIdIdentifier of an asset.
originalAssetIdWhen adding an asset to a collection, a new asset is created in the background.
As long as the asset is unaltered from a content perspective, the originalAssetId will point to the original assetId it was based upon. This enables reports to group the asset analytics together, as the "different" assets are essentially the same from a business perspective.
When an asset is changed, the edited asset no longer has an originalAssetId that links it to the original ID, as the two are also from business perspective different.
divisionIdIdentifier of the division this asset belongs to.
displayNameName of the asset (included the extension).
statusStatus of the asset. During upload, an asset can have multiple statuses but to be used by a user it has to be "active". This can indicate, however, why a file is in the library but not used, i.e. it failed to process.

Possible values:
  • active - the file has finished processing and is available in the library.
  • inactive - file processing identified an issue with this file, and the user has canceled this file in the processing tab.
  • failed - file processing was unable to process the file.
  • processing - the file is being processed & optimized for various platforms.
  • queued - the file is in the queue, waiting to be processed.
  • prepared - the asset metadata is created and persisted, but the binary file has either not been uploaded yet or is waiting to be processed.
sourceAn indication of whether the asset was uploaded by an admin (marketing-owned) or as a personal user upload.
descriptionDescription of the asset given in the Online Platform.
typeThe type of the asset.

Possible values:
  • 3d-model
  • audio
  • document
  • page
  • photo
  • raw
  • scorm
  • url
  • video
  • webapp (HTML5)
isSensitiveIndicator whether asset can be shared or not.
isDownloadableIndicator whether asset can be downloaded or not.
isDivisionSharedIndicator whether asset has "global" property. This means it is shared across several divisions.
isAnnotatableIndicator whether asset can be annotated by user.
expiresAtExpiry date on the asset.
releasedAtRelease date of the asset.
deletedAtTimestamp when the asset is deleted. In the Online Platform, all reporting will exclude events after this date.
uploadedAtTimestamp when the asset is uploaded.
archivedAtTimestamp when the asset is archived. In the Online Platform, that means the asset is in the Trash but not yet deleted.
createdAtTimestamp when the asset was created.
updatedAtTimestamp when the asset is last updated.
externalIdAsset uploaded via an integration often have a ID from the source system.
commentsCountNumber of comments.
likesCountNumber of likes.
fileSizeFilesize of the asset in bytes.

Asset-authors

FieldExplanation
AssetIdIdentifier of an asset.
AuthorIdIdentifier of an author. Authors are also users so the reference field is users.userId.

Asset-countries

FieldExplanation
AssetIdIdentifier of an asset.
CountryCodeCountry Code.

Asset-languages

FieldExplanation
AssetIdIdentifier of an asset.
LanguageCodeLanguage Code.

Tags

FieldExplanation
tagIdIdentifier of a tag.
nameTag.

Asset-tags

FieldExplanation
assetIdIdentifier of an asset.
tagIdIdentifier of a tag.

Tagcategories

FieldExplanation
tagCategoryIdIdentifier of a tag category.
nameName of the tag category.
pathPath above the tag category. A category can be a child to another category. The full parent path (based on tagCategoryId) is presented here in "materialized path" format.
publishedAtTimestamp when the tag category was published. If empty, the tag category is created for internal usage but not for use on the search or browse experiences.

Tagcategory-tags

FieldExplanation
tagCategoryIdIdentifier of a tag category.
tagIdIdentifier of a tag.

Collections

FieldExplanation
collectionIdIdentifier of a personal collection.
userIdIdentifier of the user who owns the collection.
nameName of the collection.
createdAtTimestamp when the collection was created.
updatedAtTimestamp when the collection was last updated.
deletedAtTimestamp when the collection was deleted.

Collection-items

FieldExplanation
collectionItemIdIdentifier of a collection item. All pages/assets in a collection are collection items.
collectionIdIdentifier of a personal collection.
assetIdIdentifier of an asset. Can be personal or marketing-owned.
pagePage of the asset added. If the complete asset is added, the page field will be empty (NULL). If the original asset is updated, it is still the absolute page number which will be part of the collection.
positionPosition in the collection of the asset (page).
createdAtTimestamp when the item in collection was created.
updatedAtTimestamp when the item in collection was last updated.
deletedAtTimestamp when the item in collection was deleted.
Important remarks
  • You can export details per page by setting the pageBased parameter to true. In that case, the events export will return an event for every page of a document, as well as an event for the whole document. Be mindful of this when aggregating the returned data. The event that refers to the whole document can be recognized by the page field which will display the value NULL.
  • The Reports section of our Online Platform automatically filters out data on deleted users, assets, user groups, etc. If you want the data returned by the events call to do the same, you can filter out the unwanted users, groups and assets by executing a filter based on the deletedAt field in the relevant tables.
  • Showpad apps also track events when offline, and send data to the server when back online. These events will have the original timestamp as the event timestamp. If you want to detect when the data was received by the server, use the loggedAt timestamp instead. Because of this, the exact same call with the exact same date/time may yield different results when executed at different points in time when using the startedAt and endedAt parameters.