Appearance
Data Mappings
Data Mappings lets you maintain a normalization dictionary in a Google Sheet. Raw values from your data sources (e.g. job titles, departments, categories) are mapped to canonical names that are then reseeded into the dbt pipeline.
Prerequisites
- A Google account connected under Integrations
- A Google Sheet shared with the service email shown on the Data Mappings page (editor access)
Sheet format
The sheet must have exactly three columns with these header names in row 1 (exact names, case-sensitive). Data rows start from row 2.
| Column | Header | Description |
|---|---|---|
| A | raw_value | The raw/unmapped input value as it appears in the source data |
| B | canonical_value | The normalized name this raw value maps to |
| C | category | A grouping label for the mapping (e.g. department, job type) |
Example:
| raw_value | canonical_value | category |
|---|---|---|
| afwas | Afwas | Keuken |
| afwasser | Afwas | Keuken |
| stewarding | Stewarding | Keuken |
| schoonmaak | Schoonmaak | Facilitair |
Multiple raw_value entries can map to the same canonical_value: this is how you consolidate synonyms or typo variants.
Connecting a sheet
- Open Data Mappings in the sidebar
- Paste the full Google Sheets URL (or just the spreadsheet ID) into the input field
- Click Connect Sheet
The sheet is validated on connect, if the service account cannot access it, you'll see a permission error. Make sure editor access has been granted.
Syncing data
Once a sheet is connected:
- Sync from Sheet: pulls the latest rows from the Google Sheet into the UI
- Push to Sheet: writes the current data back to the sheet (overwrites existing rows)
Running dbt seed
After updating mappings, click Run dbt seed to apply the changes to the data pipeline. This triggers a Cloud Run job that runs dbt seed && dbt run using the latest sheet data.
The job typically takes 1-3 minutes. You can view logs if the run fails.
Changing or removing the sheet
Click Change sheet next to the connected sheet ID to disconnect it and connect a different one. This does not delete any data from the sheet itself.