{"id":12552,"date":"2024-07-16T12:00:56","date_gmt":"2024-07-16T09:00:56","guid":{"rendered":"https:\/\/dhtmlx.com\/blog\/?p=12552"},"modified":"2026-01-30T12:07:44","modified_gmt":"2026-01-30T09:07:44","slug":"dhtmlx-chatbot-1-0","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/dhtmlx-chatbot-1-0\/","title":{"rendered":"DHTMLX Introduces ChatBot: a MIT-Licensed UI Component for Building AI Chat Apps"},"content":{"rendered":"<p>Empowering businesses to speed up product development and improve end-user experience has been core to DHTMLX&#8217;s mission of simplifying web app development for many years. The newly released DHTMLX <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxChatbot\/\" rel=\"noopener\" target=\"_blank\">ChatBot UI widget<\/a> empowers users to upgrade their projects with conversational AI interfaces regardless of technical expertise and budget.<\/p>\n<p>The DHTMLX ChatBot is a flexible JavaScript widget for creating agent-based support chats with minimum time and effort. It&#8217;s a configurable UI layer solution that supports any LLM system integration on the backend.<\/p>\n<p>Having integrated an LLM-powered chatbot created with DHTMLX, businesses can provide 24\/7 assistance, ensuring that end-user queries are addressed promptly and accurately. The AI chat&#8217;s intuitive interface and handy features make it a useful solution for enhancing user satisfaction and driving operational efficiency.<\/p>\n\n\t\t<div class='post-banner'>\n\t\t    <div class='post-banner__inside'>\n\t\t        <div>\n\t\t            <div class=\"post-banner__title\">Download DHTMLX ChatBot v1.0<\/div>\n\t\t            <div class=\"post-banner__text\">Save time while building conversational AI interfaces by using the ChatBot widget.<\/div>\n                <\/div>\n\t\t            \n                \n            <div class='post-banner__btn'>\n                <a href='https:\/\/dhtmlx.com\/docs\/products\/dhtmlxChatbot\/download.shtml' title='' class='button-secondary'>Download<\/a>\n            <\/div>\n        \n            <\/div>\n\t\t<\/div>\n\t\n<p>Key features of the DHTMLX Chatbot include multi-agent support, the option to load chat history, and markdown text formatting. The widget also supports responsive and read-only modes, along with different chat area render templates.<\/p>\n<p>In this blog post, we&#8217;ll share the details about our new product and show some of its examples. Let&#8217;s get started!<\/p>\n<h5>Defining DHTMLX ChatBot UI Widget<\/h5>\n<p>DHTMLX ChatBot is a JavaScript widget for creating intuitive conversational user interfaces. It was designed to help developers build a user-friendly UI chat for AI support agents with minimum time and cost effort.<\/p>\n<p>Our widget offers a client-side solution to process user messages and can be integrated seamlessly with any large language model (LLM) system. Therefore, you can connect DHTMLX ChatBot to the AI backend, including ChatGPT, Claude, Gemini, and more. You can find a tutorial on <a href=\"https:\/\/docs.dhtmlx.com\/chatbot\/guides\/openai\/\" rel=\"noopener\" target=\"_blank\">integrating the OpenAI API with DHTMLX ChatBot<\/a> in the documentation.<\/p>\n<p>To provide maximum flexibility, we decided to share  DHTMLX ChatBot under the MIT license. Simply put, you can download the ChatBot widget and use it free of charge without limitations. Please, get acquainted with the license terms <a href=\"https:\/\/opensource.org\/license\/mit\" rel=\"noopener\" target=\"_blank\">on the official website<\/a>.<\/p>\n<p>DHTMLX ChatBot widget can be integrated into your project via npm, CDN, or by downloading static files directly from our website. Read about the ChatBot widget installation and initialization <a href=\"https:\/\/docs.dhtmlx.com\/chatbot\/\" rel=\"noopener\" target=\"_blank\">in the documentation<\/a>.<\/p>\n<h5>Creating Single or Multiple Agent Chat<\/h5>\n<p>The UI chatbot for AI supports implementing a single-agent chat, as well as a chat with multiple agents.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/multiple-agents-ai-chat.png\" alt=\"multiple-agents-ai-chat\" width=\"1518\" height=\"668\" class=\"aligncenter size-full wp-image-12577\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/multiple-agents-ai-chat.png 1518w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/multiple-agents-ai-chat-300x132.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/multiple-agents-ai-chat-768x338.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/multiple-agents-ai-chat-1024x451.png 1024w\" sizes=\"auto, (max-width: 1518px) 100vw, 1518px\" \/> <a href=\"https:\/\/snippet.dhtmlx.com\/hsmy9hb3?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>If you&#8217;re aimed at loading the initial chat history from your backend, you can use the <strong>fetch<\/strong> function and initialize the ChatBot widget with the fetched messages as seen in the example below:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">let messages <span class=\"sy0\">=<\/span> <span class=\"br0\">&#91;<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co1\">\/\/ Load initial data<\/span><br \/>\nfetch<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;\/messages&quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; .<span class=\"me1\">then<\/span><span class=\"br0\">&#40;<\/span>response <span class=\"sy0\">=&gt;<\/span> response.<span class=\"me1\">json<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; .<span class=\"me1\">then<\/span><span class=\"br0\">&#40;<\/span>data <span class=\"sy0\">=&gt;<\/span> messages <span class=\"sy0\">=<\/span> data<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">const<\/span> chat <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> ChatBot<span class=\"br0\">&#40;<\/span>node<span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> messages <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Then you have to define the agent data and provide a list of agents for the chat via the <strong>agents<\/strong> property of the <strong>ChatBot<\/strong> configuration object. Each agent object should include an id, name, and avatar URL:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">const<\/span> agents <span class=\"sy0\">=<\/span> <span class=\"br0\">&#91;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#123;<\/span> id<span class=\"sy0\">:<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> name<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;Support Bot&quot;<\/span><span class=\"sy0\">,<\/span> avatar<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;https:\/\/some.com\/i.png&quot;<\/span> <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"kw1\">const<\/span> chat <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> ChatBot<span class=\"br0\">&#40;<\/span>node<span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> agents <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Besides, you should specify a <strong>response<\/strong> handler, which triggers when the agent receives a new message in the chat. The function returns either a response message directly or a promise that resolves to the response message. You can specify the text of the response message via the <strong>msg.content<\/strong> property:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">const<\/span> agent <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; id<span class=\"sy0\">:<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; name<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;AI Bot&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; response<span class=\"sy0\">:<\/span> <span class=\"br0\">&#40;<\/span>data<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">=&gt;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;Hello, how can I assist you today?&quot;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Responding to user messages can be done on the client or server side. Get more detailed information about implementing chatbot agents <a href=\"https:\/\/docs.dhtmlx.com\/chatbot\/#writing-agent\" rel=\"noopener\" target=\"_blank\">in the documentation<\/a>.<\/p>\n<h5>Markdown Text Format Support<\/h5>\n<p>You can use markdown formatting and configure the ChatBot widget to display headers, links, or bold and italic text. You should set the <strong>format<\/strong> property to <strong>&#8220;markdown&#8221;<\/strong> during initialization:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">const<\/span> chat <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> ChatBot<span class=\"br0\">&#40;<\/span>node<span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> format<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;markdown&quot;<\/span> <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-markdown.png\" alt=\"chatbot-markdown\" width=\"1202\" height=\"458\" class=\"aligncenter size-full wp-image-12594\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-markdown.png 1202w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-markdown-300x114.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-markdown-768x293.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-markdown-1024x390.png 1024w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/in5qffms?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>To use the plain text format and display all messages sent and received without any special formatting, you have to initialize the widget with the <strong>format<\/strong> property set to <strong>&#8220;text&#8221;<\/strong>:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">const<\/span> chat <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> ChatBot<span class=\"br0\">&#40;<\/span>node<span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> format<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;text&quot;<\/span> <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<h5>Responsive and Readonly Modes<\/h5>\n<p>The <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxChatbot\/\" rel=\"noopener\" target=\"_blank\">JavaScript AI chatbot widget<\/a> allows holding a conversation in a narrow mode. It maintains the core functionality and ensures that the chat UI remains usable and visually appealing across various screen sizes, including mobile devices or smaller browser windows.<\/p>\n<p>Responsive mode works both with single and multiple agent chats. End-users can create a new chat, select an agent to communicate, review chat history, etc.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-narrow-mode.png\" alt=\"chatbot-narrow-mode\" width=\"1524\" height=\"750\" class=\"aligncenter size-full wp-image-12592\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-narrow-mode.png 1524w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-narrow-mode-300x148.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-narrow-mode-768x378.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chatbot-narrow-mode-1024x504.png 1024w\" sizes=\"auto, (max-width: 1524px) 100vw, 1524px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/9qxqvpx4?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>Moreover, you can set a <a href=\"https:\/\/snippet.dhtmlx.com\/xty2l6ox?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">read-only mode<\/a> thus ensuring the ChatBot widget&#8217;s content can be viewed but not modified by the end-user.<\/p>\n<h5>Configurable AI Chatbot Widget Structure<\/h5>\n<h6>Modifiable Sidebar and Chat Window Elements<\/h6>\n<p>The DHTMLX UI chat for AI component is made up of the Sidebar and Chat Window key sections.<\/p>\n<p>The Sidebar is located on the left side and includes such elements as a New Chat button to initiate a new chat session, a chat list to display a chat history list, and a Delete button to remove the specific session.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-sidebar-1.png\" alt=\"ai-chat-ui-sidebar\" width=\"1523\" height=\"846\" class=\"aligncenter size-full wp-image-12576\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-sidebar-1.png 1523w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-sidebar-1-300x167.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-sidebar-1-768x427.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-sidebar-1-1024x569.png 1024w\" sizes=\"auto, (max-width: 1523px) 100vw, 1523px\" \/><\/p>\n<p>You can hide the Sidebar by setting the <strong>sidebar<\/strong> property in the <strong>ChatBot<\/strong> configuration object. It\u2019s displayed by default and set to <strong>true<\/strong>:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">const<\/span> chat <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> ChatBot<span class=\"br0\">&#40;<\/span>node<span class=\"sy0\">,<\/span> <span class=\"br0\">&#123;<\/span> sidebar<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span> <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>The Chat Window covers the right part of the DHTMLX ChatBot widget. It displays the conversation history, which is grouped by the date of the last message in each chat, and the textarea control. The control is attached to the bottom of the chat and allows end-users to type and send their messages.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-chat-window-1.png\" alt=\"ai-chat-ui-chat-window\" width=\"1524\" height=\"847\" class=\"aligncenter size-full wp-image-12570\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-chat-window-1.png 1524w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-chat-window-1-300x167.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-chat-window-1-768x427.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/ai-chat-ui-chat-window-1-1024x569.png 1024w\" sizes=\"auto, (max-width: 1524px) 100vw, 1524px\" \/><\/p>\n<h6>Different Render Modes for Chat Area<\/h6>\n<p>The ChatBot widget offers multiple render modes to customize the appearance of the chat area. These render modes determine the way messages are presented within the chat interface.<\/p>\n<p>You can set one of the following render modes:<\/p>\n<ul>\n<li>the <a href=\"https:\/\/snippet.dhtmlx.com\/70qd6hhp?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">&#8220;blocks&#8221; template<\/a> arranging messages in distinct block-like elements,<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-blocks-template.png\" alt=\"chat-ui-blocks-template\" width=\"1202\" height=\"214\" class=\"aligncenter size-full wp-image-12585\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-blocks-template.png 1202w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-blocks-template-300x53.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-blocks-template-768x137.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-blocks-template-1024x182.png 1024w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><\/p>\n<ul>\n<li>the <a href=\"https:\/\/snippet.dhtmlx.com\/9ee44avx?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">&#8220;bubbles&#8221; template<\/a> displaying messages inside bubble-shaped containers,<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-bubbles-template.png\" alt=\"chat-ui-bubbles-template\" width=\"1202\" height=\"270\" class=\"aligncenter size-full wp-image-12586\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-bubbles-template.png 1202w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-bubbles-template-300x67.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-bubbles-template-768x173.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-bubbles-template-1024x230.png 1024w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><\/p>\n<ul>\n<li>the <a href=\"https:\/\/snippet.dhtmlx.com\/y5c1gxqf?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">&#8220;cards&#8221; template<\/a> displaying messages inside card-like containers,<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-cards-template.png\" alt=\"chat-ui-cards-template\" width=\"1202\" height=\"276\" class=\"aligncenter size-full wp-image-12584\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-cards-template.png 1202w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-cards-template-300x69.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-cards-template-768x176.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-cards-template-1024x235.png 1024w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><\/p>\n<ul>\n<li>and the <a href=\"https:\/\/snippet.dhtmlx.com\/lkdgh3ut?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">&#8220;flow&#8221; template<\/a> arranging messages in a continuous flowing manner.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-flow-template.png\" alt=\"chat-ui-flow-template\" width=\"1202\" height=\"208\" class=\"aligncenter size-full wp-image-12587\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-flow-template.png 1202w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-flow-template-300x52.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-flow-template-768x133.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/07\/chat-ui-flow-template-1024x177.png 1024w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><\/p>\n<p>Check the <a href=\"https:\/\/docs.dhtmlx.com\/chatbot\/guides\/styling\/\" rel=\"noopener\" target=\"_blank\">ChatBot documentation<\/a> to get more about the widget&#8217;s UI configuration.<\/p>\n<p>We&#8217;re excited about the DHTMLX ChatBot potential and hope it&#8217;s going to empower developers to build intuitive AI chatbot interfaces faster and with minimum effort. We look forward to hearing about how your team successfully uses DHTMLX ChatBot.<\/p>\n<p>You can use the <a href=\"https:\/\/forum.dhtmlx.com\/c\/chatbot\/\" rel=\"noopener\" target=\"_blank\">official ChatBot forum<\/a> to get help from other developers or discuss the further widget&#8217;s development. Our tech team keeps track of discussions and answers frequently raised questions.<\/p>\n<p>You can <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxChatbot\/download.shtml\" rel=\"noopener\" target=\"_blank\">download the MIT-Licensed ChatBot<\/a> on the widget&#8217;s page.<\/p>\n<h5>Related Materials<\/h5>\n<ul>\n<li><a href=\"https:\/\/snippet.dhtmlx.com\/hsmy9hb3?tag=chatbot&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">DHTMLX ChatBot online samples<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/chatbot\/category\/chatbot-guides\/\" rel=\"noopener\" target=\"_blank\">DHTMLX ChatBot documentation<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/chatbot\/guides\/openai\/\" rel=\"noopener\" target=\"_blank\">Guide on integrating the OpenAI API with DHTMLX ChatBot<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxChatbot\/download.shtml\" rel=\"noopener\" target=\"_blank\">ChatBot page to download static files<\/a><\/li>\n<li><a href=\"https:\/\/forum.dhtmlx.com\/c\/chatbot\/\" rel=\"noopener\" target=\"_blank\">Official ChatBot forum thread<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Empowering businesses to speed up product development and improve end-user experience has been core to DHTMLX&#8217;s mission of simplifying web app development for many years. The newly released DHTMLX &#8230;<\/p>\n","protected":false},"author":101013,"featured_media":12568,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[77,33,76],"class_list":["post-12552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-releases","tag-ai","tag-all-posts","tag-chatbot"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/12552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/users\/101013"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=12552"}],"version-history":[{"count":20,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/12552\/revisions"}],"predecessor-version":[{"id":12881,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/12552\/revisions\/12881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/12568"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=12552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=12552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=12552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}