# Asana schema ERD

Table and field reference for the Fivetran Asana connector.

## Table & Field Reference

### custom_field

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| portfolio_id | String | FK |
| project_id | String | FK |
| workspace_id | String | FK |
| description | String |  |
| name | String |  |
| type | String |  |

### task

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| assignee_id | String | FK |
| completed_by_id | String | FK |
| created_by_id | String | FK |
| parent_id | String | FK |
| workspace_id | String | FK |
| actual_time_minutes | Int |  |
| completed | Boolean |  |
| completed_at | Instant |  |
| created_at | Instant |  |
| due_at | Instant |  |
| due_on | Instant |  |
| liked | Boolean |  |
| modified_at | Instant |  |
| name | String |  |
| notes | String |  |
| num_likes | Int |  |
| resource_subtype | String |  |
| start_on | Instant |  |
| custom_** |  |  |

### project

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| owner_id | String | FK |
| team_id | String | FK |
| workspace_id | String | FK |
| archived | Boolean |  |
| color | String |  |
| created_at | Instant |  |
| current_status | String |  |
| current_status_color | String |  |
| due_date | Instant |  |
| modified_at | Instant |  |
| name | String |  |
| notes | String |  |
| public | Boolean |  |
| start_on | Instant |  |
| custom_** |  |  |

### user

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| email | String |  |
| name | String |  |

### attachment

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| parent_id | String | FK |
| created_at | Instant |  |
| download_url | String |  |
| host | String |  |
| name | String |  |
| view_url | String |  |

### tag

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| workspace_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| message | String |  |
| name | String |  |
| notes | String |  |

### portfolio_member

| Column | Type | Keys |
| --- | --- | --- |
| portfolio_id | String | PK, FK |
| user_id | String | PK, FK |

### goal_follower

| Column | Type | Keys |
| --- | --- | --- |
| goal_id | String | PK, FK |
| user_id | String | PK, FK |

### story

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_by_id | String | FK |
| target_id | String | FK |
| created_at | Instant |  |
| hearted | Boolean |  |
| num_hearts | Int |  |
| source | String |  |
| text | String |  |
| type | String |  |

### section

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| project_id | String | FK |
| created_at | Instant |  |
| name | String |  |

### task_follower

| Column | Type | Keys |
| --- | --- | --- |
| task_id | String | PK, FK |
| user_id | String | PK, FK |

### team

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| organization_id | String | FK |
| name | String |  |

### time_tracking

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| task_id | String | PK, FK |
| created_by_id | String | FK |
| created_at | Instant |  |
| duration_minutes | Double |  |
| entered_on | Instant |  |

### goal_status

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_by_id | String | FK |
| goal_id | String | FK |
| created_at | Instant |  |
| modified_at | Instant |  |
| status_type | String |  |
| text | String |  |
| title | String |  |

### project_task

| Column | Type | Keys |
| --- | --- | --- |
| project_id | String | PK, FK |
| task_id | String | PK, FK |

### task_tag

| Column | Type | Keys |
| --- | --- | --- |
| tag_id | String | PK, FK |
| task_id | String | PK, FK |

### story_heart

| Column | Type | Keys |
| --- | --- | --- |
| story_id | String | PK, FK |
| user_id | String | PK, FK |

### tag_follower

| Column | Type | Keys |
| --- | --- | --- |
| tag_id | String | PK, FK |
| user_id | String | PK, FK |

### project_status

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| author_id | String | FK |
| created_by_id | String | FK |
| project_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| modified_at | Instant |  |
| text | String |  |
| title | String |  |

### goal_relationship

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| goal_id | String | PK, FK |
| contribution_weight | Double |  |
| resource_subtype | String |  |
| supporting_resource_gid | String |  |
| supporting_resource_name | String |  |
| supporting_resource_resource_type | String |  |

### portfolio_item

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| portfolio_id | String | PK, FK |
| resource_type | String |  |

### task_dependency

| Column | Type | Keys |
| --- | --- | --- |
| dependency_id | String | PK, FK |
| task_id | String | PK, FK |

### goal

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| owner_id | String | FK |
| team_id | String | FK |
| workspace_id | String | FK |
| due_on | Instant |  |
| liked | Boolean |  |
| name | String |  |
| notes | String |  |
| num_likes | Int |  |
| start_on | Instant |  |
| status | String |  |
| metric_** |  |  |
| time_period_** |  |  |

### workspace

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| is_organization | Boolean |  |
| name | String |  |

### organization

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| name | String |  |

### task_section

| Column | Type | Keys |
| --- | --- | --- |
| section_id | String | PK, FK |
| task_id | String | PK, FK |

### portfolio

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_by_id | String | FK |
| owner_id | String | FK |
| workspace_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| due_on | Instant |  |
| name | String |  |
| start_on | Instant |  |
| custom_** |  |  |

## Relationships

- custom_field(project_id) → project(id)
- custom_field(workspace_id) → workspace(id)
- custom_field(portfolio_id) → portfolio(id)
- task(completed_by_id) → user(id)
- task(assignee_id) → user(id)
- task(parent_id) → task(id)
- task(workspace_id) → workspace(id)
- task(created_by_id) → user(id)
- project(owner_id) → user(id)
- project(team_id) → team(id)
- project(workspace_id) → workspace(id)
- attachment(parent_id) → task(id)
- tag(workspace_id) → workspace(id)
- portfolio_member(portfolio_id) → portfolio(id)
- portfolio_member(user_id) → user(id)
- goal_follower(goal_id) → goal(id)
- goal_follower(user_id) → user(id)
- story(target_id) → task(id)
- story(created_by_id) → user(id)
- section(project_id) → project(id)
- task_follower(task_id) → task(id)
- task_follower(user_id) → user(id)
- team(organization_id) → organization(id)
- time_tracking(task_id) → task(id)
- time_tracking(created_by_id) → user(id)
- goal_status(goal_id) → goal(id)
- goal_status(created_by_id) → user(id)
- project_task(task_id) → task(id)
- project_task(project_id) → project(id)
- task_tag(task_id) → task(id)
- task_tag(tag_id) → tag(id)
- story_heart(story_id) → story(id)
- story_heart(user_id) → user(id)
- tag_follower(tag_id) → tag(id)
- tag_follower(user_id) → user(id)
- project_status(project_id) → project(id)
- project_status(author_id) → user(id)
- project_status(created_by_id) → user(id)
- goal_relationship(goal_id) → goal(id)
- portfolio_item(portfolio_id) → portfolio(id)
- task_dependency(task_id) → task(id)
- task_dependency(dependency_id) → task(id)
- goal(owner_id) → user(id)
- goal(team_id) → team(id)
- goal(workspace_id) → workspace(id)
- task_section(task_id) → task(id)
- task_section(section_id) → section(id)
- portfolio(owner_id) → user(id)
- portfolio(workspace_id) → workspace(id)
- portfolio(created_by_id) → user(id)
