Sellsy
CRMConnect AI agents to Sellsy, the French CRM, invoicing, and prospecting suite. Agents manage companies, contacts, and individuals, open opportunities, and turn them into estimates and invoices.
What This Integration Enables
Sellsy is a French suite that puts prospecting, CRM, and billing in the same product, and this integration takes a clear position on where an agent belongs inside it. It manages the commercial layer end to end: companies, contacts, individuals, opportunities, tasks, and catalog items are fully writable, with Search Companies and Search Opportunities doing server side filtering by name, type, status, pipeline, step, and creation date range. Then it stops at the accounting documents. Invoices are read through Get Invoices and Get Invoice, and the only write is Validate Invoice. Estimates are read through Get Estimates, and the only write is Update Estimate Status. This connector does not create invoices and does not create estimates.
That boundary is the interesting part, and it is a feature rather than a shortfall. A billing document is authored where the numbering, the tax treatment, and the accounting rules live, which is inside Sellsy. What an agent is genuinely good at is everything around it: resolving the right third party, opening the deal, keeping the catalog in step, assembling the evidence that an order is real, and moving a prepared document to its next state at the moment that becomes true rather than at the end of the week. Some practical facts that decide whether a flow works. Authentication uses a Sellsy API v2 OAuth client configured on the developer page of your account, and the connector exchanges its Client ID and Client Secret for a bearer token at the Sellsy token endpoint using the client credentials grant, so there is no interactive consent step and no user redirect; tokens carry a 3600 second lifetime and are renewed automatically shortly before expiry, and an optional Scopes setting narrows what the client may do. All calls target the v2 API. Plain Get actions return records sorted but unfiltered, so the Search actions are the ones to reach for when a flow needs a subset. Paging uses offset and limit with a default of 25 per page, and each list returns { data, pagination } where pagination carries limit, total, count, and offset, so the next page is read by adding the number of records already seen to the offset. Required fields on create are specific: a type and name for a company, a last name for a contact, a type and last name for an individual, a name plus a pipeline, a step, and a related third party for an opportunity, a related object for a task, and a type plus a reference for a catalog item. Select the pipeline before the step, because steps belong to a specific pipeline. Opportunities attach to a Company, Individual, or Contact, while tasks accept a wider set including Opportunity, Invoice, Estimate, and Item. Several status values keep Sellsy's original spelling on the wire, for example a Cancelled status travelling as cancelled, and the dropdowns map readable labels to those exact values. Since August 2024 each Sellsy account numbers its own objects independently, so a record id is unique within an account and not across accounts, which matters if a flow spans two of them. Delete Company, Delete Contact, and Delete Opportunity are permanent. This connector ships no triggers and registers no webhook subscription, so change detection is a scheduled Search Companies or Search Opportunities call filtered on a creation date range.
Without FlowRunner
With FlowRunner
Use Case Scenarios
A lead that becomes a tracked deal with the right pipeline step
An inbound enquiry or a partner referral starts the run. The agent calls Search Companies filtered on the company name and type to see whether this third party already exists, since the plain Get Companies action returns records unfiltered and is the wrong tool for a lookup. Where nothing matches, Create Company writes the prospect with its required type and name, or Create Individual where the buyer is a private person. Create Contact adds the person and Link Contact To Company attaches them to the account, which is a separate action here rather than a field on the contact. Create Opportunity then opens the deal, and the ordering matters: the pipeline is selected first and the step second, because steps belong to a specific pipeline and a step id borrowed from another one produces a deal that quietly vanishes from the report it was meant to appear in. Create Task attaches the first follow-up to the opportunity with a deadline.
A catalog kept in step with the system that owns pricing
Pricing and product data live in an inventory system or a spreadsheet. On a schedule the agent reads Get Items with offset and limit paging, comparing each catalog entry against the source. Genuinely new products go in through Create Item with their required type and reference. Items whose price changed are reported rather than rewritten, because this connector creates catalog items but does not update them, and a quiet price change inside a billing system is the kind of surprise that turns up on a customer invoice. The differences post to Slack for the commercial manager and append to Google Sheets as a working list. A flow that is honest about what it cannot change is more useful than one that improvises.
A pipeline and cash view assembled from one set of reads
On a schedule the agent calls Search Opportunities filtered on pipeline, step, status, and a creation date range, paging until the count in pagination is satisfied rather than trusting the first response. For each open deal it reads Get Opportunity for the amount and step, Get Tasks for whether anything is actually scheduled against it, and Get Invoices and Get Estimates for the documents already prepared for that third party. The result separates three things a sales meeting usually blends together: deals with no document, deals with a draft invoice waiting for validation, and deals whose estimate is still open. The summary goes to Gmail for the commercial director. Nothing in this run writes, and the drafts it finds feed the gate below rather than being released automatically.
Human-in-Loop Highlight
Validate Invoice is the operation to gate, and Sellsy's own rule is why. Validation assigns the invoice a definitive number and moves it out of draft state, after which it can no longer be edited freely. That is a one way transition by design, and it is the point at which a working document becomes the company's formal record of what a customer owes. Everything upstream of it is correctable: a wrong opportunity step can be updated, a wrong contact link can be relinked, a bad catalog reference can be replaced. Once a number is assigned, the correction is no longer an edit, it is a credit note and a conversation with the accountant. The failure that actually happens is not a fabricated invoice, it is a stale one. The finance team prepares a draft, the order changes, and an agent that validates every draft matching a won opportunity releases a document for the wrong amount, with a permanent number, to a customer who will read it as the company's considered position. So the agent assembles rather than releases. It reads Get Invoices for the draft set, Get Invoice for the lines on each, Search Opportunities for the deal each one belongs to, and the confirmed order from the upstream system, then posts to the finance owner: "6 draft invoices match won opportunities and are ready to validate. 4 match their confirmed order exactly. 2 do not: invoice draft for Atelier Vendôme totals 14,280 against a confirmed order of 12,900, a difference of one catalog line added after the quote was signed, and the draft for Groupe Lasserre is missing the annual discount that appears on its estimate. Validate Invoice assigns a definitive number and the document can no longer be edited freely afterwards, so a correction becomes a credit note. Validate the 4, and tell me what to do with the 2?" The owner answers once, and Validate Invoice runs only on the documents a person released. The same pattern applies to Update Estimate Status, where moving an estimate to accepted or cancelled changes what the customer and the sales team both believe is agreed. This is the human-in-the-loop moment on a suite where the CRM and the ledger share a database, because an agent can prove that a draft and an order disagree and only a person can decide which of them is right.
Agent Capabilities
30 actionsCompanies
6- Get Companies Returns companies sorted but unfiltered, with offset and limit paging and a `pagination` object carrying `limit`, `total`, `count`, and `offset`.
- Search Companies Filters companies server side by name, type, status, and creation date range. This is the lookup action, and the one to use for deduplication rather than Get Companies.
- Get Company Retrieves a single company with its details.
- Create Company Creates a company. Sellsy requires a type and a name.
- Update Company Updates a company, used to keep a third party current from a source that genuinely owns the field.
- Delete Company Permanently removes a company and cannot be undone.
Contacts and individuals
8- Get Contacts Returns contacts with offset and limit paging.
- Get Contact Retrieves a single contact.
- Create Contact Creates a contact. Sellsy requires at least a last name.
- Update Contact Updates a contact's details.
- Delete Contact Permanently removes a contact and cannot be undone.
- Link Contact To Company Attaches a contact to a company. A separate action rather than a field, so a contact created independently is joined to its account explicitly.
- Get Individuals Returns individual, meaning private person, third parties with paging.
- Create Individual Creates an individual third party. Sellsy requires a type and a last name.
Opportunities
6- Get Opportunities Returns opportunities sorted but unfiltered with offset and limit paging.
- Search Opportunities Filters opportunities server side by name, status, pipeline, step, and creation date range. This is the action a scheduled pipeline read should use.
- Get Opportunity Retrieves a single opportunity with its amount, pipeline, and step.
- Create Opportunity Creates an opportunity. Requires a name, a pipeline, a step, and a related third party, which may be a Company, Individual, or Contact. Select the pipeline before the step, since steps belong to a specific pipeline.
- Update Opportunity Updates an opportunity, including moving it to a new step or status. Status values travel as Sellsy's own wire spellings, for example `cancelled`.
- Delete Opportunity Permanently removes an opportunity and cannot be undone.
Tasks
3- Get Tasks Returns tasks with paging, used to see whether anything is actually scheduled against a deal.
- Create Task Creates a task attached to a related object, which may be an Opportunity, Invoice, Estimate, Item, or another supported record.
- Update Task Updates a task, including rescheduling and completion.
Catalog
2- Get Items Returns catalog items with paging, used to compare Sellsy against the system that owns pricing.
- Create Item Adds a catalog item. Requires a type and a reference. This connector creates catalog items but does not update or delete them, so a changed price is reported for a person to handle.
Invoices
3- Get Invoices Returns invoices with paging, including drafts. Read only, and the action that finds documents waiting on a decision.
- Get Invoice Retrieves a single invoice with its lines and totals, which is the evidence an approval needs.
- Validate Invoice Assigns the invoice a definitive number and moves it out of draft state, after which it can no longer be edited freely. One way, which is why it runs behind an approval. This connector does not create invoices.
Estimates
2- Get Estimates Returns estimates with paging. Read only, used to see what has been quoted to a third party.
- Update Estimate Status Moves an estimate to a new status, with values carrying Sellsy's own wire spellings such as `cancelled`. This connector does not create or send estimates.
Frequently Asked Questions
What can FlowRunner do with Sellsy?
FlowRunner agents can run Get Companies, Get Company, and Create Company in Sellsy, plus 27 more actions.
Does connecting Sellsy to FlowRunner require OAuth?
Sellsy uses a custom authentication method to connect to FlowRunner.
Can Sellsy trigger a FlowRunner workflow automatically?
Sellsy doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Sellsy
$100 in credits. No card required. Connect in minutes.