How to Provide Managed ChatGPT for Your Team

Why would you want to manage ChatGPT access for your team? There are a few reasons:

  • Priority access to the service during busy periods. No more being unable to login to free accounts at https://chat.openai.com/ during the work day.
  • Assurance that your team’s prompts aren’t being used to train OpenAI’s models.

OpenAI provides part of the puzzle for providing managed ChatGPT access to your team but you’ll have to pull in the other pieces yourself. For a working setup you’ll need:

  • An organization OpenAI account.
  • [Optional] Metered per-team member API access through the organization’s account.
  • A chat interface for team members to use their API access.

OpenAI provides the first two and you’ll provide the third.

Organization OpenAI Account

To get started with setting up an OpenAI account for your organization go to https://platform.openai.com/ and sign up for an account.

Next, login to OpenAI and go to the ‘Organization settings’ page. If you did not set an organization name during account setup, OpenAI created an organization for you with the name ‘Personal’. Change this to the name of your company or team as it will be what users see you invite them.

Paid Account

For new accounts, OpenAI provides $5 of API credits. This is enough to get started, but you will want to setup a paid account for long-term use (mainly for access to increased rate limits). To setup a paid account, head to the ‘Billing overview’ page. There click the the ‘Set up paid account’ button and follow the prompts to add a credit card to your account.

Usage Limits

OpenAI allows you to setup monthly spend limits for access to their API. By default the limit is $120. To change this limit go to the ‘Usage limits’ page.

Centralized or Per-User Access?

There are two ways to provide access to OpenAI’s chat service:

All organization users using a centralized API key

This setup is great for use on a protected intranet and for ease of end-user setup.

Advantages:

  • Easy setup for your team with no need to generate and apply personal API keys.

Disadvantages:

  • Zero insight into per-user usage. All requests will be billed under the organization’s API key.
  • You will need to secure your site against usage by people outside your organization. Any user of the site will have access to OpenAI via your central API key.

If you decide to go with a centralized key use the following instructions to create the key:

  1. Login to OpenAI and go to the ‘API keys’ page. Click ‘Create new secret key’.
  2. Give the key a descriptive name and click ‘Create secret key’.
  3. Save the key to a safe location for later input and click ‘Done’.

Each organization user using a per-user API key

This setup is great for use with a publicly-available site (e.g. via Vercel) and for detailed usage reporting.

Advantages:

  • Detailed insight into per-user usage. You’ll easily be able to tell which users utilize the service most.
  • No need to secure the site against people outside your organization. Only those you have invited will be able to make requests against your organization’s quota.

Disadvantages:

  • Setup for team members is more involved as they will need to generate and apply personal API keys.

Chat Interface

In order for your users to conveniently use their API access you’ll need to provide a user interface for them. Mckay Wrigley has created an excellent facsimile of OpenAI’s UI in Chatbot UI.

Chatbot UI can be deployed to your own infrastructure using their Docker image or to cloud platforms like Vercel. To deploy to Vercel, use the Vercel deploy link in Chatbot UI’s ‘Deploy’ section and follow Vercel’s prompts to setup your own version of Chatbot UI.

For a working deploy regardless of deployment method, you will need to adhere to the following environment variable guidance:

VariableValue
OPENAI_API_KEYSet this variable only if you are utilizing the centralized API key setup. Do not set this variable for the per-user API key setup.
OPENAI_ORGANIZATIONSet this to your Organization ID available here.

To set variables in Vercel, login and go to your dashboard. There select your UI project, then go to ‘Settings’ > ‘Environment Variables’. Next follow the instructions here. After setting variables you will need to restart the project for them to take effect using this guide .

Invite Your Team

You can now invite members to use your ChatGPT UI. In the ‘Manage account’ area go to ‘Members’ (direct link) then click ‘Invite members’. You may be asked to name your organization again. If so, use the same name as in previous steps.

For each member you would like to invite, provide their email addresses in a comma-separated list. The role of ‘Reader’ is sufficient for ChatGPT access.

All invited users will receive an email informing them of having been added to your organization. Provide your users with a link to your ChatGPT UI and ask them to follow the following steps to get started:

  1. Open the ‘You’ve been added to an organization’ email and click ‘View organization’.
  2. Create an OpenAI account or login to an existing account using the email address that was invited.
  3. Login to OpenAI and go to the ‘API keys’ page. Click ‘Create new secret key’.
  4. Give the key a descriptive name and click ‘Create secret key’.
  5. Save the key to a safe location for later input and click Done.
  6. Go to your organization’s ChatGPT UI site and select ‘OpenAI API Key’ at the bottom right of the left-side menu. If the menu is collapsed out of sight, click the right-pointing arrow at the top left to expand it.
  7. Enter the key value you saved and click the check mark.
  8. Click ‘New chat’ to get started with ChatGPT access.

All Done

You should now have a functioning ChatGPT UI for your team. While the process is a bit involved, the steps here should get you setup relatively quickly.

Leave a comment