{"id":349626,"date":"2026-08-18T10:45:26","date_gmt":"2026-08-18T10:45:26","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kelune-crm\/"},"modified":"2026-08-18T10:45:02","modified_gmt":"2026-08-18T10:45:02","slug":"kelune-crm","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kelune-crm\/","author":14991161,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.6","requires_php":"8.1","requires_plugins":null,"header_name":"Kelune CRM","header_author":"Devitems","header_description":"A complete CRM for WordPress with contact management, email campaigns, and visual marketing automation.","assets_banners_color":"6c7284","last_updated":"2026-08-18 10:45:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kelunecrm.com","header_author_uri":"https:\/\/devitems.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":46,"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":"devitemsllc","date":"2026-08-18 10:45:02"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3652561,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3652561,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3652561,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3652561,"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":3652561,"resolution":"1","location":"assets","locale":"","width":1728,"height":1152},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3652561,"resolution":"10","location":"assets","locale":"","width":1728,"height":1152},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3652561,"resolution":"2","location":"assets","locale":"","width":1728,"height":1152},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3652561,"resolution":"3","location":"assets","locale":"","width":1728,"height":1152},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3652561,"resolution":"4","location":"assets","locale":"","width":1728,"height":1152},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3652561,"resolution":"5","location":"assets","locale":"","width":1728,"height":1152},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3652561,"resolution":"6","location":"assets","locale":"","width":1728,"height":1152},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3652561,"resolution":"7","location":"assets","locale":"","width":1728,"height":1152},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3652561,"resolution":"8","location":"assets","locale":"","width":1728,"height":1152},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3652561,"resolution":"9","location":"assets","locale":"","width":1728,"height":1152}},"screenshots":{"1":"Dashboard \u2014 contacts, campaigns, emails sent and active automations, with a 30-day growth curve and your delivery, open and click totals.","2":"Contacts \u2014 search, filter and sort your whole contact base, with lists, tags and subscription status on every row.","3":"Automations \u2014 build a follow-up sequence on a canvas from triggers, delays and actions, then switch it on.","4":"Campaigns \u2014 drafts, scheduled sends and finished campaigns in one list, with recipients, open rate and click rate.","5":"Email builder \u2014 design an email by dragging in text, image, button, divider, spacer, column and HTML blocks.","6":"Contact profile \u2014 details and custom fields, activity timeline, private notes, and every email that contact was sent.","7":"Email logs \u2014 every message logged with its type, status, provider and engagement, filterable and exportable to CSV.","8":"Analytics \u2014 contact growth and email engagement over any date range, plus per-campaign performance.","9":"Lists and tags \u2014 group the audiences you send to and record what each contact did.","10":"Email providers \u2014 send through SMTP, Amazon SES, Mailgun or SendGrid, and pick the sender per campaign."}},"plugin_section":[],"plugin_tags":[2736,1150,20199,264,1034],"plugin_category":[58],"plugin_contributors":[208697,126991,213952],"plugin_business_model":[],"class_list":["post-349626","plugin","type-plugin","status-publish","hentry","plugin_tags-contacts","plugin_tags-crm","plugin_tags-email-campaigns","plugin_tags-email-marketing","plugin_tags-marketing-automation","plugin_category-user-management","plugin_contributors-aslamhasib","plugin_contributors-devitemsllc","plugin_contributors-nazmulhudadev","plugin_committers-devitemsllc"],"banners":{"banner":"https:\/\/ps.w.org\/kelune-crm\/assets\/banner-772x250.png?rev=3652561","banner_2x":"https:\/\/ps.w.org\/kelune-crm\/assets\/banner-1544x500.png?rev=3652561","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kelune-crm\/assets\/icon-128x128.png?rev=3652561","icon_2x":"https:\/\/ps.w.org\/kelune-crm\/assets\/icon-256x256.png?rev=3652561","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-1.png?rev=3652561","caption":"Dashboard \u2014 contacts, campaigns, emails sent and active automations, with a 30-day growth curve and your delivery, open and click totals."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-2.png?rev=3652561","caption":"Contacts \u2014 search, filter and sort your whole contact base, with lists, tags and subscription status on every row."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-3.png?rev=3652561","caption":"Automations \u2014 build a follow-up sequence on a canvas from triggers, delays and actions, then switch it on."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-4.png?rev=3652561","caption":"Campaigns \u2014 drafts, scheduled sends and finished campaigns in one list, with recipients, open rate and click rate."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-5.png?rev=3652561","caption":"Email builder \u2014 design an email by dragging in text, image, button, divider, spacer, column and HTML blocks."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-6.png?rev=3652561","caption":"Contact profile \u2014 details and custom fields, activity timeline, private notes, and every email that contact was sent."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-7.png?rev=3652561","caption":"Email logs \u2014 every message logged with its type, status, provider and engagement, filterable and exportable to CSV."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-8.png?rev=3652561","caption":"Analytics \u2014 contact growth and email engagement over any date range, plus per-campaign performance."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-9.png?rev=3652561","caption":"Lists and tags \u2014 group the audiences you send to and record what each contact did."},{"src":"https:\/\/ps.w.org\/kelune-crm\/assets\/screenshot-10.png?rev=3652561","caption":"Email providers \u2014 send through SMTP, Amazon SES, Mailgun or SendGrid, and pick the sender per campaign."}],"raw_content":"<!--section=description-->\n<p>Kelune CRM is a self-hosted CRM and marketing platform for WordPress. Manage your contacts, organize them with tags and lists, design emails with a drag-and-drop builder, run campaigns, and automate follow-ups with a visual automation builder \u2014 all from your WordPress admin.<\/p>\n\n<p>Every feature listed below is included and fully functional. Kelune CRM stores your data in your own WordPress database and works offline by default: aside from the avatar WordPress itself already loads for the logged-in user, it only contacts an external service when you explicitly enable and configure one (see the \"External services\" section below).<\/p>\n\n<h4>Core features<\/h4>\n\n<ul>\n<li><strong>Contacts<\/strong> \u2014 full CRUD, activity timeline, custom meta, and notes.<\/li>\n<li><strong>Tags &amp; Lists<\/strong> \u2014 organize contacts and drive audience selection.<\/li>\n<li><strong>Custom Fields<\/strong> \u2014 single-line and multi-line text, number, email, URL, phone, select, radio, checkbox, date, and datetime.<\/li>\n<li><strong>Email Templates<\/strong> \u2014 drag-and-drop builder with automatic CSS inlining.<\/li>\n<li><strong>Email Providers<\/strong> \u2014 send via SMTP, Amazon SES, Mailgun, or SendGrid, or the default WordPress mailer.<\/li>\n<li><strong>Email Logs<\/strong> \u2014 open\/click tracking, stats, and CSV export.<\/li>\n<li><strong>Campaigns<\/strong> \u2014 scheduler, sending queue, and open\/click tracking.<\/li>\n<li><strong>Visual Automation<\/strong> \u2014 trigger, delay, and action steps on a flow canvas.<\/li>\n<li><strong>Incoming Webhooks<\/strong> \u2014 create\/update contacts and manage tags\/lists from external systems.<\/li>\n<li><strong>Double Opt-in<\/strong> \u2014 confirmation flow and per-contact subscription status.<\/li>\n<li><strong>Settings<\/strong> \u2014 business identity, global email and footer, WordPress user sync, signup\/comment opt-in, and email-provider configuration.<\/li>\n<\/ul>\n\n<h3>Source Code<\/h3>\n\n<p>The admin dashboard is built with React and TypeScript (Vite). The only compiled files in this plugin are the five in <code>assets\/admin\/dist\/<\/code>. All of its PHP, and its remaining CSS, are plain and human-readable.<\/p>\n\n<p>The full, unminified source of those files, together with the build configuration (<code>assets\/admin\/vite.config.js<\/code>), the dependency manifest (<code>assets\/admin\/package.json<\/code>) and the lock file that pins every installed version (<code>assets\/admin\/yarn.lock<\/code>), is published at:<\/p>\n\n<p>https:\/\/github.com\/devitemsllc\/kelune-crm<\/p>\n\n<p>Each release is tagged there, so the sources matching this exact version are at the <code>1.0.0<\/code> tag.<\/p>\n\n<p>To rebuild the bundle from that source (requires Node.js 20 or newer and Yarn 1.x \u2014 run <code>corepack enable<\/code> or <code>npm install -g yarn<\/code>):<\/p>\n\n<ol>\n<li><code>cd assets\/admin<\/code><\/li>\n<li><code>yarn install<\/code><\/li>\n<li><code>yarn build<\/code><\/li>\n<\/ol>\n\n<p>That one command writes all five files. The output filenames are fixed \u2014 no content hash, no code splitting \u2014 so the build is reproducible and the plugin enqueues each file by its literal name through wp_enqueue_script() and wp_enqueue_style(), cache-busted with the plugin version as <code>?ver=<\/code>. Because nothing is code-split, no part of the bundle is fetched from a remote server at runtime.<\/p>\n\n<p>The build writes <code>kelune-crm-admin.js<\/code> and <code>kelune-crm-admin.css<\/code> for the application itself, plus three scripts holding the third-party libraries: <code>kelune-crm-admin-antd.js<\/code>, <code>kelune-crm-admin-charts.js<\/code> and <code>kelune-crm-admin-editors.js<\/code>. React is not bundled \u2014 <code>react<\/code>, <code>react-dom<\/code> and <code>react-jsx-runtime<\/code> are declared as dependencies of each script, so the copies WordPress ships are the ones used.<\/p>\n\n<p>The build does not modify any third-party code, and no code is obfuscated.<\/p>\n\n<p>The rich-text editor uses WordPress core's own bundled TinyMCE from <code>wp-includes\/js\/tinymce\/<\/code>, enqueued through core's <code>wp-tinymce<\/code> script handle; no TinyMCE library code is included in this plugin. No other files in this plugin are compiled, minified, or obfuscated.<\/p>\n\n<h3>Bundled Libraries<\/h3>\n\n<p>The files in <code>assets\/admin\/dist\/<\/code> are produced by the build described above from the third-party packages listed below. Each is compiled into the shipped scripts \u2014 none is fetched at runtime.<\/p>\n\n<ul>\n<li>React and ReactDOM (<code>react<\/code>, <code>react-dom<\/code>) \u2014 MIT; not bundled, the copies WordPress ships are used, which is why React is pinned to the 18.x line core provides.<\/li>\n<li>Ant Design (<code>antd<\/code>) \u2014 MIT; only the locale pack matching your site language is loaded.<\/li>\n<li>Ant Design Icons (<code>@ant-design\/icons<\/code>) and Ant Design Charts with AntV G2 (<code>@ant-design\/charts<\/code>) \u2014 MIT.<\/li>\n<li>React Router (<code>react-router-dom<\/code>) \u2014 MIT.<\/li>\n<li>Redux Toolkit and React Redux (<code>@reduxjs\/toolkit<\/code>, <code>react-redux<\/code>) \u2014 MIT.<\/li>\n<li>React Flow (<code>reactflow<\/code>), used by the automation canvas \u2014 MIT.<\/li>\n<li>dnd kit (<code>@dnd-kit\/core<\/code>, <code>@dnd-kit\/modifiers<\/code>, <code>@dnd-kit\/sortable<\/code>, <code>@dnd-kit\/utilities<\/code>), used by the email builder \u2014 MIT.<\/li>\n<li>CodeMirror (<code>@uiw\/react-codemirror<\/code>, <code>@codemirror\/view<\/code>, <code>@codemirror\/lang-html<\/code>), used by the HTML editor \u2014 MIT.<\/li>\n<li>juice (<code>juice<\/code>), which inlines CSS into email HTML \u2014 MIT.<\/li>\n<li>Axios (<code>axios<\/code>) \u2014 MIT, Day.js (<code>dayjs<\/code>) \u2014 MIT, and react-responsive (<code>react-responsive<\/code>) \u2014 MIT.<\/li>\n<\/ul>\n\n<p>They are distributed across the four scripts as follows:<\/p>\n\n<pre><code>kelune-crm-admin-antd.js \u2014 Ant Design, Ant Design Icons, Day.js.\n\nkelune-crm-admin-charts.js \u2014 Ant Design Charts, AntV G2, html2canvas, Lodash.\n\nkelune-crm-admin-editors.js \u2014 CodeMirror, juice.\n\nkelune-crm-admin.js (the application bundle) \u2014 Redux Toolkit, React Redux, React Router, React Flow, dnd kit, Axios, react-responsive.\n<\/code><\/pre>\n\n<p>Every package above is MIT licensed; the dependencies they pull in are MIT, ISC, BSD or 0BSD. All of those are compatible with this plugin's \"GPLv2 or later\" license. <code>assets\/admin\/package.json<\/code> declares the packages depended on directly, and <code>assets\/admin\/yarn.lock<\/code> pins the exact version installed for every package, including indirect ones such as AntV G2, html2canvas and Lodash; both files are published in the repository linked above.<\/p>\n\n<p>No third-party PHP libraries are included at all: the plugin has no PHP dependencies, and its own classes load through the hand-written <code>autoload.php<\/code> at the plugin root.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Kelune CRM works fully offline by default and stores all data in your own WordPress database. It connects to an external service only when you explicitly enable and configure that service, with one exception noted under Gravatar below. No data is ever sent to the plugin author.<\/p>\n\n<p><strong>SendGrid<\/strong>\nUsed to deliver email (campaigns, automations, and transactional mail) when you select SendGrid as your email provider and enter a SendGrid API key.\n- Data sent: message content, subject, and recipient\/sender email addresses. When you save the provider settings, only your API key is sent, to validate it against the SendGrid profile endpoint.\n- When sent: each time the plugin sends an email through this provider, and when you save the provider settings.\n- Service URL: https:\/\/api.sendgrid.com\n- Terms of Service: https:\/\/www.twilio.com\/en-us\/legal\/tos\n- Privacy Policy: https:\/\/www.twilio.com\/en-us\/legal\/privacy<\/p>\n\n<p><strong>Mailgun<\/strong>\nUsed to deliver email (campaigns, automations, and transactional mail) when you select Mailgun as your email provider and enter a Mailgun API key and sending domain.\n- Data sent: message content, subject, and recipient\/sender email addresses. When you save the provider settings, only your API key and sending domain are sent, to confirm the domain exists on your account.\n- When sent: each time the plugin sends an email through this provider, and when you save the provider settings.\n- Service URL: https:\/\/api.mailgun.net (or https:\/\/api.eu.mailgun.net if you select the EU region)\n- Terms of Service: https:\/\/www.mailgun.com\/legal\/terms\/\n- Privacy Policy: https:\/\/www.mailgun.com\/legal\/privacy-policy\/<\/p>\n\n<p><strong>Amazon SES<\/strong>\nUsed to deliver email (campaigns, automations, and transactional mail) when you select Amazon SES as your email provider and enter AWS credentials. No request is made to Amazon until you have selected SES and saved your credentials.\n- Data sent: the raw message \u2014 recipient\/sender addresses, subject, and content. Further calls send only your AWS credentials and no contact data: they read your account's sending quota and list the sender addresses your AWS account has verified.\n- When sent: each time the plugin sends an email through this provider; when you save the provider settings; and when you open the provider's details screen.\n- Service URL: https:\/\/email.{your-region}.amazonaws.com\/ \u2014 for example https:\/\/email.us-east-1.amazonaws.com\/\n- Terms of Service: https:\/\/aws.amazon.com\/service-terms\/\n- Privacy Policy: https:\/\/aws.amazon.com\/privacy\/<\/p>\n\n<p><strong>Gravatar<\/strong>\nUsed to display contact avatars when you enable the \"Use Gravatar service\" setting. Separately, and regardless of that setting, the dashboard greeting shows the logged-in WordPress user's own avatar through WordPress's built-in avatar system, which uses Gravatar by default; this is the same avatar WordPress already shows in the admin bar, and it follows the site-wide \"Show Avatars\" option under Settings &gt; Discussion.\n- Data sent: a SHA-256 hash of the email address, sent by the browser when the avatar image is loaded. With the setting disabled, no avatar URL is generated for contacts and nothing is sent.\n- When sent: when a contact avatar is rendered with the setting enabled, and when the dashboard greeting renders the logged-in user's avatar.\n- Service URL: https:\/\/www.gravatar.com\n- Terms of Service: https:\/\/wordpress.com\/tos\/\n- Privacy Policy: https:\/\/automattic.com\/privacy\/<\/p>\n\n<p><strong>SMTP (your own mail server)<\/strong>\nUsed to deliver email when you select SMTP as your email provider. This is not a fixed third-party service: the plugin connects only to the mail server host you enter yourself.\n- Data sent: message content, subject, and recipient\/sender email addresses, plus the SMTP credentials you configure.\n- When sent: each time the plugin sends an email through this provider.\n- Service URL: the SMTP host you configure\n- Terms \/ Privacy: governed by your own mail server provider<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New<\/strong>, search for \"Kelune CRM\", and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>. To install manually instead, upload the <code>kelune-crm<\/code> folder to <code>\/wp-content\/plugins\/<\/code> and activate it from the <strong>Plugins<\/strong> screen.<\/li>\n<li>Open <strong>Kelune CRM<\/strong> from the admin menu to configure your settings and add your first contacts.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20php%20version%20is%20required%3F\"><h3>What PHP version is required?<\/h3><\/dt>\n<dd><p>PHP 8.1 or higher.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20require%20any%20paid%20or%20external%20service%20to%20work%3F\"><h3>Does the plugin require any paid or external service to work?<\/h3><\/dt>\n<dd><p>No. Kelune CRM is fully functional on its own and works offline by default. External services (email providers, Gravatar for contact avatars) are optional and are only contacted after you enable and configure them. The one exception is the logged-in user's own avatar in the dashboard greeting, which WordPress loads through its standard avatar system. See the \"External services\" section.<\/p><\/dd>\n<dt id=\"which%20email%20providers%20are%20supported%3F\"><h3>Which email providers are supported?<\/h3><\/dt>\n<dd><p>SMTP, Amazon SES, Mailgun, and SendGrid. You can also use the default WordPress mailer with no configuration.<\/p><\/dd>\n<dt id=\"where%20is%20my%20contact%20data%20stored%3F\"><h3>Where is my contact data stored?<\/h3><\/dt>\n<dd><p>In your own WordPress database, in custom <code>kelune_crm_*<\/code> tables. Nothing is sent anywhere unless you enable an external service.<\/p><\/dd>\n<dt id=\"is%20any%20functionality%20locked%20behind%20a%20license%3F\"><h3>Is any functionality locked behind a license?<\/h3><\/dt>\n<dd><p>No. Everything shipped in this plugin is free and fully functional.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A complete WordPress CRM: manage contacts, send email campaigns, and automate follow-ups with a visual builder. Self-hosted and free.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349626","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=349626"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devitemsllc"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349626"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349626"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349626"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349626"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349626"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}