Connect

Connect ChatGPT

Add Filmo to ChatGPT as a custom MCP server. ChatGPT connects with OAuth only.

WhatWhat the vendor documents
PlanSet by OpenAI and it changes: see OpenAI's article on developer mode and MCP apps.
Who adds the connectorAccount and workspace policies of ChatGPT apply to adding a custom MCP server; OpenAI's article says who may enable developer mode.
Who connectsWhoever uses the connector authorizes it with OAuth; a Filmo administrator consents.
AdministrationWorkspace policies and, for Business and Enterprise, the roles in OpenAI's article.

verified on 2026-10-09: Connect from ChatGPT (OpenAI) · Authentication for apps (OpenAI)

Use exactly this URL

Type https://app.filmo.io/api/v1/mcp exactly. Do not use the Filmo domain of your company or any other host: the OAuth metadata names this origin, and a client that compares it with what you typed rejects a different one.

  1. Open the plugins page

    Open chatgpt.com/plugins, choose the plus button and Add custom MCP server.

  2. Enter the URL

    Use https://app.filmo.io/api/v1/mcp exactly (HTTPS, Streamable HTTP). Choose OAuth as the authentication, read the risk warning and continue.

  3. Create it and sign in

    Create it as a plugin, then sign in with Filmo's consent screen as an administrator. After a change to the server, open the connection and choose Refresh, then start a new conversation.

  • ChatGPT registers itself dynamically when the server offers it, or uses a client metadata document. It sends the PKCE S256 challenge and the resource parameter.
  • Its redirect URI is https://chatgpt.com/connector_platform_oauth_redirect or https://chatgpt.com/connector/oauth/{callback_id}: the host the consent screen shows is chatgpt.com.
  • It reads scope from the 401 challenge when present; otherwise it uses scopes_supported of the resource metadata.
  • Only the *:read scopes the client asked for are checked (every read scope when it asks for none).
  • Write scopes, workflows:run and ai:ask always start unchecked, even if the client asks for them; the ones it asked for carry the label “Requested by the integration”.
  • Check by hand only what the assistant needs, and leave ai:ask unchecked unless you want it to spend AI credits.

To change the scopes later, remove the connector and add it again.

Before you approve, read Authentication.

Connect with an API key

OpenAI's connector documentation describes OAuth only and says ChatGPT does not present customer-supplied API keys, so an API key does not work here: connect with OAuth.

WhatWhat the vendor documents
ToolsA limit on the number of tools: not documented by the vendor.
OutputA limit on the size of a tool output: not documented by the vendor.

CRM (read) (18): contacts:read, crm:read, quotes:read, projects:read, tags:read, notes:read, users:read, account:read. Check only read scopes in the consent screen first; add writes once you trust the answers.

Every preset and its size are in Limits and context.

Workspace admins control actions per app; OpenAI's article describes the action control. A per-tool approval setting for your own use is not documented.

The tools that must ask for approval are in Safe writes.

  • Whether ChatGPT lists the tools again after you consent, and how it treats insufficient_scope: not documented by the vendor.

Ask the assistant: “Which Filmo account am I connected to?” It should call filmo_account_get, a read tool that returns no personal data.

  • Introduction

    MCP quickstart

    Connect one assistant, check it with a read tool and choose the scopes it needs.

  • Access

    Authentication and permissions

    Authenticate with an API key in a header, or let the client sign in with OAuth 2.1. Either way the scopes decide which tools exist.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

Was this page helpful?