connectors

No menu items for this category
OpenMetadata Documentation

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.

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.

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.

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

TypeDescriptionExample Value
stringPlain text value"value"
integerWhole number42
numberDecimal number3.14
markdownMarkdown formatted text"# Header\nContent"
sqlQuerySQL query string"SELECT * FROM table"
emailValid email address"user@example.com"
date-cpDate string"2024-01-15"
dateTime-cpDateTime string"2024-01-15T10:30:00"
time-cpTime string"10:30:00"
timestampMilliseconds since epoch1705315200000
durationISO 8601 duration format"P23DT23H"
enumSingle or multi-select value"High" or ["High", "Critical"]
entityReferenceReference to another entitySee example below
entityReferenceListList of entity referencesSee example below
timeIntervalTime interval with start/endSee example below
table-cpTabular data with rowsSee example below

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

Reference multiple entities:

Specify a time range with start and end timestamps:

For table-type custom properties with rows and columns:

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

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

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

ScenarioBehavior
Custom property not defined on Table entityWarning logged, property skipped
Invalid value for property typeWarning logged with details, property skipped
Invalid enum value (single-select)Warning logged, property skipped
Invalid enum value (multi-select)Invalid values filtered out, valid values applied with warning
Missing required fields for complex typesWarning logged, property skipped

Example warning message:

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