Flexie CRM
CRMConnect AI agents to Flexie CRM, a CRM and workflow automation platform with fully custom entities. Agents create contacts, leads, deals, and cases, create records in custom entities, add records to lists, and read the workflow definitions that act on them.
What This Integration Enables
Flexie CRM's premise is that no two businesses have the same object model, so it lets each workspace define its own records, fields, pipelines, and automations. That premise is honoured all the way down into the API. Create and update actions take a free-form data object of key and value pairs where the keys are field aliases defined on the object, and an account with custom fields uses its own aliases rather than a documented set. The default contact aliases include firstname, lastname, email, company, city, status, and source, but the reliable way to discover what a workspace actually uses is to call the matching Get action on an existing record and read the fields that come back. An agent working here is not operating against a fixed schema. It is operating against whatever this business decided its business looks like, which is the whole point of choosing Flexie.
The action surface is correspondingly wide: contacts, leads, accounts, deals, and cases each get list, get, create, update, and delete, with case replies on top, plus tasks with explicit Complete Task and Mark Task Incomplete controls, notes, emails, custom entities, users, and segmentation list membership. Search Records is the sharpest tool in the set. It posts structured filters where each filter carries a type from a defined vocabulary including boolean, number, text, select, selectIn, datetime, date, lookup and more, an alias naming the field, and a value object holding an operator from eq, neq, gt, gte, lt, lte, contains, not_contains, starts_with, ends_with, isNull, isNotNull, in, and notIn, together with the boolean flags strict, starts, and ends. That means selection happens at the source rather than in a downstream filter step. Flexie ships no triggers to FlowRunner, so agents poll the list actions, which take limit in the range five to one hundred, a zero based start offset, and orderBy with an orderByDir of ASC or DESC, with no cursor. Every workspace answers on its own subdomain, so the base host is set per connection. Deletes across contacts, leads, accounts, deals, cases, tasks, notes, and custom entities are permanent with no recovery, and Add Record to List and Remove Record from List cover the core objects while custom entity list membership uses a route this connector does not expose. Note that List Workflows and Get Workflow are read only: an agent can see what automations exist, and it can put a record into a segmentation list that Flexie's own workflows watch, but it cannot invoke a Flexie workflow directly.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Inbound leads that land with the workspace's own field names
Leads arrive from a web form and collect in Google Sheets. Before the first write, the agent calls Get Contact on a known record and inspects the returned fields to learn the aliases this workspace uses, because a business that renamed source to something meaningful to them will silently drop values written under the default. It then calls Search Records with a text filter on the email alias using the eq operator and strict set, so the match is exact rather than a substring. Rows with no match become Create Lead with the discovered aliases. Rows that match become Update Lead touching only genuinely new fields. Create Note records the campaign and landing page, and Create Task schedules the first outreach against the record, so the follow up exists before anyone opens the CRM.
A support case that answers itself where it can and escalates where it should not
A case is raised. The agent calls Get Case to read it and Get Case Replies to see the thread so far, then Get Contact and Get Account to load who is asking and what they pay for. For cases matching a known pattern with a documented answer, Add Case Reply posts the response and Complete Task closes the follow up. For anything touching billing, contractual terms, or a customer above a value threshold resolved from the account record, the agent writes what it found as a Create Note on the case, assigns it with Create Task, and posts the summary to the support lead in Slack. The case is never closed by the agent in that branch. Mark Task Incomplete exists precisely because reopening is a normal part of support work, and an automation that closes optimistically makes that path busier, not lighter.
Pipeline state that keeps segmentation honest
On a schedule, the agent calls Search Records against deals with a datetime filter on the expected close field using lte, and a select filter on stage, to find deals closing this week. It joins each one to its account with Get Account and its owner with Get User, appends the set to a forecast sheet for the sales team, and flags deals whose amount changed since the last run. Where a deal has moved to a stage that should change the customer's marketing treatment, the agent prepares an Add Record to List or Remove Record from List call rather than executing it, because putting a record into a Flexie segmentation list is the point at which Flexie's own marketing and lifecycle automations start acting on that person.
Human-in-Loop Highlight
Send Email is the action on this connector where the agent genuinely cannot see what it is about to do. It does not take a recipient list. It dispatches a defined email by its numeric id to that email's configured recipients, which live inside Flexie and are not visible in the call, and it reports sentCount and any failedRecipients only after the send has already happened. So the entire blast radius of the operation is decided by a number, and a number that points at the wrong template reaches an audience nobody chose, in a voice nobody reviewed, with no recall. This is not a hypothetical class of mistake. Defined emails accumulate over years, ids get reused in notes and briefs, and a renewal notice and a win-back campaign sit next to each other in the same list. The same reasoning applies to Add Record to List, which drops a record into a segmentation list that Flexie's own lifecycle automations are watching, so the agent can start a sequence it has no ability to stop. The gate therefore sits on the audience, not on the copy. The agent assembles the send, calls Get Email to read back the definition it is about to dispatch, and posts to the marketing owner: "Ready to dispatch defined email 4127, subject line 'Your renewal is coming up', to its configured recipients. I selected this because 63 deals moved to the renewal stage this week. I cannot read the configured recipient list through the API, so please confirm 4127 is the renewal notice and not the win-back email, and that its recipient configuration is the renewal segment. Separately, 12 of those 63 accounts have an open case flagged billing. Add all 63 to the renewal list, or hold the 12?" The owner answers both questions in one reply. Only then does the agent call Send Email with that id and Add Record to List for the approved set. This is the human-in-the-loop moment that exists because the API deliberately keeps the recipient list inside Flexie, and the honest response to a capability you cannot inspect is to ask the person who can.
Agent Capabilities
54 actionsContacts
5- List Contacts Returns contacts with `limit` between five and one hundred, a zero based `start` offset, and `orderBy` with `orderByDir`. There is no cursor, so paging advances `start`.
- Get Contact Retrieves a single contact with its full field set. Also the practical way to discover the field aliases a workspace uses before writing to it.
- Create Contact Creates a contact from a free-form data object keyed by field alias. Used when a form, a spreadsheet, or another system introduces someone new.
- Update Contact Updates a contact by alias. Used to enrich a record without disturbing fields another system owns.
- Delete Contact Deletes a contact permanently with no recovery. Reserved for sets a person has reviewed.
Leads
5- List Leads Returns leads with limit, start, and ordering. Used for pipeline sweeps and coverage reporting.
- Get Lead Retrieves a single lead. Used to confirm current state before a qualification decision is written.
- Create Lead Creates a lead from an alias keyed data object. Used as the entry point for inbound demand.
- Update Lead Updates a lead, including its status alias. Used to reflect qualification outcomes decided elsewhere.
- Delete Lead Deletes a lead permanently. No undo, so it runs only on an approved set.
Accounts
5- List Accounts Returns accounts with paging and ordering. Used to resolve customer coverage and to join deals to companies.
- Get Account Retrieves a single account. Used to load contract value, tier, or any custom field that should influence routing.
- Create Account Creates an account from an alias keyed data object. Used when a new company enters the workspace.
- Update Account Updates an account. Used to keep company data aligned with a billing or ERP source of truth.
- Delete Account Deletes an account permanently. Held behind human review because related records lose their anchor.
Deals
5- List Deals Returns deals with paging and ordering. Used for forecast reporting and stalled deal detection.
- Get Deal Retrieves a single deal with its stage and amount. Used to confirm state before a move.
- Create Deal Creates a deal from an alias keyed data object. Used when a qualified opportunity opens.
- Update Deal Updates a deal, including stage and amount. Used to keep the pipeline in step with quoting or billing.
- Delete Deal Deletes a deal permanently. Reserved for reviewed cleanup.
Cases
7- List Cases Returns cases with paging and ordering. Used for backlog and ageing reporting.
- Get Case Retrieves a single case. Used to load the issue before any reply is composed.
- Create Case Creates a case from an alias keyed data object. Used to raise support work from an external signal.
- Update Case Updates a case, including its status alias. Used to reflect progress made in another system.
- Delete Case Deletes a case permanently, taking its history with it.
- Get Case Replies Returns the reply thread on a case. Used to read what has already been said before adding anything.
- Add Case Reply Adds a reply to a case. This is customer visible, so agent written replies are confined to patterns with a documented answer.
Records
1- Search Records Posts structured multi-condition filters, each with a `type` from the defined vocabulary, an `alias` naming the field, and a `value` object carrying an `operator` and `input`, plus the `strict`, `starts`, and `ends` flags. This is how selection happens at the source rather than in a downstream filter.
Tasks
7- List Tasks Returns tasks with paging and ordering. Used for follow up coverage and overdue detection.
- Get Task Retrieves a single task. Used to confirm assignment and due date before acting.
- Create Task Creates a task. Used to make a follow up concrete as part of the run that identified it.
- Update Task Updates a task, including assignment and due date.
- Delete Task Deletes a task permanently.
- Complete Task Marks a task complete. Used to close out follow ups the flow itself satisfied.
- Mark Task Incomplete Reopens a completed task. Used when a downstream check shows the work was not actually finished.
Notes
4- Create Note Creates a note against a record. Used to preserve why an automated decision was made where a person will later read it.
- Get Note Retrieves a single note.
- Update Note Edits an existing note without removing it from the record's history.
- Delete Note Deletes a note permanently.
Emails
3- List Emails Returns the defined emails in the workspace. Used to see what can be dispatched before choosing an id.
- Get Email Retrieves a single defined email by id. Used to read back exactly which email an agent is proposing to send before a person approves it.
- Send Email Dispatches a defined email by its numeric id to that email's configured recipients, returning `sentCount` and any `failedRecipients`. It takes no ad-hoc recipient list, so the audience is set inside Flexie and this action runs only on human approval.
Custom Entities
5- List Custom Entities Returns records from a custom entity defined in the workspace. Used to reach bespoke objects no fixed model would cover.
- Get Custom Entity Retrieves a single custom entity record.
- Create Custom Entity Creates a custom entity record from an alias keyed data object.
- Update Custom Entity Updates a custom entity record.
- Delete Custom Entity Deletes a custom entity record permanently.
Workflows
2- List Workflows Returns the workflows defined in the workspace. Read only: it shows what automations exist so a flow can reason about them, and does not run them.
- Get Workflow Retrieves a single workflow definition. Read only, used to understand what a Flexie automation will do to a record before putting that record in its path.
Users
3- List Users Returns the users in the workspace. Used to resolve owners and assignees.
- Get User Retrieves a single user. Used to attach a real name to a routing decision or a report.
- Get Current User Returns the user the connection is authenticated as. Used as a preflight check on the connection and its permissions.
Lists
2- Add Record to List Adds a Contact, Lead, Account, Deal, or Case to a segmentation list. Because Flexie's own marketing and lifecycle automations act on list membership, this is a write with downstream consequences and it runs on an approved audience.
- Remove Record from List Removes a Contact, Lead, Account, Deal, or Case from a segmentation list, which also removes it from whatever treatment that list drives.
Frequently Asked Questions
What can FlowRunner do with Flexie CRM?
FlowRunner agents can run List Contacts, Get Contact, and Create Contact in Flexie CRM, plus 51 more actions.
Does connecting Flexie CRM to FlowRunner require OAuth?
No. Flexie CRM connects to FlowRunner with an API key, no OAuth flow required.
Can Flexie CRM trigger a FlowRunner workflow automatically?
Flexie CRM doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Flexie CRM
$100 in credits. No card required. Connect in minutes.