RAW.CLOCKIFY — Schema Profile

Source: Clockify (time tracking)
Profiled: 2026-03-02


Tables

TableRowsLast AlteredDate Range
TIME_ENTRIES14,4602026-03-022024-09-12 → 2026-03-02
TEST_TABLE02025-07-15

TIME_ENTRIES — Full Schema

ColumnTypeNullableNotes
TIME_ENTRY_IDTEXTNOPrimary key
USER_IDTEXTYES
PROJECT_IDTEXTYES
WORKSPACE_IDTEXTYES
TASK_IDTEXTYES
DESCRIPTIONTEXTYES
BILLABLEBOOLEANYES
ENTRY_TYPETEXTYES
START_TIMETIMESTAMP_NTZYESEntry start
END_TIMETIMESTAMP_NTZYESEntry end
DURATION_HOURSNUMBERYESPre-calculated
DURATION_MINUTESNUMBERYES
DURATION_HMSTEXTYESe.g. “1:30:00”
HOURLY_RATE_AMOUNTNUMBERYES
HOURLY_RATE_CURRENCYTEXTYES
USER_NAMETEXTYESDenormalized
USER_EMAILTEXTYES
PROJECT_NAMETEXTYESDenormalized
WORKSPACE_NAMETEXTYES
TAGSTEXTYES
CREATED_ATTIMESTAMP_NTZYES
UPDATED_ATTIMESTAMP_NTZYES

Grain

  • One row per time entry
  • Date column: Use START_TIME::DATE or END_TIME::DATE for daily aggregation

Staging Model Guidance

  1. Direct flatten: No JSON — columns are already flat
  2. Date grain: START_TIME::DATE AS entry_date
  3. Join keys: USER_ID, PROJECT_ID for person/project dimensions (or use denormalized USER_NAME, PROJECT_NAME)
  4. Filter: Exclude entries with no project if needed (PROJECT_ID IS NOT NULL)