Skip to content

Urai

Build an agent, connect your tools, and add the agent to your product as a chat widget.

Urai runs agents that answer your users and act on your systems.

An agent writes JavaScript and runs it in a sandbox. It reads the result and repeats until it can answer. It calls the libraries you publish, and it follows the skills you write.

When the agent is correct, you publish it as a chat widget and add the widget to your application. Your page sends context to the agent, and the agent sends commands back to your interface.

Agents that run code

An advanced agent writes a script and runs it. It reads the result and repeats until it can answer. A step limit, an allowed-secrets list, and a network allowlist control each run.

Libraries in TypeScript

Publish the functions your agent calls, so the agent does not write its own HTTP requests. Libraries run in the uraiJS sandbox, not in Node. Deploy them with git push.

Skills as procedures

A skill is a Markdown procedure that the agent loads when the task needs it. Tags decide which agents can reach it. Change one skill, and every agent with that tag uses the new version.

An embeddable widget

Add the widget with one script tag, or with a typed component for React, Vue, and Svelte. The style and the text stay on the server, so you change them without a new release.

Context in and out

Send page context and user context into the conversation as vars. A tool can send a command back to your application, for example to open a page or to refresh a view.

Unattended workflows

Write durable TypeScript for work that runs without a person. A step that fails can retry, a run can stop until someone approves it, and Urai keeps a record of every run.

An OpenAI-compatible API

Point an OpenAI SDK at Urai and change the key. Name your tools and your knowledge collections in the request. Urai runs them on the server and returns the finished answer.

Your agent as an endpoint

Publish an agent on its own Responses endpoint. Your code sends an input, and the agent answers with its own model, tools, and knowledge. The conversation stays on the server.

The in-app agent guide gives the steps in order. It starts at sign-in and ends with a live widget on your site. Each step ends with a check, so you know when to continue.

Five other paths do not need a widget:

  • To call one of your agents from your own backend, read the Agents API.
  • To call a model with the tools you name per request, read the Chat Completions API.
  • To run work without a person, read Workflows.
  • To index and search your documents from your own code, read the Knowledge API.
  • To read the text of a document in your own code, read the Extraction API.