Skip to main content

Ingest Custom Properties from dbt

Ingest custom property values from manifest.json file to enrich table metadata with organization-specific attributes in OpenMetadata. Custom properties allow you to extend the standard metadata model with additional fields specific to your organization’s needs, such as SLA hours, data classification levels, or refresh frequencies.

Requirements

For dbt Custom Properties, the custom properties must be pre-defined on the Table entity type in OpenMetadata before ingestion. If a custom property is not defined, a warning will be logged and that property will be skipped.

Steps for ingesting dbt Custom Properties

1. Define Custom Properties in OpenMetadata

Before ingesting custom properties from dbt, you need to define them on the Table entity type in OpenMetadata.
  1. Navigate to Settings > Custom Properties > Tables
  2. Click Add Property
  3. Define the property name and type
For detailed instructions, refer to the Custom Properties documentation.

2. Add Custom Properties in schema.yml file

To set custom property values for a table in your dbt model, add them under model->name->meta->openmetadata->customProperties in your schema.yml file. For more details on dbt meta field follow the link here.

3. Supported Custom Property Types

OpenMetadata supports various custom property types. The following table shows all supported types and their expected formats:

4. Advanced Examples

Entity Reference

Reference another entity (user, team, dashboard, etc.) in OpenMetadata:

Entity Reference List

Reference multiple entities:

Time Interval

Specify a time range with start and end timestamps:

Table Custom Property

For table-type custom properties with rows and columns:

5. Resulting manifest.json structure

After running your dbt workflow, the generated manifest.json file will include the custom properties under node_name->config->meta->openmetadata->customProperties:

6. Viewing Custom Properties in OpenMetadata

Custom properties ingested from dbt can be viewed on the table details page under the Custom Properties section.

Validation and Error Handling

The ingestion process validates custom property values against their defined types: Example warning message:

Complete Example

Here’s a comprehensive example showing multiple custom property types: