Table: CustomObjects

Can be used to store custom entity types in Vault, such as Tasks or Change Order requests.
Includes metadata like category, lifecycle state, creator information, and user-defined properties.

Columns

Column

Data Type

Can Import

Allows Null

Description

πŸ”‘CustomObjectDefinition

nvarchar(256)

βœ… Required

βœ…

Singular Display Name of the Custom Object Definition in Vault.

πŸ”‘CustomObjectName

nvarchar(256)

βœ… Required

❌

Unique name of the object within it’s definition group.

Category

nvarchar(50)

βœ…

βœ…

To be filled with a valid and assignable Vault category. If null, DTU applies the default category.

LifecycleState

nvarchar(50)

βœ…

βœ…

To be filled with a valid Vault Lifecycle State, if allowed by the Category.

LifecycleDefinition

nvarchar(100)

βœ…

βœ…

To be filled with a valid Vault Lifecycle Definition, if allowed by the Category.

CreateUser

nvarchar(100)

βœ… Required

βœ…

Fills Vault system property Created By. Must be a valid Vault User defined in the target Vault.

πŸ”‘CreateDate

datetime2

βœ… Required

βœ…

Fills the Vault system property Create Date. Can use a default date like GETDATE().

UDP_…

nvarchar(max)

βœ…

βœ…

Columns starting with UDP_ define user-defined properties in Vault.
They can be added as needed; there are no predefined UDP columns.

_OriginalBCPOverflow

xml

βšͺ auto (only available when importing from a source Vault BCP package)

βœ…

Enables identical re-export of the BCP package.
Stores additional XML data from the original BCP file that is not captured by other columns (e.g. attributes like ACLbehavior= or nodes like <CustomObjectDefinition PluralDisplayName= and <ACL).

Remarks

Each Custom Object is usually identified by the combination of CustomObjectDefinition and CustomObjectName.
However, Vault allows duplicate entries, which is why the CreateDate is also included in the primary key of this table.

Vault Pre-configuration

For all records loaded from a BCP package, a corresponding custom object definition with the same plural name should already exist in the target Vault.
Changes to the CustomObjectDefinition column are generally possible, but during the DTU import the definition in the target Vault must keep the original plural name (stored in _OriginalBCPOverflow).

For newly added records, or records imported from other sources, the Export-BCPDatabase cmdlet uses the CustomObjectDefinition as both singular and plural name.
In this case, the target Vault must be preconfigured with a custom object definition that has the same plural name.

Examples

Retrieving all custom objects of any definition:

SELECT CustomObjectDefinition, CustomObjectName, Category, LifecycleState, LifecycleDefinition, CreateUser, CreateDate, UDP_TaskOwner
FROM CustomObjects
ORDER BY CustomObjectDefinition, CustomObjectName;
CustomObjectDefinition  CustomObjectName  Category        LifecycleState   LifecycleDefinition        CreateUser     CreateDate           UDP_TaskOwner
----------------------  ----------------  --------------  ---------------- ------------------------  ------------    -------------------  --------------
Change Order Request    0000017                           Create           My Change Process          Hannes         2023-07-05 08:42:00  
Change Order Request    0000018                           Open             My Change Process          Albert         2025-01-16 09:20:00  
Change Order Request    0000019                           Closed           My Change Process          Hannes         2024-12-24 10:05:00  
Task                    2025-001     Engineering          Work in Progress Basic Release Process      Jane Smith     2025-09-13 09:30:00  Hannes
Task                    2025-002     Manufacturing        Obsolete         Basic Release Process      Max Mustermann 2024-01-16 11:00:00  Albert
Task                    2025-003     Engineering                                                      Hannes         2025-01-17 14:20:00  John Doe