For the complete documentation index, see llms.txt. This page is also available as Markdown.

ChatGPT

Discover your OpenAI organization members and track per-user token consumption via the OpenAI Admin API

Harmony's ChatGPT integration connects directly to the OpenAI Admin API, giving your IT and finance teams a unified view of your OpenAI organization's members, invites, and token consumption alongside all your other SaaS tools. Harmony pulls real data from the OpenAI API so you are working with actual token consumption figures rather than flat seat estimates - broken down by employee and model.

What the ChatGPT integration enables

Capability
Description

User Discovery

Surface the members of your OpenAI organization in Harmony's software inventory

Seat Inventory

Track organization members and pending or expired invites as seats, refreshed every 6 hours. Members are recorded as active; invites carry their OpenAI status (pending or expired)

Token Usage Tracking

Monitor per-user, per-model token consumption from OpenAI's Completions usage endpoint, ingested daily

Usage Trends

View each user's token consumption trend in the Activity column as daily usage accumulates

Multi-Instance Support

Connect multiple OpenAI organizations for teams with separate accounts

Prerequisites

  • OpenAI Organization Owner: Only organization owners can create Admin API keys

  • Admin API Key: A key starting with sk-admin- (see below)

  • Harmony Account: Active Harmony workspace

Connect ChatGPT to Harmony

Step 1: Generate an Admin API Key

  1. Go to OpenAI Platform admin keys and sign in as an organization owner

  2. Click Create new admin key

  3. Enter a name (e.g. Harmony Integration) and click Create

  4. Copy the key - it starts with sk-admin- and will not be shown again

Create new secret key on the regular API keys page produces a project key (sk-proj-...), which this integration cannot use. Make sure you are on the Admin keys page.

Step 2: Navigate to Integrations

  1. Log in to your Harmony dashboard

  2. Go to Settings > Integrations

  3. Find ChatGPT under SaaS Applications and click Connect

Step 3: Enter Credentials

  1. Paste your Admin API Key

  2. Click Connect

For organizations with multiple OpenAI accounts, you can add multiple instances by repeating this process for each account.

Disconnect ChatGPT from Harmony

  1. Log in to your Harmony dashboard

  2. Go to Settings > Integrations

  3. Find ChatGPT under SaaS Applications and click the integration card

  4. Click Disconnect

  5. Confirm the disconnection when prompted

Once disconnected, Harmony stops syncing data from OpenAI. Previously synced data remains available in Harmony. To fully revoke access, delete the Admin API key in the OpenAI Platform as well.

What Harmony Syncs

From OpenAI:

  • Organization members (name, email, and OpenAI user ID), refreshed every 6 hours

  • Member roles - OpenAI's platform roles owner and reader, shown in Harmony as admin and member

  • Pending and expired invites, tracked as seats with their OpenAI status. Accepted invites are skipped because the person already appears in the member list

  • Per-user, per-model token counts from OpenAI's Completions usage endpoint, ingested daily

  • The OpenAI organization the Admin API key belongs to, used to group data per connected account

Token usage covers Completions only. Harmony reads OpenAI's Completions usage endpoint. Usage of images, audio, embeddings, moderations, vector stores, web search, and file search is not collected, so totals understate consumption for organizations using those APIs. OpenAI's usage endpoint reports token counts only - it does not report cost.

Historical data on first connection: Harmony backfills the last 7 days of token usage when you first connect, then keeps usage in sync with a daily poll. Longer usage trends build up from the connection date onwards.

Permissions Explained

The Admin API key is used read-only. Harmony calls three OpenAI endpoints:

Endpoint
Purpose

GET /v1/organization/users

List organization members for the seat inventory, with their role

GET /v1/organization/invites

List pending and expired invites as seats

GET /v1/organization/usage/completions

Collect per-user, per-model daily token counts

Use Cases

AI Spend Management

Track token usage per user and model to allocate costs accurately and identify high consumers. Daily per-user token counts give you actual consumption data rather than flat seat estimates, so you can make informed decisions about your AI budget.

License Reclamation

Identify members with little or no recent token consumption and reclaim access to reduce OpenAI costs. Seat status labels (active for members, pending and expired for invites) make it easy to spot lapsed invitations at a glance.

Offboarding

Confirm OpenAI organization access has been removed when employees leave, as part of Harmony offboarding workflows.

AI Tool Adoption

Measure OpenAI API adoption across teams and departments to inform AI rollout decisions. Daily usage metrics show exactly how much each team member is consuming, including which models they are consuming tokens from.

Troubleshooting

The API key is rejected when connecting

Possible causes:

  • The key is a project key (sk-proj-...) or a standard API key (sk-...) rather than an Admin API key

  • The key was created by a member who is not an organization owner

Solutions:

  1. Create the key on the Admin keys page at platform.openai.com/settings/organization/admin-keys using Create new admin key

  2. Make sure the person creating the key is an owner of the OpenAI organization

My ChatGPT Enterprise seats are missing

Possible causes:

  • This integration enumerates OpenAI API platform organization members and invites, which is a different population from ChatGPT Enterprise workspace seats

Solutions:

  1. Expect to see the people who belong to your OpenAI developer platform organization. ChatGPT Enterprise workspace seats are not available through this integration

Usage data is missing or lower than expected

Possible causes:

  • Only Completions usage is collected - images, audio, embeddings, moderations, vector stores, web search, and file search usage are not included

  • Usage older than 7 days before the connection date is not backfilled

  • Consumption that OpenAI cannot attribute to a specific user (for example traffic from an API key with no associated user) is not shown against a person

Solutions:

  1. Wait for the daily usage poll to run after connecting, then check the Activity column

  2. Compare against OpenAI's own usage dashboard, which includes the endpoints Harmony does not collect

Data & Privacy

Key privacy principles

For information about how Harmony handles your data, see our Privacy Policy.

  • Harmony reads OpenAI data in read-only mode and does not modify anything in your OpenAI organization

  • Harmony does not read prompts, completions, or conversation content - only membership, invites, and aggregated token counts

  • Access can be revoked at any time by disconnecting in Harmony or deleting the Admin API key in the OpenAI Platform

Last updated

Was this helpful?