From prototype to production with minimal friction
Once you have access, follow the instructions in Voice Studio to download and install the Urai CLI for your platform.
Create a TypeScript file with your business logic
// calendar.ts
import { tool, meta } from "@urai/runtime"
class CalendarTool {
@tool
static async check_availability({
date,
time
}: {
date: string;
time: string
}) {
const apiKey = meta.secrets.CALENDAR_API_KEY
const response = await fetch(
`https://api.calendar.com/availability`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify({ date, time })
}
)
return await response.json()
}
} Test your functions before deploying
Generate schema, create tool, and upload
Connect your tool to a voice agent
Tools designed to make your workflow faster and more reliable
Full TypeScript support with automatic type checking and schema generation
Test functions on your machine before deploying to production
JavaScript runtime like Cloudflare Workers - no servers to manage
RESTful APIs for all operations - integrate with your CI/CD
Version control your agent configurations and tool implementations
Update code and secrets without downtime using tool reload
Everything you need from the command line
urai tool create <name> --schema <file> Create a new tool
urai tool upload <id> <directory> Upload tool files
urai tool link <tool-id> <agent-id> Link tool to agent
urai tool reload <tool-id> Reload tool runtime
urai js call <script> <function> [args] Test function locally
urai js list-tools <script> List tool declarations
urai js generate-schema <script> Generate schema JSON
urai secret set <name> <value> Create or update secret
urai secret list List all secrets