NectarCRM
CRMConnect AI agents to NectarCRM, a Brazilian B2B sales CRM from Colmeia Solucoes. Agents create contacts and opportunities, run qualifications, schedule appointments, and log notes against each deal.
What This Integration Enables
NectarCRM is a Brazilian B2B sales CRM from Colmeia Solucoes, and it makes one structural decision that shapes every flow built against it: there is no separate companies endpoint. A contact record represents a person or a company, with fields on the contact controlling which. That sounds like a simplification and it is actually a clarifying one, because in B2B sales the thing you are really tracking is a relationship that sometimes has a CNPJ behind it and sometimes a CPF, and Search Contact by Document handles both against the same object. For an agent, that means deduplication has a genuinely reliable primitive here, which is rarer than it should be. A document number resolves to a record or it does not. An email can belong to three people at a company and a name can be spelled three ways, but a CNPJ is a CNPJ.
The rest of the surface follows from a product that expects a structured sales motion. Opportunities carry values, products, and owners, and Get Opportunity Statistics and List Opportunity Proposals read the shape of a deal without changing it. Qualifications are a first-class object rather than a field, so how a lead was assessed is recorded next to the deal instead of implied by its stage. Notes support threaded comments through Add Note Comment and List Note Comments, which is what makes an account history readable rather than a wall of entries. Practical details: resource paths and field names are Portuguese, including contatos, oportunidades, qualificacoes, compromissos, tarefas, publicacao, and produto, with fields such as nome, cliente, responsavel, and camposPersonalizados, and dropdowns present readable labels while sending the vendor's integer wire values. Custom fields go through the Custom Fields object for camposPersonalizados and Additional Fields for advanced or nested data such as enderecos, produtos, participantes, justificativas, and corresponsaveis, merged into the request body as-is. On contacts, passing a field through Additional Fields with a null or empty value clears it, while omitting it leaves it unchanged. Listing opportunities returns only records in progress unless a different status filter is passed. Paging uses page and displayLength with a maximum page size of 50 for contacts, opportunities, and qualifications, page = -1 returning up to 200 for the simpler lists, and notes capped at 100. Delete Contact, Delete Opportunity, Delete Qualification, Delete Task, Delete Appointment, and Delete Webhook permanently remove the record. On events, be precise: Create Webhook, List Webhooks, and Delete Webhook are actions that register a target URL of your choosing against an event number, for example 3001 for Contact Created or 1030 for Opportunity Created. They subscribe an external endpoint and do not create a FlowRunner trigger, because the vendor does not document the delivered payload shape. This connector ships no triggers, so change detection is a scheduled poll on the list actions.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Inbound leads deduplicated on the identifier that cannot be fudged
A landing page or partner form produces rows with a company name, an email, a phone number, and sometimes a CNPJ or CPF. The agent works in that order of confidence rather than treating the fields as interchangeable. Rows carrying a document go through Search Contact by Document, which either resolves an existing record or does not, with no ambiguity to interpret. Rows without one go through Search Contacts by Email and then Search Contacts by Phone, and any row that matches more than one contact is set aside rather than guessed at. Confirmed matches become Update Contact calls that touch only the fields the source genuinely owns, taking care that a field passed through Additional Fields as empty would clear the existing value rather than leave it alone. Confirmed new records go to the gate below before Upsert Contact runs, and Create Opportunity then opens the deal with a value, an owner, and a pipeline stage.
A qualification and a follow-up that outlive the conversation
A rep finishes a discovery call. The agent resolves the contact, calls Create Opportunity if one is not already open, and Create Qualification to record how the lead was assessed against the account's criteria, which is a separate object here precisely so the assessment survives a stage change. Create Note publishes the substance of the call onto the record and Add Note Comment threads the follow-on detail underneath it rather than starting a second note, so a colleague reading the account in three months sees a conversation rather than a pile. Create Task schedules the next step with an owner, a deadline, and a priority, and Create Appointment books the meeting where one was agreed. Get Opportunity Statistics and List Opportunity Proposals are read at review time to show what has actually been quoted, without either action changing anything.
A pipeline review that reads the whole picture without writing to it
On a schedule the agent calls List Opportunities, passing an explicit status filter because the default returns only records in progress and a review that silently excludes closed deals answers the wrong question. It pages with page and displayLength inside the maximum of 50, joins each opportunity to its contact with Get Contact, pulls List Qualifications to see how each was assessed, and List Tasks and List Appointments to see whether anything is actually scheduled against it. The joined view goes into Google Sheets and a per-owner summary posts to Slack, flagging opportunities with a value above a threshold and no future appointment. Nothing is written back in this run, which is why it can be scheduled daily without an approval step attached to it.
Human-in-Loop Highlight
Upsert Contact is the action to gate here, and the reason is not that it writes a record. It is that NectarCRM matches origins, segments, and categories by name and creates them automatically when they do not yet exist. That behaviour is a convenience when a person is typing into the interface and picking from what they see. It is a slow-motion accident when an agent is feeding it a batch, because every variation in the source data quietly becomes a permanent new value in the account's reporting taxonomy. "Indicacao", "indicação", and "Indicação " with a trailing space are three origins now. Nothing errored. Nothing warned. The funnel report simply grows a long tail that nobody trusts, and the sales director who asks which channel produced the best deals last quarter gets an answer split across values that mean the same thing. Untangling it means editing the taxonomy and re-tagging every record that used the wrong one, by hand, in the interface, and the connector offers no delete for these values because they are not records. Sitting next to that is the contact update rule: a field passed through Additional Fields with a null or empty value clears it, so a source row with a blank field can wipe something a rep typed. So the agent prepares the batch and stops on the taxonomy, not on the contacts. It collects the distinct values it is about to send, checks each against Get Origins, Get Segments, Get Categories, and Get Lists, and posts to the sales operations owner: "412 rows ready to upsert. 361 resolved to an existing contact by CNPJ, CPF, or email. The batch carries 6 distinct origin values, of which 2 do not exist in NectarCRM and would be created: 'Indicação Parceiro' and 'indicacao parceiro'. Those look like the same thing as the existing 'Indicação'. It also carries 3 segment values, 1 of which is new. Nectar creates any unmatched name automatically and there is no way to remove one through this connector. Separately, 47 rows have a blank field that would clear an existing value on update, listed below. Map the new origins onto 'Indicação', create them as sent, or hold the batch?" The owner replies once, the agent rewrites the values to the approved names, and only then does Upsert Contact run. This is the human-in-the-loop moment on a CRM that helpfully creates whatever you name, because an agent can spot that two strings differ and only a person can say whether they mean different things.
Agent Capabilities
38 actionsContacts
9- List Contacts Returns contacts with `page` and `displayLength`, capped at 50 per page. Used for scheduled sweeps and coverage reporting.
- Get Contact Retrieves a single contact, which may represent a person or a company. Used to confirm current state before an update is composed.
- Create Contact Creates a contact. Common scalar fields are direct parameters, with `camposPersonalizados` through Custom Fields and nested data such as enderecos through Additional Fields.
- Update Contact Updates a contact. A field passed through Additional Fields with a null or empty value clears it, while omitting the field leaves it unchanged, which makes a blank source value a destructive one.
- Delete Contact Permanently removes a contact with no recovery. The working delete is item level, addressed by ID.
- Search Contacts by Email Finds contacts by email address. Used where no document number is available, with multi-match rows set aside rather than resolved by guess.
- Search Contacts by Phone Finds contacts by phone number. Used as the third fallback after document and email.
- Search Contact by Document Finds a contact by CNPJ for a company document or CPF for an individual one. This is the deduplication primitive that resolves exactly rather than approximately.
- Upsert Contact Creates or updates a contact in one call. Because origins, segments, and categories are matched by name and created automatically when they do not exist, this runs after a person has approved the taxonomy values in the batch.
Opportunities
7- List Opportunities Returns opportunities with `page` and `displayLength` capped at 50. It returns only records in progress unless a different status filter is supplied, so a review that wants closed deals must ask for them.
- Get Opportunity Retrieves a single opportunity with its value, owner, and stage. Used to confirm state before a move.
- Create Opportunity Creates an opportunity against a contact, with products and participants supplied through Additional Fields. Used when a qualified lead becomes a deal.
- Update Opportunity Updates an opportunity, including its stage, value, and owner. Used to reflect an outcome decided in a conversation or another system.
- Delete Opportunity Permanently removes an opportunity and cannot be undone.
- Get Opportunity Statistics Returns statistics for opportunities. Read-only, used to summarise pipeline shape without touching any record.
- List Opportunity Proposals Returns the proposals attached to an opportunity. Read-only, used at review time to see what has actually been quoted.
Qualifications
4- List Qualifications Returns qualifications with paging capped at 50. Used to see how leads were assessed across a period.
- Create Qualification Records how a lead was assessed. A first-class object rather than a field, so the assessment survives a later stage change.
- Update Qualification Updates a qualification as more is learned. Used to correct or extend an assessment without replacing it.
- Delete Qualification Permanently removes a qualification and cannot be undone.
Tasks
4- List Tasks Returns tasks with paging. Used to find follow-ups that passed their deadline without being closed.
- Create Task Creates a task with an owner, a deadline, and a priority, tied to a contact or opportunity. Used to make the next step concrete inside the run that identified it.
- Update Task Updates a task, including reassignment and completion.
- Delete Task Permanently removes a task and cannot be undone.
Appointments
4- List Appointments Returns appointments with paging. Used to check whether anything is actually scheduled against a high value opportunity.
- Create Appointment Books an appointment with participants supplied through Additional Fields. Used when a meeting was agreed in a conversation the flow observed.
- Update Appointment Updates an appointment, including rescheduling and changing participants.
- Delete Appointment Permanently removes an appointment and cannot be undone.
Notes
4- List Notes Returns notes with paging capped at 100. Used to read what has already been recorded before adding to it.
- Create Note Publishes a note onto a contact, opportunity, task, or appointment. Used to preserve the substance of a conversation where a colleague will read it.
- Add Note Comment Threads a comment under an existing note, so follow-on detail extends a conversation rather than starting a second entry.
- List Note Comments Returns the comments threaded under a note. Used to read a discussion in order before contributing to it.
Products
3- List Products Returns the product catalogue. Used to resolve product references before they are attached to an opportunity.
- Get Product Retrieves a single product. Used to confirm a product exists and matches what a proposal assumes.
- Create Product Adds a product to the catalogue. This connector exposes no update or delete for products, so an entry created here is corrected inside NectarCRM by a person.
Webhooks
3- List Webhooks Returns the registered webhooks. Used to audit which external endpoints are receiving NectarCRM events.
- Create Webhook Registers a target URL of your choosing against an event number, for example 3001 Contact Created, 1030 Opportunity Created, 1055 Task Created, 2008 Qualification Created, or 1028 Appointment Created. This subscribes an external endpoint and does not create a FlowRunner trigger.
- Delete Webhook Permanently removes a webhook registration, stopping delivery to that endpoint.
Frequently Asked Questions
What can FlowRunner do with NectarCRM?
FlowRunner agents can run List Contacts, Get Contact, and Create Contact in NectarCRM, plus 35 more actions.
Does connecting NectarCRM to FlowRunner require OAuth?
No. NectarCRM connects to FlowRunner with an API key, no OAuth flow required.
Can NectarCRM trigger a FlowRunner workflow automatically?
NectarCRM doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with NectarCRM
$100 in credits. No card required. Connect in minutes.