FluentCRM 3.0 RC-2 is here π
Another step closer to the stable 3.0 release.
Since RC-1, we've been working through the feedback and issues you reported. This one brings a couple of nice new additions along with a solid round of fixes and polish.
What's new in RC-2
- Frontend Portal: You can now give your contacts a clean frontend view to manage their own profile and preferences. This has been a long-requested feature, and we're excited to finally ship it. You can enable that from FluentCRM -> Addons
- New Bulk Selection UX/UI: Selecting contacts and emails, and running bulk actions on them, feels a lot better now.
- Floating action bar for bulk actions in Contacts and Emails, so your actions follow you as you scroll.
- Contact pagination up to 600 per page: If you manage large lists, this one makes a real difference.
Fixes
- Synced Pattern issue
- Pattern Edit issue
- Email Global Style issue
- RTL issues
- Automation Benchmark issues
- More UI fixes across the app
Improvements
- Better bounce handling
- Other small improvements and bug fixes throughout
How to install the latest RC
- Download & InstallΒ Fluent Toolkit addon
- Activate the plugin, then go toΒ Fluent ToolkitΒ and install/updateΒ FluentCRM BetaΒ andΒ FluentCRM Pro Beta
- Thatβs it.
How you can help
If you can, please install RC-2 and run it against your real workflows. The more edge cases we catch now, the cleaner the stable 3.0 release will be.
Drop bugs, feedback, or general thoughts right here in this space. We read everything.
Is the front-end portal only for admins for managing the whole of CRM? At least that's how it behaves now. Normal users can't access it to manage their profile at is it now.
Barnabas ChrisΒ Yes that's right. Only for people who have access to the fluent-crm admin.
Shahjahan JewelΒ So the front end portal is only for admins?
That's different from what you said in the post:
Frontend Portal: You can now give your contacts a clean frontend view to manage their own profile and preferences.
Curtis BinghamΒ That's exactly what I'm looking for... something for contacts to manage their own profile information. I tried the new frontend portal with a standard contact and it is showing as access denied.
There you go too fast again. I'm trying to take screenshots for an updated article and now there's a new revision. All good stuff, but I can't keep up. I'm loading up contacts with Mockaroo to put it through some paces.
The 600 contacts per page and the option to select all available contacts is much better. Thank you.

Barnabas ChrisΒ It's faster, too. I selected 600 contacts for a bulk Remove Tag operation. On my small dev server (2 GB RAM, 1 cVPU), it completed the process in 6.45 seconds.
William BeemΒ That's not bad at all.
Barnabas ChrisΒ Yeah, I was pleased to see a write operation on a small server that completed if you count " One Mississippi, Two Mississippi, Three Mississippi" slowly.
You can see the spikes when I tested. The small spike was adding a tag to 600 contacts and the larger spike was removing the tag. It seemed much faster to add. For a little podunk server like this one, I'm OK with it. I expect the same operation would be snappier on a production server.
William BeemΒ Very usefull graph. A larger server with more cores should handle it easier. I just hope that if you try to add/remove a tag from a few thousand contacts, the request will be processed in batches. Othewise the server might crash.
Barnabas ChrisΒ I'm sure this would go much faster on my production server. I'm running three dev sites on this little server, hence the RAM use. This test case was for 600 selected from a page full of contacts. If you were going to run this four thousands, it would go through an automation. That likely changes the operational test case.
Sorry to ask what may be a stupid question for in the current live version, we can't search by a name without it pulling up everyone under the son that has something close to that name. This is a big problem on a list that is 70k large. Hoping that will be improved in the release. Maybe it already is.
Cynthia AllenΒ the general search actually covers the first name, last name, and email address of the contact and shows you. Can you give me anything specific, like what are you searching for, which results you are getting, something like that?
Cynthia AllenΒ This is very annoying indeed. You can do a search of "James Martin" and instead of bringing up contacts with the exact name and surname, it brings up all the names that include James or Martin in their name... The Beta version still behaves in the same way. Shahjahan JewelΒ

Barnabas ChrisΒ So this is what happening. So when you search for James Hey, we split the words and search for first_name LIKE James or Last name like Hey. I will take a look if we can improve this.
Shahjahan JewelΒ A more ridicoulous example. It brings up all the names with "al" in it, despite searching for "James Al"

Shahjahan JewelΒ Thanks π
Shahjahan JewelΒ can you default to show high confidence full string results first, followed by low confidence results with OR terms?
Curtis BinghamΒ we will work on it. Maybe we will make the search keyword based. Letβs see
Shahjahan JewelΒ Thanks. It's a bear to find people right now by email address only most of them don't know the email they signed up with.
Shahjahan JewelΒ I lodged a ticket the other day (domain @tourismtribe) this regarding.
OMG I need to check out this frontend !
Too good!!
Love your work Ninjas!!!
Luke HubCoΒ Yess, can i be curieus why its needed? ;)
Frontend portal - Yesss!!
Shahjahan JewelΒ Can you please take a look at the mobile UI for FluentCRM as when I try to access it on my mobile it doesn't load especially the settings page along with some other pages. I don't know if it's my phone (android) or something with FluentCRM
Sifiso MadwayiΒ Thanks for reporting, I will take a look.
Shahjahan Jewel Thanks, andΒ is there any available documentation on creating a custom SMS integration?
Sifiso MadwayiΒ Creating custom adaptar will be super easy. We will publish that next week.
Shahjahan JewelΒ Is it possible to add URL Shortener or reflector how smartlinks work inside SMS's especially for sending links via SMS.
Use case: You have a sale on your store (FluentCart), you paste in your copy + product link or product id and a unique trackable link is created (can also be used in email) to track sales attributed from that link. Used in a bulk campaign message to customers
Does this version fix the issue of resumed campaigns only sending out footer without body?
In b8, I sent emails to 900 customers. My ISP blocked me at 800. I later hit Resume (I think that was the button title), and it then sent out 100 messages with ONLY the footer--no body. I got 50 messages from customers asking where the rest of the message was.
Curtis BinghamΒ that should not happen. Maybe something went wrong. We just sent a campaign to around 10K people with this RC-2. Also you can always send test email before sending the campaign.
Shahjahan JewelΒ thanks. The first 800 sent perfectly. It was the RESUME operation that failed.
I don't know how to create and test a resume after a server throttle without pissing off customers and ISP so I can't easily recreate it.
I'm happy to provide access if your devs can scan logs.
Curtis BinghamΒ That's a good context. We will test it again. Also I think we will add a safe gaurd about if we don't get any body then we will skip the email.
Ran into this error when updating to RC 2 on the Pro add-on, atal error: Uncaught Error: Class "FluentCampaign\App\Services\Integrations\WooCommerce\WooSubscriptionCancelledTrigger" not found in /home/runcloud/webapps/app-kautzer/wp-content/plugins/fluentcampaign-pro/app/Services/Integrations/WooCommerce/WooInit.php:81 Stack trace: #0 /home/runcloud/webapps/app-kautzer/wp-content/plugins/fluentcampaign-pro/app/Services/Integrations/Integrations.php(27): FluentCampaign\App\Services\Integrations\WooCommerce\WooInit->init() #1 /home/runcloud/webapps/app-kautzer/wp-content/plugins/fluentcampaign-pro/app/Hooks/Handlers/IntegrationHandler.php(49): FluentCampaign\App\Services\Integrations\Integrations->init() #2 /home/runcloud/webapps/app-kautzer/wp-content/plugins/fluentcampaign-pro/app/Hooks/Handlers/IntegrationHandler.php(39): FluentCampaign\App\Hooks\Handlers\IntegrationHandler->initAddons() #3 /home/runcloud/webapps/app-kautzer/wp-includes/class-wp-hook.php(341): FluentCampaign\App\Hooks\Handlers\IntegrationHandler->{closure:FluentCampaign\App\Hooks\Handlers\IntegrationHandler::init():37}() #4 /home/runcloud/webapps/app-kautzer/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters() #5 /home/runcloud/webapps/app-kautzer/wp-includes/plugin.php(522): WP_Hook->do_action() #6 /home/runcloud/webapps/app-kautzer/wp-settings.php(775): do_action() #7 /home/runcloud/webapps/app-kautzer/wp-config.php(79): require_once('...') #8 /home/runcloud/webapps/app-kautzer/wp-load.php(50): require_once('...') #9 /home/runcloud/webapps/app-kautzer/wp-admin/admin.php(35): require_once('...') #10 {main} thrown in /home/runcloud/webapps/app-kautzer/wp-content/plugins/fluentcampaign-pro/app/Services/Integrations/WooCommerce/WooInit.php on line 81 but was able to fix the error.
James BertoneΒ thanks for reporting. Masiur Rahman SiddikiΒ can you take a look?
James BertoneΒ The issue has been fixed in FluentCRM Pro RC-2.1
Shahjahan JewelΒ K thanks.
The Fluent ecosystem needs a full portal solution with the ability to upload files and create folders. With the appropriate permissions. This can be another addon/Plugin
. Good work, guys. much appreciated,
#Request
Can we also have OpenRouter as a Provider along side the available providers (OpenAI, Claude & Gemini) for AI Writing Assistant in the next update
Sifiso MadwayiΒ We are thinking to refactor that and use the WP 7.0 AI connector.
Shahjahan JewelΒ so this will also allow us to select the provider we which to use or will it be just 1 provider for all?
Sifiso MadwayiΒ Technically, we will have only one provider for SMS. I'm not sure how the multiple providers will work, but maybe you can just use one provider for some time. If you want to switch, you can just deactivate it and activate another provider.
Shahjahan JewelΒ so the connector will give use the option to change providers? If so the it would be great to reflector it and also add OpenRouter.
Sifiso Madwayi What was 7.0 adding native, AI adapter, so you can connect any AI LLMs API, and plug-ins can use that AI API.
Shahjahan JewelΒ seems like the "add to automation" button in the contact overview still does not work...it doesn't show any automation
Manuel MΓΌllerΒ Thanks, We will take a look.
Shahjahan JewelΒ V3.0RC2 is still breaking compatibility with archived 2.x campaigns here. When I duplicate a healthy campaign created with 2.x, it corrupts many blocks, and most of them are not recoverable (empty after recovery attempt).
I have reported this issue from the very first 3.0 beta one month ago in ticket #154432, and with each beta or RC since, and it's still not fixed.
Please could take a look? 3.0 is definitely not shippable in this condition, as we wouldn't be able to duplicate an exisiting campaign without losing a lot of data.
[EDIT: I exported the campaigns and added them to the ticket (original from 2.0, original after update to 3.0 RC2 and after duplication by 3.0 RC2) so you can compare. I also reported an error in the debug.log that happened during installation of RC2.1.]
Thanks!
Shahjahan JewelΒ any chance that "Nested Y/N conditionals" are going to be added and "Waiting conditions" improved? Definitely need theese two, specially things like "Wait until TAG IS APPLIED" or "Wait until JOINED SPECIFIC LIST".
Pleeaaaaassssseeeee!!! π₯Ή
"Definitely need theese two, specially things like "Wait until TAG IS APPLIED" or "Wait until JOINED SPECIFIC LIST"."
-> We already have those, it's called Goals.
Shahjahan JewelΒ I see that goals can be used only outside of the conditional Y/N though...
My typical use case would be something like:
List includes "Community"
> NO --> Wait until list includes "Community" --> (next step)
> YES -----------------------------------------------> (next step)
I had loads of theese in my AC account that I can't replicate
pls add something for this! https://community.wpmanageninja.com/portal/space/fluent-crm/post/heads-up-for-eu-users-italian-dpa-rulin
Edoardo GuzziΒ version 3, we have added tracking configurations.

So you can control how you want to track or completely disable it.
Shahjahan Jewel thx a lot 1 step forward but is not all the user need to be deactivate the consent for tracking so we need also add consent for tracking and the user need to revoke the consent
Edoardo GuzziΒ I replied to your main thread.
Shahjahan JewelΒ I see boards missing from contact?

These are the issues that are still unresolved in FCRM 3.0RC2 from my perspective...
https://community.wpmanageninja.com/portal/space/fluent-crm/post/fcrm-3-0-improve-automations-list
I saw that the Synced Pattern issue had been fixed, but I've installed FluentCRM Pro V3 - RC.2.1 and I'm still finding that if I check the Synced Pattern checkbox, save then reopen a pattern, the checkbox is unchecked...
Is SMS module working in RC2? The select provider dropdown has no data...
Shmuel SpiegelmanΒ yes - i am using it with twilio.
Is autosaving during email editing and ctrl/cmd+z undo a part of the editor revamp? The lack of autosave has caused quite a few complaints from clients that have accidentally lost work.
Have custom fields been fixed to display and use? In the live version, we have to download a spreadsheet to see the custom field info. Because of that it is rather unusable.
Where can I view some demo for the Frontend Portal? Itβs the PRO version, so I canβt install it.