# Data Overview

Coassemble exposes three entities through Coupler.io: course definitions, screen type configurations, and learner tracking records. The richest data for reporting lives in Trackings, which captures how individual users move through your training content.

## Entities

| Entity       | Best used for                                               |
| ------------ | ----------------------------------------------------------- |
| Courses      | Course catalog, metadata, content structure                 |
| Screen types | Understanding how content is structured across your courses |
| Trackings    | Learner progress, completion rates, time-on-course analysis |

## Courses

#### Course fields

| Field          | Description                                      |
| -------------- | ------------------------------------------------ |
| id             | Unique identifier for the course                 |
| name           | Course title                                     |
| description    | Course description or summary                    |
| status         | Whether the course is active, draft, or archived |
| created\_at    | When the course was created                      |
| updated\_at    | When the course was last modified                |
| lessons\_count | Number of lessons in the course                  |
| screens\_count | Total number of screens across all lessons       |

## Screen types

#### Screen type fields

| Field       | Description                                 |
| ----------- | ------------------------------------------- |
| id          | Unique identifier for the screen type       |
| name        | Screen type name (e.g., video, quiz, slide) |
| description | What the screen type is used for            |

## Trackings

#### Tracking fields

| Field         | Description                                          |
| ------------- | ---------------------------------------------------- |
| id            | Unique tracking record identifier                    |
| user\_id      | ID of the learner being tracked                      |
| course\_id    | ID of the course being tracked                       |
| status        | Completion status (e.g., in progress, completed)     |
| progress      | Percentage of course completed                       |
| started\_at   | When the learner started the course                  |
| completed\_at | When the learner finished the course (if applicable) |
| score         | Assessment score, where applicable                   |

## Common field combinations

* **Courses + Trackings** — Join on `course_id` to see completion rates and scores broken down by course. Use the **Join** transformation in Coupler.io to merge these two entities.
* **Trackings over time** — Use `started_at` and `completed_at` to calculate time-to-completion per course or per learner cohort.
* **Screen types + Courses** — Understand what content formats are most used across your course catalog.

## Use cases by role

{% tabs %}
{% tab title="L\&D teams" %}

* Monitor which courses have low completion rates and prioritize updates
* Identify learners who started but haven't finished training
* Compare average scores across courses to spot content that may be too difficult
* Build a live completion dashboard in Looker Studio or Google Sheets
  {% endtab %}

{% tab title="HR & People ops" %}

* Report on mandatory training compliance across teams or departments
* Track when employees completed onboarding courses
* Combine Coassemble tracking data with HRIS data to correlate training completion with performance metrics
  {% endtab %}

{% tab title="Managers" %}

* See a snapshot of your team's training progress without logging into Coassemble
* Get automated reports in your inbox or Slack using scheduled data flows
* Use AI destinations like ChatGPT or Claude to generate plain-language summaries of your team's training status
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* Coassemble's API is accessed via Airbyte connector in Coupler.io — both User Token and Organization Token are required for authentication
* The Trackings entity is updated as learners progress, so more frequent refreshes give you a more current view of completion status
* Screen types is a relatively static reference entity — you don't need to sync it frequently unless you're actively building new course content
* If you manage multiple Coassemble organizations, you'll need a separate data flow per organization token; use the **Append** transformation to combine tracking data across organizations into one destination
