● FOR HUMANS You are here
ANY FRAMEWORK
ZERO VENDOR LOCK-IN · 45+ API ENDPOINTS
2026

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.

No SDK required Any HTTP client Same RBAC for all
The Entire Integration

Two
Lines
Of Code .

No SDK. No library. No config file.
No dependency. No wrapper. No setup.

terminal — bash
# 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"
That's it. No step 3. ● Connected
01

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
02

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
03

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
Compatible Frameworks

Works
With
Every­thing .

If your framework can make HTTP calls, it's a first-class ERP.AI integration. No SDK. No adapter. No wrapper.

LangChain / LangGraph python
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())
CrewAI python
accountant = Agent(
    role="Accountant",
    tools=[ERPTool("records", table="invoices"),
           ERPTool("reports")],
    goal="Close month-end books"
)
crew = Crew(agents=[accountant, hr, ops])
Claude (MCP / Tool Use) json
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"}
    }
  }
}]
Workflow Engine (Built-In) bash
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"}
GPT (Function Calling) json
functions = [{
  "name": "query_records",
  "parameters": {
    "type": "object",
    "properties": {
      "table_id": {"type": "string"},
      "filters": {"type": "object"},
      "limit": {"type": "integer"}
    }
  }
}]
Custom / Scripts / Cron bash
#!/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
The 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.

Why BYOA

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.

BYOA Ready

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