{"id":361877,"date":"2026-10-08T17:03:19","date_gmt":"2026-10-08T17:03:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/conmoji-chatbot\/"},"modified":"2026-10-08T17:02:43","modified_gmt":"2026-10-08T17:02:43","slug":"conmoji-chatbot","status":"publish","type":"plugin","link":"https:\/\/mg.wordpress.org\/plugins\/conmoji-chatbot\/","author":23358279,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.3","stable_tag":"3.0.3","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Conmoji Chatbot","header_author":"Conmoji","header_description":"Adds your Conmoji AI chatbot widget to the footer of every page. Paste the embed code from your Conmoji dashboard and try it without leaving the admin.","assets_banners_color":"82a682","last_updated":"2026-10-08 17:02:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/conmoji.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.3":{"tag":"3.0.3","author":"jasong8","date":"2026-10-08 17:02:43","revision":3735206}},"upgrade_notice":{"3.0.3":"<p>Internal change to how the preview loads its stylesheet. No change in behaviour.<\/p>","3.0.2":"<p>Fixes where the &quot;Settings saved&quot; message appears.<\/p>","3.0.1":"<p>Fixes the text alignment of the chat bubbles in the preview.<\/p>","3.0.0":"<p>First public release. If you used an earlier private build with one chatbot per language, paste your chatbot&#039;s embed code again after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3735204,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3735204,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3735204,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3735204,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3735204,"resolution":"1","location":"assets","locale":"","width":1440,"height":1020}},"screenshots":{"1":"The settings screen. Paste the embed code, save, and the chatbot is live.","2":"The preview, showing the real chatbot inside the WordPress admin."}},"plugin_section":[],"plugin_tags":[2353,1320,2364,2369,2379],"plugin_category":[],"plugin_contributors":[285120],"plugin_business_model":[],"class_list":["post-361877","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-assistant","plugin_tags-chatbot","plugin_tags-customer-support","plugin_tags-live-chat","plugin_contributors-jasong8","plugin_committers-jasong8"],"banners":{"banner":"https:\/\/ps.w.org\/conmoji-chatbot\/assets\/banner-772x250.png?rev=3735204","banner_2x":"https:\/\/ps.w.org\/conmoji-chatbot\/assets\/banner-1544x500.png?rev=3735204","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/conmoji-chatbot\/assets\/icon-128x128.png?rev=3735204","icon_2x":"https:\/\/ps.w.org\/conmoji-chatbot\/assets\/icon-256x256.png?rev=3735204","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/conmoji-chatbot\/assets\/screenshot-1.png?rev=3735204","caption":"The settings screen. Paste the embed code, save, and the chatbot is live."}],"raw_content":"<!--section=description-->\n<p>Conmoji Chatbot puts the AI chatbot you built in your Conmoji account on your WordPress site. Paste the embed code from your Conmoji dashboard, save, and the chatbot appears in the footer of every page, on desktop and mobile.<\/p>\n\n<p>There is nothing else to configure. The plugin stores one address, prints one script tag, and stays out of the way.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Paste the embed code from your Conmoji dashboard, nothing else to configure<\/li>\n<li>Try your chatbot from the settings screen, without leaving the WordPress admin<\/li>\n<li>Automatically excluded from minification, concatenation and delayed JavaScript in WP Rocket, Autoptimize, W3 Total Cache, LiteSpeed Cache and Perfmatters, and skipped by Cloudflare Rocket Loader<\/li>\n<li>No settings on the front end, no database tables, no tracking added by the plugin<\/li>\n<\/ul>\n\n<h4>External service<\/h4>\n\n<p>This plugin does not provide the chatbot itself. It loads the chatbot widget from Conmoji, a hosted service that requires a Conmoji account. The plugin is only useful in combination with that service.<\/p>\n\n<p>What the plugin does: on every front end page view it prints a script tag that loads the widget from your Conmoji widget address, for example <code>https:\/\/app-embed.conmoji.com\/static\/widget.js?chat=&lt;your-chatbot-token&gt;<\/code>. The address, including the token that identifies your chatbot, comes from the embed code you paste on the settings screen. Nothing is sent to Conmoji from your server, and the plugin makes no outbound requests of its own.<\/p>\n\n<p>What Conmoji receives: once the widget has loaded in the visitor's browser, the visitor's browser communicates directly with Conmoji. Conmoji then receives the visitor's IP address, browser information, the page the widget is on, and anything the visitor types into the chatbot. The widget also stores data in the browser, such as the current conversation. This happens in the visitor's browser, not on your server, and only on pages where you have enabled the chatbot.<\/p>\n\n<ul>\n<li>Service: <a href=\"https:\/\/conmoji.com\/\">conmoji.com<\/a><\/li>\n<li>Terms of use: <a href=\"https:\/\/conmoji.com\/privacy\/#terms\">conmoji.com\/privacy\/#terms<\/a><\/li>\n<li>Privacy policy: <a href=\"https:\/\/conmoji.com\/privacy\/\">conmoji.com\/privacy\/<\/a><\/li>\n<\/ul>\n\n<p>Because the widget processes visitor data, mention Conmoji in your own privacy policy and use the consent mechanism your site already has if your visitors need to opt in before third party scripts load.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin through Plugins, Add New, or upload the plugin folder to <code>\/wp-content\/plugins\/conmoji-chatbot<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Conmoji Chatbot<\/strong> in the WordPress admin menu.<\/li>\n<li>Paste the embed code from your Conmoji dashboard. A bare widget address works too.<\/li>\n<li>Save changes. The chatbot now appears on your site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20conmoji%20account%3F\"><h3>Do I need a Conmoji account?<\/h3><\/dt>\n<dd><p>Yes. The chatbot itself runs on Conmoji. Create an account at conmoji.com, build your chatbot there and copy the embed code it gives you.<\/p><\/dd>\n<dt id=\"which%20part%20of%20the%20embed%20code%20is%20stored%3F\"><h3>Which part of the embed code is stored?<\/h3><\/dt>\n<dd><p>Only the widget address. The plugin reads the address out of the snippet you paste, checks that it points at a Conmoji domain over HTTPS, and stores that. The script tag on your site is then built by the plugin, so no pasted markup is ever printed as is.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20different%20chatbot%20per%20language%3F\"><h3>Can I use a different chatbot per language?<\/h3><\/dt>\n<dd><p>Not at the moment. The plugin shows one chatbot on the whole site.<\/p><\/dd>\n<dt id=\"how%20does%20the%20preview%20work%3F\"><h3>How does the preview work?<\/h3><\/dt>\n<dd><p>The button on the settings screen frames a page on your own site that loads the chatbot from the address you saved, so it is the real chatbot with the settings from your Conmoji dashboard, not a mock. The page is only served to logged in administrators, is never indexed, and nothing is loaded from Conmoji until you press the button.<\/p><\/dd>\n<dt id=\"the%20chatbot%20does%20not%20appear.%20what%20should%20i%20check%3F\"><h3>The chatbot does not appear. What should I check?<\/h3><\/dt>\n<dd><p>Check that an address is saved on the settings screen. If you use an optimisation plugin that is not in the list above, exclude the chatbot script from it, in particular from any option that serves external scripts from your own domain, because the widget then cannot reach Conmoji. If your browser console mentions Content Security Policy, see the next question.<\/p><\/dd>\n<dt id=\"i%20use%20a%20security%20plugin%20that%20sets%20a%20content%20security%20policy.%20what%20do%20i%20allow%3F\"><h3>I use a security plugin that sets a Content Security Policy. What do I allow?<\/h3><\/dt>\n<dd><p>Take the origin from the address on the settings screen, for example <code>https:\/\/app-embed.conmoji.com<\/code>, and allow it in three directives. The widget also needs inline styles, because it styles itself inside a shadow root:<\/p>\n\n<ul>\n<li><code>script-src https:\/\/app-embed.conmoji.com<\/code> - the loader and your chatbot's configuration<\/li>\n<li><code>connect-src https:\/\/app-embed.conmoji.com<\/code> - the conversation itself<\/li>\n<li><code>img-src https:\/\/app-embed.conmoji.com<\/code> - the chatbot avatar<\/li>\n<li><code>style-src 'unsafe-inline'<\/code><\/li>\n<\/ul>\n\n<p>Without <code>style-src 'unsafe-inline'<\/code> the chatbot still loads, but it appears as an unstyled square instead of a round button. If chat messages fail while the button looks right, your Conmoji account answers on a second address: add that one to <code>connect-src<\/code> as well.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.3<\/h4>\n\n<ul>\n<li>The preview screen now loads its stylesheet through wp_enqueue_style() instead of printing it inline.<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Fixed the \"Settings saved\" message appearing inside the green header, where it looked like a stray box, instead of below it.<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Fixed the chat bubbles being centred in the preview. The preview page centred its own caption, and inherited CSS reaches inside the chat widget, so the chatbot did not look the way it does on the site.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>First release in the WordPress Plugin Directory.<\/li>\n<li>One chatbot per site. The earlier per language setting has been removed, because Conmoji issues one embed code per chatbot.<\/li>\n<li>Embed codes are reduced to a validated widget address instead of being stored and printed as raw markup.<\/li>\n<li>The widget is registered as a regular WordPress script, so themes, caching plugins and other plugins can see it.<\/li>\n<li>Excluded from minification, concatenation and delayed JavaScript in WP Rocket, Autoptimize, W3 Total Cache, LiteSpeed Cache and Perfmatters, and marked so Cloudflare Rocket Loader skips it.<\/li>\n<li>Added a preview so you can try the chatbot from the settings screen.<\/li>\n<li>Documented the Content Security Policy directives the chatbot needs.<\/li>\n<li>The settings screen is translatable and loads no external resources.<\/li>\n<li>Plugin data is removed when the plugin is deleted.<\/li>\n<\/ul>","raw_excerpt":"Add your Conmoji AI chatbot to WordPress. Paste the embed code from your Conmoji dashboard and the chatbot appears on every page of your site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/361877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=361877"}],"author":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jasong8"}],"wp:attachment":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=361877"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=361877"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=361877"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=361877"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=361877"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=361877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}