Primitives
One runtime for an integration’s whole life.
Eight steps, from your agent’s first build to an AI agent using your customer’s data. Use one or all of them, across 950+ integrations and any your agent builds.
Step by step
Pick a step to see what it does and the call your code makes.
The plain job comes first. The Truto name is under it, with a link to its docs.
1Build it
2Connect customers
3Use it in your product
1 of 8 · in Truto: Build
Generate the integration
Your agent reads the vendor’s API docs and writes the integration as one JSON file.
No integration code in your repo to maintain.
Build in the docs →$ truto integrations build vendor-openapi.yaml my-vendor✓ wrote my-vendor.integration.json2 of 8 · in Truto: Environments
Test it, then go live
Apply the file to your team, then install it in development first and production after.
Each environment has its own integrations, accounts and API tokens.
Environments in the docs →$ truto integrations apply my-vendor.integration.json✓ on your team$ truto environment-integrations create --integration-id 7f3a…✓ live in development3 of 8 · in Truto: Connect
Let customers sign in
Your customer picks the app in a connect screen inside your product and signs in.
Truto stores the tokens and refreshes them. You never touch them.
Connect in the docs →import authenticate from '@truto/truto-link-sdk'await authenticate(linkToken)// the customer signs in to their app✓ a new connected account4 of 8 · in Truto: Proxy API
Call the vendor’s API
Call the vendor’s own API through Truto, for any connected account.
Auth, pagination and rate limits are handled on every call.
Proxy API in the docs →GET api.truto.one/proxy/contacts?integrated_account_id=a91c…✓ 200 OK, with next_cursor for the next page5 of 8 · in Truto: Unified API
One API for a whole category
Read and write CRM data in one shape, whether the account is HubSpot, Salesforce or a CRM your agent built.
Write your feature once for every CRM. Change any mapping in JSONata.
Unified API in the docs →GET api.truto.one/unified/crm/contacts?integrated_account_id=a91c…✓ 200 OK, the same fields for every CRM6 of 8 · in Truto: Sync
Copy data to your database
Copy data into your own database on a schedule.
Each run starts where the last one stopped.
Sync in the docs →sync job crm/contacts every hour✓ run complete, checkpoint saved7 of 8 · in Truto: Events
Get change webhooks
Get a webhook when data changes in a customer’s account.
One webhook format for every vendor, verified before it reaches you.
Events in the docs →POST your-app.com/webhooks/truto✓ a contact changed in a customer’s CRM8 of 8 · in Truto: Tools and MCP
Give it to AI agents
Give the integration to an AI agent as tools, or as an MCP server for each connected account.
Your agent works with your customer’s data, with the same auth and limits.
Tools and MCP in the docs →"url": "https://api.truto.one/mcp/a1b2c3…"✓ tools built from the integration and its docsAll eight at a glance
- 1
Generate the integration
Build
Your agent reads the vendor’s API docs and writes the integration as one JSON file.
Docs → - 2
Test it, then go live
Environments
Apply the file to your team, then install it in development first and production after.
Docs → - 3
Let customers sign in
Connect
Your customer picks the app in a connect screen inside your product and signs in.
Docs → - 4
Call the vendor’s API
Proxy API
Call the vendor’s own API through Truto, for any connected account.
Docs → - 5
One API for a whole category
Unified API
Read and write CRM data in one shape, whether the account is HubSpot, Salesforce or a CRM your agent built.
Docs → - 6
Copy data to your database
Sync
Copy data into your own database on a schedule.
Docs → - 7
Get change webhooks
Events
Get a webhook when data changes in a customer’s account.
Docs → - 8
Give it to AI agents
Tools and MCP
Give the integration to an AI agent as tools, or as an MCP server for each connected account.
Docs →
New here? Start with Build, or read why to run integrations on Truto when AI can write them.
Try every step in a sandbox.
Pick your integrations, connect a test account, and call it through the proxy, a unified API or an MCP server.