Connector Reference
Truto
Configure the truto connector, choose between unified and proxy API methods, target integrated accounts, and stream paginated results.
Truto
The truto connector reads and writes SaaS application data through the Truto platform, using either the normalized unified API or the integration's native proxy API.
When to use it
Use truto when the source or destination is a SaaS app connected through Truto (helpdesks, CRMs, and similar). Prefer unified methods when a unified model covers the fields you need; use proxy methods for integration-specific fields and endpoints the unified model does not expose.
Configuration
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
api_token |
string | Yes | — | Truto API token (stored as a secret) |
base_url |
string | No | — | Truto API base URL (optional) |
Integrated accounts
Every data method requires an integrated_account_id — the Truto connected account (one tenant's authorization for one integration) the call runs against. The token is environment-wide, so one Connector can serve many accounts; which account to use is per-call data, not connector config. Pass it through task arguments and fix it at job creation with template arguments when appropriate.
Methods
Unified API
unified_model selects the Truto unified model (for example ticketing, crm); resource is the unified resource name within it.
| Method | Arguments | Returns | Behavior |
|---|---|---|---|
list |
resource, integrated_account_id, unified_model (all required), query |
array | Streams all pages of a unified resource, following next_cursor to the end |
get |
resource, id, integrated_account_id, unified_model (all required), query |
object | Gets a single resource by ID |
create |
resource, data, integrated_account_id, unified_model (all required), query |
object | Creates a resource |
update |
resource, id, data, integrated_account_id, unified_model (all required), query |
object | Updates a resource |
delete |
resource, id, integrated_account_id, unified_model (all required), query |
void | Deletes a resource |
Proxy API
Proxy methods call the integration's native endpoints as exposed by Truto; resource is the native resource/endpoint name.
| Method | Arguments | Returns | Behavior |
|---|---|---|---|
proxy_list |
resource, integrated_account_id (required), query |
array | Streams all pages from the native list endpoint |
proxy_get |
resource, id, integrated_account_id (required), query |
object | Gets a single native resource by ID |
proxy_create |
resource, data, integrated_account_id (required), query |
object | Creates via the native endpoint |
proxy_update |
resource, id, data, integrated_account_id (required), query |
object | Updates via the native endpoint |
proxy_delete |
resource, id, integrated_account_id (required), query |
void | Deletes via the native endpoint |
proxy_custom |
resource, method, integrated_account_id (required), data, query |
object | Calls a custom HTTP method (e.g. POST, PATCH) on a proxy resource |
proxy_download |
resource, method, integrated_account_id (required), query |
object | Downloads raw binary content from a proxy custom download method |
Custom API
Custom API methods hit an arbitrary path on the integration's API (/custom/<path>), for endpoints Truto has not modeled. Mutating calls must include a methodConfig object in data with the HTTP method and a body_format (json, form, multipart, raw, xml) — without body_format, Truto omits the upstream request body.
| Method | Arguments | Returns | Behavior |
|---|---|---|---|
custom_request |
path, method, integrated_account_id (required), data, query |
object | Arbitrary HTTP call to a custom path |
custom_create |
path, integrated_account_id, data (required), query |
object | POST to a custom path; data carries fields plus methodConfig: { method: POST, body_format: json } |
custom_update |
path, integrated_account_id, data (required), query |
object | PATCH to a custom path; data carries fields plus methodConfig: { method: PATCH, body_format: json } |
custom_upsert |
create_path, update_path, integrated_account_id, data (required), id, query |
object | PATCHes update_path when id is set, otherwise POSTs create_path |
Discovery
| Method | Arguments | Returns | Behavior |
|---|---|---|---|
list_integrated_accounts |
limit, cursor, q, integration, environment_integration_id |
object | Lists integrated accounts one page at a time (accounts + next_cursor), with server-side search and integration filters |
capabilities |
integrated_account_id (required), type, methods, include_undescribed |
object | Lists the listable unified and proxy resources for an account |
query_schema |
resource, integrated_account_id (required), unified_model, method |
object | Fetches the filterable query schema for a resource |
Example
name: export_helpdesk_tickets
arguments:
account_id:
type: string
required: true
connectors:
source:
type: truto
steps:
- name: list_tickets
type: call_method
config: |
{
"connector": "source",
"method": "list",
"args": {
"resource": "tickets",
"unified_model": "ticketing",
"integrated_account_id": arguments.account_id
}
}The matching connectors.yaml entry for CLI runs:
source:
type: truto
config:
api_token: ${TRUTO_TOKEN}Behavior notes
listandproxy_listare streaming methods: they follownext_cursoracross every page and yield records one at a time with backpressure. Do not buffer their output unless the dataset is known to be small.- Retries:
429responses are always retried;5xxresponses are retried only for read-only methods (writes are not blindly repeated). Backoff is exponential, honoringRetry-Afterwhen present, up to 5 attempts. - Use
capabilitiesandquery_schemato discover what an account exposes before authoring steps — resources and filters vary by integration and plan. - Data Explorer uses
list_integrated_accounts,capabilities, andquery_schemato drive its pickers for Truto Connectors. See Data Explorer.
Related
- Connectors overview — all compiled connector types
- Catalog connectors and connected accounts — the related account-pinning model for catalog types
- Template arguments — fixing
integrated_account_idat job creation - Data Explorer — interactive discovery against a Truto Connector