> For the complete documentation index, see [llms.txt](https://docs.euno.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.euno.ai/sources/business-intelligence/looker-integration/looker-integration-discovered-resources.md).

# Looker Integration Discovered Resources

## Overview

The Looker integration discovers the Looker instance, its LookML models, views, explores, and fields, the content in Looker folders (Looks, dashboards, and tiles), and the warehouse tables that LookML views reference. It discovers the following resources:

* Looker instance (`looker_instance`)
* Looker model (`looker_model`)
* LookML view (`looker_view`)
* LookML explore (`looker_explore`)
* Looker dimension (`looker_dimension`)
* Looker measure (`looker_measure`)
* Looker folder (`looker_folder`)
* Looker Look (`looker_look`)
* Looker tile (`looker_tile`)
* Looker dashboard (`looker_dashboard`)
* Table (`table`)
* User (`user`, when **Observe users** is enabled)
* User group (`user_group`, subtype `looker`, when **Observe groups** is enabled)

Euno does not observe the built-in Looker models `i__looker` and `system__activity`.

Except for the instance, users, and warehouse tables, Looker URIs start with a prefix built from the Looker host URL: `looker.` followed by the lowercased host URL with `://` replaced by `.`. For example, the host `https://acme.cloud.looker.com` produces the prefix `looker.https.acme.cloud.looker.com`.

## Resource hierarchy

```
Looker instance
├── Looker model
│   ├── LookML view
│   │   └── Looker dimension / Looker measure
│   └── LookML explore
│       └── Looker dimension / Looker measure
└── Looker folder
    ├── Looker folder (nested)
    ├── Looker Look
    │   └── Looker dimension / Looker measure (custom fields)
    └── Looker dashboard
        └── Looker tile
            └── Looker dimension / Looker measure (custom fields)
```

## Looker instance (`looker_instance`)

The top-level container for a Looker deployment.

| Property | Type   | Description                           |
| -------- | ------ | ------------------------------------- |
| `name`   | string | The Looker host URL for the instance. |
| `type`   | string | Always `looker_instance`              |

**URI pattern**

```
looker.instance.<host URL, with characters other than letters, digits, "-", "_", and "." replaced by "_">
```

Example: `looker.instance.https___acme.cloud.looker.com`

## Looker model (`looker_model`)

A LookML model defines the database connection and the explores it exposes.

| Property | Type   | Description                   |
| -------- | ------ | ----------------------------- |
| `name`   | string | The name of the LookML model. |
| `type`   | string | Always `looker_model`         |

**URI pattern**

```
looker.<scheme>.<host>.model.<model_name>
```

Example: `looker.https.acme.cloud.looker.com.model.ecommerce`

## LookML view (`looker_view`)

A LookML view defines a logical table with its dimensions, measures, and SQL.

| Property                               | Type    | Description                                                                                                                                            |
| -------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                 | string  | The name of the view, as defined in LookML.                                                                                                            |
| `type`                                 | string  | Always `looker_view`                                                                                                                                   |
| `description`                          | string  | The view description from LookML.                                                                                                                      |
| `looker_project_name`                  | string  | The name of the LookML Git project containing the model.                                                                                               |
| `looker_model`                         | string  | The name of the LookML model that contains the view.                                                                                                   |
| `is_derived`                           | boolean | Whether the view is derived.                                                                                                                           |
| `derived_type`                         | string  | The type of derived view: `sql_derived_view` or `native_derived_view`. Null for non-derived views.                                                     |
| `has_refinements`                      | boolean | Whether the view includes refinements. See [LookML refinements](#lookml-refinements).                                                                  |
| `looker_refinement_chain`              | list    | File locations of refinements applied to the view.                                                                                                     |
| `generated_by_euno`                    | boolean | `true` when the view was generated by Euno (detected from LookML comments).                                                                            |
| `pdt_builds_last_30d`                  | number  | Total number of PDT builds in the last 30 days.                                                                                                        |
| `pdt_total_build_time_30d`             | number  | Cumulative build time, in seconds, for PDTs in the last 30 days.                                                                                       |
| `lookml_view_persistency`              | string  | Persistency for PDTs: `sql_trigger`, `datagroup_trigger`, `interval_trigger`, or `materialized_view`.                                                  |
| `git_repo_url`                         | string  | The URL of the associated Git repository.                                                                                                              |
| `git_repo_branch`                      | string  | The branch of the Git repository being used.                                                                                                           |
| `source_path`                          | string  | Full file path (for example, `models/sales/orders.view.lkml`).                                                                                         |
| `source_directory`                     | string  | Directory path of the view in your Git repository.                                                                                                     |
| `total_queries_14d` / `_30d` / `_60d`  | number  | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                                                |
| `distinct_users_14d` / `_30d` / `_60d` | number  | Distinct users querying the view over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |

**URI pattern**

```
looker.<scheme>.<host>.view.<model_name>.<view_name>
```

Example: `looker.https.acme.cloud.looker.com.view.ecommerce.orders`

## LookML explore (`looker_explore`)

A LookML explore defines the joins, dimensions, and measures available for querying.

| Property                               | Type    | Description                                                                                                                                               |
| -------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                 | string  | The name of the explore, as defined in LookML.                                                                                                            |
| `type`                                 | string  | Always `looker_explore`                                                                                                                                   |
| `description`                          | string  | The explore description from LookML.                                                                                                                      |
| `looker_project_name`                  | string  | The name of the LookML Git project containing the model.                                                                                                  |
| `looker_model`                         | string  | The name of the LookML model that contains the explore.                                                                                                   |
| `generated_by_euno`                    | boolean | `true` when the explore was generated by Euno (detected from LookML comments).                                                                            |
| `git_repo_url`                         | string  | The URL of the associated Git repository.                                                                                                                 |
| `git_repo_branch`                      | string  | The branch of the Git repository being used.                                                                                                              |
| `source_path`                          | string  | Full file path (for example, `models/sales/sales.model.lkml`).                                                                                            |
| `source_directory`                     | string  | Directory path of the explore in your Git repository.                                                                                                     |
| `total_queries_14d` / `_30d` / `_60d`  | number  | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                                                   |
| `distinct_users_14d` / `_30d` / `_60d` | number  | Distinct users querying the explore over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |

**URI pattern**

```
looker.<scheme>.<host>.explore.<model_name>.<explore_name>
```

Example: `looker.https.acme.cloud.looker.com.explore.ecommerce.order_items`

## Looker dimension (`looker_dimension`)

A dimension defined in a LookML view, exposed by an explore, or defined as a custom field in a Look or tile.

Euno observes fields in both LookML files (views and explores) and visualizations (Looks and tiles). LookML fields used by a Look or tile stay children of the explore or view; the visualization links to them through field-level lineage (see [Relationships](#relationships)). For visualizations, Looker may also make use of [Custom Fields](https://cloud.google.com/looker/docs/custom-fields). Euno observes each custom field as a child of the Look or tile, in the same manner as a LookML dimension or measure. A custom dimension is observed with the type `looker_dimension`. Looker dimension groups are also observed as dimensions with the type `looker_dimension`.

| Property                               | Type    | Description                                                                                                                          |
| -------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                 | string  | The name of the dimension.                                                                                                           |
| `type`                                 | string  | Always `looker_dimension`                                                                                                            |
| `is_calculated`                        | boolean | `true` for custom fields defined in a visualization.                                                                                 |
| `is_identity_transformation`           | boolean | `true` when the field directly references an existing warehouse column; `false` for custom fields.                                   |
| `has_refinements`                      | boolean | `true` when the field includes LookML refinements.                                                                                   |
| `generated_by_euno`                    | boolean | `true` when the parent view or explore was generated by Euno.                                                                        |
| `tags`                                 | list    | Tags associated with the dimension, as defined in LookML.                                                                            |
| `source_path`                          | string  | Full file path (for example, `models/sales/orders.view.lkml`).                                                                       |
| `source_directory`                     | string  | Directory path of the field in your Git repository.                                                                                  |
| `total_queries_14d` / `_30d` / `_60d`  | number  | Query counts over the last 14/30/60 days (includes cached queries).                                                                  |
| `distinct_users_14d` / `_30d` / `_60d` | number  | Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |

**URI pattern**

```
View dimension:     <view URI>.dimension.<field_name>
Explore dimension:  <explore URI>.<view_alias>.dimension.<field_name>
Custom dimension:   <Look or tile URI>.dimension.<field_name>
```

Example: `looker.https.acme.cloud.looker.com.view.ecommerce.orders.dimension.order_id`

## Looker measure (`looker_measure`)

A measure defined in a LookML view, exposed by an explore, or defined as a custom field in a Look or tile. A custom measure, including a filtered custom measure, is observed with the type `looker_measure`. Measures have the same properties as [dimensions](#looker-dimension-looker_dimension), with `type` always `looker_measure`.

**URI pattern**

```
View measure:     <view URI>.measure.<field_name>
Explore measure:  <explore URI>.<view_alias>.measure.<field_name>
Custom measure:   <Look or tile URI>.measure.<field_name>
```

Example: `looker.https.acme.cloud.looker.com.explore.ecommerce.order_items.orders.measure.total_revenue`

## Looker folder (`looker_folder`)

A Looker folder that organizes dashboards, Looks, and other folders.

| Property     | Type      | Description                                    |
| ------------ | --------- | ---------------------------------------------- |
| `name`       | string    | The name of the folder.                        |
| `type`       | string    | Always `looker_folder`                         |
| `native_id`  | string    | The ID of the folder in Looker's API.          |
| `created_at` | timestamp | The date the folder was created in Looker.     |
| `created_by` | string    | The email of the user that created the folder. |

**URI pattern**

```
looker.<scheme>.<host>.folder.<folder_id>
```

Example: `looker.https.acme.cloud.looker.com.folder.42`

## Looker Look (`looker_look`)

A saved Looker query (Look) presenting a single chart or table.

| Property                               | Type      | Description                                                                                                                          |
| -------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                 | string    | The title of the Look.                                                                                                               |
| `type`                                 | string    | Always `looker_look`                                                                                                                 |
| `description`                          | string    | The description of the Look.                                                                                                         |
| `looker_model`                         | string    | The name of the LookML model powering the Look.                                                                                      |
| `looker_project_name`                  | string    | The name of the LookML project containing the model.                                                                                 |
| `looker_folder`                        | string    | The name of the Looker folder the Look is found within.                                                                              |
| `native_id`                            | string    | The ID of the Look in Looker.                                                                                                        |
| `created_at`                           | timestamp | The date the Look was created in Looker.                                                                                             |
| `updated_at`                           | timestamp | The date the Look was last updated in Looker.                                                                                        |
| `created_by`                           | string    | The display name of the Looker user that created the Look.                                                                           |
| `updated_by`                           | string    | The display name of the Looker user that last updated the Look.                                                                      |
| `last_7d_views` / `last_30d_views`     | number    | Impression counts over the last 7 or 30 days.                                                                                        |
| `last_viewed_at`                       | string    | The last impression time.                                                                                                            |
| `total_queries_14d` / `_30d` / `_60d`  | number    | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                              |
| `distinct_users_14d` / `_30d` / `_60d` | number    | Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |

**URI pattern**

```
looker.<scheme>.<host>.look.<look_id>
```

Example: `looker.https.acme.cloud.looker.com.look.1000`

## Looker tile (`looker_tile`)

A visualization in a Looker dashboard that is not a reference to a Looker Look.

{% hint style="info" %}
In Looker, a dashboard is made up of *dashboard elements*. Some *dashboard elements* are data visualizations, which can either reference a Looker Look, or a visualization that "lives" inside the dashboard. Looker documentation uses the terms *lookless* and *tile* to describe the latter type of visualization. Euno uses the more commonly used term *tile*.
{% endhint %}

| Property                               | Type      | Description                                                                                                                          |
| -------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                 | string    | The title of the tile.                                                                                                               |
| `type`                                 | string    | Always `looker_tile`                                                                                                                 |
| `looker_model`                         | string    | The name of the LookML model powering the tile.                                                                                      |
| `looker_project_name`                  | string    | The name of the LookML project containing the model.                                                                                 |
| `native_id`                            | string    | The ID of the dashboard element in Looker.                                                                                           |
| `created_at`                           | timestamp | The date the tile was created in Looker.                                                                                             |
| `updated_at`                           | timestamp | The last update time, including updates to the dashboard containing the tile.                                                        |
| `total_queries_14d` / `_30d` / `_60d`  | number    | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                              |
| `distinct_users_14d` / `_30d` / `_60d` | number    | Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |

**URI pattern**

```
looker.<scheme>.<host>.tile.<dashboard_element_id>
```

Example: `looker.https.acme.cloud.looker.com.tile.2001`

## Looker dashboard (`looker_dashboard`)

A Looker dashboard presenting Looks and tiles to end users.

| Property                               | Type      | Description                                                                                                                          |
| -------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                 | string    | The title of the dashboard.                                                                                                          |
| `type`                                 | string    | Always `looker_dashboard`                                                                                                            |
| `description`                          | string    | The description of the dashboard.                                                                                                    |
| `looker_folder`                        | string    | The name of the Looker folder the dashboard is found within.                                                                         |
| `native_id`                            | string    | The ID of the dashboard in Looker.                                                                                                   |
| `created_at`                           | timestamp | The date the dashboard was created in Looker.                                                                                        |
| `updated_at`                           | timestamp | The date the dashboard was last updated in Looker.                                                                                   |
| `owner`                                | string    | The display name of the dashboard owner (derived from `native_owners`).                                                              |
| `last_7d_views` / `last_30d_views`     | number    | Impression counts over the last 7 or 30 days.                                                                                        |
| `last_viewed_at`                       | string    | The last impression time.                                                                                                            |
| `total_queries_14d` / `_30d` / `_60d`  | number    | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                              |
| `distinct_users_14d` / `_30d` / `_60d` | number    | Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |

**URI pattern**

```
looker.<scheme>.<host>.dashboard.<dashboard_id>
```

Example: `looker.https.acme.cloud.looker.com.dashboard.201`

## Table (`table`)

The Looker integration discovers resources of type `table` when it discovers a LookML view that refers to a database table. For example, if a LookML view is using the [`sql_table_name`](https://cloud.google.com/looker/docs/reference/param-view-sql-table-name) parameter, Euno observes the referred table.

To determine the exact location of the referred table, the Looker integration looks up the correct [Looker Connection](https://cloud.google.com/looker/docs/admin-panel-database-connections) using the LookML model's [connection parameter](https://cloud.google.com/looker/docs/reference/param-model-connection). The Looker Connection usually has all the metadata required for Euno to uniquely determine the URI of the referred table.

In the case of a connection with dialect `athena`, the Looker integration is not able to fetch from Looker's API the "AWS account id" which is required to uniquely identify the referred tables. In this case, Euno defaults to using the AWS account id `default_aws_account.us_central1`. If you have multiple AWS accounts and you need to distinguish between them, set up manual "connection mapping".

| Property              | Type   | Description                                               |
| --------------------- | ------ | --------------------------------------------------------- |
| `name`                | string | The name of the table.                                    |
| `type`                | string | Always `table`                                            |
| `database_technology` | string | The database technology, based on the connection dialect. |
| `database`            | string | The name of the database.                                 |
| `schema`              | string | The name of the schema.                                   |

**URI pattern**

The table uses the warehouse URI of the referred table, built from the Looker connection details.

```
<warehouse URI prefix>.<database>.<schema>.<table>
```

Example: `snowflake.xy12345.us-east-1.aws.analytics.public.orders`

## User (`user`)

When **Observe users** is enabled, Euno observes Looker users as `user` resources. For property details, see [Users as a Resource](/developer-reference/technical-concepts/users-as-a-resource.md).

| Property        | Type    | Description                                                                                        |
| --------------- | ------- | -------------------------------------------------------------------------------------------------- |
| `name`          | string  | The email address of the Looker user.                                                              |
| `type`          | string  | Always `user`                                                                                      |
| `label`         | string  | The display name of the user (first and last name, falling back to the Looker user name or email). |
| `email_address` | string  | The email address of the user.                                                                     |
| `native_id`     | string  | The ID of the user in Looker.                                                                      |
| `is_active`     | boolean | `false` when the user is disabled in Looker.                                                       |

**URI pattern**

```
user_account.<email address, with "@" replaced by "_at_">
```

Example: `user_account.jane.doe_at_acme.com`

## User group (`user_group`)

When **Observe groups** is enabled, Euno observes Looker groups as `user_group` resources, with memberships pointing to observed users. For property details, see [Users as a Resource](/developer-reference/technical-concepts/users-as-a-resource.md).

| Property    | Type   | Description                    |
| ----------- | ------ | ------------------------------ |
| `name`      | string | The name of the Looker group.  |
| `type`      | string | Always `user_group`            |
| `subtype`   | string | Always `looker`                |
| `native_id` | string | The ID of the group in Looker. |

**URI pattern**

```
looker.<scheme>.<host>.user_group.<group_id>
```

Example: `looker.https.acme.cloud.looker.com.user_group.7`

## Relationships

Each row is one relationship edge, written in the canonical direction for its family. Use the predicate in each heading to search for these relationships in EQL.

### Containment (`has parent` / `has child`)

| Source type        | Relationship | Target type        | Notes                             |
| ------------------ | ------------ | ------------------ | --------------------------------- |
| `looker_model`     | has parent   | `looker_instance`  |                                   |
| `looker_view`      | has parent   | `looker_model`     |                                   |
| `looker_explore`   | has parent   | `looker_model`     |                                   |
| `looker_dimension` | has parent   | `looker_view`      | Dimensions defined in the view    |
| `looker_dimension` | has parent   | `looker_explore`   | Dimensions exposed by the explore |
| `looker_dimension` | has parent   | `looker_look`      | Custom fields defined in the Look |
| `looker_dimension` | has parent   | `looker_tile`      | Custom fields defined in the tile |
| `looker_measure`   | has parent   | `looker_view`      | Measures defined in the view      |
| `looker_measure`   | has parent   | `looker_explore`   | Measures exposed by the explore   |
| `looker_measure`   | has parent   | `looker_look`      | Custom fields defined in the Look |
| `looker_measure`   | has parent   | `looker_tile`      | Custom fields defined in the tile |
| `looker_folder`    | has parent   | `looker_instance`  | Root folders                      |
| `looker_folder`    | has parent   | `looker_folder`    | Nested folders                    |
| `looker_look`      | has parent   | `looker_folder`    |                                   |
| `looker_dashboard` | has parent   | `looker_folder`    |                                   |
| `looker_tile`      | has parent   | `looker_dashboard` |                                   |

### Lineage (`has upstream` / `has downstream`)

| Source type        | Relationship | Target type      | Notes                                          |
| ------------------ | ------------ | ---------------- | ---------------------------------------------- |
| `looker_view`      | has upstream | `table`          | Warehouse tables referenced by the view        |
| `looker_view`      | has upstream | `looker_view`    | Other views referenced by the view             |
| `looker_view`      | has upstream | `looker_explore` | The `explore_source` of a native derived table |
| `looker_view`      | has upstream | `dbt_metric`     | dbt metrics referenced by the view's measures  |
| `looker_explore`   | has upstream | `looker_view`    | Base and joined views                          |
| `looker_explore`   | has upstream | `looker_explore` | Explores it `extends`                          |
| `looker_look`      | has upstream | `looker_explore` | The explore the Look queries                   |
| `looker_tile`      | has upstream | `looker_explore` | The explore the tile queries                   |
| `looker_dashboard` | has upstream | `looker_tile`    | Dashboard elements                             |
| `looker_dashboard` | has upstream | `looker_look`    | Dashboard elements that reference a Look       |

### Field-level lineage (`has upstream_fields` / `has downstream_fields`)

Looks and tiles link to the explore fields they query (selected fields, filters, and sorts), so lineage connects those fields to the visualization even though the fields are not children of the Look or tile. Explore fields link to the view fields they expose. Dashboards do not have field-level lineage.

| Source type        | Relationship         | Target type        | Notes                                                                                                                                 |
| ------------------ | -------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
| `looker_dimension` | has upstream\_fields | `column`           | Warehouse columns referenced by the field                                                                                             |
| `looker_dimension` | has upstream\_fields | `looker_dimension` | View fields exposed by an explore field, or LookML fields referenced by the field or custom field                                     |
| `looker_dimension` | has upstream\_fields | `looker_measure`   |                                                                                                                                       |
| `looker_dimension` | has upstream\_fields | `dbt_column`       | From canonical `euno.ai/based_on_column` tags. Retained even when the dbt target is not observed by an authoritative dbt integration. |
| `looker_dimension` | has upstream\_fields | `dbt_metric`       | From canonical `euno.ai/based_on_metric` tags. Retained even when the dbt target is not observed by an authoritative dbt integration. |
| `looker_measure`   | has upstream\_fields | `column`           | Warehouse columns referenced by the field                                                                                             |
| `looker_measure`   | has upstream\_fields | `looker_dimension` |                                                                                                                                       |
| `looker_measure`   | has upstream\_fields | `looker_measure`   | View fields exposed by an explore field, or LookML fields referenced by the field or custom field                                     |
| `looker_measure`   | has upstream\_fields | `dbt_column`       | From canonical `euno.ai/based_on_column` tags. Retained even when the dbt target is not observed by an authoritative dbt integration. |
| `looker_measure`   | has upstream\_fields | `dbt_metric`       | From canonical `euno.ai/based_on_metric` tags. Retained even when the dbt target is not observed by an authoritative dbt integration. |
| `looker_look`      | has upstream\_fields | `looker_dimension` | Explore fields used by the Look query                                                                                                 |
| `looker_look`      | has upstream\_fields | `looker_measure`   | Explore fields used by the Look query                                                                                                 |
| `looker_tile`      | has upstream\_fields | `looker_dimension` | Explore fields used by the tile query                                                                                                 |
| `looker_tile`      | has upstream\_fields | `looker_measure`   | Explore fields used by the tile query                                                                                                 |

### Definition (`defines` / `has definer`)

| Source type  | Relationship | Target type        | Notes                                                                                                                                                                                                                                      |
| ------------ | ------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `dbt_column` | defines      | `looker_dimension` | Derived from `euno.ai/based_on_column` tags only while the referenced `dbt_column` exists and is authoritatively observed by a dbt integration. Looker retains the field-side tag reference but never observes or sponsors the dbt target. |
| `dbt_column` | defines      | `looker_measure`   | Same as above.                                                                                                                                                                                                                             |
| `dbt_metric` | defines      | `looker_measure`   | Derived from `euno.ai/based_on_metric` tags only while the referenced `dbt_metric` exists and is authoritatively observed by a dbt integration. Looker retains the field-side tag reference but never observes or sponsors the dbt target. |

### Membership (`has group` / `has member`)

| Source type | Relationship | Target type  | Notes                              |
| ----------- | ------------ | ------------ | ---------------------------------- |
| `user`      | has group    | `user_group` | When **Observe groups** is enabled |

### Usage (`is user of` / `is used by`)

| Source type | Relationship | Target type        | Notes                                                        |
| ----------- | ------------ | ------------------ | ------------------------------------------------------------ |
| `user`      | is user of   | `looker_dashboard` | From Looker query history, when **Observe users** is enabled |
| `user`      | is user of   | `looker_look`      | From Looker query history, when **Observe users** is enabled |
| `user`      | is user of   | `looker_tile`      | From Looker query history, when **Observe users** is enabled |

## LookML refinements

Euno discovers refinement files; however, unlike regular views, refinement files do not constitute resources themselves. Instead, Euno includes the refinement information in the view that it refines. For views with refinements, the property `has_refinements` is set to `true`. Additionally, in the [About tab](/using-euno/data-model-screen.md#about-section) of the refined resource's [side panel](/using-euno/data-model-screen.md#xgdhrrj8g7h9), the property `looker_refinement_chain` is displayed, indicating the file locations of the refinement files that refine the resource. When viewing the code of the refined resource, it includes the dimensions and measures from the refinement file as if it were compiled.

{% hint style="info" %}
Currently Euno does not support the discovery of refinement files for LookML explores.
{% endhint %}

## Known limitations

* Euno does not currently support column-level lineage for Looker derived views when the referenced upstream tables or columns are not observed through an authoritative source integration (such as dbt, Snowflake, BigQuery, or Databricks). If the columns are only referenced in the Looker SQL and not part of an observed schema, they do not appear in lineage.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.euno.ai/sources/business-intelligence/looker-integration/looker-integration-discovered-resources.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
