Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fintegrations%2Fai-observability%2Fopenai%2Fchatgpt.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fintegrations%2Fai-observability%2Fopenai%2Fchatgpt.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

# ChatGPT integration with Coralogix

ChatGPT Enterprise required

This integration is available for ChatGPT Enterprise workspaces and for early-access customers. To request access, contact your account representative or Support. To monitor Codex usage, use the [Codex integration](https://coralogix.com/docs/integrations/ai-observability/openai/codex.md).

## Overview[​](#overview "Direct link to Overview")

This integration polls the OpenAI Compliance API for each ChatGPT Enterprise workspace you connect and pulls ChatGPT activity, seats, shared assets, connectors, and credit costs into Coralogix as metrics and logs. Use it to see who actually uses the seats you pay for, what that consumption costs, which models and GPTs your members rely on, and which third-party apps they connect.

The ChatGPT integration is part of the OpenAI Usage & Cost integration, which also collects the [API Platform](https://coralogix.com/docs/integrations/ai-observability/openai/api-platform.md) and [Codex](https://coralogix.com/docs/integrations/ai-observability/openai/codex.md) sources. You provide up to 2 kinds of credential, and each one independently unlocks its own data:

* **Compliance API key**: one per workspace. Unlocks that workspace's conversation activity, the daily member roster, the inventory of shared GPTs, projects, plugins, custom agents, and skills, and connector activity.
* **ChatGPT Enterprise organization ID**: optional, and requires at least one Compliance API key. Unlocks OpenAI's costs ledger for the organization: credits, USD cost, and tokens per product and model.

Install the integration once per ChatGPT Enterprise organization. If your organization already runs OpenAI Usage & Cost for API Platform or Codex, edit that deployment and add the Compliance API credentials rather than creating a second one.

### Collection behavior[​](#collection-behavior "Direct link to Collection behavior")

| Data                                                      | Arrives as                                                                        |
| --------------------------------------------------------- | --------------------------------------------------------------------------------- |
| Conversation and connector events                         | Collected continuously, starting with the last 24 hours of activity before setup. |
| Member roster and invites                                 | A daily snapshot per workspace.                                                   |
| Shared GPTs, projects, plugins, custom agents, and skills | A daily inventory snapshot per workspace.                                         |
| Credits, USD cost, and tokens                             | The organization's costs ledger, per UTC day, when the organization ID is set.    |

## What you need[​](#what-you-need "Direct link to What you need")

* A ChatGPT Enterprise workspace. A workspace owner must create the Compliance API key.
* Optional: your ChatGPT Enterprise organization ID, to collect credit costs.
* Permission to create integrations in your Coralogix account. See [Permissions](#permissions).
* To see member-level details on the dashboard, read access to the [`ai.raw.openai.compliance_logs`](https://coralogix.com/docs/user-guides/data-layer/default-dataspace/ai-raw-openai-compliance-logs.md) dataset, which is restricted by default.

## Create API keys in the ChatGPT admin console[​](#create-api-keys-in-the-chatgpt-admin-console "Direct link to Create API keys in the ChatGPT admin console")

1. As a ChatGPT Enterprise workspace owner (not an admin), sign in to the [ChatGPT admin console](https://admin.openai.com) and select **Credentials**, then **Admin keys**, then **Restricted**.
2. Create one restricted key per workspace with the `chatgpt.enterprise.compliance_logs_platform.read` and `chatgpt.enterprise.compliance_export.read` scopes. A Codex analytics key that carries both compliance scopes works too.
3. Copy each key and store it securely. OpenAI shows a key only once, at creation time.
4. Collect the workspace ID of each workspace: the ChatGPT Enterprise workspace UUID shown in the ChatGPT admin console.
5. Optional: collect your ChatGPT Enterprise organization ID, the `org-...` ID from the ChatGPT Enterprise admin console. This is a different ID from the API Platform organization ID.

## Set up[​](#set-up "Direct link to Set up")

1. From your Coralogix toolbar, navigate to **Data Flow**, then **Integrations**. Select **OpenAI Usage & Cost**, then select **Connect**.

2. Select **Add New**, or open your existing deployment to edit it.

3. Define the integration settings:

   <!-- -->

   * **Integration name**: a meaningful name for this integration. Defaults to `OpenAI Usage & Cost`.
   * **Application name**: the Coralogix application name for all data from this integration. Defaults to `openai-integration`.
   * **Subsystem name**: optional. When set, all data ingests under this single subsystem instead of each source's default.
   * **ChatGPT and Codex compliance**, under **Codex and ChatGPT**: one **Workspace ID** and **Compliance API key** pair per workspace. Select **Add workspace** for each additional workspace.
   * **ChatGPT Enterprise organization ID**: optional. Unlocks the organization's credit costs. Requires at least one Compliance API key pair.

4. Select **Create**, or **Save** when editing. Coralogix checks that each key is accepted before saving.

Workspace IDs must be unique, and every row needs both a workspace ID and a key. When you edit the workspace rows of an existing deployment, the stored Compliance keys are replaced, so enter every key again.

## Collected data[​](#collected-data "Direct link to Collected data")

### Metrics reference[​](#metrics-reference "Direct link to Metrics reference")

All metrics appear in Metrics Explorer under the `openai_compliance_` prefix. Series that describe a workspace carry a `workspace_id` label, and daily series carry a `date` label with the UTC day the value describes. The costs ledger series carry no workspace and no user, so cost figures are organization-wide.

Activity and cost metrics:

Show activity and cost metrics

| Metric                                    | What it tracks                                                              | Additional labels                                        |
| ----------------------------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------- |
| `openai_compliance_events_total`          | Compliance events by type, such as `CONVERSATION_MESSAGE`.                  | `event_type`, `client_id`                                |
| `openai_compliance_connector_calls_total` | Connector calls agents requested.                                           | `connector_name`                                         |
| `openai_compliance_costs_credits`         | Credits from the organization's costs ledger. Requires the organization ID. | `product`, `model`, `hour`                               |
| `openai_compliance_costs_usd`             | USD cost as the costs ledger reports it. Requires the organization ID.      | `product`, `model`, `hour`                               |
| `openai_compliance_costs_tokens`          | Tokens from the costs ledger. Requires the organization ID.                 | `product`, `model`, `hour`, `service_tier`, `token_type` |

Roster and inventory metrics, from the daily snapshots:

Show roster and inventory metrics

| Metric                                                                                     | What it tracks                                          | Additional labels                                                           |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------- | --------------------------------------------------------------------------- |
| `openai_compliance_user_state`                                                             | One series per seat in the roster.                      | `user_id`, `role`, `status`, `is_scim_managed`                              |
| `openai_compliance_user_identity`                                                          | The email and name of each member.                      | `user_id`, `email`, `name`                                                  |
| `openai_compliance_users_total`                                                            | Seats in the roster.                                    | None                                                                        |
| `openai_compliance_invites_total`                                                          | Pending invites.                                        | `role`                                                                      |
| `openai_compliance_gpts_total`, `openai_compliance_projects_total`                         | Shared GPTs and projects by visibility and permissions. | `visibility`, `can_read`, `can_view_config`, `can_write`                    |
| `openai_compliance_gpt_shared_users_total`, `openai_compliance_project_shared_users_total` | Who shared GPTs and projects are shared with.           | `role`, `status`, `can_write`                                               |
| `openai_compliance_gpt_tools_total`                                                        | The tools GPTs use.                                     | `tool_type`, `auth_type`                                                    |
| `openai_compliance_plugins_total`                                                          | Installed plugins.                                      | `status`, `installation_policy`, `discoverability`, `authentication_policy` |
| `openai_compliance_agents_total`, `openai_compliance_skills_total`                         | Custom agents and skills.                               | `status`, `original_product_surface`                                        |

### How to read the series[​](#how-to-read-the-series "Direct link to How to read the series")

* **Event counters** (`openai_compliance_events_total` and `openai_compliance_connector_calls_total`) hold a running total per series and UTC day. Read a window's total with `max_over_time` per series and sum the results; `sum_over_time` and `increase` count events more than once. Data collected before October 30, 2026 holds one sample per event instead, and the AI Center dashboard reads both forms.
* **Roster, inventory, and cost series** are daily values. Read them with `last_over_time`.

### Raw Compliance log[​](#raw-compliance-log "Direct link to Raw Compliance log")

The integration also writes the Compliance records it collects to the [`ai.raw.openai.compliance_logs`](https://coralogix.com/docs/user-guides/data-layer/default-dataspace/ai-raw-openai-compliance-logs.md) dataset in the `default` dataspace. The dashboard reads it for details no metric carries: conversation activity per member and model, custom agents and skills, app calls and grants, sign-ins, and each member's credits. Query the dataset with DataPrime to build your own [Custom Dashboards](https://coralogix.com/docs/user-guides/custom-dashboards/introduction.md) and alerts beyond the built-in ChatGPT dashboard; the [dataset page](https://coralogix.com/docs/user-guides/data-layer/default-dataspace/ai-raw-openai-compliance-logs.md#query-the-dataset) lists its streams and includes a starter query. The dataset is restricted by default. To let more users query it, see [Access control](https://coralogix.com/docs/user-guides/data-layer/dataset-management/access-control.md).

## Limits and behavior[​](#limits-and-behavior "Direct link to Limits and behavior")

* **Key check on save.** Coralogix checks that each key is accepted when you save. A wrong organization ID or a missing key permission surfaces later as an error in the integration status. If the check runs out of time because there are many keys, save again; this does not mean a key is invalid.
* **Initial backfill.** Collection starts with the last 24 hours of Compliance activity, then continues forward. There is no older history.
* **Interruptions.** If collection is interrupted for more than 48 hours, it stops with an error in the integration status; contact Support to resume it.
* **Organization-wide cost.** The costs ledger carries no workspace or user, so credits, USD, and token figures cover the whole organization and the dashboard's workspace filter does not narrow them.
* **Codex is separate.** The ledger also bills Codex, but the ChatGPT dashboard excludes Codex usage. Codex appears on the [Codex](https://coralogix.com/docs/integrations/ai-observability/openai/codex.md) dashboard.

## View in AI Center[​](#view-in-ai-center "Direct link to View in AI Center")

Navigate to **AI Center > Code Agents > ChatGPT**. The ChatGPT row sits under **AI chat apps** in the Code Agents sidebar. The dashboard opens on the last 14 days, with key insights above six sections:

| Section                | Shows                                                                                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Key insights           | Idle seats, climbing credit use, and the members who drive the most messages.                                                                              |
| Cost                   | Credits used and credits over time, by surface, client app, and reasoning effort, with USD as the costs ledger reports it.                                 |
| Activity               | Input and output tokens over time, messages over time and by client, active members, and the most used tools.                                              |
| Models used            | Tokens, credits, estimated USD cost, and users per model, with a drawer per model.                                                                         |
| Shared GPTs & projects | Shared GPTs and projects, who they are shared with, the tools GPTs use, custom agents, and skills.                                                         |
| Connectors             | Connected apps, plugins, and agent connector grants.                                                                                                       |
| Users                  | Every seat of the latest daily roster, with role, status, SCIM management, and connected apps, plus pending invites. Select a member to open their drawer. |

Use the **Workspace** filter to narrow every section that reads Compliance data to one workspace. Cost, token, and model figures come from the organization's costs ledger, so they stay organization-wide.

What needs the organization ID

The Cost section, the token figures in Activity, the Models used section, and the climbing credit use insight all come from the costs ledger, which the integration collects only when the ChatGPT Enterprise organization ID is set. Without it, the dashboard still shows messages, members, the roster, shared assets, and connectors.

## Validate the integration[​](#validate-the-integration "Direct link to Validate the integration")

After setup, confirm that data is flowing:

1. In Coralogix, navigate to **Metrics Explorer** and query the Compliance events:

   ```
   sum by (event_type) (max_over_time(openai_compliance_events_total[24h]))
   ```

   The query returns a count per compliance event type. Collection starts with the previous 24 hours of activity, so the first samples appear shortly after setup.

2. Query the roster, which arrives as a daily snapshot:

   ```
   count by (workspace_id) (last_over_time(openai_compliance_user_state[2d]))
   ```

   The query returns the seat count of each connected workspace.

3. If you set the organization ID, query `openai_compliance_costs_credits` to confirm the costs ledger arrives.

4. Navigate to **AI Center > Code Agents > ChatGPT** and confirm the Activity and Users sections show recent data.

## Troubleshoot[​](#troubleshoot "Direct link to Troubleshoot")

The integration reports a failing status

Cause: OpenAI rejected a key, or the organization ID is wrong. The status message names the workspace and the OpenAI error.

Fix: confirm a workspace owner created the key with both compliance scopes, and that the workspace ID is the workspace UUID. Then save the integration again; the save re-runs the key check. If saving reports a timeout while checking many keys, save again; the timeout does not mean a key is invalid.

The dashboard shows "No ChatGPT Enterprise usage data yet"

Cause: no roster snapshot or Compliance feed reached Coralogix in the last 10 days.

Fix: confirm the integration is deployed with at least one Compliance API key pair and that its status is healthy. The roster arrives as a daily snapshot, so the banner can stay until the first one lands. The banner does not hide the sections, so any data that already arrived still shows beneath it.

The Cost and Models used sections are empty

Cause: the costs ledger is not collected. It requires the ChatGPT Enterprise organization ID.

Fix: add the organization ID to the integration. Make sure it is the `org-...` ID from the ChatGPT Enterprise admin console, which can contain only letters, digits, underscores, and hyphens, and not the API Platform organization ID.

Member details show "Not reported"

Cause: the dashboard could not read the `ai.raw.openai.compliance_logs` dataset, which holds member conversation activity, sign-ins, app grants, and per-member credits. The dataset is restricted by default. A read that hits the row limit also counts as not reported, so no figure is based on a partial set.

Fix: grant your users read access to the dataset. See [Access control](https://coralogix.com/docs/user-guides/data-layer/dataset-management/access-control.md). For a very large range, narrow the time range or filter to one workspace.

Data stops arriving

Cause: collection was interrupted for more than 48 hours, so it stopped with an error in the integration status.

Fix: contact Support to resume collection.

## Permissions[​](#permissions "Direct link to Permissions")

Permissions

To set up this integration, your Coralogix account must have the following permissions:

| Permission                | Description                                                                                    |
| ------------------------- | ---------------------------------------------------------------------------------------------- |
| `INTEGRATIONS:READCONFIG` | View deployed integrations.                                                                    |
| `INTEGRATIONS:DEPLOY`     | Deploy, undeploy, and update integrations. The Data Admin and Platform Admin roles include it. |

For details, see [Roles and permissions](https://coralogix.com/docs/user-guides/aaa/access-control/permissions.md).

## Related resources[​](#related-resources "Direct link to Related resources")

* [Codex integration](https://coralogix.com/docs/integrations/ai-observability/openai/codex.md), which shares the same OpenAI Usage & Cost deployment
* [API Platform integration](https://coralogix.com/docs/integrations/ai-observability/openai/api-platform.md)
* [OpenAI integrations overview](https://coralogix.com/docs/integrations/ai-observability/openai.md)
