Make your companyagenticin two clicks.
Frailen is agent infrastructure for software companies. Connect your API once, and agents operate your product on behalf of your users: with their permissions, a brake on anything risky, and every write verified.
One request inside Acme Billing, a made-up product we use to show the runtime.
Set up by the coding agent you already use
- Claude Code
- Cursor
- Codex
- GitHub Copilot
- Gemini CLI
- Windsurf
A model with your API keys can act as anyone. Frailen can't.
Wiring a model to your API is easy. The hard part is everything that happens when it gets something wrong. Frailen is that layer, for any agent you put on top.
It acts with a service key that can do anything.
It acts with the user's own session: if they can't do it, neither can the agent.
The prompt decides what needs approval.
The brake lives in code, set on each tool by the damage it can do.
A 200 response counts as done.
Every write is read back: verified, not there, or couldn't read.
A timeout gets retried, and sometimes it happens twice.
One Idempotency-Key per write; an uncertain write is never repeated blindly.
The logs end up scattered across services.
One append-only log: what it did, on whose behalf and how it went.
One customer's data can leak into another's context.
Every row carries the company and the database enforces isolation, Frailen's own engine included.
One connection. Any product with an API.
The same runtime decides, tool by tool, what goes straight through, what waits for a click and what it won't try. Example requests on made-up products:
- Billing“Refund invoice F-2291”Asks for confirmationMoves money
- Logistics“Move tomorrow's 40 pickups to Thursday”Asks for confirmationTouches many at once
- HR“Make Sofía an admin”Asks for confirmationChanges a role: always confirmed
- CRM“Email this quote to the client”Asks for confirmationReaches a third party
- Clinics“Move María's appointment to Friday at 3”Goes straight throughCan be undone and reaches no one else
- Billing“Delete the test invoices”Doesn't tryWhoever asks lacks that permission in your product
Today the first agent is the support agent inside your product. The same tools, brake and read-back carry over to the agents that come next.
Your coding agent sets it up.
Copy one line and paste it into Claude Code, Cursor or Codex. Your agent reads the playbook, writes the tool cards from your OpenAPI and prepares the integration on a branch. You review and approve.
One line, and it follows through
The line points to get-started.md, a playbook written for agents: what to do, in what order and when to stop and ask you.It reads the whole site
An llms.txt, an llms-full.txt and every page in Markdown. No JavaScript, no guessing.It prepares, it doesn't publish
It works on a branch. Approving the tools and turning the agent on is done by a person, with their passkey.
Set up Frailen for me. Fetch https://frailen.com/get-started.md and follow it.One line for Claude Code, Cursor or Codex. Your agent reads get-started.md and follows it step by step.
- 0Opens a branch
- 1Finds your API and asks which operations it may touch
- 2Writes the tool cards, with their damage and read-back
- 3Adds the token route
- 4Mounts the chat
- 5Writes the first test bench cases
- 6Leaves the rules in your AGENTS.md and tells you what's left to decide
claude "Set up Frailen for me. Fetch https://frailen.com/get-started.md and follow it."In Claude Code, from your terminal.
Your team sets the brake, not the model.
Every tool is tagged with the damage it can do. With that, the code decides what goes straight through and what waits for the person's click, whatever the model says.
Moves money
Charges, prices, comps, refunds
Touches many at once
Changes or notices on many records at once
Reaches third parties
Emails, WhatsApp, notices to customers
Can't be undone
Delete, cancel, send
Apply a 10% credit to the Pro plan
214 accounts in Acme Billing
- Accounts
- 214
- Total credit
- 3,860 USD
From your API to the agent, in staging first.
Nothing reaches your customers until your team approves the tools, the test bench passes and someone turns it on.
- 01
Connect your API
The importer builds the tools from your OpenAPI, each with its damage and its read-back. Your team reviews and approves them. - 02
Test it with your cases
You write the requests it has to solve and the rule for each one. The test bench grades them by reading your API back. - 03
Turn the agent on in two clicks
“Turn on” and the passkey of whoever approves it. From then on the panel shows what it did, on whose behalf and what it cost.
For whoever integrates it: one tag and one route.
The chat runs in a Frailen iframe. Your backend signs who each person is; Frailen never holds a key to sign for anyone.
The tools, from your OpenAPI
Only a GET can read; everything else goes through the brake.The identity, from your backend
An ES256 session and a route that exchanges it for a short-lived token for that person.The chat, with one tag
Or with code or React, to pass along what the person has open.
<script src="https://chat.frailen.com/chat/0.2.0/frailen.js" data-empresa="acme-billing" data-asercion="/frailen/asercion"></script>Secure by how it's built.
No master key
Frailen only receives your public key. Without the person's session, it can't act.The token isn't stored
It lives in memory for as long as the call lasts. It never goes to the database or the logs.Nothing from one company improves another
No shared learning across companies. Caches are keyed by company and the database won't let anyone read another's data.
Common questions
Built by you, or by your agent.
Thirty minutes with the people building it, or one line for your coding agent. Whatever reaches production, you turn on.