# Sellsy MCP connector

The Sellsy connector brings companies, contacts, comments, addresses and payments into Claude, ChatGPT, Cursor and the Elaichi Agent, so each person can read and update Sellsy records inside their own access, with every call logged.

Source: https://elaichi.ai/connectors/sellsy/

## Facts

| | |
| --- | --- |
| Application | Sellsy |
| Category | CRM |
| AI tools | 327 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 327 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Sellsy is connected

- Add a comment to Acme Industries about today's renewal call
- Which contacts do we have at Dupont Logistique?
- Convert Maison Verte from prospect to client and check its billing address

## Connect Sellsy in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Sellsy.
2. Optionally set Share with, then press Connect.
3. Paste a Sellsy API key. One person generates a token in Sellsy and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Sellsy tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Sellsy to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Sellsy to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Sellsy to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Sellsy to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Sellsy tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Sellsy through Elaichi

### Catch the company record up after a call

Sales. Tell the agent what happened on the call and it adds a comment to the Sellsy company, so the history is current before the next touch.

### Turn a prospect into a client

Sales. When the deal closes, ask the agent to convert the prospect in Sellsy and confirm the billing address and main contact are in place.

### Log a payment against the right company

Finance. Paste the remittance details and the agent records the payment on the Sellsy company, then leaves a comment noting who confirmed it.

### Find who to call at a company

Support. Ask for the contacts at a Sellsy company and get names, roles and details in the chat, without opening another tab.

### Fix addresses before a mailing

Operations. Ask for Sellsy companies with a missing or outdated delivery address and correct them from a list, one at a time or in a batch.

### Pull an export of companies for review

Leadership. Ask for a Sellsy companies export using one of your saved filters and have the agent summarize what changed since last month.

## Frequently asked questions

### How do I connect Sellsy to Claude?

Connect Sellsy in Elaichi first, which means pasting the API key from your Sellsy account, since there is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in with your Elaichi account and Sellsy companies, contacts and comments are available in Claude.

### Does Sellsy work with ChatGPT and Cursor as well as Claude?

Yes. Sellsy is connected once in Elaichi and the same endpoint, https://api.elaichi.ai/mcp, is pasted into Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. There is nothing to set up again per client.

### What can an AI agent actually do with my Sellsy data?

An agent can look up Sellsy companies and their contacts, add or edit comments after a call, correct an address, record a payment, convert a prospect into a client and pull an export of companies. Because Sellsy has hundreds of actions, the agent searches for the right one as you ask, so short concrete asks like "add a comment to Acme about today's call" work better than long paragraphs.

### Does connecting Sellsy give the AI access to everything in my Sellsy account?

No. Every call to Sellsy runs as the person who signed in, so the agent sees the companies, contacts and payments that person can already see in Sellsy, and nothing more. Elaichi can narrow that further with roles and restrictions, but it can never widen access beyond what Sellsy itself grants.

### Can my team share one Sellsy connection?

Yes. One person connects Sellsy in Elaichi and shares the connection with a team, and nobody else ever handles the Sellsy API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every change to a Sellsy company or contact.

### Can I stop an agent from deleting or changing things in Sellsy?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Sellsy companies and adding comments while blocking deletes or edits to addresses. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to a Sellsy connection when someone leaves the company?

Offboarding that person in Elaichi ends their access to Sellsy at once, across every client they used. A shared Sellsy connection keeps working for everyone else on the team. If you disconnect Sellsy in Elaichi, it disappears from Claude, ChatGPT, Cursor and the Elaichi Agent in one step.

## All 327 Sellsy tools

Every tool below is callable through https://api.elaichi.ai/mcp once Sellsy is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Sellsy comments** (List). List comments in Sellsy. Returns comment records with id, owner, description, created, and updated.
- **Create a Sellsy comment** (Create). Create a comment in Sellsy. Returns the created comment record with id, owner, description, created, and updated. Required: description.
- **Get single Sellsy comment by ID** (Get). Get a single Sellsy comment by id. Returns the comment record with id, owner, description, created, and updated. Required: id.
- **Update a Sellsy comment by ID** (Update). Update a Sellsy comment by id. Returns the updated comment record with id, owner, description, created, and updated. Required: id.
- **Delete a Sellsy comment by ID** (Delete). Delete a comment in Sellsy by id. Returns an empty 204 response on success. Required: id.
- **List all Sellsy search comments** (List). Search comments in Sellsy by posting filter criteria to the comments search endpoint. Returns: id, owner, description, updated, created, parent_id, related, company_id, individual_id, contact_id, timetracking, _embed. No required parameters. Required: filters.
- **List all Sellsy companies** (List). List Sellsy companies. Returns company records including id, name, type, email, phone_number, legal_france, social, owner, created and updated_at. Use order to sort by name, id, created_at or updated_at and direction to choose asc or desc.
- **Create a Sellsy company** (Create). Create a Sellsy company. Returns the created company record including id, name, type, email, phone_number, legal_france, owner, created and updated_at, plus any _embed objects requested via embed. Required: type, name.
- **Get single Sellsy company by ID** (Get). Get a Sellsy company by id. Returns the full company record including id, name, type, email, phone_number, legal_france, social, owner, created and updated_at. Required: id.
- **Update a Sellsy company by ID** (Update). Update an existing Sellsy company by id. Returns the updated company record including id, type, name, email, phone_number, legal_france, social, owner, created and updated_at, plus any _embed objects requested via embed. Required: id.
- **Delete a Sellsy company by ID** (Delete). Delete a Sellsy company by id. Returns an empty 204 response on success. Required: id.
- **List all Sellsy search companies** (List). Search Sellsy companies with structured filters (creation/update dates, type, archived state, location, reference, employee count). Returns matching company records including id, name, email, type, created, updated_at, and is_archived. Required: filters.
- **Create a Sellsy companies export** (Create). Create an export job in Sellsy that asynchronously generates a downloadable file of the company list matching the supplied filters. Returns the export object including its id, status, progress, listing_name, custom_name, created_at, total_rows, and public_url. output_format must be csv, parquet, or ndjson. Required: output_format, charset, columns, filters.
- **List all Sellsy companies favourite filters** (List). List Sellsy favourite filters for companies. The returned filters can be applied directly to company search endpoints. Returns the favourite filter collection under data (upstream does not enumerate the record fields; the route is in open beta and subject to breaking changes) plus a pagination object with limit, total, count, and offset. No required parameters.
- **Create a Sellsy companie convert** (Create). Convert a prospect company to a client company in Sellsy. Returns the converted company object including its id; the full field set follows the Sellsy Company schema. target must be "client". Required: company_id, target, also_enable_custom_fields_on_target.
- **List all Sellsy companie addresses** (List). List Sellsy company addresses for a given company. Returns: id, name, address_line_1, address_line_2, address_line_3, address_line_4, postal_code, city, country, country_code, is_invoicing_address, is_delivery_address, geocode. Required: company_id.
- **Create a Sellsy companie address** (Create). Create a new address for a Sellsy company. Returns the created address object including id, name, address_line_1, postal_code, city, country_code, and geocode. Required: company_id, name, address_line_1, postal_code, city, country_code.
- **Get single Sellsy companie address by ID** (Get). Get a single Sellsy company address by id. Returns: id, name, address_line_1, address_line_2, address_line_3, address_line_4, postal_code, city, country, country_code, is_invoicing_address, is_delivery_address, geocode. Required: id, company_id.
- **Update a Sellsy companie address by ID** (Update). Update an existing Sellsy company address. Returns the updated address object including id, name, address_line_1, postal_code, city, country_code, and geocode. Required: id, company_id.
- **Delete a Sellsy companie address by ID** (Delete). Delete a Sellsy company address by id. Returns an empty 204 response on success. Required: id, company_id.
- **Create a Sellsy companie payment** (Create). Record a payment on a Sellsy company. Returns the created payment object with its id and paid_date (full field set per Sellsy's Payment schema). Requires company_id and a payment payload. Route is in open beta; subject to breaking changes. Required: company_id, paid_at, payment_method_id, type, amount.
- **List all Sellsy companie contacts** (List). List the contacts linked to a Sellsy company. Returns each contact record including its id, created, and updated_at timestamps. Required: company_id.
- **Create a Sellsy companie contact** (Create). Link an existing contact to a company in Sellsy. Returns an empty response body on success (201 when newly linked, 200 if the contact was already linked). Required: company_id, contact_id.
- **Update a Sellsy companie contact by ID** (Update). Update the link between a contact and a company in Sellsy. Returns an empty response body on success. Required: id, company_id.
- **Delete a Sellsy companie contact by ID** (Delete). Unlink a contact from a company in Sellsy. Returns an empty 204 response on success. Required: id, company_id.
- **List all Sellsy companie custom fields** (List). List the custom fields of a Sellsy company with their configured definition and current value. Returns: id, name, code, description, mandatory, rank, related_object, customfield_group, show_on_pdf, value, _embed. Required: company_id.
- **Sellsy companie custom fields bulk update** (Update). Update the values of multiple custom fields on a Sellsy company with a bare JSON array of {id, value} pairs (id is the custom field id, value its type-appropriate value). Returns an empty 204 response on success. Required: id.
- **List all Sellsy companie smart tags** (List). List the smart tags linked to a Sellsy company. Returns each smart tag's id and value. Required: company_id.
- **Create a Sellsy companie smart tag** (Create). Link one or more smart tags to a Sellsy company. Send a JSON array whose items either create-and-link a new tag by value or link an existing tag by id (existing values are reused, never duplicated). Returns the linked smart tags with their id and value. Required: company_id.
- **List all Sellsy companie files** (List). List directories and files attached to a Sellsy company. Returns directory and file records with id. Open beta: the endpoint's specification may change. Required: company_id.
- **Create a Sellsy companie file** (Create). Attach a file to a Sellsy company. Returns the uploaded file record with id. Open beta: the endpoint's specification may change. Required: company_id.
- **List all Sellsy contact companies** (List). List the Sellsy companies linked to a specific contact. Returns each company with id, type, name, email, phone_number, is_archived, and created and updated_at timestamps. Required: contact_id.
- **List all Sellsy smart tag autocompletes** (List). Autocomplete Sellsy smart tags for a given linked entity type. Returns each match with: id, value. Required: linkedtype, q.
- **Delete a Sellsy smart tag by ID** (Delete). Delete a smart tag in Sellsy by id. Deleting the tag also removes it from any object it was linked to; to unlink without deleting, use the link smart-tags endpoint instead. Returns an empty 204 response on success. Required: id.
- **List all Sellsy custom fields** (List). Custom Fields List.
- **Get single Sellsy custom field by ID** (Get). Get custom field. Required: id.
- **List all Sellsy search custom fields** (List). Custom Fields Search. Required: filters.
- **List all Sellsy estimates** (List). Get all estimates. Returns: date, related, contact_id, assigned_staff_id, status, number, amounts, currency.
- **Create a Sellsy estimate** (Create). Create estimate. Returns: date, related, contact_id, assigned_staff_id, status, number, amounts, currency. Required: related.
- **Get single Sellsy estimate by ID** (Get). Get an estimate. Returns: date, related, contact_id, assigned_staff_id, status, number, amounts, currency. Required: id.
- **Update a Sellsy estimate by ID** (Update). Update estimate. Returns: date, related, contact_id, assigned_staff_id, status, number, amounts, currency. Required: id.
- **Create a Sellsy estimates export** (Create). Export estimates. Returns: id, status, progress, listing_name, custom_name, created_at, started_at, ended_at. Required: filters.
- **List all Sellsy estimate custom fields** (List). Estimate custom fields List. Required: estimate_id.
- **Sellsy estimate custom fields bulk update** (Update). Update Estimate custom fields. Required: id.
- **List all Sellsy estimates favourite filters** (List). List estimates favourite filters. Returns: type, id.
- **Sellsy estimate status bulk update** (Update). Update estimate status. Returns: date, related, contact_id, assigned_staff_id, status, number, amounts, currency. Required: id.
- **Create a Sellsy estimates compute** (Create). Compute an estimate. Returns: owner, rows, date, related, contact_id, assigned_staff_id, status, number. Required: related.
- **List all Sellsy estimate files** (List). List directories and files of an estimate. Required: document_id.
- **Create a Sellsy estimate file** (Create). Attach file to an estimate. Returns: id, type, name, created, size, extension, public_link, related. Required: document_id.
- **List all Sellsy estimate payments** (List). Estimate payments list. Returns: id, number, paid_at, status, payment_method_id, type, amount, related. Required: estimate_id.
- ...and 277 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
