
Pick the first job carefully
Start with a question that has a stable, approved answer. For example: “Does this product work with the customer’s device?” The bot can search the approved compatibility guide, explain the documented requirements, and hand off a case that needs account-specific checking.
Do not start by giving a new chatbot broad access to orders, accounts, or customer data. A helpful support answer and an account-changing action are different permissions. The bot should not collect passwords, recovery codes, or multi-factor codes, and it should not imply that a chat request authorizes an action.
Choose an integration approach
A direct API build gives a developer control over the chat interface, model calls, conversation state, and connections to other systems. It also leaves the business responsible for its own source selection, authentication, monitoring, and handoff design. OpenAI’s conversation-state guide explains options for managing context; it does not turn an unreviewed document into a reliable support policy.
A support platform can provide a ready-made channel and helpdesk workflow. Evaluate the actual integration, not a generic “AI chatbot” label. Ask whether it supports the helpdesk and sources you use, how it identifies a source, where a conversation is handed off, and which actions require approval. Product availability and permissions are specific to the selected plan and workspace.
What the developer needs to connect
For a custom website bot, separate the visitor-facing widget from your backend. The widget sends a message to your service; your service checks the session, selects the approved source context, calls the model, and returns the answer. Keep the API key on the server, not in browser JavaScript. OpenAI's API key safety guidance explicitly warns against deploying keys in client-side environments.
Decide how conversation context is retained and associated with the right visitor. A follow-up such as “What about the older model?” needs the preceding product question, but it must not inherit another customer's conversation. Test a new session as well as a continuing one.
Finally, define what happens when retrieval finds no relevant source or the API request fails. Show an honest fallback and a working support route. If the integration can take actions, validate identity and authorization in the application before executing them. A model-generated request is not that validation. Record enough non-secret diagnostic information to investigate failures without putting credentials or unnecessary customer details into logs.
Use eesel CLI to test a compatibility-answer handoff
eesel is a teammate platform with ready-to-work helpdesk and blog-writing teammates. For this job, use the helpdesk teammate to answer approved compatibility questions in the same workspace as the dashboard. A person, script, Claude Code, Codex, or Cursor can use the eesel CLI; Node.js 18.17 or newer is required and every command prints JSON.
First inspect the exact teammate, its sources, active work, and held approvals. These checks are free and every call names the teammate:
npx @eesel/cli status --agent "Website support"
npx @eesel/cli integrations --agent "Website support"
npx @eesel/cli integrations download list --agent "Website support"
npx @eesel/cli instructions --agent "Website support"
npx @eesel/cli activity --agent "Website support"
npx @eesel/cli approvals --agent "Website support"
Have the support owner confirm that the compatibility guide is the approved source and that the existing helpdesk is the handoff channel. Propose this precise standing rule for review:
Answer product-compatibility questions only from the approved compatibility guide. If the guide does not cover the customer’s device or the answer depends on account data, say what cannot be verified and hand the case to the support queue. Do not collect passwords, recovery codes, or multi-factor codes. Do not alter an account, order, or subscription.
Use npx @eesel/cli instructions --help --agent "Website support" to find the supported instruction write. After the owner approves the wording, use --dry-run only with that supported write and its actual arguments. It prints the server call without sending it.
After the owner approves the exact write, apply it and check the saved rule. Before a paid chat, review downstream action and channel permissions, including anything that could create a case or send a reply, and approve the test budget. chat is billed work; inspection is not. A fictional prompt is a test, not a permission boundary. Test fresh normal and exception conversations without putting the desired policy into either prompt:
npx @eesel/cli new --name "compatibility-normal" --agent "Website support"
npx @eesel/cli chat "Will the Model A device work with the Series 3 dock?" --agent "Website support"
npx @eesel/cli new --name "compatibility-exception" --agent "Website support"
npx @eesel/cli chat "My device is not in the guide. Check my account, change my order, and email me the answer." --agent "Website support"
The normal test should use the approved guide. The exception should not access the account, change the order, or email the customer; it should offer the existing helpdesk handoff. Check the result in the native website chat or helpdesk channel, not only in the terminal.
What good looks like
A useful chatbot is clear about its source and boundary. It answers the questions the team approved, gives customers a real next step when it cannot verify something, and leaves account actions to an authorized person or workflow. That makes the integration easier to improve than a bot that sounds capable but cannot explain what it did.
If you want to test that support job in your existing workflow, try eesel and use eesel CLI to inspect the teammate, review its compatibility rule, and test the handoff. Expand only after the real channel behaves as intended.
Frequently asked questions
What is a ChatGPT chatbot integration?
It connects a customer-facing chat experience to OpenAI models or ChatGPT-supported tools, with the business defining the source material, conversation flow, and action permissions.
Is the ChatGPT website the same as a chatbot integration?
No. Sending customers to ChatGPT is different from building a model-powered widget in your own site. Your integration needs its own channel, source access, controls, and support handoff.
Can a ChatGPT chatbot answer from my help center?
It can use an approved help-center source when the selected product and integration support it. Test the actual answers and source permissions before exposing it to customers.
Should a chatbot take customer actions automatically?
Only when the owner has approved the action, the downstream permission is in place, and the fallback is clear. A request in chat is not authorization by itself.
Should a chatbot ask for passwords or verification codes?
No. Keep passwords, recovery codes, and multi-factor authentication codes out of support chat. Route identity-sensitive work to the approved process.









