Skip to content

Worked examples for common CLI workflows. Assumes you have run truto login and have at least one integrated account.

Orientation

truto whoami
truto whoami -o json
truto whoami -p staging
truto profiles list
truto team get -o json

Discover integrations

truto integrations list
truto integrations list --name hubspot
truto integrations unified-apis <integration-id>
truto integrations tools <integration-id>

Discover what an account can do

ACCOUNT=<your-integrated-account-id>
 
truto accounts tools $ACCOUNT
truto accounts identify $ACCOUNT
truto accounts tools $ACCOUNT --methods list
truto accounts tools $ACCOUNT --methods list,get --tags contacts,deals
 
truto capabilities $ACCOUNT --type proxy
Tip

For coding agents, accounts tools is the best starting point when you do not know which resources an account supports.

Proxy API

ACCOUNT=<your-integrated-account-id>
 
truto proxy contacts -a $ACCOUNT
truto proxy contacts 1 -m get -a $ACCOUNT -o json
truto proxy contacts -m create -a $ACCOUNT -b '{"properties":{"email":"jane@example.com"}}'

Unified API

ACCOUNT=<your-integrated-account-id>
 
truto unified crm contacts -a $ACCOUNT
truto unified crm contacts <id> -m get -a $ACCOUNT -o json
truto unified crm contacts -m create -a $ACCOUNT -b '{"first_name":"Jane","last_name":"Doe"}'

Test a response mapping

# Evaluate a mapping against a saved raw API response (no live call)
truto unified test-mapping \
  --model crm --resource contacts --integration hubspot \
  --input sample-list-response.json
 
# Or pass the JSONata expression directly
truto unified test-mapping \
  --mapping '$map(results, function($r) { $r })' \
  --input sample-list-response.json

Export and analyze

ACCOUNT=<your-integrated-account-id>
 
truto export crm/contacts -a $ACCOUNT -o ndjson --out contacts.ndjson
truto export crm/contacts -a $ACCOUNT -o ndjson | jq -r '.email' | sort -u
wc -l < contacts.ndjson

Profiles and staging

truto login --token $STAGING_TOKEN --profile-name staging
truto use staging
truto integrations list
truto use default

Integration build workflow

export ANTHROPIC_API_KEY=sk-ant-...
# Agentic build → working file → refinement (press Enter when done) → my-vendor.integration.json
truto integrations build https://docs.vendor.com/openapi.json my-vendor
 
# Add only endpoints missing from the live integration
truto integrations build https://docs.vendor.com/openapi.json my-vendor --only-missing
 
truto integrations lint my-vendor.integration.json
truto integrations apply my-vendor.integration.json

Build on Fireworks AI instead of Anthropic

export FIREWORKS_API_KEY=...
export FIRECRAWL_API_KEY=...        # required for web_search / web_fetch under Fireworks
 
# Default workhorse (kimi-k2p7) for agent + extraction, deepseek-v4-flash for classification
truto integrations build https://docs.vendor.com/openapi.json my-vendor \
  --llm-provider fireworks
 
# Pin a different workhorse (1M context GLM 5.2) and a cheaper classifier
truto integrations build https://docs.vendor.com/openapi.json my-vendor \
  --llm-provider fireworks \
  --llm-model glm-5p2 \
  --llm-classification-model gpt-oss-20b
 
# Use Fireworks-hosted Qwen3 embeddings instead of the local ONNX default
truto integrations build https://docs.vendor.com/openapi.json my-vendor \
  --llm-provider fireworks \
  --embedding-provider fireworks \
  --embedding-model qwen3-embedding-8b

See AI-powered build — LLM providers for the full preset table and the --anthropic-model / --llm-model exclusivity rule.

To add a single endpoint when you already have the HTTP verb and path, use truto integrations add-method — see Add method.

Unified mappings build workflow

export ANTHROPIC_API_KEY=sk-ant-...
ACCOUNT=<your-integrated-account-id>
 
# Agentic build → JSONata mapping rows grounded on live samples → my-vendor.crm.mappings.json
truto unified-mappings build my-vendor crm --account $ACCOUNT
 
# Audit, then push to the base mapping rows
truto unified-mappings validate my-vendor.crm.mappings.json
truto unified-mappings apply my-vendor.crm.mappings.json --target base

See Unified mappings build for the sample ladder, flags, and the MappingFile shape.

Verbose debugging

truto proxy contacts -a $ACCOUNT -v
# stderr shows → GET ... and ← status

Piping between commands

# Create multiple integrations from a file
cat integrations.ndjson | truto integrations create --stdin
 
# Chain export into proxy create on another account
truto export crm/contacts -a $ACCOUNT_A -o ndjson | \
  head -5 | \
  truto proxy contacts -m create -a $ACCOUNT_B --stdin

More help

  • Data plane — unified vs proxy
  • Power features — export, diff, JSONata
  • AI-powered build — full build options
  • Run truto context for an LLM-oriented reference (truto context --full for the full tree)