# 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

## 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](https://docs.euno.ai/developer-reference/technical-concepts/resource-sponsorship-and-cleanup-in-euno).

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