# Has anyone integrated an external AI chatbot (OpenAI / custom LLM) with Wix Studio using Velo or HTTP functions?

**URL:** <https://forum.wixstudio.com/t/has-anyone-integrated-an-external-ai-chatbot-openai-custom-llm-with-wix-studio-using-velo-or-http-functions/78354>\
**Category:** Ask the community\
**Tags:** api, wix-studio, wix-blocks, question, code\
**Created:** [May 29, 2026, 9:57am UTC](https://forum.wixstudio.com/t/has-anyone-integrated-an-external-ai-chatbot-openai-custom-llm-with-wix-studio-using-velo-or-http-functions/78354 "2026-05-29T09:57:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jay\_Dhobi](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/jay_dhobi/32/101408_2.png) [@Jay\_Dhobi](https://forum.wixstudio.com/u/Jay_Dhobi)\
**Post date:** [May 29, 2026, 9:57am UTC](https://forum.wixstudio.com/t/has-anyone-integrated-an-external-ai-chatbot-openai-custom-llm-with-wix-studio-using-velo-or-http-functions/78354/1 "2026-05-29T09:57:09Z")

</div>

**Hey Wix Studio community,**

We’ve been working on a project where we need to connect an external AI chatbot (built on OpenAI’s API) into a Wix Studio site for a client. The goal is to have dynamic, context-aware responses embedded directly into the site — not just a third-party widget.

We’ve explored two approaches so far:

**Option A — Velo Backend HTTP Functions** Using a backend `.jsw` file to call the OpenAI API server-side, then returning the response to a frontend element. This keeps the API key hidden but we noticed some latency issues on first load.

**Option B — HTTP Request via Frontend Fetch** Calling a middleware endpoint we control externally, then piping response into a Wix input/text element. More flexible but feels less clean.

**Questions for the community:**

- Has anyone successfully built a real-time AI chat interface inside Wix Studio?

- What’s the cleanest way to handle streaming responses (so the text appears word by word like ChatGPT)?

- Any issues with Wix’s security policies blocking certain API headers?

- Did you use a proxy/middleware or call the LLM API directly from Velo backend?

Would really appreciate hearing how others have tackled this — especially for client-facing deployments where reliability matters.

Thanks in advance!
