Table: CustomObjectLinks
Stores the ‘Contents’ of a Vault Custom Object. These can be links to a file, folder, Item, or another Custom Object.
Columns
Column |
Data Type |
Can Import |
Allows Null |
Description |
|---|---|---|---|---|
nvarchar(256) |
✅ Required |
❌ |
Singular type name of the parent Custom Object. References CustomObjects→CustomObjectDefinitionName. |
|
nvarchar(256) |
✅ Required |
❌ |
Name of the parent Custom Object. References CustomObjects→CustomObjectName. |
|
datetime2 |
✅ Required |
❌ |
Used to uniquely identify a custom object in its definition. References CustomObjects→CreateDate. |
|
nvarchar(256) |
✅ Required if no other Target column used |
✅ |
Vault path of the linked file. References Files→FilePath. |
|
nvarchar(257) |
✅ Required if no other Target column used |
✅ |
Vault path of the linked folder. References Folders→FolderPath. |
|
nvarchar(128) |
✅ Required if no other Target column used |
✅ |
Number of the linked Vault Item. References Items→ItemNumber. |
|
nvarchar(256) |
✅ Required if no other Target column used |
✅ |
Name of the linked Custom Object. References CustomObjects→CustomObjectName. |
|
nvarchar(256) |
✅ Required if TargetCustomObjectName is set |
✅ |
Singular type name of the linked Custom Object. References CustomObjects→CustomObjectDefinitionName. |
|
datetime2 |
✅ Required if TargetCustomObjectName is set |
✅ |
Used to uniquely identify a linked custom object in its definition. References CustomObjects→CreateDate. |
|
_OriginalBCPOverflow |
xml |
⚪ auto (only available when importing from a source Vault BCP package) |
✅ |
Enables identical re-export of the BCP package. |
Remarks
Each row represents a single link between a parent Custom Object and one target entity.
Therefore only one of the Target... columns should be populated per row: TargetFolderPath, TargetFilePath, TargetItemNumber, or TargetCustomObjectName (together with TargetCustomObjectDefinition and TargetCreateDate).
Each parent–target relationship should be recorded only once.
However, since Vault also allows multiple links between the same parent custom object and the same target entity (for example, custom object links with different UDP values - stored in _OriginalBCPOverflow), this table does not have a unique primary key.
Notes:
Links to the Files and Items tables do not require a particular Version, since Vault always displays the latest version by default.
Links to Custom Objects can also be created in the reverse direction if needed; see CustomObjectLinks.
Examples
Retrieving the Contents for a given Custom Object
SELECT
ParentCustomObjectName AS CustomObject,
COALESCE(TargetFolderPath, TargetFilePath, TargetItemNumber, TargetCustomObjectName) AS Target,
CASE
WHEN TargetFolderPath IS NOT NULL THEN 'Folder'
WHEN TargetFilePath IS NOT NULL THEN 'File'
WHEN TargetItemNumber IS NOT NULL THEN 'Item'
WHEN TargetCustomObjectDefinition IS NOT NULL THEN TargetCustomObjectDefinition
END AS TargetType
FROM CustomObjectLinks
WHERE ParentCustomObjectDefinition = 'Task'
AND ParentCustomObjectName = '2025-001'
ORDER BY TargetType, Target;
Task Target TargetType
------------- ------------------------------------------ --------------------
2025-001 $/Designs/Pad Lock/Assemblies/PadLock.iam File
2025-001 $/Designs/Some Other Project/ Folder
2025-001 100005 Item
2025-001 2025-001 Change Order Request