How to connect ChatGPT Enterprise fabric
Connecting ChatGPT Enterprise brings seats and daily usage from your OpenAI workspace into CloudMonitor beside your other spend. This guide covers connecting, checking the first sync, fixing a failed connection, replacing the Admin key and disconnecting.
Before you start
Section titled “Before you start”You need the CloudMonitor Admin role and the Tokenomics module switched on under Settings ▸ Features. Sources & Integrations and Features are admin screens.
At OpenAI, you need:
- A workspace where OpenAI offers Admin keys. OpenAI lists eligible managed workspaces, including ChatGPT Enterprise, ChatGPT Edu and ChatGPT for Healthcare, and says availability can vary by plan and rollout. CloudMonitor’s screens call the product ChatGPT Enterprise. Check OpenAI’s Admin key availability guidance.
- A person with the Owner or Admin role in that specific workspace. Being a global admin, an API Platform organization owner or a user with a custom workspace role does not grant Admin key access on its own. Check OpenAI’s role requirements.
- The Analytics API available on the workspace. Confirm this with your OpenAI workspace owner or OpenAI Support before connecting. OpenAI’s Analytics API guidance says to confirm it is enabled for your workspace before use.
Step 1: Create a read-only Admin key at OpenAI
Section titled “Step 1: Create a read-only Admin key at OpenAI”Follow OpenAI’s instructions for creating an Admin key:
- Sign in to Admin Console.
- Select your tenant if needed, then select the ChatGPT workspace where you have the Owner or Admin role.
- Open Credentials, then select Admin keys.
- Select Create new admin key and enter a descriptive name.
- Choose an expiration: Never, 30 days, 60 days, 90 days or Custom. A custom expiration can be between 1 and 365 days.
- Choose permissions as described below.
- Select Submit, then copy and store the secret. You cannot view the secret again.
Choose the permissions
Section titled “Choose the permissions”Set Users to Read and Enterprise analytics API to Read. Set every other permission to None. These are the permissions CloudMonitor needs. OpenAI’s Admin API reference describes the permissions.
The CloudMonitor dialog says:
Choose Custom permissions. Set Users and Enterprise analytics API to Read, and every other permission to None.
The controls depend on your workspace role:
- A workspace Owner chooses between All, Read only and Custom. Choose Custom, then set the categories above. Owner keys can default to All permissions and an expiration of Never, so review both before creating the key. OpenAI’s Owner instructions.
- A workspace Admin sets None, Read or Write for each category. The key is labeled Custom; there is no separate Custom choice to select. OpenAI’s Admin instructions.
Some permission categories appear only when the related feature is available. If a category is missing, confirm that the feature is available in the workspace and that your role allows it. If it is still unavailable, contact OpenAI Support. OpenAI’s guidance on missing categories.
Keep the key available and private
Section titled “Keep the key available and private”Each Admin key applies to one ChatGPT workspace. It can stop working if it expires, is revoked, its creator loses the required workspace access or the creator’s account is deactivated. You cannot change an existing expiration date. OpenAI’s key lifecycle guidance.
Never send the secret through email, chat or a support request, including to CloudMonitor support. Paste it only into the CloudMonitor dialog below. OpenAI’s key security guidance.
Step 2: Connect in CloudMonitor
Section titled “Step 2: Connect in CloudMonitor”- Go to Settings ▸ Sources & Integrations and find OpenAI. Its description reads: “ChatGPT Enterprise seats, usage and cost from your OpenAI workspace.”
- Select Connect on the OpenAI group. Expanding the group shows Connect ChatGPT Enterprise with: “Add a read-only Admin key from your OpenAI workspace so CloudMonitor can read ChatGPT Enterprise seats, usage and cost.”
The Connect ChatGPT Enterprise dialog opens. It says:
CloudMonitor reads your ChatGPT Enterprise seats and daily usage with a read-only Admin key from your OpenAI workspace.
Under Create a read-only Admin key, it lists:
- “In the OpenAI Admin Console, go to Credentials > Admin keys and create a key. A workspace Owner or Admin can do this.” OpenAI’s key creation instructions.
- “Choose Custom permissions. Set Users and Enterprise analytics API to Read, and every other permission to None.” See the Owner and Admin differences in Step 1.
- “Copy the key and paste it below with your workspace ID.”
-
Enter the Workspace ID from the OpenAI Admin Console. Ask your workspace owner or OpenAI Support if you need help finding it. The field help reads:
The ID of your ChatGPT Enterprise workspace, from the OpenAI Admin Console. CloudMonitor collects from this workspace only.
Use letters, numbers, hyphens and underscores, up to 128 characters, with no spaces and no URL. A wrong format shows:
Use the workspace ID only: letters, numbers, hyphens and underscores, with no spaces and no URL.
-
Paste the Admin key. The field hides what you type. Its help reads:
Encrypted in your browser before it is saved. CloudMonitor never shows it again; to change it, reconnect with a new key.
An incomplete paste shows:
That doesn’t look like a complete Admin key. Paste the whole key, with no spaces.
-
Select Connect ChatGPT Enterprise. Until both fields pass the format checks, the button stays disabled with the tooltip Enter a valid workspace ID and Admin key first.
The dialog explains:
Connecting also switches ChatGPT Enterprise collection on. Seats and usage appear after the next daily sync, and the OpenAI group shows Connection pending until then.
What the dialog checks
Section titled “What the dialog checks”CloudMonitor checks only the shape of the workspace ID and that the key has at least 8 characters with no spaces. It cannot check whether the key is valid, has the right permissions or matches the workspace at this point. A wrong key or ID saves without an error. The connection reports a failure after a daily sync, as described below.
Step 3: Wait for the first sync
Section titled “Step 3: Wait for the first sync”Straight after connecting, OpenAI shows Connection pending. Expanded, the row is also titled Connection pending and says:
Connected to workspace <workspace ID>. Your ChatGPT seats and usage appear here after the next daily sync.
Data arrives on a daily sync. If you connect shortly before that day’s sync, the following day’s sync can pick up the connection. The first run brings in the last 30 days. Each daily run re-reads that period, replacing earlier figures with any corrections OpenAI makes.
Connection pending clears when usage for the workspace has arrived. A workspace with no usage in the last 30 days stays pending.
Once data arrives, the row is titled ChatGPT Enterprise connected and says:
Collecting seats and usage from workspace <workspace ID> with the Admin key ending <last 4 characters>.
The ChatGPT Enterprise feed row shows First record, Latest record and Records, with a Connected badge. CloudMonitor keeps the last 4 characters to identify the saved key. It never shows the key itself again.
Where your ChatGPT data appears, and who can see it
Section titled “Where your ChatGPT data appears, and who can see it”CloudMonitor reads active workspace members once a day: name, email, role, seat type and whether the account is managed by SCIM. It also reads daily usage per person and for the whole workspace: chats, messages, tokens, credits, cost in USD and OpenAI’s estimated USD cost for credit-priced usage.
These are the only requests CloudMonitor makes. It does not request conversations, prompts, responses or files.
Seat Utilization
Section titled “Seat Utilization”Under Tokenomics ▸ Seat Utilization, the ChatGPT seats card shows “<used> of <total> seats used” and “<n> unused seats in this period”. It explains:
A seat counts as used when its holder sent at least one message in the selected period. OpenAI doesn’t report seat prices, so seat cost isn’t shown.
Before data arrives, it shows No ChatGPT seats reported yet with:
Seats appear here once ChatGPT Enterprise is connected in Sources & Integrations and the first daily sync lands.
Power Users
Section titled “Power Users”Under Tokenomics ▸ Power Users, the ChatGPT usage by user card has User, Messages and Cost (USD) columns. It lists one row per person, most messages first. The info tip reads: “<n> users · <amount> this period, as OpenAI reports it.”
A row shows Estimate when part of its cost is OpenAI’s estimate for credit-priced usage. Hovering the badge shows: “Includes <amount> that OpenAI estimates for credit-priced usage.”
Before data arrives, it shows No ChatGPT usage to show with:
Messages and cost per person appear here once ChatGPT Enterprise is connected in Sources & Integrations and a daily sync has brought in usage for the selected period.
Access, filters and workspace cost
Section titled “Access, filters and workspace cost”Only administrators can see these cards and the per-person ChatGPT usage they contain. Both follow the Provider filter: they appear when no provider is selected or when OpenAI is selected. The cost group filter does not apply. The card says:
ChatGPT usage isn’t allocated to cost groups, so the cost group filter doesn’t apply here.
Workspace cost is added to your spend records as provider OpenAI and service ChatGPT Enterprise, with these charge descriptions:
- “ChatGPT Enterprise usage billed in USD”
- “ChatGPT Enterprise credit usage, estimated USD cost”
What the cost figures mean
Section titled “What the cost figures mean”The cost figures are what OpenAI reports through its API. They include usage billed directly in USD and OpenAI’s own USD estimate for credit-priced usage. Estimates carry an Estimate label. These figures are not an invoice.
Fixed per-seat license fees are not shown. OpenAI does not report seat prices to CloudMonitor, so CloudMonitor shows seat counts and seat use without seat cost. Remaining credit balance and invoices are not shown.
If something goes wrong
Section titled “If something goes wrong”After a daily sync, CloudMonitor marks a connection that OpenAI will not accept as not connected. OpenAI shows a reason and Reconnect. Collection stops until you reconnect.
| What you see | What it says |
|---|---|
| Admin key rejected | “OpenAI rejected the saved Admin key for workspace <workspace ID>, so collection has stopped. The key may have been deleted in the OpenAI Admin Console. Create a new Admin key and reconnect here.” Action: Create a new Admin key, then select Reconnect. |
| Admin key is missing a permission | “The saved Admin key can’t read Users or Enterprise analytics for workspace <workspace ID>, so collection has stopped. Create a key with both set to Read and reconnect here.” Action: Create a key with Users and Enterprise analytics API set to Read, then select Reconnect. |
| Workspace not found | “OpenAI couldn’t find workspace <workspace ID> for the saved key, so collection has stopped. Check the workspace ID in the OpenAI Admin Console and reconnect here.” Action: Check the Workspace ID in the OpenAI Admin Console, then select Reconnect. |
| Saved key can’t be read | “CloudMonitor can no longer decrypt the saved Admin key, so collection has stopped. Reconnect here and enter the key again, or create a new one in the OpenAI Admin Console if you no longer have it.” Action: Select Reconnect and enter the key again, or create a new key if you no longer have it. |
Reconnect opens Reconnect ChatGPT Enterprise with the workspace ID already filled in. You always enter a key again.
A key can stop working at OpenAI when it expires, is revoked, its creator loses required access or the creator’s account is deactivated. OpenAI’s key lifecycle guidance. After a daily sync, collection stops and the connection shows one of the messages above. Create a new key and reconnect.
Still Connection pending
Section titled “Still Connection pending”If Connection pending remains after two daily syncs without any message above, check that the workspace has ChatGPT usage in the last 30 days. Then contact CloudMonitor support.
Connect is disabled
Section titled “Connect is disabled”If Connect is grayed out and the row says the following, your workspace has not been enabled for this connection:
Connecting ChatGPT Enterprise isn’t available in this workspace yet. Contact CloudMonitor support to enable it.
A CloudMonitor administrator cannot change this. Contact CloudMonitor support.
The OpenAI group is missing
Section titled “The OpenAI group is missing”The Tokenomics module is off. Switch it on under Settings ▸ Features.
Replace the Admin key
Section titled “Replace the Admin key”To replace a key, for example before it expires:
- Create the new Admin key at OpenAI using Step 1. OpenAI’s key creation instructions.
- In CloudMonitor, go to Settings ▸ Sources & Integrations, expand OpenAI and select Disconnect. Confirm with Disconnect.
- Select Reconnect and enter the new Admin key. The workspace ID is already filled in.
There is no replace action while connected. Data already collected is kept.
Switch collection off, disconnect or reconnect
Section titled “Switch collection off, disconnect or reconnect”Switch collection off in Features
Section titled “Switch collection off in Features”Under Settings ▸ Features, the OpenAI feature is in AI and tokens. Its description reads:
ChatGPT Enterprise seats, daily usage per user and cost from your OpenAI workspace. Turning this off stops new ChatGPT data being collected; data already collected is kept.
Before a workspace is connected, On is disabled with the tooltip Connect ChatGPT Enterprise to turn this on. The row says:
Connecting your ChatGPT Enterprise workspace turns this on. Seats and usage are read from that workspace.
The Connect ChatGPT Enterprise link takes you to Sources & Integrations. Connecting switches collection on.
You can always switch OpenAI off. If it is on with no connected workspace, the row says:
No ChatGPT Enterprise workspace is connected, so no ChatGPT data is being collected.
Disconnect the workspace
Section titled “Disconnect the workspace”Go to Settings ▸ Sources & Integrations, expand OpenAI and select Disconnect. The Disconnect ChatGPT Enterprise dialog explains:
- “CloudMonitor stops collecting ChatGPT Enterprise seats and usage from workspace <workspace ID> at the next daily sync.”
- “Seats, usage and cost already collected stay in your workspace and on your reports.”
- “The saved Admin key is removed from CloudMonitor. Reconnecting asks for a key again.”
- “The OpenAI feature stays switched on in Settings. Collection still stops, because it needs this connection.”
- “The Admin key still works in OpenAI until you delete it. To revoke it, delete it in the OpenAI Admin Console under Credentials > Admin keys.” OpenAI’s revocation instructions.
Select Disconnect to confirm, or Cancel to keep the connection. Afterwards, the row is titled ChatGPT Enterprise disconnected and says:
Collection from workspace <workspace ID> is stopped. Existing ChatGPT data is unchanged. Reconnect with an Admin key to resume.
To revoke the key at OpenAI, open Credentials ▸ Admin keys, open the key’s more options menu, select Revoke, then confirm with Revoke admin key. OpenAI’s revocation instructions.
Reconnect
Section titled “Reconnect”Select Reconnect to open Reconnect ChatGPT Enterprise. The workspace ID is already filled in. Enter the Admin key again to resume collection.
How your Admin key is protected
Section titled “How your Admin key is protected”The browser encrypts the key before saving it. CloudMonitor stores only the encrypted form. Only CloudMonitor’s backend can decrypt it, and it does so to call OpenAI on the daily sync.
The saved key is tied to the workspace ID you entered with it. CloudMonitor never shows the key again and keeps its last 4 characters as an identifier. Disconnecting removes the saved key.
With the permissions in Step 1, the key is read-only. CloudMonitor never writes to the OpenAI workspace.
What this page does not cover
Section titled “What this page does not cover”CloudMonitor does not show seat prices, fixed per-seat license fees, remaining credit balance or invoices. ChatGPT usage is not allocated to cost groups.
The OpenAI API platform, including API keys and API usage billing, is a different product and is not connected by this flow; its organization Admin keys do not administer ChatGPT workspaces. OpenAI’s Admin API reference.