PrimoCRM is a CRM and email-marketing system that runs entirely inside your WordPress dashboard. No third-party SaaS, no per-contact pricing, no data leaving your server. Your contacts, campaigns and automations are yours, stored in your own database. Manage your audience, send broadcast campaigns,
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.2 and PHP 7.4.
SourceWordPress plugins · Oct 20, 2026
01 / Source details
About this tool.
PrimoCRM is a CRM and email-marketing system that runs entirely inside your WordPress dashboard. No third-party SaaS, no per-contact pricing, no data leaving your server. Your contacts, campaigns and automations are yours, stored in your own database.
Manage your audience, send broadcast campaigns, build drip sequences, capture leads with forms, and wire it all together with a visual, no-code automation builder. Sending runs through a background queue, so large sends are batched and throttled instead of timing out on a single request.
Everything you get for free
Contact management , unlimited contacts, lists, tags and segments. Import and export your audience as CSV.
Email campaigns , compose and send broadcast newsletters to any list or segment, with open and click tracking.
Gutenberg email builder , write and design emails in the WordPress block editor you already know: headings, images, buttons, columns, tables, quotes and more, turned into email-safe HTML.
A background sending engine , emails are queued and sent in throttled background batches via WP-Cron, with a self-healing queue health check so a stalled send never silently drops mail.
Email sequences , build automated drip series that nurture contacts over days or weeks.
Visual automations , a drag-and-drop builder with triggers (form submitted, tag applied, contact created, and more) and actions (send email, add note, add/remove tag, add to list, and more).
Lead-capture forms , build native forms that create or update contacts and fire your automations.
Email templates , save and reuse branded templates with merge tags / smart codes (business name, unsubscribe link, manage-subscription link, and more).
Dashboard analytics , contact growth, send volume and engagement over time.
Send through PHP Mail or your own SMTP , use the WordPress default mailer or point PrimoCRM at any custom SMTP host.
One-click migration from FluentCRM , bring your existing contacts, lists and tags across.
No usage caps , build as many automations, sequences, forms and templates as you need. Nothing is metered.
Privacy-first uninstall , deleting the plugin never erases your CRM data unless you explicitly opt in (see the FAQ).
PrimoCRM Pro
PrimoCRM Pro adds:
Drag-and-drop visual email builder for responsive HTML emails.
A/B subject-line testing for campaigns, with automatic or manual winner selection.
Resend to non-openers , send a campaign again, optionally with a new subject line, to the contacts who never opened it.
Premium SMTP providers , Amazon SES, SendGrid, Mailgun, Postmark and Brevo, with bounce handling.
WooCommerce pack , abandoned cart recovery, unique expiring coupons for each contact, and WooCommerce Subscriptions triggers.
70+ automation triggers and 20 actions in total , adding WooCommerce, LearnDash, TutorLMS, LearnPress, LifterLMS, AcademyLMS, Easy Digital Downloads, SureCart and the major form plugins (Gravity Forms, Elementor, Ninja Forms, Formidable, JetFormBuilder), plus actions such as webhooks, conditions, coupons and WordPress user management.
REST API keys & webhooks , integrate PrimoCRM with the rest of your stack, both inbound and outbound.
Advanced reports , detailed campaign, list and engagement breakdowns beyond the free dashboard.
The AI plan adds:
AI Action , write email copy, score leads (0 to 100) and summarize contacts inside your automations, with your own Claude or OpenAI key.
The Agency plan adds:
White-label , rebrand PrimoCRM as your own product.
Team management , give CRM managers access with roles and permissions.
Unlimited site licenses and priority support.
External services
PrimoCRM does not phone home. It sends no usage data, no analytics and no contact data to us or to anyone else, and it works with no external connection at all.
The plugin can optionally connect to the two anti-spam services below. Both are disabled by default. Neither is contacted until you enter that provider’s keys yourself in PrimoCRM → Settings → Spam Protection, and disconnecting is simply a matter of clearing those keys.
Cloudflare Turnstile (optional, off by default)
Used to protect your public PrimoCRM forms from spam and bot submissions, if you choose to enable it.
When it is enabled, and only then:
Visitors loading a page containing a PrimoCRM form also load the Turnstile widget script from https://challenges.cloudflare.com/turnstile/v0/api.js . As with any script, the visitor’s browser exposes their IP address and user agent to Cloudflare, and Cloudflare uses signals from the browser to decide whether the visitor is human.
When that form is submitted, your server sends the challenge token from the widget, your Turnstile secret key, and the submitting visitor’s IP address to https://challenges.cloudflare.com/turnstile/v0/siteverify to confirm the challenge was passed.
No other form data, and no contact or CRM data, is sent to Cloudflare.
This service is provided by Cloudflare, Inc.: Terms of Service , Privacy Policy .
Google reCAPTCHA (optional, off by default)
An alternative anti-spam option for your public PrimoCRM forms, if you choose to enable it instead.
When it is enabled, and only then:
Visitors loading a page containing a PrimoCRM form also load the reCAPTCHA script from https://www.google.com/recaptcha/api.js . As with any script, the visitor’s browser exposes their IP address and user agent to Google, and Google collects browser and interaction signals to score the visitor.
When that form is submitted, your server sends the reCAPTCHA response token, your reCAPTCHA secret key, and the submitting visitor’s IP address to https://www.google.com/recaptcha/api/siteverify to verify the response.
No other form data, and no contact or CRM data, is sent to Google.
This service is provided by Google LLC: Terms of Service , Privacy Policy .
If you enable either service, remember that your own site’s privacy policy should mention it, since the visitor’s IP address is shared with a third party.
Source code and build process
PrimoCRM’s admin interface is a React application. The files in assets/dist/ and assets/css/ are compiled, production-mode webpack output. The complete, unminified, human-readable source they are built from ships inside this plugin:
src/admin/ , the React admin application (JSX) and its SCSS stylesheets
src/public/ and src/frontend/ , the public-facing form scripts and styles
webpack.config.js and package.json , the build configuration and exact dependency versions
To rebuild every compiled asset from that source, run the following from the plugin directory:
npm install npm run build
That regenerates assets/dist/*.js , assets/js/primo-forms.js , assets/css/admin.css and assets/css/primo-forms.css exactly as shipped. npm run dev runs the same build in watch/development mode.
The remaining stylesheets in assets/css/ and assets/js/ are plain, unminified, hand-written CSS and JavaScript with no build step: they are already the source.
Third-party libraries bundled into the compiled output are MIT licensed (React, React Router, Chart.js, dnd-kit, flatpickr, react-icons, xyflow); their copyright banners are preserved in the accompanying .LICENSE.txt files. Two of the icons react-icons supplies come from sets under other GPL-compatible licences: the crown from Font Awesome Free (CC BY 4.0) and the send icon from Remix Icon (Apache 2.0). flatpickr is additionally vendored, unmodified, at assets/vendor/flatpickr/ with its licence, and the Inter font at assets/vendor/inter/ is under the SIL Open Font License 1.1, included beside it.
See it in action
Screenshots & previews.
The PrimoCRM dashboard, audience growth, send volume and engagement at a glance.Contact management with lists, tags and segments.The campaign composer, with the email designed in the Gutenberg block editor.The visual automation builder, triggers and actions on a drag-and-drop canvas.Email sequences for automated drip nurturing.Settings, sending method, business details and the opt-in data-deletion control.PrimoCRM Pro: the drag-and-drop visual email builder.PrimoCRM Pro: A/B subject-line testing, with the winner sent to the rest of the list automatically.PrimoCRM Pro, AI plan: an AI Action scores each lead, and the automation branches on the score.PrimoCRM Pro: advanced email reports.PrimoCRM Pro: WooCommerce abandoned cart recovery, and the revenue it won back.PrimoCRM Pro, Agency plan: white-label the CRM with your own name and logo.
02 / Source details
Getting started.
01Upload the primocrm folder to /wp-content/plugins/ , or install it directly from Plugins → Add New in your dashboard.
02Activate the plugin through the Plugins menu in WordPress.
03Open PrimoCRM in the admin sidebar to reach the dashboard.
04Visit PrimoCRM → Settings to set your business name, address and email footer, and to choose how PrimoCRM sends mail (PHP Mail or custom SMTP).
05Create a list, add or import contacts, and send your first campaign.
PrimoCRM uses WP-Cron for background sending. On high-traffic sites WP-Cron runs reliably on its own; on low-traffic sites consider configuring a real server cron to hit wp-cron.php so queued emails always go out on schedule. Settings → System Status shows the live health of the sending engine, including whether cron is running reliably.
For best performance on large contact databases, PrimoCRM recommends MySQL 5.7+ or MariaDB 10.2+.
03 / Source details
Frequently asked questions.
Does deleting the plugin delete my contacts?
No, not by default. PrimoCRM is safe by default: deactivating or deleting the plugin leaves all your tables, contacts and settings untouched. If you genuinely want a clean wipe, enable Settings → Email Settings → “Delete all PrimoCRM data when the plugin is uninstalled” before you delete the plugin. Only then will uninstalling drop PrimoCRM’s tables and options. Its scheduled background events are removed either way, since they are not data. On multisite this is handled per site.
Where is my data stored?
In your own WordPress database, in tables prefixed with wp_primocrm_ (matching your site’s table prefix). Nothing is sent to an external service. If you use a premium SMTP provider in Pro, outgoing mail is delivered through that provider, as you’d expect.
Will large campaigns time out?
No. Campaigns are queued and sent in small throttled batches through the background engine, with a periodic queue health check that recovers stalled sends. You can keep working while a campaign goes out.
How fast does PrimoCRM send, and can I send to a large list?
That depends on your sending method. Shared hosts typically cap PHP mail at a few hundred emails per hour, so PrimoCRM defaults to a safe hourly rate there and spreads big sends out automatically — the queue keeps working until every email is delivered. If you connect your own SMTP service (or a premium provider like Amazon SES or SendGrid via Pro), raise or remove the hourly limit in Settings → SMTP and PrimoCRM will send at full speed. For lists in the tens of thousands, a dedicated SMTP/ESP service is strongly recommended — both for speed and for deliverability.
How do contacts unsubscribe?
Every email includes unsubscribe and manage-subscription links via merge tags in your footer. Unsubscribes are recorded against the contact and respected on all future sends.
Can I move over from FluentCRM?
Yes. PrimoCRM includes a built-in migration tool that imports your FluentCRM contacts, lists and tags. It’s part of the free plugin.
Do I need Pro?
No. The free plugin is a complete CRM and email-marketing system. Pro adds A/B testing, a visual email builder, premium SMTP providers, the REST API and webhooks, advanced reporting, and 50+ e-commerce/LMS/form automation triggers, but it’s entirely optional.
Is PrimoCRM translation-ready?
Partly. Everything PrimoCRM prints from PHP, including its emails and public pages, uses the primocrm text domain, and a translation template ships in /languages/primocrm.pot . The React admin screens are English-only in this release.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati