One platform.
Serverless runtime. Secure code execution.

Urai is the engine behind every AI Chatbot and every AI Automation. Write tools in TypeScript. Run them serverlessly. Execute LLM-generated code safely. Ground answers in your data.

Architecture

A request, end to end

Urai breaks a single user prompt across a small team of specialised agents. A Decider routes intent. A Coding Agent writes a tiny program. The Execution Engine runs it in a sandbox. A Summariser turns the result back into a usable answer.

Step 1

Decider Agent

Classifies the request: simple chat, knowledge lookup, or a task that needs code.

Step 2

Coding Agent

Generates a small program in TypeScript using your available tools and knowledge.

Step 3

Execution Engine

Runs that program in a sandboxed serverless environment with a 2-second cold boot.

Step 4

Summariser Agent

Reads execution output and produces the response the user sees, with citations.

Splitting work across specialised agents and running compiled code instead of long token chains is what produces our headline numbers: 3x faster, 10x cheaper than a single reasoning agent on the same task, with deterministic outputs you can audit.

UraiJS Runtime

One Decorator. Any Method. It's a Tool.

The @tool decorator turns any TypeScript method into an AI-callable function. No SDK boilerplate. No config files. Standard TypeScript with ESM imports. The runtime handles the rest.

From production: a reservation agent

@tool

One decorator. Any class method becomes callable by AI agents.

meta.secrets

Built-in secrets management. API keys encrypted at rest with AES-256.

TypeScript

Standard ESM imports, types, async/await. Use any npm package.

// Real production tool: reservation agent
import { createClient } from '@supabase/supabase-js'

class BookingAgent {
/** Create a new reservation */
@tool
async create_reservation(data: ReservationRequest) {
const key = meta.secrets.SUPABASE_API_KEY
const db = createClient(
meta.vars.metadata.project, key
)
return await db
.from('reservations')
.insert([data]).select()
}

/** Look up a Salesforce account */
@tool
async lookup_account(query: string) {
return await salesforce.search(query)
}
}

Secure Code Execution

Run LLM-generated code safely

When the coding agent writes a program, it has to run somewhere. Urai runs it in a fresh sandbox per task: disposable, networked only to the tools and data you've allowed, gone the moment the task completes.

Fresh sandbox per execution

No persistent state between tasks. Each run is isolated, then torn down. Side effects can't leak across tenants or users.

2-second cold boot

Fast enough to use inside an interactive chat or a live phone call without making the user wait.

Sandboxed network & file access

Explicit allowlists for network endpoints. No arbitrary disk access. Auditable I/O for every task.

Coding Agent

Describe it.
The Agent Builds it.

Not every team has AI engineers. Urai's built-in coding agent generates UraiJS tools from plain-language descriptions. Describe a workflow, get deployable code.

The agent understands your integrations, your data schema, and your existing tools. Teams go from idea to deployed agent without writing boilerplate.

I need a tool that looks up a customer in Salesforce and creates a Jira ticket with their open issues.

PM
AI

I'll create a tool that connects both systems. Here's the implementation:

class CustomerSupport {
@tool
async escalate_customer(...) {
// Lookup + ticket creation
}
}
Tool deployed and linked to Support Agent

Knowledge Hub

Your data, instantly searchable

Ingest documents in any format. Hybrid search combines semantic understanding with keyword precision, and feeds directly into your agent tools, so agents have context from your documents alongside live data from integrations.

Every Format

PDF, DOCX, XLSX, PPTX, Markdown, HTML, CSV, JSON, images with OCR, and more.

Hybrid Search

Semantic vector search meets full-text keyword search. Exact matches with meaning-based retrieval, together.

Access Control

Fine-grained permissions tied to your identity provider. Users only see what they're authorized to see.

Integrations

Your agents connect to everything

100+ pre-built integrations that your agents can use out of the box. Each one becomes tools your agents call: pulling data from Salesforce, creating Jira tickets, posting to Slack.

Salesforce
Zoho
GitHub
GitLab
Jira
Slack
Google Docs
HubSpot
Notion
PostgreSQL
Twilio
+90 more

Channels

One agent, deployed where your users are

Once your agents have tools and knowledge, deploy them through voice or embeddable chat. Same agent, multiple channels.

Voice

Natural, interruptible voice agents that take action. Integrate with Twilio, FreeSWITCH, or WebRTC. Sub-second latency.

  • Interruptible, natural conversation flow
  • Tool calling during live calls
  • Multiple telephony providers
Learn more

Chat

Embeddable widget for customer chat. Team workspace for internal chat. Project-scoped, model-agnostic, with full access to your knowledge hub.

  • Project-based conversation management
  • Bring any model: OpenAI, Anthropic, Gemini
  • Embeddable chat widget for your apps
Learn more

Why Urai

Secure Runtime

Agents execute in a sandboxed environment. No arbitrary code on your infrastructure. Secrets encrypted at rest with AES-256.

Zero Cold Starts

Sub-second execution for real-time voice and chat interactions where every millisecond matters.

Model Agnostic

Bring OpenAI, Anthropic, Gemini, or open-source models. Your tools work with any LLM. No vendor lock-in.

Want to dig deeper?

Book time with our team and we'll walk you through the runtime, the sandbox, and how teams are deploying agents in production today.