> ## Documentation Index
> Fetch the complete documentation index at: https://oxy.tech/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Domo

A `domo` database entry can be added by specifying `type: domo` in your
[`~/.config/oxy/config.yml` file](/docs/guide/reference/yaml/config).\
This integration allows Oxygen to query datasets hosted in Domo directly through its API, using your developer token and dataset ID.

# Required fields

Each `domo` entry requires the following fields:

* **`dataset_id`** – The unique ID of your Domo dataset.
* **`developer_token_var`** – The name of the environment variable that stores your Domo Developer Token.
* **`instance`** – The Domo instance name (e.g., `oxygen-ai`).
* **`type`** – Must be set to `domo`.

# Authentication

Oxygen connects to Domo using a **Developer Token**.\
You should store this token as an environment variable and reference it via `developer_token_var`.\
For example, if your variable is `DOMO_DEVELOPER_TOKEN`, make sure it’s exported in your environment before running any queries:

```bash theme={null}
export DOMO_DEVELOPER_TOKEN="your_domo_token_here"
```

# Sample config entry

```yaml theme={null}
databases:
  - name: domo
    type: domo
    dataset_id: b7a2f6c3-5e19-4d0e-8c47-6a8c1de3f234 # replace with your actual dataset ID
    developer_token_var: DOMO_DEVELOPER_TOKEN
    instance: oxygen-ai # replace with your Domo instance name
```

# Semantic model support

Domo databases support the semantic model through Postgres compatibility. When defining views in your semantic model, reference your Domo datasource and the `dataset_id` will automatically be used as the table identifier:

```yaml theme={null}
views:
  - name: nutrition_data
    datasource: domo
    dimensions:
      - name: calories
        expr: "`Calories (kcal)`" # Double quotes outside, backticks inside
        type: string
      - name: created_date
        expr: "`Created Date`"
        type: string # Use string, not date/datetime
    measures:
      - name: total_items
        expr: "COUNT(*)"
```

**Important notes for Domo semantic model:**

* For column identifiers with spaces or special characters, wrap in double quotes and backticks: `"`Calories (kcal)`"`
* **Date/time types are not supported** - use `type: string` or `type: number` for date/time columns instead of `type: date` or `type: datetime`
* **Postgres syntax is assumed** - certain Domo-specific SQL functions may not work as Cube generates Postgres-compatible SQL

# Usage notes

* Oxygen retrieves data from the Domo dataset defined by `dataset_id`.
* Your developer token must have API access to this dataset.
* Queries are executed via the Domo API and streamed into Oxygen's runtime for downstream processing or caching.
* For semantic model queries, Oxygen automatically maps Domo to Postgres compatibility and uses the `dataset_id` as the table identifier.
