threecx

3cx

threecx.

The phone system's call log over a period, every extension and

ajouter à otoauth : —prefix : threecx_*

setup & usage

⚠ your 3cx credentials

the connector reads your 3cx phone system with its address and one of the two credentials below, chosen by auth_mode. the rights of that credential bound what is visible.

  • base_url — the https address of the 3cx web client, the one in the address bar when you open 3cx in your browser (e.g. https://your-company.3cx.fr)
  • auth_mode=user: username and password — a 3cx account that sees the calls and recordings of the desired groups (a group manager is enough); two-factor authentication must be disabled on it; a dedicated account is better than a personal one
  • auth_mode=api_client: client_id and client_secret — an api client created in the 3cx admin console (integrations > api), if your license allows it; system admin role to see the whole phone system
  • fill in base_url, auth_mode and the matching pair in your oto connector keys under 3cx

    ▸ call traces and recordings
  • threecx_call(date_from=…, date_to=…) one page of the call log; recorded_only=true keeps the recorded segments; continue with skip=next_skip as long as next_skip is not null
  • threecx_call(op="export", date_from=…, date_to=…) the whole period as a csv file (; separator, durations in seconds): the call traces of a day or a week, instead of a daily export
  • threecx_recording(rec_id=…) the audio of a recording, using the SrcRecId or DstRecId of a call log row; returned as a short-lived signed link
  • the connector never writes to 3cx
  • ⚙ multiple comptes

    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.

  • the first one doesn't need a name; from the second on, each one carries its own (the first then takes the name "principal", renamable)
  • without specification, the agent takes the only stored compte, otherwise the one marked as default; otherwise the call is refused, naming the available comptes — never a random choice
  • target a compte for a call: _account="<name>" on the tool; list them: oto_identity(op='list', connector='threecx') (scope='org' or scope='group' for the org's or team's)
  • set the default: oto_identity(op='set', connector='threecx', identity_id='<name>'); rename: op='rename' with new_name
  • ⚠️ no tool walks through the comptes on its own: a total across several comptes is obtained by calling each one (_account) and adding up
  • outils

    chargement…

    utilisation

    claude code — installe le plugin oto — claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.
    claude.ai — branche mcp.oto.cx/mcp en connecteur custom (guide)
    cli — pipx install oto-cli puis oto threecx …