# Sigma Impressions

Euno can observe impression data for Sigma workbooks and elements by reading CSV exports that Sigma writes to cloud storage. This helps you identify popular workbooks, find underused content, and understand who is actively using Sigma.

{% hint style="info" %}
**Prerequisite**: Sigma Impressions requires the [Sigma integration](/sources/business-intelligence/sigma-integration.md) to also be set up. The Sigma integration discovers workbooks and elements in Euno; the Sigma Impressions integration then associates exported impression data with those existing resources.
{% endhint %}

For details on the usage properties observed (for example `total_impressions_14d` and `used`), see [Sigma Impressions Data](/using-euno/usage-optimization/sigma-impressions-data.md).

## Overview

Sigma Impressions is an integration that periodically reads CSV files from a configured `gs://` or `s3://` prefix, converts each row to an impression event, and aggregates those events onto Sigma workbooks and elements.

This integration is intentionally separate from the main Sigma integration:

* **Sigma** discovers the metadata and lineage for workbooks, data models, and elements.
* **Sigma Impressions** reads usage exports and enriches the discovered Sigma resources with impression metrics.

## Step 1: Set up the Sigma integration in Euno

If you have not already done so, follow the [Sigma integration setup guide](/sources/business-intelligence/sigma-integration.md) first.

{% hint style="warning" %}
Without the Sigma integration, Euno has no `sigma_workbook`or `sigma_workbook_element` resources to attach the impression data to.
{% endhint %}

## Step 2: Configure Sigma to export usage data

Sigma's audit-log export feature writes CSV files to cloud storage. Only a Sigma Admin can configure this.

High-level workflow in Sigma:

1. Open the **Sigma Audit Logs** connection.
2. Save the relevant audit-log table or workbook page element as a workbook.
3. Configure a scheduled export to **Cloud Storage**.
4. Point that export at a dedicated prefix in **GCS** or **S3**.
5. Make sure Sigma creates a new file on each run instead of overwriting previous files.

Sigma documentation for this export flow:

* [Export audit log data to cloud storage](https://help.sigmacomputing.com/docs/export-audit-log-data-to-cloud-storage)
* [Manage an audit logs storage integration](https://help.sigmacomputing.com/docs/manage-an-audit-logs-storage-integration)
* [Audit log events and metadata](https://help.sigmacomputing.com/docs/audit-log-events-and-metadata)

## Step 3: Prepare an Euno-compatible export

Euno expects the exported CSV to contain the following columns:

| Column            | Required | Description                                                              |
| ----------------- | -------- | ------------------------------------------------------------------------ |
| `request_time`    | Yes      | Timestamp of the impression event                                        |
| `user_email`      | Yes      | Email of the Sigma user who viewed the resource                          |
| `workbook_url_id` | Yes      | Sigma workbook URL ID                                                    |
| `element_id`      | Optional | Sigma element ID, if the row should map to a specific element            |
| `count`           | Optional | Number of impressions represented by the row. Defaults to `1` if omitted |

Euno matches headers case-insensitively and also accepts a few common aliases, but using the exact names above is strongly recommended.

### Recommended workbook/export shape

Create a Sigma workbook or view that produces one row per impression, with:

* a timestamp column
* a user email column
* the workbook URL ID
* the element ID when available
* an optional count column if your export pre-aggregates rows

If your export mixes workbook-level and element-level rows:

* rows **with** `element_id` are attached to `sigma_element`
* rows **without** `element_id` are attached to `sigma_workbook`

## Step 4: Grant Euno read access to the export location

### Option A: Google Cloud Storage

Recommended approach:

1. Create or choose a dedicated bucket or prefix for Sigma audit-log exports.
2. Configure Sigma's audit-log storage integration to write to that location.
3. Grant **read access** on that bucket/prefix to Euno's runtime service account.

At minimum, Euno needs permission to:

* list objects in the configured prefix
* read the exported CSV objects

### Option B: Amazon S3

Recommended approach:

1. Create or choose a dedicated bucket/prefix for the exports.
2. Configure Sigma's audit-log storage integration to write to that location.
3. Create a dedicated read-only IAM principal for Euno.
4. Give it least-privilege access to:
   * `s3:ListBucket` on the bucket (scoped to the export prefix)
   * `s3:GetObject` on the exported files
5. Store the credentials in the Euno Sigma Impressions integration.

{% hint style="info" %}
You can also use temporary AWS credentials (`aws_access_key_id`, `aws_secret_access_key`, `aws_session_token`) if that fits your security model better.
{% endhint %}

## Step 5: Add Sigma Impressions in Euno

1. Go to the **Sources** page in Euno.
2. Click **Add New Source** and select **Sigma Impressions**.
3. Configure:

| Configuration             | Description                                                                  |
| ------------------------- | ---------------------------------------------------------------------------- |
| **Name**                  | A name for this integration (for example `Sigma Impressions - Production`)   |
| **Bucket URI**            | The `gs://...` or `s3://...` prefix where Sigma writes the CSV files         |
| **Days back to look**     | How many days of files Euno should scan on each run. Maximum: `6`            |
| **AWS Access Key ID**     | Optional. Needed only for `s3://` if Euno cannot use ambient AWS credentials |
| **AWS Secret Access Key** | Optional. Needed only for `s3://` if Euno cannot use ambient AWS credentials |
| **AWS Session Token**     | Optional. Use when providing temporary AWS credentials                       |
| **AWS Region**            | Optional region override for S3 access                                       |

4. Click **Test & Save**.

Euno validates the bucket URI format and normalizes the storage prefix before saving.

## Step 6: Schedule the integration

Sigma audit log exports are not real-time, and Sigma notes that fresh event data may take time to appear in the logs.

Recommended schedule:

* Run the Sigma export on a regular cadence.
* Run **Sigma Impressions** shortly after the export is expected to land.
* Keep **Days back to look** small (for example `2` or `3`) unless your export cadence requires more history.

{% hint style="info" %}
The integration enforces a maximum lookback of **6 days**.
{% endhint %}

## Testing the setup

For a simple validation:

1. Configure the export and send one test export from Sigma.
2. Confirm that new CSV files appear in the configured bucket prefix.
3. Run the Sigma Impressions integration in Euno.
4. Open a known Sigma workbook or element in Euno and confirm that impression properties appear.

Good test data:

* one workbook-level row
* one element-level row
* at least two distinct users
* one row with `count > 1` if you plan to export pre-aggregated data

## Troubleshooting

### No impression data appears in Euno

Check:

* the main [Sigma integration](/sources/business-intelligence/sigma-integration.md) is active
* the exported CSV includes `workbook_url_id`
* the Sigma workbook exists in Euno
* the bucket URI points to the correct prefix
* Euno can list and read the exported files

### Workbook metrics appear, but element metrics do not

Check:

* the export includes `element_id`
* the `element_id` matches Sigma element IDs discovered by the Sigma integration

### Euno cannot save the integration

Check:

* the bucket URI starts with `gs://` or `s3://`
* for S3, either both access key and secret key are provided, or both are left blank

## Related

* [Sigma integration](/sources/business-intelligence/sigma-integration.md) - Discovers Sigma workbooks, data models, and elements.
* [Sigma Usage Data](/using-euno/usage-optimization/sigma-usage-data.md) - Warehouse-query usage from supported warehouses.
* [Sigma Impressions Data](/using-euno/usage-optimization/sigma-impressions-data.md) - Impression properties observed by this integration.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.euno.ai/sources/business-intelligence/sigma-impressions-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
