{"id":357074,"date":"2026-10-12T08:49:48","date_gmt":"2026-10-12T08:49:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/replyplex\/"},"modified":"2026-10-13T03:46:52","modified_gmt":"2026-10-13T03:46:52","slug":"replyplex","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/replyplex\/","author":23553002,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ReplyPlex","header_author":"ReplyPlex","header_description":"Connects this site to ReplyPlex. Support agents see a customer's orders, subscriptions, and licenses (EDD, WooCommerce, FluentCart) in the conversation sidebar, and an existing helpdesk (Fluent Support) can be exported to ReplyPlex with its history intact.","assets_banners_color":"f6f7fb","last_updated":"2026-10-13 03:46:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/replyplex.com\/integrations\/wordpress","header_author_uri":"https:\/\/replyplex.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":92,"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":"replyplex","date":"2026-10-12 08:49:29","revision":3740885},"1.1.0":{"tag":"1.1.0","author":"replyplex","date":"2026-10-13 03:46:52","revision":3742846}},"upgrade_notice":{"1.1.0":"<p>Updated WordPress.org listing and artwork. Existing connections keep their settings and keys; portal activation and store selection remain configured separately in ReplyPlex.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3742846,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3742846,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3742846,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3742846,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3742846,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3742846,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3742846,"resolution":"10","location":"assets","locale":"","width":2880,"height":1800},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3742846,"resolution":"11","location":"assets","locale":"","width":2880,"height":1800},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3742846,"resolution":"12","location":"assets","locale":"","width":2880,"height":1800},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3742846,"resolution":"13","location":"assets","locale":"","width":2560,"height":1800},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3742846,"resolution":"14","location":"assets","locale":"","width":2880,"height":1800},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3742846,"resolution":"15","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3742846,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3742846,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3742846,"resolution":"4","location":"assets","locale":"","width":2880,"height":1800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3742846,"resolution":"5","location":"assets","locale":"","width":2880,"height":1800},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3742846,"resolution":"6","location":"assets","locale":"","width":2880,"height":1800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3742846,"resolution":"7","location":"assets","locale":"","width":1440,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3742846,"resolution":"8","location":"assets","locale":"","width":2880,"height":1800},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3742846,"resolution":"9","location":"assets","locale":"","width":2880,"height":1800}},"screenshots":{"1":"An AI-prepared reply, accepted into the composer with the sources it answered from and what it could not establish.","2":"Claude reading the ReplyPlex queue and adding a note to a ticket over MCP.","3":"A ticket answered by Autopilot, badged as AI and signed with the name you chose.","4":"AI activation: your own model key, the model with its published prices, and spend limits.","5":"Per-mailbox AI: prepare a reply or reply automatically on arrival, and sort incoming mail.","6":"Knowledge sources: a documentation site, a GitHub repository of Markdown files, an uploaded .md file and resolved tickets.","7":"Try it: ask a customer's question and see the exact passages a draft would use, with their scores.","8":"Instructions: ordered house rules, per mailbox, for replies and for agent notes.","9":"Answers: exact wording for the questions customers keep asking.","10":"Automations routing on what the AI thinks a message is.","11":"Evaluation: drafts sent per model, how much was rewritten, cost per sent draft, and what Autopilot would have done.","12":"Connect an AI app over MCP, and the apps already connected.","13":"The ticket form on your site, with the customer's own product or licence selected.","14":"Settings \u2192 ReplyPlex: the detected store and the API key you paste into ReplyPlex.","15":"How it connects: ReplyPlex reads your store live; nothing is synced or stored."}},"plugin_section":[],"plugin_tags":[2353,18057,4049,11996,286],"plugin_category":[45,47],"plugin_contributors":[286041],"plugin_business_model":[],"class_list":["post-357074","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-customer-portal","plugin_tags-helpdesk","plugin_tags-support-ticket","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-education-and-support","plugin_contributors-replyplex","plugin_committers-rafinkhan","plugin_committers-replyplex","plugin_committers-re_enter_rupok"],"banners":{"banner":"https:\/\/ps.w.org\/replyplex\/assets\/banner-772x250.png?rev=3742846","banner_2x":"https:\/\/ps.w.org\/replyplex\/assets\/banner-1544x500.png?rev=3742846","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/replyplex\/assets\/icon.svg?rev=3742846","icon":"https:\/\/ps.w.org\/replyplex\/assets\/icon.svg?rev=3742846","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-1.png?rev=3742846","caption":"An AI-prepared reply, accepted into the composer with the sources it answered from and what it could not establish."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-2.png?rev=3742846","caption":"Claude reading the ReplyPlex queue and adding a note to a ticket over MCP."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-3.png?rev=3742846","caption":"A ticket answered by Autopilot, badged as AI and signed with the name you chose."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-4.png?rev=3742846","caption":"AI activation: your own model key, the model with its published prices, and spend limits."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-5.png?rev=3742846","caption":"Per-mailbox AI: prepare a reply or reply automatically on arrival, and sort incoming mail."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-6.png?rev=3742846","caption":"Knowledge sources: a documentation site, a GitHub repository of Markdown files, an uploaded .md file and resolved tickets."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-7.png?rev=3742846","caption":"Try it: ask a customer's question and see the exact passages a draft would use, with their scores."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-8.png?rev=3742846","caption":"Instructions: ordered house rules, per mailbox, for replies and for agent notes."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-9.png?rev=3742846","caption":"Answers: exact wording for the questions customers keep asking."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-10.png?rev=3742846","caption":"Automations routing on what the AI thinks a message is."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-11.png?rev=3742846","caption":"Evaluation: drafts sent per model, how much was rewritten, cost per sent draft, and what Autopilot would have done."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-12.png?rev=3742846","caption":"Connect an AI app over MCP, and the apps already connected."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-13.png?rev=3742846","caption":"The ticket form on your site, with the customer's own product or licence selected."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-14.png?rev=3742846","caption":"Settings \u2192 ReplyPlex: the detected store and the API key you paste into ReplyPlex."},{"src":"https:\/\/ps.w.org\/replyplex\/assets\/screenshot-15.png?rev=3742846","caption":"How it connects: ReplyPlex reads your store live; nothing is synced or stored."}],"raw_content":"<!--section=description-->\n<p>ReplyPlex is an AI powered help desk for WordPress stores, with a customer portal that lives\non your own site. This plugin connects your WordPress site to the hosted\n<a href=\"https:\/\/replyplex.com\">ReplyPlex<\/a> service: your customers open and follow tickets from your\npages, your agents see live WooCommerce, Easy Digital Downloads or FluentCart orders and\nlicences beside every conversation, and the AI answers from your documentation, your\nMarkdown files and your team's own past replies, with every claim traceable to its source.<\/p>\n\n<p><strong>A ReplyPlex account is required.<\/strong> Tickets, replies, the AI and the agent tools live in\nReplyPlex, not in your WordPress database. This plugin is the store-side half of the pair.\nIt does not include live chat.<\/p>\n\n<h4>AI drafts that cite their sources<\/h4>\n\n<p>Open a ticket and a reply is already waiting in the composer, written from the thread, the\ncustomer's purchase records and your knowledge base. Every draft shows:<\/p>\n\n<ul>\n<li><strong>Where the answer came from.<\/strong> Each claim taken from your docs, an approved answer or a\npast reply is linked, so the agent can open the source before sending.<\/li>\n<li><strong>What the AI could not establish.<\/strong> Unknowns are listed above the Send button instead of\nbeing papered over. The model is told it cannot see system state it was not given, so it\nasks or defers rather than inventing a refund, a licence status or a promise.<\/li>\n<li><strong>An Undo.<\/strong> One click restores exactly what was there before any AI action.<\/li>\n<\/ul>\n\n<p>The AI never sends a draft an agent asked for. Drafts go out through the same send path,\nsignature and undo window as any other reply. Rewrite transforms (shorter, warmer, more\ntechnical, fix grammar, translate) act on what the agent already wrote, and a <strong>Summarize<\/strong>\ncontrol produces a short catch-up of a long thread that says how many messages have arrived\nsince it was written.<\/p>\n\n<h4>AI on Autopilot, with gates<\/h4>\n\n<p>Each mailbox has its own AI mode, and all three start off:<\/p>\n\n<ul>\n<li><strong>Off<\/strong> \u2014 nothing is generated when mail arrives.<\/li>\n<li><strong>Prepare a reply<\/strong> \u2014 a reply is written in the background and waits in the composer. A\nhuman still sends it.<\/li>\n<li><strong>Reply automatically<\/strong> \u2014 Autopilot sends the reply itself, but only when it is confident,\nhas nothing it could not establish, and can cite where the answer came from. Anything else\nis prepared for a person instead.<\/li>\n<\/ul>\n\n<p>Autopilot never answers the same customer twice: a reply to an automatic answer hands the\nticket to a human for good. Autonomous replies carry an AI badge, get a timeline entry, keep\nthe undo window, sign with the name and role you choose, and are listed together under\n<strong>Handled by AI<\/strong>. Before you turn it on anywhere, the <strong>\"If Autopilot had been on\"<\/strong> panel\nshows how many prepared replies would have gone out unread and exactly what stopped the rest.<\/p>\n\n<h4>A knowledge base the AI actually reads<\/h4>\n\n<p>Point ReplyPlex at what you already have:<\/p>\n\n<ul>\n<li><strong>Documentation sites.<\/strong> Add a docs URL and the pages beneath it are indexed.<\/li>\n<li><strong>Markdown files.<\/strong> Upload <code>.md<\/code>, <code>.markdown<\/code>, <code>.txt<\/code> or <code>.csv<\/code> files straight from your\nrepository or your policy folder. A refund policy written as a <code>.md<\/code> file becomes something\nthe AI can quote.<\/li>\n<li><strong>GitHub repositories.<\/strong> Connect a repo and index its docs folder, scoped to a path filter\nsuch as <code>docs\/**\/*.md<\/code>. Every re-index records the commit it answered from.<\/li>\n<li><strong>Resolved tickets.<\/strong> Learn from what your team already answered well.<\/li>\n<li><strong>Approved answers.<\/strong> Write the exact wording for the questions customers keep asking.\nWhen one closely matches, the draft uses your words instead of paraphrasing.<\/li>\n<\/ul>\n\n<p>Knowledge can be shared across every mailbox or scoped to one, so one product's docs never\nanswer another product's ticket. A <strong>Knowledge<\/strong> panel beside each conversation searches the\nsame index and pre-searches the customer's question. <strong>Try it<\/strong> shows the exact passages a\ndraft would be built from, with their retrieval scores, without calling a model.<\/p>\n\n<h4>AI with instructions<\/h4>\n\n<p>House rules the AI follows in everything it writes: tone, what to offer, what never to\npromise, when to hand off to a person. Rules are ordered, can be enabled per mailbox, and can\napply to customer-facing replies, agent-facing notes, or both. A <strong>business description<\/strong> and\nan AI <strong>name and role<\/strong> give every reply its background and its signature.<\/p>\n\n<h4>AI filters and AI automations<\/h4>\n\n<p>With classification switched on for a mailbox, every inbound message is sorted as an\nenquiry, suspicious, outreach, marketing or a notification, and a <strong>Real enquiries<\/strong> view\nshows only the mail that needs a person. The verdict is also an automation condition \u2014\n<strong>what the AI thinks it is<\/strong> \u2014 so marketing can file itself into a folder, outreach can wait\nin pending, and suspicious mail can be marked as spam, alongside the usual rules on subject,\nsender, tags, assignment, priority, snooze, notes, folders and forwarding. Classification is\nper mailbox and off by default. A triage sweep can also read the open tickets that have gone\nquiet and sort them into safe to close, review, and do not close, with a reason on each; it\nis advisory only, and nothing is ever closed for you.<\/p>\n\n<h4>Measured, capped, and billed to you<\/h4>\n\n<p>Each workspace brings its own OpenRouter key, encrypted at rest. Until a key is added,\nnothing is ever sent to a model provider. The model is chosen from a live catalogue with\nthe provider's published prices, with a separate cheaper model for background work and a\nfallback for outages. A monthly ceiling and a per-conversation ceiling are checked before\nevery request. An <strong>Evaluation<\/strong> dashboard reports, per model, how many drafts were sent,\nhow much of each was rewritten, how often knowledge was found and cited, and the cost per\nsent draft.<\/p>\n\n<h4>An MCP server for Claude, ChatGPT and your IDE<\/h4>\n\n<p>ReplyPlex is also an MCP server. Add one URL as a connector in Claude, ChatGPT, Claude Code\nor Cursor, sign in to ReplyPlex, and the assistant can list inboxes, search tickets and\ncustomers, search your knowledge base and read workspace reports. With write scope it can\nalso add notes, apply tags, assign, set status, priority and custom fields, and every action\nis attributed in the ticket timeline as done via that app. Sign-in uses OAuth 2.1 with\nconsent; connections appear in Settings \u2192 Developer and can be revoked at any moment.\nConnected apps cannot send email unless an admin turns that on separately.<\/p>\n\n<h4>Purchase context beside the ticket<\/h4>\n\n<p>The plugin adds a small, authenticated REST endpoint to your site. When an agent opens a\nticket, ReplyPlex calls it with the customer's email address and shows what comes back\nbeside the conversation: recent orders, subscriptions, licences and their activations, with a\nlink to the customer's record in your store admin. Every answer is read live at the moment it\nis asked for. Nothing is copied, mirrored or synced. The same records feed the AI draft, with\nlicence keys and other credentials masked before anything leaves.<\/p>\n\n<p>With Easy Digital Downloads Software Licensing, an agent with permission can deactivate a\nsingle site from a licence without leaving the ticket. Each use is recorded as a note.<\/p>\n\n<p>Supported stores, detected automatically and reported on the settings page:<\/p>\n\n<ul>\n<li><strong>WooCommerce<\/strong> \u2014 orders, and subscriptions through WooCommerce Subscriptions<\/li>\n<li><strong>Easy Digital Downloads<\/strong> \u2014 purchases, licences through EDD Software Licensing, and\nsubscriptions through EDD Recurring<\/li>\n<li><strong>FluentCart<\/strong> \u2014 orders, and licences through FluentCart Pro<\/li>\n<\/ul>\n\n<h4>Customer support portal on your site<\/h4>\n\n<ul>\n<li>Add the <strong>ReplyPlex Portal<\/strong> block or <code>[replyplex_portal]<\/code> for \"my tickets\".<\/li>\n<li>Add the <strong>ReplyPlex Ticket Form<\/strong> block or <code>[replyplex_ticket_form]<\/code> for a new-ticket form.<\/li>\n<li>Signed-in WordPress users are signed in to the portal automatically after a one-time email\nverification. Guests use an email code.<\/li>\n<li>The form can offer a product or licence selector drawn from the customer's own purchases,\nso the agent and the AI know which product the ticket is about before reading it.<\/li>\n<\/ul>\n\n<p>The portal is off until you enable it in both ReplyPlex and this plugin.<\/p>\n\n<h4>Move your ticket history when you switch<\/h4>\n\n<p>If you already run a helpdesk on this site, the plugin can hand its history to ReplyPlex:\ntickets, replies, notes, customers, agents, tags, custom fields and attachments, with the\noriginal dates and authors. Currently supported: <strong>Fluent Support<\/strong>. The export is read-only,\nuses its own key, is only registered when a supported helpdesk is found, and closes itself\nafter 30 days. Your existing helpdesk keeps running throughout.<\/p>\n\n<h4>How the connector works<\/h4>\n\n<ul>\n<li><strong>Commerce context:<\/strong> inbound only. ReplyPlex calls your site with the API key you\ngenerated, one customer at a time, when an agent opens a ticket. No schedule, no\nbackground job.<\/li>\n<li><strong>Portal:<\/strong> your page embeds the portal from your ReplyPlex portal address. For a signed-in\nWordPress user, your server makes one short-lived, signed request to that address to sign\nthem in.<\/li>\n<li><strong>AI:<\/strong> runs in the ReplyPlex service, on the model and key your workspace chose. This\nplugin makes no AI requests of its own.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the ReplyPlex service, which is operated by ReplyPlex. The\nconnection has three parts, and two of them are off until you turn them on.<\/p>\n\n<p><strong>1. Commerce context (inbound to your site).<\/strong> The plugin does not send store data\nanywhere on its own. ReplyPlex connects to your site's REST endpoint with the API key you\ngenerated, and only then does the plugin answer. It returns, for the email address in the\nrequest, that customer's recent orders, subscriptions and licences from the stores listed\nabove, plus their WordPress display name. It returns nothing for an address with no\npurchases. This happens only when an agent opens a ticket. Revoke the key on the settings\npage to stop it immediately.<\/p>\n\n<p><strong>2. Customer portal (optional, off by default).<\/strong> When you enable the portal in Settings \u2192\nReplyPlex, pages carrying the portal block or shortcode embed the portal from the HTTPS\nportal address you configured. Your visitors' browsers load that address directly, as they\nwould any embedded page.<\/p>\n\n<p>When a visitor who is signed in to WordPress opens the portal, your server sends one request\nto that portal address to sign them in. The request contains: your approved site ID and\nintegration ID, your site's URL, the visitor's WordPress user ID and email address, a\none-time code challenge chosen by their browser, and a 60-second expiry. It is signed with a\nkey derived from your API key; the API key itself is never sent. No request is made for\nguests, who sign in with an email code inside the portal.<\/p>\n\n<p>When the product selector is enabled in your ReplyPlex workspace, ReplyPlex calls a second\nauthenticated endpoint on your site to list a verified customer's product names and\norder or licence references. Licence keys, payment details, activation sites and store-admin\nlinks are not included.<\/p>\n\n<p><strong>3. Helpdesk migration (optional, off by default).<\/strong> While an export window you opened is\nopen, ReplyPlex reads your existing helpdesk's tickets, replies, notes, customers, agents,\ntags, custom fields and attachments through the migration endpoints, with the migration key.\nThe window closes itself after 30 days.<\/p>\n\n<p><strong>AI processing happens inside ReplyPlex, not in this plugin.<\/strong> When your workspace admin\nadds a model key, ReplyPlex sends ticket text, the knowledge you indexed and the commerce\nrecords it fetched from your site (with credentials masked) to the model provider your\nworkspace chose, through OpenRouter, under your own key and account. No model is called\nuntil a key is added.<\/p>\n\n<p>ReplyPlex's handling of the data it receives is governed by its\n<a href=\"https:\/\/replyplex.com\/terms\">terms of service<\/a> and\n<a href=\"https:\/\/replyplex.com\/privacy\">privacy policy<\/a>. Only enable a portal address you trust.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin stores its own settings in your site's options table and nothing else: the API\nkey, the portal settings when enabled, and, only while an export window is open, a migration\nkey and its expiry time. It creates no tables, writes no logs, sets no cookies of its own and\ndoes not profile anyone. Uninstalling deletes all of them, on every site of a multisite\nnetwork. What is sent to ReplyPlex, and when, is listed under External services.<\/p>\n\n<h3>Security<\/h3>\n\n<ul>\n<li>Every endpoint requires <code>Authorization: Bearer &lt;key&gt;<\/code>, verified in constant time.<\/li>\n<li>Keys are generated with WordPress's own CSPRNG and can be regenerated or revoked at any\nmoment from the settings page.<\/li>\n<li>Commerce and history export use <strong>separate keys<\/strong>, and neither is accepted on the other's\nendpoints.<\/li>\n<li>The portal sign-in handoff is requested only by the signed-in visitor's own browser, with a\ncookie and nonce check that excludes application passwords and machine authentication. The\nassertion expires after 60 seconds and is signed with a key derived from, never equal to,\nyour API key.<\/li>\n<li>The portal embed accepts only an HTTPS origin without a path, and is rendered in a\nsandboxed frame with no referrer.<\/li>\n<li>The history-export endpoints are registered only when a supported helpdesk is detected,\nrefuse every request while the window is closed or expired, and are read-only.<\/li>\n<li>Attachment downloads are confined to your uploads directory, so a malformed file path in\nthe helpdesk's own records cannot be used to read anything else.<\/li>\n<li>Only <code>http<\/code> and <code>https<\/code> URLs are ever included in a response.<\/li>\n<\/ul>\n\n<h3>REST API (replyplex\/v1)<\/h3>\n\n<p>Commerce, authenticated with the API key:<\/p>\n\n<ul>\n<li><code>GET \/wp-json\/replyplex\/v1\/ping<\/code> \u2014 verify the connection; reports detected stores and helpdesks.<\/li>\n<li><code>GET \/wp-json\/replyplex\/v1\/customer?email=&lt;email&gt;<\/code> \u2014 normalized commerce context.<\/li>\n<li><code>GET \/wp-json\/replyplex\/v1\/portal\/products?email=&lt;email&gt;<\/code> \u2014 product names and order or licence references for the portal's ticket selector.<\/li>\n<li><code>POST \/wp-json\/replyplex\/v1\/license\/deactivate-site<\/code> \u2014 registered only when EDD Software Licensing is active.<\/li>\n<\/ul>\n\n<p>Portal, same-site only (cookie and nonce):<\/p>\n\n<ul>\n<li><code>POST \/wp-json\/replyplex\/v1\/portal\/grant<\/code> \u2014 the signed-in visitor's own sign-in handoff.<\/li>\n<\/ul>\n\n<p>History export, authenticated with the migration key and only while the window is open:<\/p>\n\n<ul>\n<li><code>GET \/wp-json\/replyplex\/v1\/migration\/meta<\/code> \u2014 what is here to migrate, and how much of it.<\/li>\n<li><code>GET \/wp-json\/replyplex\/v1\/migration\/export?entity=&lt;entity&gt;&amp;after_id=&lt;id&gt;<\/code> \u2014 one page of records.<\/li>\n<li><code>GET \/wp-json\/replyplex\/v1\/migration\/attachment\/&lt;id&gt;<\/code> \u2014 one attachment's contents.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to <strong>Settings \u2192 ReplyPlex<\/strong> and generate an API key. The page lists which stores were\ndetected, so you can confirm the right one was found.<\/li>\n<li>In ReplyPlex, open <strong>Manage \u2192 Integrations<\/strong>, add a WordPress connection, and paste your\nSite URL and API key. Commerce context appears beside tickets from that moment.<\/li>\n<\/ol>\n\n<p><strong>Turning on the AI:<\/strong><\/p>\n\n<ol>\n<li>In ReplyPlex, open <strong>AI \u2192 Activation<\/strong>, add your OpenRouter key and choose a model.<\/li>\n<li>Under <strong>AI \u2192 Knowledge<\/strong>, add a documentation URL, upload your <code>.md<\/code> files, or connect a\nGitHub repository. Add house rules under <strong>Instructions<\/strong> and exact wording under\n<strong>Answers<\/strong>.<\/li>\n<li>Set each mailbox to <strong>Prepare a reply<\/strong> first. Read the \"If Autopilot had been on\" panel\nunder <strong>Evaluation<\/strong> before switching any mailbox to <strong>Reply automatically<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Customer portal (optional):<\/strong><\/p>\n\n<ol>\n<li>In ReplyPlex, activate the portal for your workspace and approve this site's exact HTTPS\naddress and connection.<\/li>\n<li>Copy the portal URL, site ID and integration ID into <strong>Settings \u2192 ReplyPlex \u2192 Portal<\/strong>\nand enable it.<\/li>\n<li>Add the <strong>ReplyPlex Portal<\/strong> block (or <code>[replyplex_portal]<\/code>) to a \"My tickets\" page, and\nthe <strong>ReplyPlex Ticket Form<\/strong> block (or <code>[replyplex_ticket_form]<\/code>) to a contact page.<\/li>\n<\/ol>\n\n<p><strong>Connecting an AI app over MCP:<\/strong> in ReplyPlex, open <strong>Settings \u2192 Developer \u2192 Connect an\nAI app<\/strong>, copy the MCP URL, add it as a connector in Claude, ChatGPT, Claude Code or Cursor,\nand sign in when prompted.<\/p>\n\n<p><strong>Moving an existing helpdesk's history (optional):<\/strong> the settings page shows a <strong>Migrate\nhistory to ReplyPlex<\/strong> section only when a supported helpdesk is found. Open the export\nwindow there, paste the migration key into ReplyPlex, run the import, and close the window\nwhen it finishes.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20a%20standalone%20help%20desk%20for%20wordpress%3F\"><h3>Is this a standalone help desk for WordPress?<\/h3><\/dt>\n<dd><p>No. It is the connector between your WordPress site and the hosted ReplyPlex service.\nTickets, replies, the AI, automations and reporting live in ReplyPlex. If you want a ticket\nsystem that stores everything in your WordPress database, this is not that.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20replyplex%20account%3F%20is%20it%20paid%3F\"><h3>Do I need a ReplyPlex account? Is it paid?<\/h3><\/dt>\n<dd><p>Yes, you need a ReplyPlex workspace; the plugin does nothing without one. Plans are\ndescribed at <a href=\"https:\/\/replyplex.com\">replyplex.com<\/a>. The plugin itself is free and all of its\ncode is GPL.<\/p><\/dd>\n<dt id=\"does%20the%20ai%20send%20replies%20to%20my%20customers%20on%20its%20own%3F\"><h3>Does the AI send replies to my customers on its own?<\/h3><\/dt>\n<dd><p>Only if you switch a mailbox to <strong>Reply automatically<\/strong>, and even then only when the draft\nis confident, has nothing it could not establish, and cites a source. Every mailbox starts\noff. With <strong>Prepare a reply<\/strong>, the AI writes and a person sends. Autonomous replies are badged,\nlogged, undoable, and never sent to the same customer twice in one thread.<\/p><\/dd>\n<dt id=\"which%20ai%20model%20does%20it%20use%3F%20do%20i%20need%20my%20own%20key%3F\"><h3>Which AI model does it use? Do I need my own key?<\/h3><\/dt>\n<dd><p>Each workspace brings its own OpenRouter key and chooses any model from the live catalogue,\nwith prices shown. You can set a cheaper model for background work and a fallback for\noutages. Until a key is added, no model is ever called. Usage is billed to your own account,\nand ReplyPlex enforces the monthly and per-conversation ceilings you set before each request.<\/p><\/dd>\n<dt id=\"what%20can%20i%20feed%20the%20ai%3F%20can%20it%20read%20markdown%20files%3F\"><h3>What can I feed the AI? Can it read Markdown files?<\/h3><\/dt>\n<dd><p>Documentation URLs, uploaded <code>.md<\/code>, <code>.markdown<\/code>, <code>.txt<\/code> and <code>.csv<\/code> files, GitHub\nrepositories with a path filter, your resolved tickets, and curated question-and-answer\npairs. PDF is not supported yet. Knowledge can be shared across all mailboxes or scoped to\none.<\/p><\/dd>\n<dt id=\"how%20do%20i%20know%20a%20draft%20is%20not%20making%20things%20up%3F\"><h3>How do I know a draft is not making things up?<\/h3><\/dt>\n<dd><p>Every claim taken from your knowledge is linked to its source, and the draft lists what it\ncould not establish above the Send button. The model is told it cannot see any system state\nit was not given. <strong>Try it<\/strong> under AI shows the exact passages a draft would use, with\nscores, so you can check what the AI knows before customers ask.<\/p><\/dd>\n<dt id=\"what%20is%20the%20mcp%20server%20for%3F\"><h3>What is the MCP server for?<\/h3><\/dt>\n<dd><p>It lets an assistant you already use, such as Claude, ChatGPT or Cursor, work with your\nReplyPlex workspace: triage, search tickets and customers, search your knowledge base and\nread reports. Sign-in is OAuth 2.1 with consent, every action is attributed to the app in the\ntimeline, and connected apps cannot send email unless an admin turns that on.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20my%20customer%20data%20to%20replyplex%3F\"><h3>Does the plugin send my customer data to ReplyPlex?<\/h3><\/dt>\n<dd><p>Commerce context never leaves your site unless ReplyPlex asks for it with your API key, one\ncustomer at a time, while an agent is reading that customer's ticket. Nothing is copied or\nmirrored. The one case where your server sends something first is portal sign-in for a\nsigned-in WordPress user, and that request is described in full under External services.<\/p><\/dd>\n<dt id=\"is%20my%20store%20data%20synced%20to%20replyplex%3F\"><h3>Is my store data synced to ReplyPlex?<\/h3><\/dt>\n<dd><p>No. Every answer is read live from your store when it is asked for. There is no background\njob, no schedule and no stored copy.<\/p><\/dd>\n<dt id=\"which%20stores%20and%20extensions%20work%3F\"><h3>Which stores and extensions work?<\/h3><\/dt>\n<dd><p>WooCommerce (orders; subscriptions with WooCommerce Subscriptions), Easy Digital Downloads\n(purchases; licences with EDD Software Licensing; subscriptions with EDD Recurring) and\nFluentCart (orders; licences with FluentCart Pro). You need at least one of them for\ncommerce context. The settings page tells you what was detected.<\/p><\/dd>\n<dt id=\"can%20guests%20use%20the%20portal%2C%20or%20only%20registered%20users%3F\"><h3>Can guests use the portal, or only registered users?<\/h3><\/dt>\n<dd><p>Both. A signed-in WordPress user is signed in to the portal automatically after a one-time\nemail verification. A guest signs in with a code sent to their email address.<\/p><\/dd>\n<dt id=\"does%20this%20include%20live%20chat%3F\"><h3>Does this include live chat?<\/h3><\/dt>\n<dd><p>No. ReplyPlex is email-first: tickets opened in the portal are answered by email and the\nanswer also appears in the portal.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>No. Nothing runs on page loads, on cron, or for visitors who never open the portal. The\ncommerce endpoint does work only while answering a request, and its queries are capped and\nindexed. The portal block loads one embedded frame on the pages where you place it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20full-page%20caching%3F\"><h3>Does it work with full-page caching?<\/h3><\/dt>\n<dd><p>Commerce context and migration are unaffected. For automatic WordPress sign-in to the\nportal, the page carrying the portal block should be excluded from full-page caching, because\nthe sign-in handoff is tied to the visitor's session. If a cached page is served, the portal\nstill works; the visitor is simply asked for an email code instead.<\/p><\/dd>\n<dt id=\"does%20the%20history%20export%20change%20my%20existing%20helpdesk%3F\"><h3>Does the history export change my existing helpdesk?<\/h3><\/dt>\n<dd><p>No. It only reads. Your helpdesk keeps running exactly as before, during the export and\nafter it. The window closes on its own after 30 days and deletes its key.<\/p><\/dd>\n<dt id=\"how%20do%20i%20revoke%20access%3F\"><h3>How do I revoke access?<\/h3><\/dt>\n<dd><p>Revoke or regenerate the API key on the settings page: the commerce endpoint refuses every\nrequest from that moment. Disable the portal on the same page to remove its embeds, and\nremove this site's approval in ReplyPlex to end existing portal sessions. Revoke a connected\nAI app under Settings \u2192 Developer in ReplyPlex. Deleting the plugin removes every key and\nsetting, on every site of a multisite network.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site in the network has its own keys, its own portal settings and its own\nconnection.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Updated the WordPress.org listing with AI, Autopilot, knowledge and MCP documentation, plus new fictional screenshots, banners and icons.<\/li>\n<li>Established verified releases from GitHub to WordPress.org. Existing commerce, migration and optional customer portal connections keep their settings and keys.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release: EDD, WooCommerce and FluentCart commerce context for ReplyPlex, served over an API-key-authenticated REST endpoint.<\/li>\n<li>Optional customer portal and ticket-form blocks\/shortcodes, with mailbox-verified WordPress sign-in.<\/li>\n<li>Separate authenticated product\/licence references for the customer portal's optional ticket selector.<\/li>\n<li>The commerce card carries a link to the customer's profile in the store's own admin, and each EDD licence carries its pre-filled renewal checkout link (EDD).<\/li>\n<li>A ReplyPlex agent with permission can deactivate a single site from an EDD licence without leaving the ticket. The endpoint exists only when EDD Software Licensing can do it, is idempotent, and every use is recorded as a note on the ReplyPlex conversation.<\/li>\n<li>Move an existing helpdesk's history to ReplyPlex \u2014 tickets, replies, notes, customers, agents, tags, custom fields and attachments, with their original dates and authors. Supports Fluent Support. Read-only, off by default, uses its own key, and closes itself after 30 days.<\/li>\n<li>Upgrading from a hand-installed build: your API key still works and no reconnection is needed. This release adds multisite-aware cleanup on uninstall, a fully translatable admin screen, and restricts emitted links to http\/https.<\/li>\n<\/ul>","raw_excerpt":"AI powered help desk for WordPress stores: AI drafts with sources, Autopilot, knowledge from your docs, AI filters, automations and an MCP server.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357074"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/replyplex"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357074"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357074"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357074"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357074"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357074"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}