{"id":354741,"date":"2026-09-10T13:20:19","date_gmt":"2026-09-10T13:20:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-booking-agent\/"},"modified":"2026-09-10T13:19:56","modified_gmt":"2026-09-10T13:19:56","slug":"tuki-ai-booking-agent","status":"publish","type":"plugin","link":"https:\/\/pl.wordpress.org\/plugins\/tuki-ai-booking-agent\/","author":15242954,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Tuki AI Booking Agent","header_author":"Ashikur Rahman","header_description":"AI-powered sales and booking chat agent for courses and services \u2014 answers visitor questions from your knowledge base and guides them to booking\/checkout.","assets_banners_color":"c4f1e3","last_updated":"2026-09-10 13:19:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/ashik.me","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"ashikcse","date":"2026-09-10 13:19:56","revision":3689960}},"upgrade_notice":{"1.1.0":"<p>Important fix: saving Courses, Services, FAQs and Knowledge Base entries silently failed and now works. Also adds Anthropic and any OpenAI-compatible provider, a Design tab for colors and widget positioning, and much more natural answers in the free no-API mode.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3689960,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3689960,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3689960,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3689960,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3689960,"resolution":"1","location":"assets","locale":"","width":2500,"height":1500},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3689960,"resolution":"2","location":"assets","locale":"","width":2500,"height":1500},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3689960,"resolution":"3","location":"assets","locale":"","width":2500,"height":1500},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3689960,"resolution":"4","location":"assets","locale":"","width":2500,"height":1500}},"screenshots":{"1":"Chat widget open on the front end, showing a showcase card reply.","2":"Settings \u2014 General tab, with business info and welcome message.","3":"Settings \u2014 AI Provider tab, with step-by-step setup for each provider.","4":"Settings \u2014 Design tab, with colors and pixel-precise widget positioning."}},"plugin_section":[],"plugin_tags":[191735,269,2364,337,286],"plugin_category":[40,45],"plugin_contributors":[129093,227713],"plugin_business_model":[],"class_list":["post-354741","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-chatbot","plugin_tags-booking","plugin_tags-chatbot","plugin_tags-lead-generation","plugin_tags-woocommerce","plugin_category-calendar-and-events","plugin_category-ecommerce","plugin_contributors-ashikcse","plugin_contributors-coderitsolution","plugin_committers-ashikcse"],"banners":{"banner":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/banner-772x250.jpg?rev=3689960","banner_2x":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/banner-1544x500.jpg?rev=3689960","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/icon-128x128.png?rev=3689960","icon_2x":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/icon-256x256.png?rev=3689960","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/screenshot-1.png?rev=3689960","caption":"Chat widget open on the front end, showing a showcase card reply."},{"src":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/screenshot-2.png?rev=3689960","caption":"Settings \u2014 General tab, with business info and welcome message."},{"src":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/screenshot-3.png?rev=3689960","caption":"Settings \u2014 AI Provider tab, with step-by-step setup for each provider."},{"src":"https:\/\/ps.w.org\/tuki-ai-booking-agent\/assets\/screenshot-4.png?rev=3689960","caption":"Settings \u2014 Design tab, with colors and pixel-precise widget positioning."}],"raw_content":"<!--section=description-->\n<p>Tuki AI Booking Agent adds a chat widget to your WordPress site that answers visitor questions about your courses, services, and pricing \u2014 then hands them a Book Now button instead of leaving them stuck on a contact form.<\/p>\n\n<p>Unlike most AI chatbot plugins, it does <strong>not require an AI subscription<\/strong>. A free rule-based mode answers from your own knowledge base at zero cost. If you want real AI conversations, connect your own OpenAI, Google Gemini, Anthropic (Claude), or any other OpenAI-compatible provider's API key \u2014 there is no markup, no per-message fee, and no data passes through any server owned by us.<\/p>\n\n<p><strong>Built for selling, not just chatting<\/strong><\/p>\n\n<p>Most chatbot plugins are generic FAQ bots. Tuki AI Booking Agent has a real data model for what you sell \u2014 course\/service title, price, discount price, duration, and a booking link \u2014 so answers come back structured, accurate, and ready to convert, with clickable showcase cards when a visitor asks to see everything you offer.<\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Chat Widget<\/strong>\n* Floating chat button with your business name, tagline, and optional custom avatar image\n* Markdown-formatted replies \u2014 bold text and bullet lists render properly, not as raw asterisks\n* Showcase cards for multi-item answers (e.g. \"what courses do you offer?\") \u2014 title, price, duration, and a Book Now button per item\n* Conversation history survives page reloads and navigating between pages\n* Built-in lead capture form (name, email, phone) inside the widget\n* Fully responsive, works on mobile<\/p>\n\n<p><strong>Design \u2014 make it fit your site<\/strong>\n* Pick your own colors with a color picker \u2014 the chat button, header, and message bubbles all follow them\n* Place the button in the bottom-right or bottom-left corner\n* Set its exact distance from the bottom and side in pixels, so it never sits on top of a WhatsApp button, cookie notice, or back-to-top arrow\n* Adjust its layer (z-index) if another element covers it, or it covers something of yours<\/p>\n\n<p><strong>Knowledge Base<\/strong>\n* Courses \u2014 price, discount price, duration, level, modules, requirements, outcomes, instructor, seats, booking\/payment links\n* Services \u2014 price, features, delivery time, booking link\n* FAQs with categories\n* General Knowledge Base entries for policies, company info, anything else visitors ask about\n* Optional: let the AI also answer from your existing published Pages, Posts, and WooCommerce Products \u2014 nothing private is ever used (see External Services below)<\/p>\n\n<p><strong>AI Providers \u2014 your choice, your key<\/strong>\n* OpenAI (any model you choose)\n* Google Gemini (any model you choose)\n* Anthropic (Claude \u2014 any model you choose)\n* Custom \/ Other \u2014 any OpenAI-compatible endpoint (OpenRouter, DeepSeek, Mistral, Groq, Together AI, Fireworks, Azure OpenAI, local Ollama\/LM Studio, and more)\n* Free \"No AI\" rule-based mode \u2014 answers straight from your knowledge base, zero API cost, unlimited use\n* Step-by-step setup instructions and a direct \"get your API key\" link for every provider\n* Adjustable temperature and max response length\n* Custom instructions field to steer tone\/language<\/p>\n\n<p><strong>The free mode is a real assistant, not a placeholder<\/strong><\/p>\n\n<p>With no API key connected at all, the agent still:<\/p>\n\n<ul>\n<li>Understands what you're asking \u2014 price, discount, duration, how to book, or general details \u2014 and answers that specific thing in a proper sentence<\/li>\n<li>Handles everyday chat: greetings, thanks, goodbyes, \"ok\", \"are you a bot?\", \"can you help me\"<\/li>\n<li>Copes with typos and shortenings \u2014 \"raect course\", \"pyton\", \"masterclas\", \"nextjs\" all find the right item<\/li>\n<li>Lists your full catalog for \"what do you offer\", \"show me everything\", or \"all courses\"<\/li>\n<li>Says honestly when it doesn't know, then shows what it <em>can<\/em> help with instead of dead-ending<\/li>\n<li>Never invents a price, date, or detail that isn't in your knowledge base<\/li>\n<\/ul>\n\n<p><strong>Leads &amp; Conversations<\/strong>\n* Every captured lead saved with the conversation that generated it\n* Full conversation transcripts viewable in wp-admin, with pagination\n* Configurable fallback message (e.g. \"message us on WhatsApp\") shown whenever the AI has no answer or a provider error occurs \u2014 visitors never see a raw error message<\/p>\n\n<p><strong>Admin<\/strong>\n* Settings organised into three tabs \u2014 General, AI Provider, and Design\n* Only the settings that apply are shown: connect no AI and the AI-only options step out of the way\n* Dashboard with conversation\/lead counts\n* No attribution shown on your site by default \u2014 an optional, off-by-default setting lets you choose to show a small \"Powered by\" credit in the widget footer if you want to<\/p>\n\n<h4>Works With<\/h4>\n\n<ul>\n<li>Any WordPress theme<\/li>\n<li>WooCommerce (optional \u2014 for product-aware answers)<\/li>\n<li>OpenAI API<\/li>\n<li>Google Gemini API<\/li>\n<li>Anthropic (Claude) API<\/li>\n<li>Any OpenAI-compatible API (OpenRouter, DeepSeek, Mistral, Groq, Together AI, Fireworks, Azure OpenAI, local Ollama\/LM Studio, etc.)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin can optionally connect to third-party AI providers to generate chat replies. None of the services below is contacted unless you explicitly select it as your AI Provider and enter your own API key in Settings \u2014 the default \"No AI\" mode never sends any data to a third party.<\/p>\n\n<p><strong>Service: OpenAI<\/strong> (api.openai.com)\nWhen called: every time a visitor sends a chat message, only if OpenAI is selected as the AI Provider.\nWhat is sent: the visitor's message, matching knowledge-base content (course\/service\/FAQ\/page text relevant to the question), and recent conversation history.\nWhy: to generate the AI's reply.\nTerms of use: https:\/\/openai.com\/policies\/row-terms-of-use\/\nPrivacy policy: https:\/\/openai.com\/privacy\/<\/p>\n\n<p><strong>Service: Google Gemini<\/strong> (generativelanguage.googleapis.com)\nWhen called: every time a visitor sends a chat message, only if Gemini is selected as the AI Provider.\nWhat is sent: the same as above.\nWhy: to generate the AI's reply.\nTerms of use: https:\/\/ai.google.dev\/gemini-api\/terms\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Service: Anthropic (Claude)<\/strong> (api.anthropic.com)\nWhen called: every time a visitor sends a chat message, only if Anthropic is selected as the AI Provider.\nWhat is sent: the same as above.\nWhy: to generate the AI's reply.\nTerms of use: https:\/\/www.anthropic.com\/legal\/consumer-terms\nPrivacy policy: https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<p><strong>Service: Custom \/ Other provider<\/strong> (address you configure yourself)\nWhen called: every time a visitor sends a chat message, only if you select \"Custom \/ Other\" and enter an endpoint URL as the AI Provider.\nWhat is sent: the same as above, to whichever endpoint URL you configure.\nWhy: to generate the AI's reply, using a provider not otherwise listed by name.\nTerms\/privacy policy: determined by whichever service you configure \u2014 since you choose the endpoint, review that provider's own terms and privacy policy directly.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Log in to your WordPress admin.<\/li>\n<li>Go to Plugins &gt; Add New.<\/li>\n<li>Search for \"Tuki AI Booking Agent\".<\/li>\n<li>Click Install Now, then Activate.<\/li>\n<li>Go to Tuki AI Booking Agent &gt; Courses \/ Services \/ FAQs \/ Knowledge Base and add what you sell.<\/li>\n<li>Go to Tuki AI Booking Agent &gt; Settings &gt; General and set your business name and welcome message.<\/li>\n<li>Optional \u2014 Settings &gt; Design: set your colors and move the chat button to whichever corner suits your theme.<\/li>\n<li>Optional \u2014 Settings &gt; AI Provider: connect your own API key if you want free-form AI replies. You can skip this entirely; the free mode works straight away.<\/li>\n<li>Visit your site \u2014 the chat widget appears automatically.<\/li>\n<\/ol>\n\n<p><strong>Manual installation:<\/strong>\n1. Download the plugin ZIP from WordPress.org.\n2. Go to Plugins &gt; Add New &gt; Upload Plugin.\n3. Upload the ZIP and activate.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%20to%20use%20this%20plugin%3F\"><h3>Do I need an API key to use this plugin?<\/h3><\/dt>\n<dd><p>No. The free \"No AI\" rule-based mode answers visitor questions directly from your Courses\/Services\/FAQs\/Knowledge Base with no API key and no ongoing cost. Connecting OpenAI, Gemini, Anthropic, or any other OpenAI-compatible provider is optional, for more natural conversational replies.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20charge%20for%20ai%20usage%2C%20or%20add%20a%20markup%20on%20top%20of%20the%20ai%20provider%3F\"><h3>Does this plugin charge for AI usage, or add a markup on top of the AI provider?<\/h3><\/dt>\n<dd><p>No. If you connect an AI provider, you use your own API key and are billed directly by that provider at their standard rates. This plugin adds no markup and no subscription fee.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20the%20ai%20provider%3F\"><h3>What data is sent to the AI provider?<\/h3><\/dt>\n<dd><p>Only when you've connected one: the visitor's chat message, the matching knowledge-base content needed to answer it, and recent conversation history \u2014 sent so the AI can generate a reply. See \"External Services\" below for full detail.<\/p><\/dd>\n<dt id=\"what%20is%20the%20%22custom%20%2F%20other%22%20provider%20option%3F\"><h3>What is the \"Custom \/ Other\" provider option?<\/h3><\/dt>\n<dd><p>It lets you connect any AI service that exposes an OpenAI-compatible Chat Completions endpoint \u2014 useful for providers not listed by name (OpenRouter, DeepSeek, Mistral, Groq, Together AI, Fireworks, Azure OpenAI, or even a local model via Ollama\/LM Studio). You supply the endpoint URL, and optionally an API key and model name, in Settings. Because you choose the endpoint yourself, you are responsible for that provider's own data handling and terms.<\/p><\/dd>\n<dt id=\"can%20the%20ai%20answer%20from%20my%20existing%20pages%2C%20posts%2C%20or%20woocommerce%20products%3F\"><h3>Can the AI answer from my existing Pages, Posts, or WooCommerce Products?<\/h3><\/dt>\n<dd><p>Yes, optionally. Go to Settings &gt; General &gt; Content Sources and choose which public content types to include. Only published, publicly visible content is ever used \u2014 never drafts, private, or password-protected content, and never custom fields\/order data.<\/p><\/dd>\n<dt id=\"the%20chat%20button%20overlaps%20another%20button%20on%20my%20site.%20can%20i%20move%20it%3F\"><h3>The chat button overlaps another button on my site. Can I move it?<\/h3><\/dt>\n<dd><p>Yes. Go to Settings &gt; Design. You can put it in the bottom-left or bottom-right corner, set its exact distance from the bottom and the side in pixels, and change its layer (z-index) if something is covering it \u2014 or if it is covering something of yours.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20widget%27s%20colors%3F\"><h3>Can I change the widget's colors?<\/h3><\/dt>\n<dd><p>Yes, in Settings &gt; Design. Choose a main color and a gradient end color; the chat button, header, and message bubbles all follow them. Set both to the same value if you prefer a flat, single-color look.<\/p><\/dd>\n<dt id=\"how%20good%20are%20the%20answers%20without%20an%20ai%20key%3F\"><h3>How good are the answers without an AI key?<\/h3><\/dt>\n<dd><p>Good enough for the questions that lead to bookings. The free mode recognises what you're asking \u2014 price, discount, duration, how to book, or general details \u2014 and replies in full sentences with a booking link, copes with typos, lists your catalog on request, and answers your FAQs. It only knows what you have entered into Courses, Services, FAQs, and Knowledge Base, and it will never invent an answer. The more FAQ entries you add, the more it can answer.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20woocommerce%3F\"><h3>Does it work without WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Courses and Services are a built-in data model that doesn't require WooCommerce. WooCommerce is only used if you optionally enable Products as a content source.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20ai%20can%27t%20answer%2C%20or%20the%20ai%20provider%20fails%3F\"><h3>What happens if the AI can't answer, or the AI provider fails?<\/h3><\/dt>\n<dd><p>The visitor sees your configured fallback message (Settings &gt; General &gt; Fallback Message) instead of a raw error \u2014 by default this suggests contacting you directly. The site admin also gets a one-time email alert and a dashboard notice when a provider call fails, so failures don't go unnoticed.<\/p><\/dd>\n<dt id=\"are%20there%20paid%20upgrades%3F\"><h3>Are there paid upgrades?<\/h3><\/dt>\n<dd><p>Not yet \u2014 every feature described here is fully included at no cost. Additional features (multi-channel support, marketing integrations, advanced analytics) are on the roadmap for a future version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li><strong>Important fix:<\/strong> adding, editing and deleting Courses, Services, FAQs and Knowledge Base entries did nothing \u2014 the form submitted to a handler that was not listening, so entries were silently discarded. All of these now save correctly.<\/li>\n<li>Courses, Services, FAQs and Knowledge Base lists now have pagination and a search box.<\/li>\n<li>Added Anthropic (Claude) as a built-in AI Provider option.<\/li>\n<li>Added a \"Custom \/ Other\" AI Provider option supporting any OpenAI-compatible endpoint (OpenRouter, DeepSeek, Mistral, Groq, Together AI, Fireworks, Azure OpenAI, local Ollama\/LM Studio, and more).<\/li>\n<li>Much more natural replies in the free \"No AI\" mode: the agent now works out what was actually asked \u2014 price, discount, duration, how to book, or general details \u2014 and answers in full sentences with a clear next step, instead of printing a data block.<\/li>\n<li>Free mode also handles everyday chat: greetings, thanks, goodbyes, \"ok\", \"are you a bot?\", and \"can you help me\" all get sensible replies.<\/li>\n<li>When the agent doesn't know something, it now says so and lists what it <em>can<\/em> help with, instead of leaving the visitor at a dead end.<\/li>\n<li>Broader keyword and synonym matching, so common phrasings (\"how much\", \"fee\", \"how long\") are recognized without connecting an AI provider.<\/li>\n<li>Free mode now understands typos and shortenings \u2014 \"raect course\", \"pyton\", \"masterclas\", and \"nextjs\" all find the right item instead of giving up.<\/li>\n<li>Fixed: \"what do you offer\", \"list\", and \"show me everything\" returned the fallback message instead of listing the catalog.<\/li>\n<li>Fixed: asking about one specific course (\"how much is the React course?\") showed the whole catalog instead of answering about that course.<\/li>\n<li>Redesigned the AI Provider setup screen \u2014 each provider now has step-by-step instructions and a direct link to create an API key, and only the selected provider's fields are shown.<\/li>\n<li>Settings are now organised into General, AI Provider, Design, and Support tabs.<\/li>\n<li>New Support tab and dashboard panel \u2014 instant help over WhatsApp, plus links to the support forum, feature requests, and reviews.<\/li>\n<li>New Design tab: choose the chat button's corner (bottom right or bottom left), set its exact distance from the bottom and side in pixels, and adjust its layer (z-index) \u2014 so it no longer collides with WhatsApp buttons, cookie notices, or back-to-top arrows.<\/li>\n<li>New Design tab colors: pick a main color and a gradient end color with a proper color picker. Previously the chat button stayed green no matter what color was chosen.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Turn your WordPress site into a 24\/7 AI sales assistant for your courses and services \u2014 with a free mode that needs no AI subscription at all.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/354741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=354741"}],"author":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ashikcse"}],"wp:attachment":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=354741"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=354741"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=354741"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=354741"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=354741"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=354741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}