crm_read
crm_read forwards a read request to your tenant’s connected CRM. OnFire
resolves the stored credentials and routes the call, so you never handle
auth or provider tokens.
When to use it
Section titled “When to use it”- Look up accounts, contacts, opportunities, or any CRM object your tenant has connected.
- Confirm what already exists in the CRM before a
crm_write.
Prerequisite
Section titled “Prerequisite”Call get_tenant_settings first and
read settings.crm — it tells you the provider and gives you the
integration_id this tool requires.
Inputs
Section titled “Inputs”| Parameter | Type | Required | Description |
|---|---|---|---|
integration_id | number | Yes | The CRM integration id from settings.crm.integration_id. |
relative_url | string | Yes | API path relative to the provider API root — never repeat the root. |
http_method | string | No | GET (default) or a read-shaped POST. |
json_body | object | No | Body for read-shaped POSTs. |
params | object | No | Query-string parameters. |
Read-only enforcement
Section titled “Read-only enforcement”Any GET, plus the read-shaped HubSpot v3+ POSTs — <object>/search,
batch/read, associations/.../batch/read. Anything else is rejected
server-side; writes go through crm_write.
Path rules
Section titled “Path rules”relative_url is relative to the provider’s API root, which the proxy
already routes to:
| Provider | API root | Example relative_url |
|---|---|---|
| Salesforce | services/data/vXX.X/ | query/?q=..., sobjects/Account |
| HubSpot | crm/v3/ | objects/contacts/search |
Returns
Section titled “Returns”JSON with status (success / target_http_error), status_code, and
content — the target API response, parsed as JSON where possible.
Notes & limits
Section titled “Notes & limits”- Scoped to your own tenant’s CRM integration.
- Present operations to the user in business terms — API paths, methods, and vendor names are implementation detail.