Your AI Connector Docs

FluentCRM

Who is this for? Businesses that keep their email list in FluentCRM on their own WordPress site, and want conversations to feed it. If you don’t use FluentCRM, you can skip this page.

Use a different CRM or email tool? Anything with an API can still be connected: see Connecting a Tool We Do Not List.

FluentCRM is a CRM and email marketing plugin that lives inside WordPress: contacts, tags, lists and the campaigns you send them. Connecting it to Your AI Connector gives your automations steps that write into it, so a new WhatsApp lead becomes a FluentCRM contact with the right tag on it, and the email sequence you already built takes over from there. No exporting, no copy and paste, no waiting until Friday.

Nothing is installed on your WordPress site. You connect your own site with your own login details, and we call the API FluentCRM already exposes.

Availability: Automations is available on every account. It’s already in your sidebar, and there’s nothing to enable or request.


What You Need

FluentCRM rides on the WordPress REST API, so it takes exactly the same details as the WordPress connection:

  • The WordPress site FluentCRM runs on, reachable over https, on WordPress 5.6 or newer.
  • Pretty permalinks switched on (Settings → Permalinks, anything other than “Plain”), which is what makes the /wp-json/ address work.
  • An application password for the WordPress user the automation should act as: Users → Profile → Application Passwords → Add New. WordPress shows it once, in blocks separated by spaces. Copy it with the spaces.

That user needs to be allowed to manage FluentCRM in WordPress. Your real login password is never used, and deleting the application password later revokes exactly this connection.


Connecting FluentCRM

You connect from inside an automation, the first time you use a FluentCRM step.

  1. Open Automations in the sidebar (under the AI Studio group) and open or create an automation.
  2. Add a step and search for FluentCRM in the step picker.
  3. Pick the action you want. The step asks you to connect first.
  4. Fill in the three fields:
    • Site URL is the address of the WordPress site FluentCRM runs on, starting with https://.
    • WordPress username is the username that user signs in with, not their email.
    • Application password is the password you created above, pasted with its spaces.
  5. Click connect.

We check the details against your site before saving anything, by reading one contact back out of FluentCRM. Wrong details, or a site where /wp-json/ doesn’t resolve, are refused on screen with the reason. Your application password is stored encrypted and never shown back to you.


Tags and Lists Are Given As IDs

This is the one thing to know before you build anything. Every field that takes tags or lists wants their ID numbers, comma separated, not their names. 1, 2 works; Newsletter, VIP does not, and the editor flags it under the field. An id that only turns out wrong when the automation runs (for example one that came from an earlier step) stops the step with an error, instead of quietly running without that tag.

You’ll find the numbers in FluentCRM: open Tags or Lists in the FluentCRM menu, and each row’s id is in the address bar when you open it. Write down the handful you plan to use once, and you’re done.


The Actions

Each action is a step on the automation canvas, and every field accepts data from earlier steps with the usual insert-data buttons.

Create or update contact

Adds a contact, or updates the one that already has this email. Sending the same email twice updates them rather than failing, so you can run this on every new lead without checking first.

  • Email is the contact’s email address. Required. Usually the contact’s email from the trigger.
  • First name, Last name and Phone are optional.
  • Status is picked from a list: Subscribed, Pending, Unsubscribed or Transactional. Required, because FluentCRM needs one, and it applies to existing contacts too: Subscribed re-subscribes someone who had unsubscribed, so pick it only when the person asked to join. Pending sends FluentCRM’s double opt-in email.
  • Tag IDs are tags to put on them, comma separated. Optional.
  • List IDs are lists to add them to, comma separated. Optional.

Find contact by email

Looks a contact up by email address and returns their id, their tags and their lists.

  • Email is the address to look up. Required.

Its output is what the steps below need, because they work on a contact id.

Add tags to contact

Attaches one or more tags to a contact who already exists.

  • Contact ID is which contact. Required. Normally taken from a Find contact by email step earlier in the automation.
  • Email is the contact’s email. Required, because FluentCRM asks for the email on every update.
  • Tag IDs are the tags to attach, comma separated. Required.
  • Change status is optional. Left on Keep current status, the contact’s status is not touched, so tagging someone who unsubscribed does not subscribe them again.

Remove tags from contact

The same fields, taking tags off instead of putting them on.

Add contact to lists

  • Contact ID, Email and List IDs (comma separated), with the same optional Change status.

An Example Automation

Every new WhatsApp lead lands in FluentCRM, tagged by where they came from.

  1. Trigger: incoming message from a new contact.
  2. Create or update contact, with the contact’s email, first name and phone from the trigger, and the List ID of your main list.
  3. Add tags to contact is not needed here, because step 2 can carry the Tag IDs already. Use it when the tag comes later in the conversation instead.

And the version where the tag comes later, which is the more useful one:

  1. Trigger: a tag is added to the contact, say asked about pricing, by your AI agent.
  2. Find contact by email, with the contact’s email.
  3. Add tags to contact, using the id from step 2, the same email, and the FluentCRM tag id for your pricing sequence.

FluentCRM’s own automation then sends the email sequence that tag starts. The conversation happens on WhatsApp, the nurture happens by email, and nobody moves a row between them by hand.


Good to Know

  • Steps that take a contact ID come after a Find step. That is the normal shape: find the contact, then act on the id the find step returned.
  • Outputs travel forward. Everything an action returns is available to later steps as variables.
  • Ids, not names, for every tag and list field. A name in that field is flagged in the editor and stops the step when it runs.
  • Some hosts strip the Authorization header before WordPress sees it, which makes a correct application password look wrong. If your details are definitely right and the connection is still refused, that is the thing to ask your host.
  • There is no trigger that watches FluentCRM. Nothing polls it for changes. To have FluentCRM start an automation, add a Webhook trigger to the automation and point a FluentCRM outgoing webhook at the address it gives you.
  • Anything not on the list above can still be done with the HTTP request step.

Next Steps