Table of Contents

Migration Target Schema

Prompt Support Updated by Prompt Support

Overview

The Prompt New Client Migration Tool has a pre-defined target schema that must be adhered to for data to be imported into Prompt. This document details all of the entities and entity fields that must be provided, including any constraints.

Most entities have a unique ID field. This is used to create references to other entities. For example, a document must belong to a section, so it has a field called SectionId. You will pass a value here that matches the ID field of one of the section entities you provided. This ID can be a real value in your existing system, or it can be a generated identifier used only for this data file. These IDs are not saved to the Prompt database - they are only used to resolve entity references.

Data Specification

View the complete schema here: Prompt_DataSpec.json

Constraint types

maxLength

The property value must be a string equal to or shorter than the specified length

maxValue

The property value must be a number equal to or smaller than the specified value

minLength

The property value must be a string equal to or longer than the specified length

minValue

The property value must be a number equal to or larger than the specified value

required

The property value must be provided

unique

The property value is unique to the specified level of granularity:

  • entity: value is unique amongst all entities of the same type
  • global: value is globally unique across Prompt
  • parent: value is unique amongst all entities of the same type with the same parent

value

The property value must be one of a given range of options

Entity types

Departments

DepartmentId: string
  • ID/GUID to identify the department
  • Required
  • Unique within entity scope
Name: string
  • The name of the department
  • Required
  • Unique within entity scope
Status: string
  • The status of the department
  • Required
  • Value constraint:
    • General: Active and visible to all users
    • Hidden: Hide the department from all users in Prompt, it will only be accessible to Prompt Admins and System Admins
    • Restricted: Hidden from all users that are not assigned to the department and from users of other organizations
    • Disabled: Disabling a department will not allow documents to be added or sections to be created
Description: string
  • Brief description of the department
DefaultReviewFrequency: integer
  • The default number of months after which the documents from this department will require a new review
  • Default value: 36

Sections

SectionId: string
  • ID/GUID to identify the section
  • Required
  • Unique within entity scope
Name: string
  • The name of the section
  • Required
  • Unique within the parent department
Status: string
  • The status of the section
  • Required
  • Value constraint:
    • General: Active and visible to all users
    • Hidden: Hide the section from all users in Prompt, it will only be accessible to Prompt Admins and System Admins
    • Restricted: Hidden from all users that are not assigned to the section & from users of other organizations
    • Disabled: Disabling a section will not allow documents to be added
DepartmentId: string
  • The ID of the Department to which the section belongs
  • Required
Description: string
  • Brief description of the section
DefaultReviewFrequency: integer
  • The default number of months after which the documents from this section will require a new review
  • Default value: the default review frequency of the parent department

Users

UserId: string
  • ID/GUID to identify the user
  • Required
  • Unique within entity scope
Email: string
  • Used to login to Prompt and to send email notifications - must be a valid email address
  • Required
  • Unique globally
DisplayName: string
  • The name of the user is to be displayed when editing a document and in all reports
  • Required
PrimaryDepartmentId: string
  • The ID of the user's primary department where they can access documents
  • Required
PrimarySectionId: string
  • The ID of the user's primary section where they can access documents
  • Required
PhoneNumber: string
  • The user's phone number - only used for reference purposes
OrganizationRole: string
  • Describes the user's role within the organization - only used for reference purposes
CanAccessReports: boolean
  • If true, allows a user to generate reports in their organization
  • Default value: false
CanGlobalSearch: boolean
  • If true, allows a user to search for documents in other active organizations in Prompt
  • Default value: false
CanAccessAllDepartments: boolean
  • If true, allows a user to search for documents in active departments within their organization - this will not assign a user to Hidden or Restricted departments
  • Default value: false

UserPermissions

UserId: string
  • ID/GUID to identify the user to assign the permission to
  • Required
LocationLevel: string
  • The level in the organizational hierarchy in which the permissions are applied
  • Required
  • Value constraint:
    • Organization: the permissions will apply across the entire organization
    • Department: the permissions will apply to a specified department and all sections contained therein
    • Section: the permissions will apply to a specified section
DepartmentId: string
  • The ID of the department where the permissions are applied
  • Required if LocationLevel is "Department"
SectionId: string
  • The ID of the section where the permissions are applied
  • Required if LocationLevel is "Section"
Permissions: string[]
  • A list of permissions to grant to the user in the specified location
  • Value constraint:
    • DocumentAuthor: Grants permissions to add, check-in, check-out, disable, and copy documents at a given location
    • DocumentOwner: The Document Owner is the person responsible for all documents in each location - note that only one Document Owner can be specified in each unique location
    • UserAdmin: Grants access to manage users in an organization

DocumentTypes

DocumentTypeId: string
  • ID/GUID to identify the document type
  • Required
  • Unique within entity scope
Name: string
  • The name of the document type
  • Required
  • Unique within entity scope
  • Maximum length: 50 characters
Order: integer
  • The positional index of the document type as displayed in the document types list
  • Must use integers 0..n for n DocumentType entities

TagSponsors

TagSponsorId: string
  • ID/GUID to identify the executive sponsor tag
  • Required
  • Unique within entity scope
Name: string
  • Name of the executive sponsor
  • Required
  • Unique within entity scope
Order: integer
  • The positional index of the sponsor tag as displayed in the document tags list
  • Required
  • Must use integers 0..n for n TagSponsor entities

TagRiskRatings

TagRiskRatingId: string
  • ID/GUID to identify the risk rating tag
  • Required
  • Unique within entity scope
Name: string
  • Name of the risk rating
  • Required
  • Unique within entity scope
Order: integer
  • The positional index of the risk rating tag as displayed in the document tags list
  • Required
  • Must use integers 0..n for n TagRiskRating entities

TagLocations

TagLocationId: string
  • ID/GUID to identify the location tag
  • Required
  • Unique within entity scope
Name: string
  • Name of the location
  • Required
  • Unique within entity scope
Order: integer
  • The positional index of the sponsor tag as displayed in the document tags list
  • Must use integers 0..n for n TagSponsor entities
IsMandatory: boolean
  • Whether the location is a mandatory one
  • Default value: false

Documents

DocumentId: string
  • ID/GUID to identify the document
  • Required
  • Unique within entity scope
Name: string
  • The name of the document
  • Required
  • Unique within the parent section
  • Minimum length: 4 characters
DocumentCreatorId: string
  • The ID of the user that initially created the document
  • Required
DocumentTypeId: string
  • The ID of the document type that the document is categorized to
S3LocationKey: string
  • The key to be used for the document file in the S3 staging bucket - used by the migration tool to locate the document file
  • Required
SectionId: string
  • The ID of the section to which the document belongs to
  • Required
VersionMajor: integer
  • The major version of the document
  • Required
  • Minimum value: 0
VersionMinor: integer
  • The minor version of the document
  • Required
  • Minimum value: 0
CreatedDate: ISO 8601 datetime string
  • The date/time that the document was created in UTC
  • Required
UpdatedDate: ISO 8601 datetime string
  • The date/time that the document was last updated in UTC
  • Required
SourceDownloadUrl: string
  • A URL used to download the document in the origin system (not Prompt) - used to generate a file during the migration process that maps old download URLs to new Prompt download URLs, so the client can redirect download requests to Prompt
TagSponsorId: string
  • The ID of the Executive Sponsor tag to assign to the document
TagRiskRatingId: string
  • The ID of the Risk Rating tag to assign to the document
TagLocationId: string
  • The ID of the Location tag to assign to the document
ReviewsEnabled: boolean
  • Whether the review process is enabled for this document
  • Default value: false
NextReviewDate: ISO 8601 datetime string
  • The next date/time the document is due for review
  • Required if ReviewsEnabled is true
LastReviewDate: ISO 8601 datetime string
  • The last date/time the document was reviewed
  • Required if ReviewsEnabled is true
ReviewFrequencyMonths: integer
  • The frequency with which the document should be reviewed
  • Required if ReviewsEnabled is true
  • Default value: the default review frequency of the parent section
  • Minimum value: 1
  • Maximum value: 99
ShouldConvertPdf: boolean
  • Whether to attempt to convert the document file to PDF - supported file formats are Word (.doc, .docx), PowerPoint (.ppt, .pptx), Excel (.xls, .xlsx), and Publisher (.pub)
  • Default value: false
ShouldConvertTags: boolean
  • Whether to attempt to process footer tags
  • Default value: false
IsPrivate: boolean
  • Whether the document is searchable for users of other organizations - as Prompt encourages information sharing, this option is recommended to be used only when there is confidential information in documents
  • Default value: false

DocumentHistory

DocumentHistoryId: string
  • ID/GUID to identify the document history event
  • Required
DocumentId: string
  • The ID of the parent document
  • Required
S3LocationKey: string
  • The key to be used for the document history file in the S3 staging bucket - used by the migration tool to locate the document history file
  • Required
Comment: string
  • A comment describing the historical event
  • Required
EventDateTime: ISO 8601 datetime string
  • The date/time of the document history event
  • Required
ChangeType: string
  • The change type of the document history event
  • Required
  • Value constraint:
    • AddDocument: New document added
    • ChangeDocument: Updated or otherwise changed the document
    • DisableDocument: Disabled the document
    • ReactivateDocument: Reactivated a disabled document
VersionMajor: integer
  • The historical major version of the document - the historical version must be lower than the current version
  • Required
  • Minimum value: 0
VersionMinor: integer
  • The historical minor version of the document - the historical version must be lower than the current version
  • Required
  • Minimum value: 0
UpdatedBy: string
  • The ID of the user who updated the document

How did we do?

Migration Data Transformation Example

Contact