# Data Overview

Coupler.io gives you access to three Typeform entities, each suited to a different analysis goal. Whether you need raw responses, high-level summaries, or a catalog of your forms, the data is structured and ready to use.

## Entities

| Entity             | Best for                                                                       |
| ------------------ | ------------------------------------------------------------------------------ |
| **List of forms**  | Auditing your form library, tracking creation dates, building form directories |
| **Form responses** | Analyzing individual answers, extracting emails, segmenting respondents        |
| **Form summary**   | Reporting on completion rates, score distributions, and question-level trends  |

## Available fields

#### List of forms

| Field               | Description                       |
| ------------------- | --------------------------------- |
| `id`                | Unique form identifier            |
| `title`             | Form title                        |
| `last_updated_at`   | Timestamp of the most recent edit |
| `created_at`        | Form creation date                |
| `settings.language` | Language the form is set to       |
| `_links.display`    | Public URL of the form            |

#### Form responses

| Field                 | Description                                          |
| --------------------- | ---------------------------------------------------- |
| `response_id`         | Unique ID for each submission                        |
| `submitted_at`        | Date and time of submission                          |
| `landed_at`           | Date and time the respondent opened the form         |
| `calculated.score`    | Calculated score (if scoring is enabled)             |
| `hidden.*`            | Hidden field values passed via URL parameters        |
| `answers.*`           | One column per question with the respondent's answer |
| `metadata.user_agent` | Browser/device info for the respondent               |
| `metadata.network_id` | Network identifier                                   |

{% hint style="info" %}
Email addresses collected in your form appear as individual answer columns (e.g., `answers.email_question_title`). There is no separate top-level email field — look for the column that matches your email question's label.
{% endhint %}

#### Form summary

| Field                  | Description                                                         |
| ---------------------- | ------------------------------------------------------------------- |
| `form_id`              | ID of the form being summarized                                     |
| `total_responses`      | Total number of submissions                                         |
| `completion_rate`      | Percentage of respondents who completed the form                    |
| `fields.id`            | Question identifier                                                 |
| `fields.label`         | Question text                                                       |
| `fields.type`          | Question type (e.g., short\_text, opinion\_scale, multiple\_choice) |
| `fields.responses`     | Number of responses for that question                               |
| `fields.average_value` | Average score (for numeric question types)                          |

## Common field combinations

* **Response analysis**: `submitted_at` + `answers.*` + `calculated.score` — track how scores change over time
* **Respondent segmentation**: `answers.email_*` + `hidden.*` + `submitted_at` — link responses back to known contacts
* **Completion funnel**: `landed_at` + `submitted_at` + `completion_rate` from Form summary — identify where drop-off happens
* **Form audit**: `title` + `created_at` + `last_updated_at` from List of forms — keep track of your form library

## Use cases by role

{% tabs %}
{% tab title="Marketers" %}

* Export lead generation form responses to Google Sheets and enrich them with UTM data stored in hidden fields
* Use Append to combine responses from multiple campaign forms into a single dataset
* Send summary data to ChatGPT or Claude to auto-generate insights reports from survey results
  {% endtab %}

{% tab title="Product teams" %}

* Pull NPS or CSAT form summaries into Looker Studio for a live satisfaction dashboard
* Join Typeform response data with product usage data in BigQuery to correlate feedback with behavior
* Track opinion scale averages over time by scheduling regular Form summary exports
  {% endtab %}

{% tab title="Operations" %}

* Use List of forms to audit all active forms across the workspace and check when they were last updated
* Export intake or request form responses to Excel for workflow tracking
* Use Aggregate transformation to count submissions per form per week for volume reporting
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* Each question becomes its own column in Form responses — column names reflect the question label, so renaming questions in Typeform will change column names in future exports
* Hidden fields are only included if they were populated when the respondent opened the form
* Form summary data is computed by Typeform at query time; very high-volume forms may show slight delays in aggregation accuracy
* Typeform does not expose partial responses (respondents who left without submitting) via the API, so only completed submissions appear
