Connect Odoo CRM
set_odoo_credentialsConnect your own Odoo CRM so your discovered prospects sync into it. Provide your Odoo URL, database name, API-user id and API key (generate one under Preferences -> Account Security -> New API Key). The connection is validated live against your Odoo before it is saved; your API key is stored encrypted and is NEVER shown back — present a masked confirmation (e.g. odoo_api_key: ****) to the user. Calling this again updates the existing connection.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"credentials": "<credentials>"
},
"name": "set_odoo_credentials"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| credentials | Yes | A customer's own Odoo CRM connection details. Mirrors the ``POST /api/v1/tenant/odoo-connection`` request body the odoo-sync onboarding router expects (``_validate_shape``) field-for-field — the endpoint contract is the single source of truth, so we do NOT invent a divergent schema. ``customer_id`` is deliberately absent: identity is the JWT-derived ``X-Customer-Id`` header set at the gateway, so a customer can only ever set THEIR OWN credentials. The connector adds no validation of its own — the live ``/jsonrpc`` auth probe + SSRF guard + FK audit all run server-side before anything is stored (a thin bridge; business logic lives behind the gateway). ``odoo_api_key`` is a SECRET: it is sent in the request body (never a query param, never logged) and is never echoed back — the gateway + odoo-sync response filters strip it, so any confirmation the agent shows must mask it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||