TypeScript SDK reference
The noclick package, generated from its own source: every class, method and error.
npm install noclickVersion 0.2.0. New here? Start with the guide.
NoClick Platform SDK: users, sessions, connections, tools, humans, agents, channels, inboxes, phone numbers, sandboxes, machines, browsers and cards; databases, buckets, repos, apps and domains, each in a region; plus the activity they leave (operations, events, tool calls, API requests, usage).
import { Connection, User, asUser } from "noclick";
const user = User.fromId("user_42", { createIfMissing: true });
await asUser(user, async () => {
const gmail = await Connection.fromName("gmail", { integration: "gmail", createIfMissing: true }).hydrate();
console.log(gmail.connectUrl);
});Configuration
| Name | Description |
|---|---|
NoClick | Connection settings for the platform API. |
configure | Replace the default client, e.g. |
defaultClient | Get the client used when no |
Page | One page of a listing; pass |
regions | Every region, or those that place |
Region | A place NoClick runs resources and keeps their data; |
Your users
| Name | Description |
|---|---|
User | One of your users, a person or a company, known by your own id for it. |
Spending | Whether a user can spend right now, as |
asUser | Act for |
Session | A token pinned to one user with a subset of the minting key's scopes. |
Brand | One per account; rendered on |
Their accounts
| Name | Description |
|---|---|
Connection | A named connection to an account on another service. |
run | Run one operation by its ref, |
ConnectLink | A connect page URL that is also the operation tracking it. |
IntegrationInfo | A service NoClick can operate, such as |
IntegrationOperation | One operation of a connection's integration, with the JSON schema of the |
IntegrationEvent | An app event a connection's integration can deliver to an agent's |
Hosted agents
| Name | Description |
|---|---|
Agent | A hosted agent. |
HarnessInfo | What can run an agent: one of |
ModelUsage | What an agent's model calls on your own key or plan (its |
AgentGrant | A connection the agent's user gave it at run time (it asked with its |
Cron | A schedule: a five-field cron expression (minute, hour, day of month, month, day of week: numbers, |
OnWebhook | A URL that wakes the agent: each POST to it is a turn, its body the message (a JSON body is passed as JSON). |
OnEvent | An app event from one of the agent's connections, such as a Slack message or a new HubSpot contact. |
OnPlatformEvent | One of NoClick's own events (the types |
OnQueue | Each message on a queue becomes a turn: the agent reads |
AgentTrigger | One thing that wakes an agent, as |
AgentMemory |
|
Memory | Named notes any agent of its scope can attach: the account's (every user's agents may read them) or one user's. |
AgentWorkspace | The files an agent works on in one conversation: what it writes with its shell or its tools, and what you put there for it. |
ShareLink | An agent's public chat page. |
Wakeup | A turn an agent will take later, in one of its conversations: at a time, when an operation settles, on a NoClick event, or at each time of a schedule ( |
Job | Work one agent gave another: a spawned child's task (kind |
Before | An update the parent requires before its child makes a tool call: |
Every | An update the parent requires at least this often while its child works: |
Agents | The |
Platform | NoClick itself, for an agent's |
Attachment | A file on a message, kept as an account file at |
Channel | A conversation between members. |
Subscription | Events a channel, or a whole |
Workspace | A home for channels and their members, like a workspace in a team chat: a company, a client or a team, with its people, its agents and its rooms. |
A2AMember | A remote agent reached over A2A. |
Tools for your own LLM
| Name | Description |
|---|---|
Toolkit | A set of tools for your LLM. |
ToolResult | The outcome of one tool call. |
McpServer | Your tools at one URL, for Claude, ChatGPT, Cursor or any MCP client. |
AI | Models paid from your NoClick balance, for code that isn't an agent: chat, embeddings, images, videos and transcription; and your agents as |
People in the loop
| Name | Description |
|---|---|
Human | A person to reach. |
HumanOperations | Some of a person's tools for an agent ( |
HumanRequest | A request to a person; also the operation that finishes when they answer. |
Policy | The account's policy, or one user's ( |
Acting in the world
| Name | Description |
|---|---|
Inbox | An email address that receives mail. |
PhoneNumber | A number you own. |
Browser | A running browser. |
BrowserProfile | Saved sign-ins for one person. |
BrowserLogin | A live-browser link where a person signs in to a site, and the operation that finishes once they have: |
Cardinvite-only beta | A virtual card with a spending limit. |
Sandbox | A running sandbox. |
Machineinvite-only beta | An always-on computer of a fixed |
Build and host
| Name | Description |
|---|---|
Project | An app: a repo deployed to a URL. |
Deployment | One build of a project at one commit. |
Schedule | A project's cron job: NoClick POSTs |
ProjectEmail |
|
ProjectPayments |
|
ProjectSignIn |
|
ProjectAI |
|
Repo | A git repository NoClick hosts. |
Domain | A domain you bought through NoClick, transferred in, or connected from elsewhere, and what it serves. |
DomainPurchase | A domain bought or renewed: the operation |
Workflow | A workflow built in the NoClick app: its trigger, steps and outputs. |
Data
| Name | Description |
|---|---|
Database | A SQL database: SQLite ( |
Bucket | A bucket of files by key. |
Volume | A persistent filesystem: files by path, in folders, that outlive the sandbox or agent turn that wrote them. |
Dict | A key-value store: string keys, JSON values, optional expiry per key. |
Queue | A durable queue of JSON messages, delivered at least once. |
Secret | Named values, such as API keys, that the code you run reads from its environment: a sandbox's commands, an agent's shell, an app. |
In production
| Name | Description |
|---|---|
Operation | A long-running piece of work. |
TrashItem | Something deleted, restorable until |
Event | Something that happened: an operation finished, a person answered, a domain went live. |
Webhook | An endpoint on your server that receives events, signed with its secret. |
ToolCall | One recorded tool call. |
ApiRequest | One logged request. |
usage | Spend for |
Usage | What the account (or the current user) spent in |
ExportBundle | What an export produced: a zip at |
feedback | Tell the NoClick team something: a |
Errors
| Name | Description |
|---|---|
NoClickError | Base class for every NoClick platform error. |
NeedsConnection | The connection has no account connected yet; send the person |
CredentialDisconnected | The connection's account was revoked or stopped working; send the person |
ApprovalRequired | Policy wants a person to approve this call first. |
SpendCapExceeded | A monthly spend cap ( |
SpendingPaused | You paused this user's spending ( |
Conflict | It already exists ( |
WebhookSignatureError | A webhook delivery's |
Every object
Live API objects: User, Agent, Operation and the rest.
An object can exist before the server has been asked about it
(User.from_id(...), Agent.from_name(...),
Operation.from_id(...)). It hydrates on first need: a method call, or a
property the local hints can't answer. hydrate() does it explicitly.
An object you got while acting for a user keeps acting for that user.
| isHydrated | boolean | Whether the server's view has been loaded. |
| raw | JsonObject | The server's JSON for this object (throws until hydrated). |
hydrate
hydrate(): Promise<this>Load the object from the server if it hasn't been yet.
This object, loaded. It sends nothing if it already was.
refresh
refresh(): Promise<this>Re-fetch the object's current state.
This object, with the server's current fields.