sellsy
sellsy.
CRM third parties: companies and individuals (clients, prospects, suppliers).
setup & usage
In Sellsy: Settings → Developer portal → API V2 → create an access. Choose a personal access ("personal"): it is the one that issues a token directly from the id/secret pair, without going through a browser.
Then paste into oto:
Tick the rights (scopes) matching what the agent will need to do: read-only to look things up, write to create third parties or documents. A missing right shows up as an HTTP 403 refusal at call time, not at connection time.
byo only: a Sellsy account belongs to a company, there is no key shared by oto. The access inherits the permissions of the staff member it is attached to.
Sellsy holds both ends: who the clients are, and what they are invoiced.
sellsy_third_party (op search)sellsy_search (full text, all objects)sellsy_opportunity, then op move to change stepsellsy_document (kind invoice, op search, filter status)sellsy_document (kind estimate, op create) — it is born as a draftsellsy_item; "the VAT rates, the staff members" → sellsy_refIdentifiers (pipeline step, tax, staff member, custom field) are read with sellsy_ref — never guess them.
Two reflexes are worth knowing before letting the agent write.
Dry run. op="create" accepts dry_run=true: Sellsy validates the body and persists nothing. Useful before a serial creation, since required fields vary from one account to another (numbering, custom fields).
Validating is irreversible. A created document is a draft; op="validate" on an invoice or a credit note freezes its number and makes it accounting-relevant. Reserve it for a human decision. A quote, by contrast, simply changes state (op="status").
Sellsy quotas are counted per second, minute, day and month, and every request counts, even in error: prefer filters + fields over a wide all_pages.
this connector accepts multiple comptes: each stored credential becomes a named account (one name per compte), at your level, your team's or your org's.
_account="<name>" on the tool; list them: oto_identity(op='list', connector='sellsy') (scope='org' or scope='group' for the org's or team's)oto_identity(op='set', connector='sellsy', identity_id='<name>'); rename: op='rename' with new_name_account) and adding upoutils
utilisation
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.pipx install oto-cli puis oto sellsy …