# Productboard schema ERD

Table and field reference for the Fivetran Productboard connector.

## Table & Field Reference

### release_relationship

| Column | Type | Keys |
| --- | --- | --- |
| release_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### release_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| release_id | String | PK, FK |
| value | Json |  |

### release

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| end_date | Unknown |  |
| granularity | Unknown |  |
| name | String |  |
| owner_id | String |  |
| owner_name | String |  |
| start_date | Unknown |  |
| state | String |  |
| status_id | String |  |
| updated_at | Unknown |  |
| work_progress_id | String |  |
| work_progress_name | String |  |

### conversation_note_relationship

| Column | Type | Keys |
| --- | --- | --- |
| conversation_note_id | Unknown | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### conversation_note_content

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| conversation_note_id | Unknown | PK, FK |
| author_name | String |  |
| author_type | String |  |
| content | String |  |
| external_id | String |  |
| id | String |  |
| time_stamp | Unknown |  |

### conversation_note_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| conversation_note_id | Unknown | PK, FK |
| name | Unknown |  |

### conversation_note

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| created_by_email | Unknown |  |
| created_by_id | Unknown |  |
| html | Unknown |  |
| metadata_source_record_id | Unknown |  |
| metadata_source_system | Unknown |  |
| metadata_source_url | Unknown |  |
| name | Unknown |  |
| owner_email | String |  |
| owner_id | String |  |
| processed | Unknown |  |
| updated_at | Unknown |  |

### release_group_relationship

| Column | Type | Keys |
| --- | --- | --- |
| release_group_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### release_group_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| release_group_id | String | PK, FK |
| value | Json |  |

### release_group

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| name | String |  |
| updated_at | Unknown |  |

### objective_relationship

| Column | Type | Keys |
| --- | --- | --- |
| objective_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### objective_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| objective_id | String | PK, FK |
| value | Json |  |

### objective

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| effort | Unknown |  |
| end_date | Unknown |  |
| granularity | String |  |
| health_comment | String |  |
| health_created_by_email | String |  |
| health_created_by_id | String |  |
| health_id | String |  |
| health_last_updated_at | Unknown |  |
| health_mode | String |  |
| health_previous_status | String |  |
| health_status | String |  |
| html | String |  |
| name | String |  |
| owner_email | String |  |
| owner_id | String |  |
| start_date | Unknown |  |
| state | String |  |
| status_id | String |  |
| updated_at | Unknown |  |
| work_progress_mode | String |  |
| work_progress_value | Unknown |  |

### key_result_relationship

| Column | Type | Keys |
| --- | --- | --- |
| key_result_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### key_result_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| key_result_id | String | PK, FK |
| value | Json |  |

### key_result

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| end_date | Unknown |  |
| granularity | String |  |
| health_comment | String |  |
| health_created_by_email | String |  |
| health_created_by_id | String |  |
| health_id | String |  |
| health_last_updated_at | Unknown |  |
| health_mode | String |  |
| health_previous_status | String |  |
| health_status | String |  |
| html | String |  |
| name | String |  |
| owner_email | String |  |
| owner_id | String |  |
| progress_current_value | Unknown |  |
| progress_start_value | Unknown |  |
| progress_target_value | Unknown |  |
| start_date | Unknown |  |
| state | String |  |
| status_id | String |  |
| updated_at | Unknown |  |

### subfeature_relationship

| Column | Type | Keys |
| --- | --- | --- |
| subfeature_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### subfeature_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| subfeature_id | String | PK, FK |
| name | Unknown |  |

### subfeature_team

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK, FK |
| subfeature_id | String | PK, FK |

### subfeature_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| subfeature_id | String | PK, FK |
| value | Json |  |

### subfeature

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| effort | Unknown |  |
| end_date | Unknown |  |
| granularity | String |  |
| health_comment | String |  |
| health_created_by_email | String |  |
| health_created_by_id | String |  |
| health_id | String |  |
| health_last_updated_at | Unknown |  |
| health_mode | String |  |
| health_previous_status | String |  |
| health_status | String |  |
| html | String |  |
| name | String |  |
| owner_email | String |  |
| owner_id | String |  |
| start_date | Unknown |  |
| status | String |  |
| status_id | String |  |
| updated_at | Unknown |  |
| work_progress_mode | String |  |
| work_progress_value | Unknown |  |

### users_team

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK, FK |
| users_id | String | PK, FK |
| name | String |  |

### users

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_at | Unknown |  |
| disabled | Unknown |  |
| email | String |  |
| invitation_pending | Unknown |  |
| name | String |  |
| role | String |  |
| updated_at | Unknown |  |
| username | String |  |

### opportunity_note_relationship

| Column | Type | Keys |
| --- | --- | --- |
| opportunity_note_id | Unknown | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### opportunity_note_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| opportunity_note_id | Unknown | PK, FK |
| name | Unknown |  |

### opportunity_note

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| created_by_email | Unknown |  |
| created_by_id | Unknown |  |
| html | Unknown |  |
| metadata_source_record_id | Unknown |  |
| metadata_source_system | Unknown |  |
| metadata_source_url | Unknown |  |
| name | Unknown |  |
| owner_email | String |  |
| owner_id | String |  |
| processed | Unknown |  |
| updated_at | Unknown |  |

### member_activity

| Column | Type | Keys |
| --- | --- | --- |
| member_id | String | PK, FK |
| active_flag | Unknown |  |
| board_created_count | Unknown |  |
| board_opened_count | Unknown |  |
| column_board_created_count | Unknown |  |
| column_board_opened_count | Unknown |  |
| component_created_count | Unknown |  |
| date | String |  |
| document_board_created_count | Unknown |  |
| document_board_opened_count | Unknown |  |
| feature_created_count | Unknown |  |
| grid_board_created_count | Unknown |  |
| grid_board_opened_count | Unknown |  |
| insight_created_count | Unknown |  |
| insights_board_created_count | Unknown |  |
| insights_board_opened_count | Unknown |  |
| note_created_count | Unknown |  |
| note_state_changed_count | Unknown |  |
| product_created_count | Unknown |  |
| subfeature_created_count | Unknown |  |
| timeline_board_created_count | Unknown |  |
| timeline_board_opened_count | Unknown |  |

### plugin_integration

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_at | Unknown |  |
| initial_state_label | String |  |
| integration_status | String |  |
| name | String |  |
| type | String |  |

### jira_integration_connection

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| jira_integration_id | String | PK, FK |
| issue_id | String |  |
| issue_key | String |  |

### feature_relationship

| Column | Type | Keys |
| --- | --- | --- |
| feature_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### feature_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| feature_id | String | PK, FK |
| name | Unknown |  |

### feature_team

| Column | Type | Keys |
| --- | --- | --- |
| feature_id | String | PK, FK |
| id | String | PK, FK |
| name | String |  |

### feature_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| feature_id | String | PK, FK |
| value | Json |  |

### feature

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| effort | Unknown |  |
| end_date | Unknown |  |
| granularity | String |  |
| health_comment | String |  |
| health_created_by_email | String |  |
| health_created_by_id | String |  |
| health_id | String |  |
| health_last_updated_at | Unknown |  |
| health_mode | String |  |
| health_previous_status | String |  |
| health_status | String |  |
| html | String |  |
| name | String |  |
| owner_email | String |  |
| owner_id | String |  |
| start_date | Unknown |  |
| status | String |  |
| status_id | String |  |
| updated_at | Unknown |  |
| work_progress_mode | String |  |
| work_progress_value | Unknown |  |

### company_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| company_id | Unknown | PK, FK |
| value | Json |  |

### company

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | Unknown |  |
| domain | Unknown |  |
| html | String |  |
| name | Unknown |  |
| owner_email | String |  |
| owner_id | String |  |
| updated_at | Unknown |  |

### plugin_integration_connection

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| plugin_integration_id | String | PK, FK |
| fields_connection_color | String |  |
| fields_connection_hover_label | String |  |
| fields_connection_label | String |  |
| fields_connection_state | String |  |
| fields_connection_target_url | String |  |
| fields_connection_tooltip | String |  |

### text_note_relationship

| Column | Type | Keys |
| --- | --- | --- |
| target_id | String | PK, FK |
| text_note_id | Unknown | PK, FK |
| target_type | String |  |
| type | String |  |

### text_note_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| text_note_id | Unknown | PK, FK |
| name | Unknown |  |

### text_note

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| archived | Unknown |  |
| content | Unknown |  |
| created_at | Unknown |  |
| created_by_email | Unknown |  |
| created_by_id | Unknown |  |
| html | Unknown |  |
| metadata_source_record_id | Unknown |  |
| metadata_source_system | Unknown |  |
| metadata_source_url | Unknown |  |
| name | Unknown |  |
| owner_email | String |  |
| owner_id | String |  |
| processed | Unknown |  |
| updated_at | Unknown |  |

### product_relationship

| Column | Type | Keys |
| --- | --- | --- |
| product_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### product_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| product_id | String | PK, FK |
| name | Unknown |  |

### product_team

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK, FK |
| product_id | String | PK, FK |
| name | String |  |

### product_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| product_id | String | PK, FK |
| value | Json |  |

### product

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_at | Unknown |  |
| description | String |  |
| effort | Unknown |  |
| html | String |  |
| name | String |  |
| owner_email | String |  |
| owner_id | String |  |
| updated_at | Unknown |  |

### initiative_relationship

| Column | Type | Keys |
| --- | --- | --- |
| initiative_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### initiative_team

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK, FK |
| initiative_id | String | PK, FK |

### initiative_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| initiative_id | String | PK, FK |
| value | Json |  |

### initiative

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| effort | Unknown |  |
| end_date | Unknown |  |
| granularity | String |  |
| health_comment | String |  |
| health_created_by_email | String |  |
| health_created_by_id | String |  |
| health_id | String |  |
| health_last_updated_at | Unknown |  |
| health_mode | String |  |
| health_previous_status | String |  |
| health_status | String |  |
| html | String |  |
| name | String |  |
| owner_email | String |  |
| owner_id | String |  |
| start_date | Unknown |  |
| state | String |  |
| status_id | String |  |
| updated_at | Unknown |  |
| work_progress_mode | String |  |
| work_progress_value | Unknown |  |

### jira_integration

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_at | Unknown |  |
| integration_status | String |  |
| name | String |  |

### team

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| avatar_url | String |  |
| created_at | Unknown |  |
| description | String |  |
| handle | String |  |
| name | String |  |
| updated_at | Unknown |  |

### component_relationship

| Column | Type | Keys |
| --- | --- | --- |
| component_id | String | PK, FK |
| target_id | String | PK, FK |
| target_type | String |  |
| type | String |  |

### component_tag

| Column | Type | Keys |
| --- | --- | --- |
| index | Unknown | PK |
| component_id | String | PK, FK |
| name | Unknown |  |

### component_custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | Unknown | PK |
| component_id | String | PK, FK |
| value | Json |  |

### component

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| archived | Unknown |  |
| created_at | Unknown |  |
| description | String |  |
| html | String |  |
| name | String |  |
| owner_email | Unknown |  |
| owner_id | String |  |
| updated_at | Unknown |  |

## Relationships

- release_relationship(target_id) → release_group(id)
- release_relationship(release_id) → release(id)
- release_custom_field(release_id) → release(id)
- conversation_note_relationship(target_id) → company(id)
- conversation_note_relationship(conversation_note_id) → conversation_note(id)
- conversation_note_content(conversation_note_id) → conversation_note(id)
- conversation_note_tag(conversation_note_id) → conversation_note(id)
- release_group_relationship(target_id) → release(id)
- release_group_relationship(release_group_id) → release_group(id)
- release_group_custom_field(release_group_id) → release_group(id)
- objective_relationship(target_id) → key_result(id)
- objective_relationship(objective_id) → objective(id)
- objective_custom_field(objective_id) → objective(id)
- key_result_relationship(target_id) → objective(id)
- key_result_relationship(key_result_id) → key_result(id)
- key_result_custom_field(key_result_id) → key_result(id)
- subfeature_relationship(target_id) → component(id)
- subfeature_relationship(subfeature_id) → subfeature(id)
- subfeature_tag(subfeature_id) → subfeature(id)
- subfeature_team(id) → team(id)
- subfeature_team(subfeature_id) → subfeature(id)
- subfeature_custom_field(subfeature_id) → subfeature(id)
- users_team(id) → team(id)
- users_team(users_id) → users(id)
- opportunity_note_relationship(target_id) → company(id)
- opportunity_note_relationship(opportunity_note_id) → opportunity_note(id)
- opportunity_note_tag(opportunity_note_id) → opportunity_note(id)
- member_activity(member_id) → users(id)
- jira_integration_connection(jira_integration_id) → jira_integration(id)
- feature_relationship(target_id) → subfeature(id)
- feature_relationship(feature_id) → feature(id)
- feature_tag(feature_id) → feature(id)
- feature_team(id) → team(id)
- feature_team(feature_id) → feature(id)
- feature_custom_field(feature_id) → feature(id)
- company_custom_field(company_id) → company(id)
- plugin_integration_connection(plugin_integration_id) → plugin_integration(id)
- text_note_relationship(target_id) → company(id)
- text_note_relationship(text_note_id) → text_note(id)
- text_note_tag(text_note_id) → text_note(id)
- product_relationship(target_id) → initiative(id)
- product_relationship(product_id) → product(id)
- product_tag(product_id) → product(id)
- product_team(id) → team(id)
- product_team(product_id) → product(id)
- product_custom_field(product_id) → product(id)
- initiative_relationship(target_id) → product(id)
- initiative_relationship(initiative_id) → initiative(id)
- initiative_team(id) → team(id)
- initiative_team(initiative_id) → initiative(id)
- initiative_custom_field(initiative_id) → initiative(id)
- component_relationship(target_id) → subfeature(id)
- component_relationship(component_id) → component(id)
- component_tag(component_id) → component(id)
- component_custom_field(component_id) → component(id)
