{"id":388293,"date":"2026-10-23T07:19:22","date_gmt":"2026-10-23T07:19:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gatemi-ai-support\/"},"modified":"2026-10-23T07:23:53","modified_gmt":"2026-10-23T07:23:53","slug":"gatemi-ai-support","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/gatemi-ai-support\/","author":23559004,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Gatemi AI Support","header_author":"Gatemi","header_description":"An AI support assistant that answers only from your own products and pages \u2014 never from what a language model thinks it knows about your shop.","assets_banners_color":"133394","last_updated":"2026-10-23 07:23:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/gatemi-ai-support\/","header_author_uri":"https:\/\/gatemi.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":68,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"gatemi","date":"2026-10-23 07:23:53","revision":3761089}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3761079,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3761079,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3761079,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3761079,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3761079,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3761079,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3761079,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600}},"screenshots":{"1":"The chat widget on a product page.","2":"The settings screen.","3":"A support ticket in wp-admin."}},"plugin_section":[],"plugin_tags":[2353,2364,4049,1104,286],"plugin_category":[45,47],"plugin_contributors":[279530],"plugin_business_model":[],"class_list":["post-388293","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chatbot","plugin_tags-helpdesk","plugin_tags-support","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-education-and-support","plugin_contributors-gatemi","plugin_committers-gatemi"],"banners":{"banner":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/banner-772x250.png?rev=3761079","banner_2x":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/banner-1544x500.png?rev=3761079","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/icon-128x128.png?rev=3761079","icon_2x":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/icon-256x256.png?rev=3761079","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/screenshot-1.png?rev=3761079","caption":"The chat widget on a product page."},{"src":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/screenshot-2.png?rev=3761079","caption":"The settings screen."},{"src":"https:\/\/ps.w.org\/gatemi-ai-support\/assets\/screenshot-3.png?rev=3761079","caption":"A support ticket in wp-admin."}],"raw_content":"<!--section=description-->\n<p>Gatemi AI Support adds a chat assistant to your WooCommerce shop. It answers\n<strong>only<\/strong> from an index built out of your own products and pages, and every\nprice and stock level it quotes is read live from WooCommerce at the moment it\nis asked for, in WooCommerce's own formatting.<\/p>\n\n<p>When your content does not cover a question, the assistant says so and offers\nto put the customer in touch with a person through a support ticket.<\/p>\n\n<p><strong>What the free edition does<\/strong><\/p>\n\n<ul>\n<li>A chat widget in the corner of your shop, or anywhere you put the shortcode.<\/li>\n<li>Answers about your products \u2014 what you sell, what it costs, what is in\nstock, which option suits a need.<\/li>\n<li>Answers about your policies, from your own pages plus free text you type\ninto its settings.<\/li>\n<li>Opens a support ticket when a person is needed: it collects the details,\nstores the ticket in wp-admin, emails you, and emails the customer their\nreference. Your reply goes straight back to them from your normal inbox.<\/li>\n<li>Daily spend and call ceilings, so an unusual day cannot produce an unusual\nbill. When a ceiling is reached it offers a ticket instead.<\/li>\n<li>Tells every customer, before they type, that they are talking to an AI and\nthat their message goes to OpenAI.<\/li>\n<li>Loads one small stylesheet and one small script from your own server, only\non pages where the widget appears. Nothing from a CDN, no jQuery, no\nthird-party tracking.<\/li>\n<li>A Conversations screen under WooCommerce \u2192 AI Support: every chat, its\nmessages, its token count and cost, the customer's helpful\/unhelpful\nrating, and the ticket it led to, if any.<\/li>\n<\/ul>\n\n<p><strong>What the full edition adds<\/strong><\/p>\n\n<ul>\n<li><strong>Order lookup in chat.<\/strong> A customer gives their order number and the email\nthe order was placed with, and gets status, items, totals and tracking.<\/li>\n<li><strong>Licence keys and downloads<\/strong>, released after a six-digit code is emailed\nto the address already on the order \u2014 so guessing an order number is not\nenough.<\/li>\n<li><strong>Semantic search<\/strong>, matching meaning as well as words.<\/li>\n<li>A house-style instruction telling the assistant how you talk to customers.<\/li>\n<li>Visitor IP and approximate location beside each conversation.<\/li>\n<\/ul>\n\n<p>The two editions share their settings, their tickets and their index, so\nupgrading is installing a plugin \u2014 there is nothing to migrate and nothing to\nretype.<\/p>\n\n<p><strong>What you need<\/strong><\/p>\n\n<p>An OpenAI API key, from platform.openai.com. You pay OpenAI directly for what\nyour customers use; this plugin has no markup, no middleman and no account to\ncreate. Put the key in <code>wp-config.php<\/code> as <code>GMAI_OPENAI_KEY<\/code> and it stays out\nof your database.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin sends customer messages to the OpenAI API (api.openai.com) in\norder to generate replies. Nothing is sent until you enter an API key and\nswitch the assistant on.<\/p>\n\n<p><strong>What is sent, and when:<\/strong> each time a customer sends a message in the chat\npanel, your server sends OpenAI that message, the earlier turns of the same\nconversation, the passages from your own products and pages that match it,\nand \u2014 when the assistant asks for them \u2014 the live name, price and stock of\nthe products it found. <strong>What is never sent:<\/strong> your API key to the browser,\nany order or customer account data, or anything from wp-admin.<\/p>\n\n<p>Nothing is sent from the visitor's browser to OpenAI. The chat widget talks\nonly to this site's own REST route; the request to OpenAI is made by your\nserver, with your key. This plugin never contacts gatemi.com or any other\nhost \u2014 api.openai.com is its only destination.<\/p>\n\n<p>Customers are shown a notice inside the chat panel, before they type, saying\ntheir message is answered by an AI assistant and sent to OpenAI. You can\nreword it on the settings screen.<\/p>\n\n<ul>\n<li>OpenAI terms of use: https:\/\/openai.com\/policies\/terms-of-use<\/li>\n<li>OpenAI privacy policy: https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin and activate it.<\/li>\n<li>Go to <strong>WooCommerce \u2192 AI Support<\/strong>.<\/li>\n<li>Paste your OpenAI API key, or add <code>define( 'GMAI_OPENAI_KEY', '...' );<\/code> to\n   wp-config.php.<\/li>\n<li>Press <strong>Rebuild the index now<\/strong>.<\/li>\n<li>Switch <strong>Answer customers<\/strong> on.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20it%20make%20things%20up%20about%20my%20products%3F\"><h3>Will it make things up about my products?<\/h3><\/dt>\n<dd><p>It answers from an index built out of your own product descriptions and pages,\nand reads prices and stock live from WooCommerce when asked. Where your content\ndoes not cover a question it is instructed to say so and offer a ticket. No\nlanguage model can be guaranteed never to err, which is why prices and stock\nare rendered by WooCommerce rather than written by the model.<\/p><\/dd>\n<dt id=\"can%20it%20look%20up%20a%20customer%27s%20order%3F\"><h3>Can it look up a customer's order?<\/h3><\/dt>\n<dd><p>Not in the free edition. If a customer asks about an order it says it cannot\nsee orders and offers to open a ticket, so a person can check. Order lookup \u2014\nwith the verification that has to come with it \u2014 is in the full edition.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%20to%20run%3F\"><h3>How much does it cost to run?<\/h3><\/dt>\n<dd><p>That depends on your model and your volume. A short support conversation on a\nsmall model is typically a fraction of a cent. Set a daily ceiling and the\nassistant stops and offers a ticket rather than spending past it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20a%20page%20cache%3F\"><h3>Does it work with a page cache?<\/h3><\/dt>\n<dd><p>Yes. The widget holds no nonce and asks the server for a session when it\nopens, so the page it sits on can be cached like any other.<\/p><\/dd>\n<dt id=\"where%20do%20ticket%20replies%20go%3F\"><h3>Where do ticket replies go?<\/h3><\/dt>\n<dd><p>The notification you receive carries the customer's address as its reply-to\nand the ticket reference in its subject, so replying from your normal inbox\ngoes straight to them. Nothing to configure and no mailbox credentials stored.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20install%20the%20full%20edition%3F\"><h3>What happens if I install the full edition?<\/h3><\/dt>\n<dd><p>The free one stands down automatically and tells you it has. Your settings,\ntickets and index are shared, so nothing is lost and nothing needs retyping \u2014\nyou can deactivate the free plugin whenever you like.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release. A chat widget on the shop that answers only from an index built out of your own products and pages, reads every price and stock level live from WooCommerce at the moment it is asked, and says plainly when your content does not cover a question.<\/li>\n<li>Support tickets opened from the chat: the details are collected, the ticket is stored in wp-admin with the conversation that led to it, you are emailed with the customer's address as the reply-to, and the customer is emailed their reference.<\/li>\n<li>Daily spend and call ceilings, per-chat limits and a retention window, all on the settings screen; a notice inside the panel telling customers their message goes to OpenAI.<\/li>\n<li>A Conversations screen listing every chat with its messages, token count, cost, the customer's rating and the ticket it led to.<\/li>\n<\/ul>","raw_excerpt":"AI customer support chatbot for WooCommerce that answers from your own products and pages, and opens an email ticket when a person is needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/388293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=388293"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gatemi"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=388293"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=388293"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=388293"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=388293"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=388293"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=388293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}