> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sellsy

> Connect Sellsy to your Atako agents — 13 read and 5 write actions.

Let your agents search, read and create companies and contacts in Sellsy, follow and create opportunities and move them through the pipeline, read estimates and invoices, and list catalog items.

## Connection

* **Authentication**: API key (Client ID and Client Secret of the Personnel API access, separated by a colon).

<Note>
  In Sellsy (ideally as an administrator — the access has the rights of its user): Menu → Réglages → Portail Développeur → API V2 tab → Créer un accès API. Choose the « Personnel » type (the only one that allows server-to-server access), name it "Atako" and pick the scopes: companies.read, contacts.read, opportunities.read, estimates.read, invoices.read, items.read — plus companies.write, contacts.write and opportunities.write if agents should create records. Copy the Client ID and the Client Secret (shown only once) and paste them joined by a colon: client\_id:client\_secret.

  See [Sellsy's documentation](https://help.sellsy.com/fr/articles/5876615-types-d-acces-api).
</Note>

## Read actions (13)

| Action | Description |
| - | - |
| `get_company` | Get one company by id (see search\_companies). |
| `get_contact` | Get one contact by id (see search\_contacts). |
| `get_estimate` | Get one estimate (quote) by id, with its amounts and status (see search\_estimates). |
| `get_invoice` | Get one invoice by id, with its amounts, due date and status (see search\_invoices). |
| `get_opportunity` | Get one opportunity by id (see search\_opportunities). |
| `list_items` | List catalog items (products and services) — takes no required argument; up to 100 per page, next page with offset = pagination.offset. |
| `list_opportunity_pipelines` | List opportunity pipelines (id, name, is\_default, number of steps). |
| `list_pipeline_steps` | List the steps of a pipeline (id, name, probability, rank); pipeline\_id (integer) comes from list\_opportunity\_pipelines. |
| `search_companies` | Search or list companies (all when no filter). Filters: name and email (exact match), type, reference, siret, vat, is\_archived; up to 100 per page, next page with offset = pagination.offset. |
| `search_contacts` | Search or list contacts (all when no filter). Filters: company\_id (contacts linked to that company), last\_name, email, phone\_number (exact match); up to 100 per page, next page with offset = pagination.offset. |
| `search_estimates` | Search or list estimates (quotes) — all when no filter. Filters: company\_id, opportunity\_id, status, number (exact), date\_from/date\_to (document date YYYY-MM-DD); up to 100 per page, next page with offset = pagination.offset. |
| `search_invoices` | Search or list invoices — all when no filter. Filters: company\_id, opportunity\_id, status, number (exact), date\_from/date\_to (document date YYYY-MM-DD); up to 100 per page, next page with offset = pagination.offset. |
| `search_opportunities` | Search or list opportunities (all when no filter). Filters: company\_id, pipeline\_ids, step\_ids, statuses, name; up to 100 per page, next page with offset = pagination.offset. |

## Write actions (5)

| Action | Description |
| - | - |
| `create_company` | Create a company. Arguments: type (required, string: "prospect" \| "client" \| "supplier"), name (required, string ≤ 250), email, website (URL), phone\_number, mobile\_number, reference, note (strings), siret (string, 14 digits), siren (string, 9 digits), vat (string, intra-EU VAT number). Returns the company with its integer id. |
| `create_contact` | Create a contact, not linked to any company — then link it to a company with link\_contact\_to\_company. Arguments: last\_name (required, string ≤ 200), first\_name, email, phone\_number, mobile\_number, position (job title), note (strings), civility (string: "mr" \| "mrs" \| "ms"). Returns the contact with its integer id. |
| `create_opportunity` | Create an opportunity. Arguments: name (required, string), pipeline\_id and step\_id (required, integers — see list\_opportunity\_pipelines and list\_pipeline\_steps), company\_id (required, integer — the company it relates to), contact\_ids (array of integers, contacts of that company), amount (string decimal, e.g. "1500.00", in the account currency), probability (integer 0-100), status (string: "open" \| "won" \| "lost" \| "cancelled" \| "closed" \| "late"), due\_date (string YYYY-MM-DD), note (string). |
| `link_contact_to_company` | Link an existing contact to a company (200 if already linked). Arguments: company\_id (required, integer), contact\_id (required, integer — see search\_contacts or create\_contact), roles (optional array of strings among "main" \| "invoicing" \| "dunning" — the contact's roles in that company). |
| `move_opportunity_step` | Move an opportunity to another step of its pipeline. Arguments: id (required, integer — the opportunity), step\_id (required, integer — a step id from list\_pipeline\_steps), before\_sibling\_id (integer, optional — id of the opportunity to place it before; omitted = end of the step). |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.