ChatGPT Enterprise

Download 0
Last updated Sep 25, 2026

Install Guide

Collecting the compliance logs of a ChatGPT Enterprise workspace takes three steps.

  1. Get an admin key and the workspace ID from the ChatGPT admin console
  2. Register a connect profile in Logpresso
  3. Enable the collectors

1. Issuing an admin key

The admin key must be workspace-scoped. It is not the organization admin key issued on the API platform (platform.openai.com), and the two are not interchangeable.

1-1. Open the admin console

Go to https://admin.openai.com and sign in with an account that administers the workspace.

This is a different address from chatgpt.com, which members use, and from platform.openai.com, which developers use. Neither of those has the compliance admin key in its settings.

1-2. Find and select the workspace

Signing in lands on the overview screen. In the table below, copy the ID of the row whose product is ChatGPT workspace.

With the ID copied, switch to the workspace whose logs you want to collect, using the selector at the top left. While an organization is selected, the Credentials menu is not shown. This is the easy place to get stuck: if you cannot find Credentials, check whether a workspace is selected.

1-3. Credentials

Once a workspace is selected, Credentials appears in the menu. Open it.

1-4. Admin keys tab

On the Credentials screen, open the Admin keys tab and create a key.

The key is shown in full only once, right after it is created. Copy it immediately — you cannot read it again after leaving the screen.

2. Registering a connect profile

In Logpresso, go to Settings > Connect profiles and add a profile of type ChatGPT Enterprise: Workspace.

FieldNotes
Admin keyRequired. The value copied in 1-4. Masked once saved
Workspace IDRequired. The value copied in 1-2
HTTP proxyOptional. IP:port
Connect timeoutOptional. Seconds, default 30
Read timeoutOptional. Seconds, default 300

Register one profile per workspace. Collectors and search screens both work per profile, so data from different workspaces never mixes.

Profile naming

The profile name is used verbatim as the trailing part of every collection table name. Name the profile HQ and the tables are CHATGPT_CHAT_HQ, CHATGPT_AUDIT_HQ, and so on.

Use a short Latin abbreviation that identifies the workspace. The name goes through a conversion that keeps only what a table name can hold.

  • Letters are upper-cased, and anything that is not a letter, digit, or underscore becomes an underscore
  • Anything past 24 characters is cut
  • If nothing is left — a name written entirely in a non-Latin script, for instance — the first 8 characters of the profile identifier are used instead, giving unreadable names like CHATGPT_CHAT_3F9A1C07

Renaming the profile later does not rename tables that already exist, so it is worth settling on a name now.

3. Enabling the collectors

Pick a workspace on ChatGPT Enterprise > Collectors and the ten collection targets are listed. Enabling one creates both the table and the collector; there is nothing to prepare beforehand.

TargetTableLog schema
Conversation messagesCHATGPT_CHAT_{workspace}chatgpt-ent-chat
AuditCHATGPT_AUDIT_{workspace}chatgpt-ent-audit
AuthenticationCHATGPT_AUTH_{workspace}chatgpt-ent-auth
App authCHATGPT_APP_AUTH_{workspace}chatgpt-ent-app-auth
App callsCHATGPT_APP_{workspace}chatgpt-ent-app
CodexCHATGPT_CODEX_{workspace}chatgpt-ent-codex
Codex securityCHATGPT_CODEX_SECURITY_{workspace}chatgpt-ent-codex-security
PresentationsCHATGPT_SLIDE_{workspace}chatgpt-ent-presentation
SpreadsheetsCHATGPT_SHEET_{workspace}chatgpt-ent-spreadsheet
Custom agentsCHATGPT_CUSTOM_AGENT_{workspace}chatgpt-ent-custom-agents

The {workspace} part is derived from the profile name.

Interval and initial scan

Both are set per row. Conversation messages and Codex logs arrive at very different rates, so one workspace-wide interval would be wrong for at least one of them.

  • Interval: 60 to 3600 seconds, default 300
  • Initial scan days: 1 to 30, default 30

Initial scan days decides how far back the first run reaches. The default is the maximum because the API retains only the last 30 days and never backfills. Later runs continue from the last record read.

4. Verifying

After enabling a collector, check that its status turns to running and that the record count climbs.

A wrong key or workspace ID makes the collector report why it failed.

SymptomCause
HTTP 401The admin key was rejected — most likely an organization admin key
HTTP 404The workspace ID does not match
HTTP 429Too many requests. Raise the interval

Once collection starts, the data is searchable under ChatGPT Enterprise > Logs. See the user guide for how to use those screens.