# Add a ChatGPT phone connector

> Add a ChatGPT phone connector with the MCP URL RingKit documents. ChatGPT does not answer the call. The receptionist on the phone line does.

Published 2026-11-10 · by RingKit · tags: ai receptionist, setup. Canonical: https://www.ringkit.com/blog/chatgpt-phone-connector

Add a ChatGPT phone connector with a URL RingKit documents: `https://api.ringkit.com/mcp`, or `https://api.ringkit.com/mcp/oauth`. ChatGPT does not place the call and it does not answer it. The RingKit receptionist answers the business line. ChatGPT, after you approve access, can call the tools that token allows for one business. If a menu in ChatGPT is not named in the notes below, this article is not telling you to click it.

The notes are `docs/mcp-oauth.md`, read on November 10, 2026. The public product [docs](https://www.ringkit.com/docs) still describe an API-key connection to `/mcp`. That is a different setup. This page is the connector.

## ChatGPT does not answer the phone

A connector is a login, not a voice. When a customer dials your business number, they reach the AI receptionist on that line. It says it is an AI. It answers from your brief, transfers to your own team, or takes a message, and you get a summary. That is the product described in [what an AI receptionist does](https://www.ringkit.com/blog/what-does-an-ai-receptionist-do).

ChatGPT can ask RingKit, through the connector, for things the token allows: read calls, change a setting, and so on. It does not sit on the phone line. Saying "ChatGPT answers my business calls" would be false. The receptionist does. ChatGPT is a client of the API.

You connect the client. You do not add a library to ChatGPT.

## The URLs the docs name

RingKit's OAuth notes give ChatGPT two URLs that work:

- `https://api.ringkit.com/mcp`
- `https://api.ringkit.com/mcp/oauth`

ChatGPT can use either. The tools declare `_meta.securitySchemes`. When a tool needs auth, the error carries `_meta["mcp/www_authenticate"]`. That is how the notes say ChatGPT finds the sign-in. Claude's custom connector is different: Claude is told to use only `/mcp/oauth`, because `/mcp` does not answer 401 until a bad token is sent, and Claude starts OAuth on a 401 with no token.

You paste a RingKit URL. You do not paste an `rk_` API key into the connector and call that OAuth. API-key clients use `/mcp` with `Authorization: Bearer rk_...`. If you already have a key and a config file, that is the key path in the public docs, not this article.

## What you are approving

The sign-in follows the same OAuth steps the notes describe. The client discovers protected-resource metadata (the format in [RFC 9728](https://www.rfc-editor.org/rfc/rfc9728.html)), reads the authorization server metadata, and registers. You then see a consent screen.

On that screen the documented fields are: the client name, the redirect host, the permissions, and a business picker. Only an owner can approve. The scope is `ringkit.read`, or `ringkit.manage`, which includes read. The default is read. The resource is `https://api.ringkit.com/mcp`.

The token from `POST /oauth/token` is a 1-hour access token and a 90-day refresh token. Refresh tokens rotate every time they are used. If a client sends an already-rotated refresh token again, the whole grant is revoked and the client must connect again. `POST /oauth/revoke` and the `/oauth/connections` page also disconnect it.

If ChatGPT shows a host that is not `api.ringkit.com`, do not approve it.

The client does the registration itself, with `POST /oauth/register`. Public clients send `token_endpoint_auth_method: "none"`. Other clients get a `client_secret` once, and only a SHA-256 hash of it is stored. Redirect URIs are https, loopback http, or a native app scheme. Registration is limited to 10 per IP per minute, and a registration that never gets a code or a grant is deleted after 24 hours. You should not be asked to invent a client id. If the screen asks you to paste a secret into the chat, stop. That secret does not belong in the transcript.

## One business, and the tools that stay hidden

A linked session is exactly one business, the one you picked. Tools that create a business, manage API keys, or invite an owner are hidden. You cannot use the connector to open a second company or to hand the keys to someone else. Do that in the app, or with an API key, if you need it.

A read-only token that tries a write gets `insufficient_scope` and a step-up challenge. Approve manage if you want changes. Do not work around it by putting a key in a chat message. A key in a chat is a secret in a transcript.

The connector also does not forward your existing number. A person still does that with the carrier. Connecting ChatGPT does not publish a phone number and does not start the number fee by itself. The line is $1.99 a month, and the receptionist is $0.20 a minute, with the first 10 seconds of each call free. Figures are on the [pricing page](https://www.ringkit.com/pricing).

## Read and manage are different approvals

`ringkit.read` and `ringkit.manage` are the only scopes the notes name. Read is the default. Manage includes read. A read token that calls a write tool gets `insufficient_scope` and a step-up challenge. Approve manage when you connect if you want ChatGPT to change a setting. If you only want it to look, leave the default. You can disconnect on `/oauth/connections` and approve again. Do not paste an API key into the chat to get around the scope. A key in the chat is a secret in a transcript, and a linked session still hides key-management tools.

A linked session is not the anonymous onboarding path. On `/mcp` with no credential, an agent can call `ringkit_create_business`. After you approve ChatGPT, that tool is hidden, along with API-key tools and owner invites. If you wanted ChatGPT to create the business, connect without a token first, using the public docs' no-key step, and only then approve the connector for the business that exists. Doing it backwards looks like a missing tool. It is the linked-session rule.

## What to test after you connect

Ask ChatGPT for something a read token should allow, such as who the business is, if that tool is in the list the docs publish. Then ask for something a read token should refuse, and expect `insufficient_scope` rather than a silent success.

Then call the business number from another phone. ChatGPT should not be the voice that answers. The receptionist should. If the connector is down, the phone line still behaves the way you set it. The two systems fail separately. A revoked OAuth grant does not un-forward the number. A forwarding change does not revoke ChatGPT. Disconnecting the connector does not release the phone number. The number stays until you release it in the account, and the carrier forward stays until you turn that off on the phone.

If the server has `DISABLE_MCP_OAUTH=1`, this flow is off. API keys still work. That is an operator flag, not a ChatGPT setting.

## What this page will not guess

ChatGPT's own screens move, and RingKit's notes do not name them. This article will not say "click the puzzle icon" or "open Explore GPTs." If you cannot paste a URL, use ChatGPT's current help for where a connector URL goes, and paste only the RingKit URL above.

The phone line's limits are the product's limits. The receptionist transfers to your team or takes a message. It does not book a calendar. The connector does not add that.

---

Try Ringkit: $0.20/min, $1.99/mo per number, no plan. Get started at https://app.ringkit.com/onboard
