# Data Overview

Coupler.io gives you access to 9 Asana entities, covering everything from individual tasks and comments to top-level portfolios and workspaces. This page explains what data is available and how to use it effectively.

## Available entities

| Entity     | Best used for                                                |
| ---------- | ------------------------------------------------------------ |
| Tasks      | Task tracking, workload analysis, deadline monitoring        |
| Projects   | Project status reporting, portfolio views                    |
| Sections   | Workflow stage analysis                                      |
| Stories    | Audit trails, comment history, activity tracking             |
| Tags       | Categorization and filtering across tasks                    |
| Teams      | Org structure, team-level reporting                          |
| Users      | Capacity planning, user access audits                        |
| Portfolios | Executive-level project tracking (Business/Enterprise plans) |
| Workspaces | Multi-workspace inventory                                    |

## Tasks

#### Key fields

| Field           | Description                                     |
| --------------- | ----------------------------------------------- |
| `name`          | Task title                                      |
| `assignee.name` | Name of the person assigned                     |
| `due_on`        | Due date                                        |
| `completed`     | Whether the task is complete (true/false)       |
| `completed_at`  | Timestamp when the task was marked complete     |
| `created_at`    | When the task was created                       |
| `modified_at`   | When the task was last updated                  |
| `projects`      | Projects the task belongs to                    |
| `tags`          | Tags applied to the task                        |
| `parent`        | Parent task (for subtasks)                      |
| `custom_fields` | Custom fields added in Asana (returned as JSON) |

{% hint style="info" %}
Custom fields are returned in a JSON-formatted column. You can use Coupler.io's calculated column feature with `json_extract` to pull specific custom field values into their own columns.
{% endhint %}

## Projects

#### Key fields

| Field                 | Description                  |
| --------------------- | ---------------------------- |
| `name`                | Project name                 |
| `owner.name`          | Project owner                |
| `current_status.text` | Latest project status update |
| `due_date`            | Project due date             |
| `team.name`           | Team the project belongs to  |
| `created_at`          | When the project was created |
| `modified_at`         | Last modified date           |

## Users

#### Key fields

| Field        | Description                    |
| ------------ | ------------------------------ |
| `name`       | Full name                      |
| `email`      | User email address             |
| `workspaces` | Workspaces the user belongs to |

## Stories

#### Key fields

| Field              | Description                                        |
| ------------------ | -------------------------------------------------- |
| `created_at`       | When the story was created                         |
| `created_by.name`  | Who created the story                              |
| `text`             | Content of the comment or activity entry           |
| `type`             | Story type (comment, system)                       |
| `resource_subtype` | Specific activity type (e.g., assigned, completed) |

## Common field combinations

* **Tasks + Users** — Join on `assignee.gid` to build workload and capacity reports
* **Tasks + Projects** — Join on project ID to filter or group tasks by project
* **Projects + Teams** — Join on `team.gid` to see project counts and status per team
* **Stories + Tasks** — Join on task ID to attach comment history to task records

Use Coupler.io's **Join** transformation to combine any two of these entities in a single data flow.

## Use cases by role

{% tabs %}
{% tab title="Project managers" %}

* Export **Tasks** filtered by `modified_at` to track what changed this week
* Build a project health dashboard in Looker Studio using **Projects** data
* Monitor overdue tasks by filtering on `due_on` and `completed = false`
* Use **Sections** data to visualize workflow stage distribution
  {% endtab %}

{% tab title="Team leads" %}

* Join **Tasks** and **Users** to see per-person task counts and completion rates
* Export **Stories** to review activity history and identify bottlenecks
* Send task data to ChatGPT or Claude to generate automated team summaries
  {% endtab %}

{% tab title="Operations & reporting" %}

* Use **Portfolios** to get a cross-project view for executive dashboards
* Append Tasks data from multiple Asana workspaces using Coupler.io's **Append** transformation
* Export to BigQuery or PostgreSQL for long-term trend analysis
* Use the **Changed after** filter to do incremental loads and keep data warehouse tables up to date
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* **Personal project spaces** do not support Asana's API — you must be part of an organization workspace
* **Portfolios** are only available on Asana Business and Enterprise plans
* Filtering tasks by a specific project GID is not natively supported — export all Tasks and filter in your destination or using Coupler.io's filter transformation
* Subtasks are returned as Tasks with a non-null `parent` field — they are not a separate entity
* Attachments and media files cannot be exported — only structured data is available
* The **Changed after** filter applies to the entity's `modified_at` field, so it works well for incremental exports of large task lists
