Build integrations with AI.Run them on Truto.
Your agent writes the integration. Truto runs it, connects every customer’s account, and keeps it working.
Free for 30 days. No card. Usually ready within one business day.
Teach your coding agent Truto
/plugin marketplace add trutohq/truto-skills/plugin install truto@truto-skillshttps://github.com/trutohq/truto-skillsnpx skills add trutohq/truto-skillsCatalog
The integration you need is probably already here.
Search 950+ integrations across 50+ categories. If yours is missing, your agent builds it.
Already in the catalog
Truto builds and maintains these. They work with Truto’s OAuth apps from day one. Bring your own OAuth app when you want your brand on the consent screen.
Not here yet
Point your agent at the vendor’s API docs. It builds the integration, and Truto runs it on the same runtime. A fix goes live on apply, with no deploy. How building works →
The runtime
AI writes the happy path. Production is the edge cases.
Your agent codes what the vendor docs say. Here is what the docs leave out. The Truto runtime already handles it.
Show the other five
ids=1,2. The next wants ids[]=1 or ids=1&ids=2.Build or run
AI made building cheap. It made owning expensive.
Your agent writes the code either way. The question is who runs it. Truto is the runtime from your first API call, for one integration or a hundred.
Your AI agent writes this
"auth": { "type": "oauth2" }// integration logicname: first_name & " " & last_name// field mappings<ConnectButton integration="salesforce" />// your product
Truto runs this
All systems running
85integrations shipped in one sprint
“We could maybe build 50 integrations a year… or we can do it in a couple of weeks with Truto.”
Annie GregoryPrincipal Product Manager
Primitives
One runtime for an integration’s whole life.
Every step, from your agent’s first build to every customer. Pick a step to see what it does and the call your code makes.
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 docsAgent skills
Install once. Then ask your agent for the integration.
The Truto skills teach Claude Code, Cursor and other coding agents the Truto API, the CLI and how to build an integration. Your agent does the work. Truto runs the result.
1Install the skills once
/plugin marketplace add trutohq/truto-skills/plugin install truto@truto-skillsAdds the skills as a Claude Code plugin.
https://github.com/trutohq/truto-skillsCursor Settings → Rules → Add Rule → Remote Rule (GitHub), then paste this URL.
npx skills add trutohq/truto-skillsFor Codex, Windsurf and any agent that reads SKILL.md files.
https://docs-mcp.truto.one/mcpA public MCP server with the Truto docs, for any MCP client.
2Ask for the integration in plain words
Say what you need, as you would to a teammate. Your agent does the rest.
Add Expensify to our app. Map its expense reports to our accounting model, and put a Connect button in Settings.
Built the Expensify integration from its API docstruto integrations build expensify-docs.md
Checked it: 0 problemstruto integrations lint
Put it live on Trutotruto integrations apply
Mapped expense reports to your accounting modeltruto unified-mappings apply
Added a Connect button to Settingssrc/settings/integrations.tsx
Done. Your customers can connect Expensify from Settings.
What your agent learns
truto-integrations-buildBuilds a new integration from the vendor’s API docs, then lints and applies it.
truto-unified-mappingsMaps an integration to a unified model, such as CRM or HRIS.
truto-link-sdkAdds the connect flow to your frontend.
truto-jsonataWrites JSONata for mappings, sync jobs and workflows.
trutoKnows Truto’s concepts and writes the app code that calls them.
truto-cliRuns the Truto CLI: integrations, accounts and test calls.
truto-operatorDebugs a live workspace: proxy calls, mappings, sync jobs and webhooks.
truto-api-conventionsKeeps base URL, auth, pagination and idempotency correct.
17integrations, up from 2
“We went from 2 integrations to 17 integrations in a few hours. Without Truto, that would have taken us at least 4 months.”
PrabodhVP of Engineering
Pricing
Start in a free sandbox.
Unlimited connections, API calls and companies on every plan.
Support and enterprise
Want engineers on your side?
Shared Slack channels. Dedicated engineers. A new integration by Thursday if you need it.
Not a vendor. A partner.
Nothing stored by default
Every call is real-time pass-through. Truto does not store your customer’s data unless you turn on a feature that does.
Secure and compliant
SOC 2 Type II, ISO 27001, GDPR and HIPAA. Credentials are encrypted at rest with AES-256.
A dedicated deployment
Truto Cloud, or a dedicated deployment that Truto runs for you.
Unified APIs you can change
Start with the pre-built unified models, then change every mapping in JSONata, per environment or per customer.
Customers
Teams that ship their integrations on Truto.
The sort of teams that read the API docs before the sales deck, and break the sandbox before the contract is signed.
Uses alongside Merge
Migrated from Merge
Migrated from Merge
Migrated from Codat

Uses alongside Merge
Migrated from Ampersand





“After carefully evaluating multiple unified APIs, we’re confident that partnering with Truto was the optimal choice. The caliber of Truto’s product and the quality of their support have validated our decision.”
Ajay VardhanCTO
“Truto didn’t just give us an integration layer, they became a partner. They’ve been hands-on in Slack, shipped features fast, and helped us solve the real-world sync edge cases that show up only in production.”
Aaron EdwardsCEOFAQs
Common questions, straight answers.
Will my customers see Truto’s brand?
Your customers see your brand name and logo in the connect screen, after a short screen that says it uses Truto. Enterprise plans can remove Truto’s branding. The vendor’s consent screen says Truto until you bring your own OAuth app, which you can do per vendor whenever you want. Merge, Nango and Apideck also start you on their own OAuth apps.
How fast can I start?
Request a free 30-day sandbox at truto.one/sandbox. No credit card is needed. Your workspace is usually ready within one business day.
Where does Truto run?
On Truto Cloud by default. If you need a single-tenant setup or a specific data processing region, Truto runs a dedicated deployment for you.
Do you cache or store my customer’s data?
Not by default. Truto fetches data from the vendor in real time on every call and does not cache or store it unless you turn on a feature that stores data, such as SuperQuery.
Try Truto
Start building in a sandbox today
Pick your integrations, submit a work email, and get a 30-day workspace — usually ready within one business day. No credit card required.