# Power features

> Source: https://truto.one/docs/cli/power-features/

## Export

Bulk export with auto-pagination (unified or proxy):

```bash
# Unified: path contains /
truto export crm/contacts -a <account-id> -o ndjson --out contacts.ndjson
truto export crm/contacts -a <account-id> -o csv --out contacts.csv

# Proxy: no slash in path
truto export tickets -a <account-id> -o csv --out tickets.csv

# Pipe to jq
truto export crm/contacts -a <account-id> -o ndjson | jq '.email'
```

| Format | Behavior |
| --- | --- |
| `ndjson` | Streams one record per line — best for large datasets |
| `csv` | Header from first page; columns locked from first record |
| `json` / `yaml` | Buffers all pages in memory — avoid for huge exports |

Default format for `export` is **`json`** (not `table`).

## Diff

Compare two records field-by-field:

```bash
truto diff crm/contacts <id1> <id2> -a <account-id>
truto diff crm/contacts <id> -a <account-1> --account2 <account-2>   # cross-account
truto diff crm/contacts <id1> <id2> -a <account-id> -o json
```

Resource path convention matches `export`: `crm/contacts` → unified; `tickets` → proxy.

With `--account2`, `[id2]` is optional and defaults to `id1`.

## JSONata

Evaluate [Truto JSONata](/docs/guides/unified-apis/mapping-bindings) locally (no API call):

```bash
truto jsonata eval --expression '$map(items, function($v) { $v.id })' --input context.json
cat context.json | truto jsonata eval --expression-file expr.txt --stdin
```

Uses `@truto/truto-jsonata` with Truto's custom functions.

## Open dashboard

```bash
truto open
truto open integrations
truto open accounts <id>
truto open sync-jobs
truto open logs
```

Supported resources: `integrations`, `accounts`, `integrated-accounts`, `environments`, `sync-jobs`, `workflows`, `webhooks`, `api-tokens`, `mcp-tokens`, `unified-models`, `datastores`, `logs`, `team`, `link-tokens`, `notifications`

Uses `open` on macOS and `xdg-open` on Linux.

## Stdin piping

```bash
# Bulk admin create from NDJSON
cat contacts.ndjson | truto accounts create --stdin

# Bulk admin create from JSON array
echo '[{"name":"a"},{"name":"b"}]' | truto integrations create --stdin

# Data plane (single JSON body)
echo '{"first_name":"Jane"}' | truto unified crm contacts -m create -a <id> --stdin
cat batch.json | truto batch --stdin
```

## Upgrade

```bash
truto upgrade --check
truto upgrade --force
```

See [Installation](/docs/cli/installation).
