OPENAI_CHATGPT_COMPLIANCE_KEY, OPENAI_CHATGPT_WORKSPACE_ID) when setup is complete.
This is not the same as the OpenAI developer API. OpenAI splits into two products with two separate consoles and two key types. This page covers ChatGPT Enterprise seats and workspace activity. If you want API spend and token usage, that is the OpenAI Platform integration and a different credential entirely. Most organizations that use both will want both apps enabled.
Requires ChatGPT Enterprise. The Compliance API is an Enterprise feature. It is not available on Team, Plus or Free, and there is no partial version of this integration on those plans.
Step 1: Create the Compliance API key
- Sign in to your ChatGPT Enterprise workspace as a workspace Owner
- Open Settings → Compliance (or Compliance API, depending on your workspace version)
- Generate a Compliance API key and name it
ConfigView - Copy the key — it is shown once
- Note your Workspace ID from the same screen
If you do not see a Compliance section, the feature has not been enabled for your workspace. Your OpenAI account contact can turn it on — it is not something a workspace admin can self-serve on every plan.
Step 2: Add the secrets to ConfigView
- Go to your ConfigView dashboard:
https://{companyname}.configview.com/admin/secret/ - Add both secrets:
- Click Save for each
Step 3: Enable the ChatGPT scripts in ConfigView
- Go to:
https://{companyname}.configview.com/admin/cron/ - You should see OpenAI ChatGPT in the list of available apps
- Select the scripts you want to run:
Compliance logs
All four read the same
/logs endpoint and differ only by event type.
- Click Save
Step 4: Verify
- Go to:
https://{companyname}.configview.com/admin/cron/ - Run the OpenAI ChatGPT health check
401/403— The key is wrong or the Compliance API is not enabled for the workspace. See the note in Step 1.404—OPENAI_CHATGPT_WORKSPACE_IDis wrong. Every request is scoped to that ID, so a typo fails everything uniformly rather than just one script.- Logs return nothing but inventory works — Compliance logs are time-windowed and only cover the retention period your plan provides. A quiet workspace, or a first run outside the window, legitimately returns zero rows.
Data Tables
Once the scripts run, the corresponding tables are created in your database. All tables include arun_at column for historical tracking. Every request is scoped to /v1/compliance/workspaces/{workspace_id}/....
Things worth knowing
Conversations are metadata, not content.chatgpt_conversations records the title, message count, model and owner — not the messages. That is deliberate: it answers adoption and attribution questions without putting conversation bodies in your database.
Stored Memories is the one to think about before enabling. chatgpt_memories stores content_preview and content_length — a preview is still user-entered content, and it will sit in your database and appear in query results. Decide whether that is acceptable under your own data-handling policy before turning the script on. Everything else in this integration is metadata.
last_active_at and last_login_at are different, and the gap matters. Login is an authentication event; active is actual use. A seat with recent logins but no activity is the clearest candidate for reclamation, and you need both columns to spot it.
The four log scripts share one endpoint and one rate budget. They all read /logs with a different event_type. Enabling all four multiplies the calls against the same limit, so if you are only after seat reclamation, Conversations and Auth are usually enough.
Seat counts have two sources. chatgpt_workspace.seat_count is what OpenAI reports for the workspace; counting rows in chatgpt_users is what the API enumerates. If they disagree, trust the workspace figure for billing questions and investigate the difference — pending invites and recently removed members are the usual explanation.