# Sigma

Euno's Sigma integration supports auto-discovery of:

* Sigma accounts (organizations)
* Sigma folders and workspaces
* Sigma data models
* Sigma workbooks
* Workbook lineage to source tables

{% hint style="info" %}
**Impression data**: To observe workbook and element impressions from Sigma-exported CSV files, also set up the [Sigma Impressions integration](/sources/business-intelligence/sigma-impressions-integration.md). It is a separate integration from the Sigma metadata crawler.
{% endhint %}

## Setting up Sigma integration

### Overview

Sigma is a cloud-native analytics and business intelligence platform that enables users to explore, analyze, and visualize data directly in their cloud data warehouse. In Sigma, data is organized into *workbooks* and *data models*. Workbooks contain visualizations and analyses, while data models provide reusable semantic layers over your data warehouse tables.

To discover Sigma resources, Euno connects to the Sigma API using OAuth client credentials. The integration automatically discovers your Sigma organization structure, including workspaces, folders, data models, and workbooks, along with their lineage to underlying data warehouse tables.

### Step 1: Create Sigma API Credentials

#### Generate OAuth Client Credentials

1. Log in to your Sigma account as an administrator
2. Navigate to **Administration** → **Developer Access**
3. Click **Create New** to generate a new OAuth client
4. Provide a name for the client (e.g., "Euno Integration")
5. Check **Rest API** scope
6. Copy the **Client ID** and **Client Secret** - you'll need these for Euno configuration
7. Note your Sigma API server URL (e.g., `https://aws-api.sigmacomputing.com`)

{% hint style="warning" %}
**Important**: The Client Secret is only shown once. Store it securely - you won't be able to retrieve it again.
{% endhint %}

### Step 2: Configure New Sigma Source in Euno

#### Access the Sources Page

1. Go to the **Sources** page in Euno.
2. Click on **Add New Source** and select **Sigma** from the list of supported platforms.

#### General Configuration

Asterisk (\*) means a mandatory field.

| Configuration   | Description                                                                                                                                                               |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name\*          | Enter a name for your Sigma source (e.g., "Sigma - Analytics")                                                                                                            |
| API Server\*    | The Sigma API server URL. Defaults to `https://aws-api.sigmacomputing.com`. Use your region-specific URL if different (e.g., `https://eu-api.sigmacomputing.com` for EU). |
| Client ID\*     | The OAuth Client ID from Step 1                                                                                                                                           |
| Client Secret\* | The OAuth Client Secret from Step 1                                                                                                                                       |

### Step 3: Schedule

* Enable the Schedule option.
* Choose:
  1. **Weekly**: Set specific days and times.
  2. **Hourly**: Define the interval in hours (e.g., every 8 hours).

{% hint style="info" %}
**Recommended**: Schedule Sigma integration to run daily or every 12 hours to keep workbook lineage and metadata up to date.
{% endhint %}

### Step 4: Resource Cleanup

To keep your data relevant and free of outdated resources, Euno provides automatic **resource cleanup** options. These settings determine when a resource should be removed if it is no longer detected by a source integration. For a detailed explanation on Euno's cleanup strategies, see: [Resource Sponsorship in Euno](/developer-reference/technical-concepts/resource-sponsorship-and-cleanup-in-euno.md).

* **Immediate Cleanup**: Remove resources not detected in the most recent successful source integration run.
* **No Cleanup**: Keep all resources indefinitely, even if they are no longer detected.

### Step 5: Save Configuration

Click the **Test & Save** button to complete the setup. Euno will:

1. Validate the API Server URL is accessible
2. Authenticate using the provided Client ID and Client Secret
3. Verify access to the Sigma organization
4. Save the configuration if all validations pass

If the test fails, review the error message and verify your credentials and API server URL are correct.

## Workbook lineage and Sigma API errors

Euno loads each workbook’s **lineage** from Sigma’s `GET /v2/workbooks/{workbookId}/lineage` API (used to relate workbook elements to warehouse tables). In rare cases **Sigma’s service** may return **HTTP 5xx** for that endpoint for a specific workbook while other workbooks and other API calls succeed. That condition originates on **Sigma’s side**, not in Euno.

When that happens, Euno **does not fail the entire crawl**: the run continues, workbook and element metadata are still ingested where possible, and **lineage for that workbook may be omitted**. Details are recorded on the workbook resource’s stored snapshot (including an **`errors`** list noting the lineage endpoint and HTTP status) so operators and support can see that lineage was skipped for that workbook. Retries on later runs may succeed if Sigma resolves the issue.


---

# 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-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.
