A complete guide to OpenAI's ChatKit external documents

Stevia Putri
Written by

Stevia Putri

Stanley Nicholas
Reviewed by

Stanley Nicholas

Last edited October 12, 2025

Expert Verified

We all want an AI chatbot that can answer questions using our own company-specific knowledge. Whether it's digging through help center articles, internal wikis, or messy product docs, the dream is to give people instant, accurate answers. OpenAI's ChatKit is a toolkit made for developers who want to build these kinds of smart chat experiences.

But what does it really take to get it up and running? This guide gives you an honest look at how the ChatKit External Documents feature works, from its developer-heavy setup and tricky pricing to some big limitations you should know about. We'll also check out a more business-friendly alternative for teams that need to go live in minutes, not months.

Understanding OpenAI's ChatKit and ChatKit External Documents

First off, OpenAI's ChatKit isn't a chatbot you can just switch on. Think of it as a box of parts for developers. It gives them the building blocks, like UI components, prompt templates, and file attachment features, to create a custom chat interface you can then pop into your website or app.

It’s important to see how it fits in with other OpenAI tools:

  • Agent Builder: This is the visual workspace where you map out the AI's backend logic and workflow. You can think of this as the "brain." ChatKit is the "face" that connects to a workflow you build here.

  • Agents SDK: For more complex or custom builds, developers can use this code-based framework to create the agent's backend from scratch. ChatKit can plug into these custom agents, too.

So, ChatKit is just one piece of the puzzle. It handles the user-facing chat window, but all the intelligence behind it has to be built and managed separately in Agent Builder or with the SDK.

Understanding the ChatKit External Documents feature

This is the key ingredient that lets your AI agent use your company’s own documents to come up with answers. Without it, your chatbot would only have the general knowledge of its base model, which isn’t much help when someone asks about your company's specific return policy.

There are two main ways to feed it information:

  • Chat context: You can give the AI a list of URLs to use as context for a conversation. The AI then uses semantic search to find and pull in only the most relevant bits from those documents to answer a question.

  • Message attachments: Your users can upload an entire file, like a PDF or a spreadsheet, to add it to the conversation.

According to OpenAI's documentation, ChatKit can handle a good variety of document types, including YouTube videos (for context), PDFs, Office files (.docx, .pptx), CSVs, JSON, and regular web pages.

How to set up and use ChatKit External Documents

Alright, here’s where things get technical. Setting up ChatKit isn't a simple toggle; it's a multi-step project that requires a developer. We won't walk through every line of code, but outlining the main stages shows you just how much engineering work is involved.

Step 1: Build the backend workflow

Before you even touch the chat UI, you have to build the agent's brain using Agent Builder. This is where you connect models, define what the agent should do, and configure its tools. To use external documents, you'd need to link your data sources or activate the file search tool within this workflow.

Right away, this requires an OpenAI Platform account with billing enabled, since you'll be paying for API usage from the moment you start building and testing.

Step 2: Add the ChatKit UI to your website

Once the backend logic is in place, you need to actually get the chat window onto your site. This involves work on both your server and your website's frontend.

  1. Server-side setup: First, you need a backend server running (using something like Python or Node.js). Its main job is to handle authentication by creating a "client secret" that lets your website talk to OpenAI's API securely.

  2. Frontend coding: On your website's code, you’ll install the ChatKit packages (like "@openai/chatkit-react" for React projects) and write the code to embed and display the chat widget.

  3. Connecting the two: The frontend code then talks to your server to get the client secret and uses the workflow ID from Agent Builder to link the chat UI to the AI logic you built in the first step.

This whole process is a constant back-and-forth between your own infrastructure and OpenAI's services, all of which needs to be coded, deployed, and looked after by your engineering team.

Step 3: Customize the chat experience with widgets

After the basic setup is working, the real work begins: making the chat experience genuinely useful. ChatKit provides a big library of widgets that developers can use to build interactive elements inside the chat window. This includes things like:

  • Cards: To show structured information.

  • Forms: To gather input from users.

  • Buttons: To let users trigger actions.

  • Charts: To visualize data.

Pro Tip
While ChatKit allows for deep UI customization, it all comes at the cost of development time. Every interactive element, every form, and every bit of logic has to be coded, tested, and managed by your team.

The real cost and limitations of ChatKit External Documents

This is where you need to pay close attention. While ChatKit is a flexible tool for developers, it comes with some serious costs and limitations that businesses need to understand before jumping in.

OpenAI ChatKit pricing explained

ChatKit itself doesn't have a subscription fee. Instead, you pay for the underlying OpenAI API usage, which can be complicated and hard to predict. The costs pop up from a few different places:

  • Model usage: You pay for every token (which are like tiny pieces of words) the model processes, for both the user's question and the AI's answer.

  • Tool usage: Using features like file search, which is necessary for the ChatKit External Documents function, has its own price tag. For example, the file search tool costs $2.50 per 1,000 queries, plus file storage fees.

  • Tool calls: Every time your agent has to perform an action or use a tool, you're paying for the tokens involved in that process.

Here’s a simple table to break it down:

ComponentPricing ModelCost
Model UsagePay-as-you-go per tokenVaries by model (e.g., GPT-5, GPT-4o)
File Search ToolPer query + storage$2.50 per 1,000 queries + file storage fees
Tool CallsPay-as-you-go per tool callBased on token usage

This pay-as-you-go model makes it incredibly difficult to guess what your monthly bill will look like, as it can swing wildly depending on how much it's used.

Key limitations to consider

Beyond the unpredictable pricing, there are a few other major hurdles to be aware of.

  • It’s a serious technical lift: Let's be blunt: ChatKit is a tool for developers, not a plug-and-play solution. It demands ongoing engineering resources to set up, customize, deploy, and maintain. If you don't have dedicated developers who can own this project, it’s probably not the right fit.

  • The experience is fragmented: The whole process feels disconnected. You build the logic in Agent Builder, code the UI with ChatKit, and use separate "Evals" tools for testing. There's no single, unified dashboard where a non-technical person can manage the end-to-end experience.

  • It’s generic, not purpose-built: ChatKit is a general framework for building any kind of chat experience. It's completely missing the specialized workflows, analytics, and features needed for specific jobs like customer support. You'll have to build everything yourself, like ticket triage, agent assistance, or integrations with helpdesks like Zendesk or Intercom.

  • Testing it safely is tough: While OpenAI has evaluation tools, they are complex and built for developers. There isn’t a simple, built-in way for a support manager to see how the agent would perform on thousands of real customer tickets before it goes live. This makes rolling it out a bit of a gamble.

  • Data privacy can be a concern: For many companies, sending sensitive internal documents and customer conversations to be processed on OpenAI's general infrastructure is a major compliance red flag. While there is an advanced, self-hosted option, it requires an even bigger engineering investment and a lot more expertise.

A simpler alternative to ChatKit External Documents: Unify your knowledge instantly with eesel AI

If ChatKit is a box of parts for developers, eesel AI is the fully assembled machine for businesses. It solves the exact same problem, powering AI with your internal knowledge, but without the technical headaches and scattered workflow.

Go live in minutes, not months

Forget the complicated developer setup. eesel AI has a radically simple, self-serve onboarding that anyone can use. You can connect your knowledge sources with one-click integrations for tools you already have, like Confluence, Google Docs, and your helpdesk. There’s no need to spin up a backend server or write a single line of code. Your knowledge is unified right from where it already lives.

eesel AI offers one-click integrations with tools like Confluence and Google Docs, simplifying the process of connecting knowledge sources.
eesel AI offers one-click integrations with tools like Confluence and Google Docs, simplifying the process of connecting knowledge sources.

Test with confidence and keep control

One of the biggest worries with a tool like ChatKit is launching an AI that gives wrong answers. eesel AI tackles this with a powerful simulation mode. You can safely test your AI agent on thousands of your past support tickets to get a real preview of its performance and resolution rate before a single customer ever talks to it.

You also get fine-grained control over what the AI does. With selective automation, you can easily decide which types of questions the AI should handle and which ones should go straight to a human agent.

The simulation mode in eesel AI allows businesses to test their AI agent's performance on past support tickets before going live.
The simulation mode in eesel AI allows businesses to test their AI agent's performance on past support tickets before going live.

A solution built for support and internal knowledge

Unlike ChatKit's generic framework, eesel AI is a complete solution with products designed for specific business needs.

On top of that, eesel AI's pricing is transparent and predictable. You pay a flat monthly fee based on your usage tier, so you won't get any confusing per-token or per-resolution fees that lead to surprise bills.

Is ChatKit External Documents the right tool for the job?

OpenAI's ChatKit is a powerful and flexible toolkit for development teams with the time, budget, and expertise to build a completely custom chat solution from the ground up. It gives you total control, but that control comes with a huge amount of complexity.

For most businesses, especially support, IT, and operations teams, a dedicated AI platform like eesel AI is a faster, safer, and more effective way to get to the same destination. It’s the difference between being handed a box of parts and being given the keys to a car. One requires you to build it yourself, while the other is ready to drive.

Ready to build an AI agent on your company's knowledge without writing a line of code? Start your free eesel AI trial today and see how easy it can be to automate support and empower your team.

Frequently asked questions

ChatKit External Documents refer to the feature that allows an OpenAI AI agent to access and use your company's proprietary information, like internal wikis or help articles. This enables the chatbot to provide answers based on your specific knowledge, rather than just its general training data.

ChatKit External Documents supports a variety of data types, including web pages, PDFs, Office files (.docx, .pptx), CSVs, JSON, and even YouTube videos (for context). You can either provide URLs as context or allow users to upload files directly.

Implementing ChatKit External Documents requires a significant technical lift. It involves building a backend workflow in Agent Builder, setting up a server-side component for authentication, and integrating ChatKit UI packages into your website's frontend, all of which demand dedicated engineering resources.

There isn't a direct subscription fee for ChatKit itself. Instead, you pay for the underlying OpenAI API usage, which includes costs for model token usage, file search tool queries and storage, and any tool calls made by the agent. This pay-as-you-go model can make monthly bills unpredictable.

Key limitations include the heavy technical development and maintenance required, a fragmented management experience, and its generic nature which means building specific business features (like customer support workflows) from scratch. Testing and ensuring data privacy can also be complex for businesses.

Using ChatKit External Documents typically involves sending internal documents and conversation data to OpenAI's infrastructure for processing, which can be a significant data privacy concern for many companies. While a self-hosted option exists, it demands even greater engineering investment and expertise to implement securely.

Share this post

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.