BYOA.
YOUR AGENT, OUR API
If it can make HTTP calls, it works.
ERP AI doesn't care what built your agent. Claude, GPT, LangChain, CrewAI, or a bash script you wrote at 2 AM — if it can make an HTTP request, it can create apps, manage records, trigger workflows, generate reports, and run your entire back office. No SDK required. No proprietary format. Just REST.
Two
Lines
Of Code
.
No SDK. No library. No config file.
No dependency. No wrapper. No setup.
# Register your agent
curl -X POST https://api.erpai.com/v1/agents/register \
-d '{"name":"My Agent"}'
# Call any of 720+ apps
curl https://api.erpai.com/v1/apps/invoicing/list \
-H "Authorization: Bearer $KEY"
Get an API Key
Sign up, generate a key from Settings → API Keys. That key carries your org's RBAC permissions — same roles, departments, and table-level access that apply to human users apply to your agent. No special "agent account" needed.
Settings → API Keys → Generate
Read the OpenAPI Spec
45+ endpoint groups documented in a machine-readable OpenAPI 3.1 spec at /v1/openapi.json. Apps, tables, records, workflows, reports, agents, documents, permissions — every module exposed. Point your agent's tool-discovery layer at it.
GET /v1/openapi.json
Make API Calls
Your agent calls POST /v1/app-builder/records, GET /v1/app-builder/tables, POST /v1/auto-builder/workflows/execute, POST /v1/agent/chat — whatever it needs. Structured JSON in, structured JSON out. No screen to scrape. No UI to navigate.
POST /v1/app-builder/records
Works
With
Everything
.
If your framework can make HTTP calls, it's a first-class ERP.AI integration. No SDK. No adapter. No wrapper.
from langchain.tools import OpenAPIToolkit
toolkit = OpenAPIToolkit.from_openapi_url(
"https://api.erpai.app/v1/openapi.json",
headers={"Authorization": "Bearer YOUR_KEY"}
)
agent = create_agent(llm, toolkit.get_tools())
accountant = Agent(
role="Accountant",
tools=[ERPTool("records", table="invoices"),
ERPTool("reports")],
goal="Close month-end books"
)
crew = Crew(agents=[accountant, hr, ops])
tools = [{
"name": "create_record",
"description": "Create a record in any ERP AI table",
"input_schema": {
"type": "object",
"properties": {
"app_id": {"type": "string"},
"table_id": {"type": "string"},
"fields": {"type": "object"}
}
}
}]
curl -X POST \
https://api.erpai.app/v1/auto-builder/workflows/wf_monthend/execute \
-H "Authorization: Bearer $KEY" \
-d '{"inputs": {"period": "2026-03"}}'
# Response: execution_id, status, node results
{"execution_id": "exec_991", "status": "running"}
functions = [{
"name": "query_records",
"parameters": {
"type": "object",
"properties": {
"table_id": {"type": "string"},
"filters": {"type": "object"},
"limit": {"type": "integer"}
}
}
}]
#!/bin/bash
# Daily overdue check — runs via cron
OVERDUE=$(curl -s -H "Authorization: Bearer $KEY" \
"https://api.erpai.app/v1/app-builder/records?table=invoices&filter=overdue")
echo "$OVERDUE" | jq -r '.records[] | .fields.contact' \
| while read name; do
echo "Reminder: $name has overdue invoices"
done
Your agent's relationship with ERP.AI is a Bearer token and an HTTP call.
— The BYOA Principle
Why Zero Lock-In Matters
Most SaaS platforms treat API access as a secondary feature — something you get on higher tiers, with limited endpoints and rate limits designed to discourage heavy usage.
ERP.AI inverts this. The API is the product. There's no GUI to lock you in. No proprietary SDK that becomes a dependency. No connector marketplace that takes a cut.
Switch frameworks? Change nothing. Swap LLM providers? Change nothing. Move from Python to TypeScript? The API is the same.
The Developer Case
Swap Agents Anytime
Start with GPT, switch to Claude, migrate to open-source. Your ERP AI integration doesn't change. The API is the contract, not the agent.
Zero Dependencies
No pip install erpai. No version conflicts. No breaking changes when we update a client library. REST is the SDK. JSON is the format. HTTP is the protocol.
Agents = First-Class Citizens
Your agent gets the same role-based access control as human users. Same permissions matrix. Same audit trail per table, per record, per action. No shadow IT.
Built-In Workflow Engine
Your agent doesn't need to orchestrate everything. Trigger ERP AI's native workflow engine — 100+ node types, conditional logic, HTTP calls, file ops — and let the platform do the heavy lifting.
No Per-Agent Pricing
We charge for tokens consumed, not agents deployed. Run 1 agent or 100 — the cost is the same if they do the same work. Agents aren't seats. Credits are credits.
Rich Data Model
40+ column types — text, numbers, formulas, rollups, links, attachments, lookups. Your agent works with a real relational data layer, not flat key-value blobs. Views, filters, and sorts included.
We don't sell agents. We sell the AI-first ERP that agents need. Bring whatever agent you trust — we'll give it apps, tables, workflows, reports, documents, 40+ column types, and a sub-50ms API.
Bring Any Agent.
We Don't Care.
LangChain, CrewAI, Claude, OpenAI, or raw HTTP. If it can make API calls, it works with ERP.AI. Start with $10K in free credits.
Any framework · Any language · Any LLM · $10K free credits · Zero lock-in