Connecting ChatGPT to Kaivo
Instructions on how to connect ChatGPT to Kaivo.
Written By Lauri Raivio
Last updated About 2 hours ago
Connect ChatGPT to your Kaivo data warehouse and ask about your business in plain language. You don't need to know your schema or write SQL. ChatGPT finds the right tables itself.
What you need in ChatGPT
Kaivo connects to ChatGPT as a custom MCP plugin. ChatGPT calls these plugins, though you may still see them referred to as connectors in places.
Adding one requires a Business, Enterprise or Edu plan, and an owner has to switch on developer mode for the workspace first. Custom plugins aren't available on the free plan. You add and manage plugins in ChatGPT on the web.
Step 1: enable developer mode
An owner does this once for the whole workspace.
Go to Settings β Security and login.
Enable developer mode.
ChatGPT shows this warning:
Developer mode. Elevated risk.
Allows you to add unverified connectors that could modify or erase data permanently. Use at your own risk.
The warning is about custom plugins in general, not about Kaivo specifically. It appears because you're adding a server by URL rather than picking one OpenAI has reviewed. We're applying for a listing in OpenAI's plugin directory, which will remove this step in the future.
Enabling developer mode does not affect the built-in apps your workspace already uses.
Step 2: add the Kaivo plugin
Go to Plugins and click the + icon.
Fill in the form:
Name
KaivoDescription
Query the company data warehouse. Ask about sales, customers, marketing and operations in plain language.Server URL
https://mcp.kaivo.io/mcpAuthentication: choose OAuth.
ChatGPT asks you to confirm:
Custom MCP servers introduce risk.
OpenAI hasn't reviewed this MCP server. Attackers may attempt to steal your data or trick the model into taking unintended actions, including destroying data.
Click I understand and want to continue.
Sign in with your Kaivo account and choose which workspace ChatGPT may read.
Making it available to your workspace
Adding the plugin connects it for you. To let colleagues use it, an owner publishes it, which puts it in the workspace's approved list so members can enable it from the plugins menu in a chat. Each of them signs in to Kaivo with their own account the first time they use it.
Go to Settings β Plugins β Kaivo, open the ... menu in the top right corner, and choose Publish.
Before it publishes, ChatGPT asks you to review two risks, both headed Not reviewed: one about unauthorized data access through prompt injection, and one about the app being malicious. Both are standard for any plugin OpenAI hasn't reviewed, and each asks you to confirm something. Here are the answers for Kaivo.
"Configure access to minimize how many people have access." Kaivo grants access to a person rather than to an app. Whoever signs in is the account the queries run under, and they pick a single workspace, so nothing is reachable that they couldn't already open in Kaivo. You can see every connection and withdraw any of them on the Members & access page in Kaivo.
"Review the parameters being sent as input to each action." The actions take a dataset name, a table name, a search word, or a SQL query. None of them take credentials, personal data, or a workspace identifier. Which warehouse a query runs against comes from who signed in, never from a value the model fills in, so a prompt injection can change what gets asked but not whose data is asked for.
Then tick I trust this app and I have reviewed the parameters being sent as input, and publish.
You can unpublish or remove it at any time.
Everyone connects with their own account
Once published, the plugin appears for everyone in the workspace, but it doesn't carry the publisher's access with it. Each person enables it themselves and signs in to Kaivo with their own account, choosing which workspace ChatGPT may read for them.
Your name is what appears against your connection on the Members & access page in Kaivo, and each person's access can be withdrawn on its own. Disconnecting one person doesn't affect anyone else.
Try it
"What data do we have available?"
"How did sales develop over the last six months?"
"Which customers haven't ordered since spring?"
"Compare campaign spend to revenue by channel last quarter."
"Where does the customer email address live in our warehouse?"
You don't need to name datasets or tables. ChatGPT searches your warehouse to find where the answer lives.
What ChatGPT can and can't do
ChatGPT can browse your datasets and tables, read their schemas and column descriptions, and run queries against your data. ChatGPT cannot change or delete your existing data, and it cannot reach anything outside the workspace you chose. Internal staging tables used by our data pipelines are hidden.
Each query scans at most 1 GB and returns at most 1000 rows. If a result is cut short, ChatGPT will tell you. Narrow the question, or ask for a summary instead of raw rows.
It can also save a result as a new table in a scratch dataset called kaivo_ai_outputs, so a BI tool or another pipeline can pick it up later. A saved table holds whatever ChatGPT wrote into it, which isn't always the result of a live query. If something downstream is going to read from kaivo_ai_outputs, check the numbers first.
What ChatGPT can see and where your data goes
ChatGPT sees exactly what you see. When you connect, you pick one Kaivo workspace, and ChatGPT can read the datasets in it: the same ones you can already open in Kaivo. It can't reach a workspace you don't have access to, and the internal tables our pipelines use stay hidden. Because access follows your sign-in, even a session that has been fed misleading instructions can only reach what you can reach.
ChatGPT queries your warehouse directly. Kaivo already keeps your data in the warehouse we build and maintain for you. Connecting ChatGPT doesn't add a second copy of it: nothing is exported, indexed, or moved anywhere else to make this work. Queries run in the EU against your live data, and there are no keys for you to look after.
What comes back is the result of your question. ChatGPT writes a query, we run it, and the results go back to ChatGPT, which means they reach OpenAI's servers rather than your own computer. If you ask for a list of customers, that list is what gets sent. Each query returns at most 1000 rows, so it is never a full copy of a table.
You choose the AI tool, so your own agreement with OpenAI is the one that applies. Kaivo never brings in an AI of its own. Whatever your agreement with OpenAI says about training and retention covers the results ChatGPT receives.
Every question leaves an audit trail: who asked, what was queried, and how much data it scanned.
Disconnecting
To withdraw ChatGPT's access to your data, go to Members & access in Kaivo and click Disconnect next to it. Access ends within a few minutes, and disconnecting one tool doesn't affect any others.
Removing the plugin inside ChatGPT stops ChatGPT from using it. The Members & access page in Kaivo is where you can check that access has actually ended.
Troubleshooting
There's no + icon under Plugins. Developer mode isn't on, or you're not an owner. An owner enables it in Settings β Security and login.
ChatGPT can't reach the server. Check the address is exactly https://mcp.kaivo.io/mcp, with no trailing slash or spaces.
Sign-in works but ChatGPT can't see any data. On a new connection this is usually access still finishing setting up behind the scenes, which takes a few minutes. Wait a moment and ask again. If it's still happening after that, disconnect Kaivo on the Members & access page and connect again. Email us if the problem persists.
The query was too large. It would have scanned more than 1 GB. Add a date filter, or ask for a summary rather than every row.
ChatGPT says a result was truncated. More than 1000 rows matched. Ask for totals, averages or a top 10 instead.
Still stuck? Email support@kaivo.io.