{"id":369791,"date":"2026-09-17T13:29:49","date_gmt":"2026-09-17T13:29:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/epkora-live-chat\/"},"modified":"2026-09-17T13:29:36","modified_gmt":"2026-09-17T13:29:36","slug":"epkora-live-chat","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/epkora-live-chat\/","author":23567180,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.1.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Epkora Live Chat","header_author":"Epkora","header_description":"Connect your WordPress website to Epkora and add Live Chat without editing your theme.","assets_banners_color":"","last_updated":"2026-09-17 13:29:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.epkora.com\/apps\/live-chat","header_author_uri":"https:\/\/www.epkora.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"epkora","date":"2026-09-17 13:29:36","revision":3700381}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3700394,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3700394,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2368,2369,5591,2379],"plugin_category":[],"plugin_contributors":[281298],"plugin_business_model":[],"class_list":["post-369791","plugin","type-plugin","status-publish","hentry","plugin_tags-customer-service","plugin_tags-customer-support","plugin_tags-help-desk","plugin_tags-live-chat","plugin_contributors-epkora","plugin_committers-epkora"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/epkora-live-chat\/assets\/icon-128x128.png?rev=3700394","icon_2x":"https:\/\/ps.w.org\/epkora-live-chat\/assets\/icon-256x256.png?rev=3700394","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Epkora Live Chat connects a WordPress website to an Epkora workspace and loads\nthe Epkora Live Chat service on the public site. Epkora is an external\nSoftware-as-a-Service customer-support platform; this plugin is not a local\nWordPress help desk. An Epkora account and workspace are required.<\/p>\n\n<p>After activation, an administrator connects the site to an Epkora workspace and\napproves it; Live Chat then loads automatically. No API key, copied JavaScript,\nor theme edit is required.<\/p>\n\n<h4>What the plugin does<\/h4>\n\n<ul>\n<li>Adds the Epkora Live Chat service to public-facing WordPress pages.<\/li>\n<li>Shows the connection and Live Chat state on a dedicated Epkora settings page.<\/li>\n<li>Checks the installation with Epkora after connection so remote revocation and\nLive Chat changes are reflected in WordPress.<\/li>\n<li>Lets an administrator disconnect or reconnect the website.<\/li>\n<li>Never loads the chat widget in wp-admin.<\/li>\n<\/ul>\n\n<h4>What the plugin does not do<\/h4>\n\n<ul>\n<li>It does not send WordPress posts, pages, comments, users, email addresses,\nWordPress version, or PHP version to Epkora.<\/li>\n<li>It does not grant Epkora access to WordPress administration.<\/li>\n<li>It does not add analytics, advertising, affiliate links, review prompts,\ndashboard widgets, or a public-site credit of its own.<\/li>\n<li>It does not make an administrative status request from PHP on every public\npage load. When connected, each visitor's browser does contact Epkora to load\nand use the external Live Chat service, as described below.<\/li>\n<\/ul>\n\n<h4>Connection security<\/h4>\n\n<p>The explicit administrator connection uses a cryptographically random state\nvalue and PKCE S256. WordPress sends the browser to Epkora for sign-in,\nworkspace selection, and approval. Epkora returns a short-lived, single-use\nauthorization code. The WordPress server exchanges that code and the PKCE\nverifier directly with Epkora.<\/p>\n\n<p>The resulting installation credential is stored in the WordPress Options API,\nis not autoloaded, and is sent only to the fixed Epkora integration API over\nHTTPS. Epkora stores a hash of that credential. The credential is limited to\ninstallation status and disconnection operations; it does not authorize access\nto Epkora conversations, contacts, tickets, team settings, or billing.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin depends on the Epkora SaaS platform. The following requests occur\nonly after a WordPress administrator explicitly starts or has completed a\nconnection.<\/p>\n\n<h4>www.epkora.com<\/h4>\n\n<p><strong>Authorization.<\/strong> When an administrator clicks <strong>Connect to Epkora<\/strong>, their\nbrowser opens https:\/\/www.epkora.com\/integrations\/wordpress\/authorize. The URL\ncontains a random state value, the WordPress callback URL, the site's public\nURL and name, the PKCE S256 challenge, and the plugin version. Epkora receives\nordinary connection metadata such as the administrator's IP address and\nbrowser user agent. Sign-in, workspace selection, and approval happen on\nEpkora. WordPress receives the authorization result and a short-lived code; the\nadministrator's Epkora password is never sent to WordPress.<\/p>\n\n<p><strong>Live Chat service.<\/strong> Once connected and enabled, public pages load\nhttps:\/\/www.epkora.com\/embed\/live-chat.js asynchronously. This remote JavaScript\nis the client for the Epkora SaaS Live Chat service: it creates an Epkora-hosted\nchat frame and communicates with Epkora for widget configuration, availability,\nmessages, agent replies, and related chat features. It is not a WordPress\nupdate mechanism. Ordinary plugin administration CSS and images are packaged\nlocally with the plugin.<\/p>\n\n<p>Loading the service sends the Epkora embed key and the embedding hostname to\nEpkora, together with normal web-request metadata such as the visitor's IP\naddress, browser user agent, origin\/referrer information made available by the\nbrowser, and requested page. Opening Live Chat retrieves the configured widget\nand team availability. If a visitor starts a conversation, requests contain\nthe message and client message identifier, the current-page value supplied by\nthe service client, and any configured profile or topic fields the visitor\nchooses to provide, such as name, email address, phone number, or topic. Epkora\nmay derive browser, device, and operating-system details from request headers\nand uses the IP address for service security and rate limiting.<\/p>\n\n<p>Epkora returns widget configuration, availability, a conversation identifier,\nconversation history, agent messages, and other chat responses needed to\nprovide the service. A secure Epkora visitor-session cookie is set after a\nvisitor sends their first message so the conversation can continue. Any\nEpkora branding displayed inside the chat frame is output of the external\nservice, not a link injected into WordPress content by this plugin.<\/p>\n\n<h4>integrations.epkora.com<\/h4>\n\n<p><strong>Authorization-code exchange.<\/strong> After approval, the WordPress server sends a\nJSON POST request to\nhttps:\/\/integrations.epkora.com\/api\/integrations\/wordpress\/exchange. It contains\nthe one-time authorization code, WordPress site URL, fixed callback URL, PKCE\nverifier, site name, and plugin version. The request user agent also identifies\nthe plugin version and site URL. The response contains the installation\ncredential, embed key, workspace name, approved site URL\/domain, Live Chat\nstate, connection time, and validated Epkora script URL.<\/p>\n\n<p><strong>Installation status.<\/strong> A status request runs on the Epkora settings page\nafter a short cooldown and approximately daily through WordPress cron. It sends\nthe installation credential in an Authorization header and the plugin version\nin a JSON body; its user agent identifies the plugin version and site URL.\nEpkora returns whether the installation is connected or revoked, plus the\nembed key, workspace name, approved domain, and Live Chat state. Public page\nrequests do not trigger this PHP status call.<\/p>\n\n<p><strong>Disconnect and uninstall.<\/strong> Clicking <strong>Disconnect<\/strong> sends an empty JSON array\nwith the installation credential in an Authorization header. Uninstall sends\nan empty JSON object to the same endpoint on a best-effort basis with a generic\nEpkora user agent. In both cases Epkora is asked to revoke the installation.\nLocal Epkora options and scheduled events are removed even if Epkora is\nunavailable.<\/p>\n\n<p>The Epkora integration API also receives ordinary server connection metadata,\nincluding the WordPress server's public IP address. These requests are\noperational parts of the user-authorized service connection; the plugin sends\nno unrelated analytics or telemetry.<\/p>\n\n<h4>Terms and privacy<\/h4>\n\n<p>Epkora processes connection details, site metadata, and live-chat information\nas described in the following documents:<\/p>\n\n<ul>\n<li>Privacy Policy: https:\/\/www.epkora.com\/privacy<\/li>\n<li>Terms of Service: https:\/\/www.epkora.com\/terms<\/li>\n<\/ul>\n\n<p>By connecting a site, the administrator confirms that they are authorized to\nconnect it and that their site gives visitors any privacy notice or choice\nrequired for the Epkora live-chat widget.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, open <strong>Plugins &gt; Add New Plugin<\/strong>, search for Epkora Live Chat,\nthen install and activate it.<\/li>\n<li>Open <strong>Epkora<\/strong> in the administration menu and click <strong>Connect to Epkora<\/strong>.<\/li>\n<li>Sign in to Epkora (or create an account), select a workspace you are\nauthorized to manage, and approve the website.<\/li>\n<li>Return to WordPress and confirm the settings page shows <strong>Connected<\/strong>.<\/li>\n<\/ol>\n\n<p>No API key or copied JavaScript snippet is required.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20epkora%20account%3F\"><h3>Do I need an Epkora account?<\/h3><\/dt>\n<dd><p>Yes. Epkora is an external customer-support service. The plugin requires an\nEpkora account and a workspace that you are authorized to manage.<\/p><\/dd>\n<dt id=\"how%20do%20i%20disconnect%3F\"><h3>How do I disconnect?<\/h3><\/dt>\n<dd><p>Open <strong>Epkora<\/strong> in WordPress and click <strong>Disconnect<\/strong>. You can also revoke the\ninstallation from Epkora. Disconnecting removes the local connection and stops\nthe widget; it does not delete the Epkora workspace or its conversations.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20epkora%20is%20unavailable%3F\"><h3>What happens if Epkora is unavailable?<\/h3><\/dt>\n<dd><p>The WordPress website continues to render. Status and disconnect requests fail\nsafely, and uninstall still removes local plugin data. Because Live Chat is an\nexternal service, the chat interface may be unavailable until Epkora recovers.<\/p><\/dd>\n<dt id=\"why%20is%20the%20widget%20not%20appearing%3F\"><h3>Why is the widget not appearing?<\/h3><\/dt>\n<dd><p>Open the Epkora settings page in WordPress. If Live Chat is switched off, enable\nit in Epkora. If the installation was revoked, reconnect it. A cache may also\nneed to be refreshed after a connection-state change.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20add%20a%20%E2%80%9Cpowered%20by%20epkora%E2%80%9D%20link%20to%20my%20content%3F\"><h3>Does the plugin add a \u201cPowered by Epkora\u201d link to my content?<\/h3><\/dt>\n<dd><p>No. The WordPress plugin does not inject a credit or SEO link. Branding may be\nshown inside the Epkora-hosted widget as part of the external SaaS interface.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Loads every administration style through the WordPress style API:\nwp_add_inline_style() for the admin-menu mark and wp_enqueue_style() for the\nsettings screen. No stylesheet is printed directly any more.<\/li>\n<li>Sanitizes the page and callback query parameters read when Epkora redirects\nback to the settings screen.<\/li>\n<\/ul>\n\n<p>Older releases: see changelog.txt.<\/p>","raw_excerpt":"Connect your WordPress website to Epkora and add Live Chat without editing your theme or copying scripts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369791","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=369791"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/epkora"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369791"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369791"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369791"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369791"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369791"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}