This article helps you:
Efficiently manage multiple models with a DBT integration
The warehouse-native DBT integration helps you manage your warehouse native models. Instead of managing one model at a time, create or edit multiple models with the DBT manifest file.
This section details how you can annotate the DBT manifest file's metadata to automatically generate all data models.
Warehouse-native Amplitude supports both create and update operations with the manifest file. For each table present in the manifest file, you can create multiple data models.
To create data models based on a table, add amplitude_meta as a key to the metadata for the table. The value associated with the amplitude_meta key must be a dictionary with a single key, data_models. The value associated with the data_models key must be a list of data model descriptions.
A data model description is a dictionary with three keys, name, type, and special_columns. The value associated with the name key must be a globally unique string among all data model descriptions, and is used to identify the specific data model. If this name isn't present in any existing data model, Amplitude creates a new data model with this name.
Otherwise, the data model with that name is overwritten with the specified configuration.
The value associated with the type key defines
the type of data model and must be one of the following:
EVENTEVENT_PROPERTIESCURRENT_USER_PROPERTIESHISTORICAL_USER_PROPERTIESCURRENT_GROUP_PROPERTIESHISTORICAL_GROUP_PROPERTIESThe value associated with the special_columns key must be a dictionary with
specified keys as follows:
| Data Model Type | Keys Expected |
|---|---|
EVENT |
unique_id, event_time |
EVENT_PROPERTIES |
event_type |
CURRENT_USER_PROPERTIES |
unique_id |
HISTORICAL_USER_PROPERTIES |
unique_id, start_time, end_time |
CURRENT_GROUP_PROPERTIES |
unique_id |
HISTORICAL_GROUP_PROPERTIES |
unique_id, start_time, end_time |
Each key in the dictionary associated with the special_columns should be associated
with a string corresponding to the key in the columns dictionary.
amplitude_meta key?{
"nodes": {
"event_table": {
"database": "database",
"schema": "schema",
"name": "table_name",
"meta": {
"amplitude_meta": {
"data_models": [
{
"name": "data_model_name",
"type": "EVENT",
"special_columns": {
"unique_id": "unique_id_col",
"event_time": "event_time_col"
}
}
]
}
},
"columns": {
"event_time_col": {
"name": "event_time_col"
},
"unique_id_col": {
"name": "unique_id_col"
}
}
}
}
}
October 24th, 2025
Need help? Contact Support
Visit Amplitude.com
Have a look at the Amplitude Blog
Learn more at Amplitude Academy
© 2025 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.