Corymbus
CRMConnect AI agents to Corymbus, a French CRM for small businesses, freelancers, and independents. Agents create contacts and accounts, open opportunities, and keep the pipeline current without leaving the flow.
What This Integration Enables
Corymbus is built for the person who is the whole company. It is a French CRM aimed at freelancers, independents, and small businesses, and its API is refreshingly narrow: contacts, accounts, and opportunities, with list, get, create, and update on each. That narrowness is a position, not a gap. A one person business does not need a case object and a marketing automation engine. It needs the three records that answer who, which company, and how much, and it needs them to stop eating the evenings. FlowRunner's job here is to be the staff that a solo operator does not have, so the CRM is current on Monday morning without anyone having spent Sunday night making it so.
Two details shape how agents work against it. First, create and update call the same upsert endpoint, and the connector sends the record id only on update, which makes updates partial: fields you do not supply are left alone. That is the safe default for enrichment, because an agent adding a phone number cannot accidentally blank out a note. Second, opportunity status is a numeric pipeline stage id defined inside your own Corymbus account rather than a fixed set of values, and the human readable status_label comes back only on reads. Corymbus provides no webhook subscription surface to this connector, so it ships no triggers and no connectors here listen for events. Agents poll the list actions on a schedule instead, filtering with Name Contains, relationship filters for account, contact, opportunity, activity, target, and owner, and an order field, paging with a zero based Page index and a Page Size. The response envelope carries a total for all matching records regardless of paging, so a flow can size a job before it starts, and a 200 carrying success: false is surfaced as an error rather than passing as a quiet success.
Without FlowRunner
With FlowRunner
Use Case Scenarios
A website form that becomes a linked record set
An enquiry arrives from a site form and lands in Google Sheets. The agent reads the row and calls List Contacts with a Name Contains filter on the person, and List Accounts on the company name, to find out what already exists. When neither matches, Create Account writes the company first and Create Contact attaches the person to it, in that order, so nothing is created orphaned. When the account exists but the person does not, only Create Contact runs. When both exist, the agent calls Update Contact with just the fields the form supplied, which is safe because the upsert is partial and the existing notes stay untouched. The operator opens the CRM to find the enquiry already filed rather than sitting in an inbox waiting to be typed in.
A quarterly pipeline review that assembles itself
On a schedule, the agent calls List Opportunities with the Expected Close Date filter set to Current Quarter, which is a relative period rather than a date range, so the same flow keeps working next quarter with no edit. It reads total from the response envelope to know how many pages to walk, pages through with Page and Page Size, then calls Get Account on each opportunity's company to attach the customer name and Get Contact for the person on the deal. The result is a summary sent to the operator through Gmail listing every deal expected to close this quarter with its amount, its readable status_label, and its owner. Deals whose expected close date has already passed are called out separately, because those are the ones the forecast is quietly lying about.
A quoting tool that keeps the deal honest
Quotes are produced outside the CRM. When a quote is issued or revised, the agent calls Get Opportunity by id to read the current record, compares the quoted amount against the stored one, and calls Update Opportunity with only the amount and the expected close date. Because the update is partial, the description, the owner, and the probability written by the operator are preserved exactly as they were. When the quote is accepted, the agent does not move the stage on its own. It assembles the change and hands it to a person, for the reason set out below.
Human-in-Loop Highlight
Corymbus makes the pipeline yours, and that is precisely why an agent should not move a deal through it unsupervised. The opportunity status on Update Opportunity is a numeric pipeline stage id defined in your own Corymbus account. It is not a fixed enum, there is no vocabulary the connector can validate against, and the readable status_label is returned only on reads. So an agent that has inferred "stage 4 means Won" from three examples it saw last month is working from a guess, and if the account owner has since inserted a stage, every number after it now points somewhere else. Writing the wrong number does not error. It quietly relocates a deal in the pipeline, and for a business where the pipeline is the forecast and the forecast is whether rent gets paid, that is not a cosmetic mistake. So the agent stops at the mapping. It reads the current stage of each affected deal, then posts to the operator: "Six accepted quotes are ready to move. I read their current stages as: 4 deals showing status 3 with label Proposition envoyee, and 2 showing status 2 with label Qualification. I am about to write status 5 to all six on the basis that 5 was labelled Gagne on the last deal I read. Confirm 5 is still the won stage, or give me the number to use." The operator answers with one number. The agent then calls Update Opportunity on the six, sending only status, so amounts and notes are untouched. One question, asked once, in exchange for a forecast that is not silently wrong.
Agent Capabilities
12 actionsContacts
4- List Contacts Returns contacts with a Name Contains text filter, relationship filters for account, opportunity, activity, target, and owner, an order field and direction, and zero based Page and Page Size paging. The response carries a `total` for all matching records, so a job can be sized before it runs.
- Get Contact Retrieves a single contact by id, returning the record or `null` when nothing matches. Used to enrich a message or a document with the person's real details.
- Create Contact Creates a contact. Used when a form, a spreadsheet, or another system introduces someone the CRM does not hold. Owner is a numeric Corymbus user id entered as a plain number, because the API exposes no user list endpoint.
- Update Contact Updates an existing contact through the same upsert endpoint, sending the record id. The update is partial, so only the fields supplied are written and everything else on the record is preserved.
Accounts
4- List Accounts Returns accounts with the Name Contains filter, relationship and owner filters, ordering, and paging. Used to resolve a company before writing a contact or an opportunity against it.
- Get Account Retrieves a single account by id, or `null` when there is no match. Used to attach the customer name to a summary or a document.
- Create Account Creates an account (company). Used at the start of an onboarding or signup flow so contacts and deals have something to hang off.
- Update Account Updates an existing account partially, leaving unsupplied fields as they were. Used to keep company details current from an external source of truth.
Opportunities
4- List Opportunities Returns opportunities with relationship filters and an Expected Close Date filter that takes relative periods such as Current Year, Current Quarter, and Elapsed, so a scheduled report keeps working without being re-dated. Paged with Page and Page Size.
- Get Opportunity Retrieves a single opportunity by id, returning the record with its readable `status_label`, or `null`. Used to confirm the current stage before proposing a move.
- Create Opportunity Creates an opportunity with its name, account, amount, status, probability, expected close date, description, and owner. The Expected Close Date here is an actual date, unlike the relative period used by the list filter.
- Update Opportunity Updates an existing opportunity partially. The `status` field is a numeric pipeline stage id defined in your own account, which is why stage moves are the write a person confirms.
Frequently Asked Questions
What can FlowRunner do with Corymbus?
FlowRunner agents can run List Contacts, Get Contact, and Create Contact in Corymbus, plus 9 more actions.
Does connecting Corymbus to FlowRunner require OAuth?
No. Corymbus connects to FlowRunner with session-based authentication, no OAuth flow required.
Can Corymbus trigger a FlowRunner workflow automatically?
Corymbus doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Corymbus
$100 in credits. No card required. Connect in minutes.