Skip to content

Linkworld

Multi-tenant AI agent platform. Build apps in Python or TypeScript, or run your tenant from the conversational control plane.

You bought Linkworld for your business. Start here.

Overview

What Linkworld is, the mental model (company = tenant, app = department, agents = roles), and how the pieces fit together. Read →

Workspace Control tour

The eight screens of the control plane — Dashboard, Inbox, Health, Wires & Grants, Rooms, Audit, KPIs, Steward. Read →

Agents & heartbeats

What agents are, how heartbeats work, the cheap pre-filter that keeps cost down, vision-loop vs heartbeats. Read →

Steward (chat)

Conversational control plane — drive the whole workspace from one chat surface. Reasons + executes cross-app calls. Read →

The full user manual covers installing apps, wires & grants, group rooms, the commitments inbox, KPI cockpit, audit & compliance, and an FAQ. Sidebar on the left of any inner page lists all 11 sections.

Build agents that run on the platform. Python or TypeScript.

Quickstart

Ship a working app in 5 minutes — manifest, one tool handler, linkworld dev server. Read →

Manifest v2

Every field your linkworld.app.yaml can set. Tools, agents, heartbeats, lifecycle hooks, http_routes, chrome panel, more. Read →

Heartbeats

Recurring agent routines with cheap pre-filters. Conversation modes, multi-LLM tier routing, active hours. Read →

Cross-app calls

ctx.team.delegate (intra-app), ctx.apps.invoke (cross-app), ctx.events.emit (pub/sub) — chain depth, grants, wires. Read →

Inbound triage bots

Subscribe to a tenant’s email channel, classify with an LLM, drop a record into their ERP, ack the sender — all from one on_inbound handler.

Cron-driven assistants

Run a daily 07:30 prep digest, a weekly summary, an hourly poll — declarative cron in the manifest, one handler per schedule.

Tool extensions for the agent

Expose a custom tool the tenant’s chat agent can call. Your code runs in a per-tenant container, secrets stay in the platform vault.

Per-tenant integrations

Pull from the tenant’s connected services (M365, Odoo, Slack…) via ctx.tools.call(...) — scope checks, audit logs, and rate limits are handled for you.

Multi-agent collaborations

Ship a multi-department app — CMO + Researcher + Replier — that delegates internally and meets humans in group rooms.

Cross-app workflows

Marketing emits lead_qualified, Sales subscribes — bilateral grants + pub/sub wires you wire up in the workspace UI.

Your code Linkworld platform
───────── ──────────────────
linkworld.app.yaml ─────► Manifest v2 (validated)
app.tool('classify') Tenant agent's tool registry
app.onInbound(...) Inbound channel events
app.onSchedule('daily', …) Cron dispatcher (1-min precision)
ctx.tools.call('email_send', {...}) ──► /api/mcp/app-tools
ctx.secrets.get('OPENAI_KEY') ──► /api/mcp/app-secrets
ctx.team.delegate('researcher', ...) ──► /api/mcp/agent-invoke (intra-app)
ctx.apps.invoke('sales', 'bdr', ...) ──► /api/mcp/cross-app-invoke
ctx.events.emit('lead_qualified', ...) ──► /api/mcp/events-emit
ctx.rooms.post(room_id, ...) ──► /api/mcp/rooms-post
ctx.commitments.add(...) ──► /api/mcp/commitments-add

Your app runs in a per-(tenant, app, version) container that wakes on demand and sleeps after 15 minutes idle. The SDK handles the HTTP shape; you write handlers.

Terminal window
# Python
pip install linkworld
linkworld init my-app --lang python
cd my-app && pip install -r requirements.txt
LINKWORLD_LOCAL=1 python main.py
Terminal window
# TypeScript
npm install -g @linkworld_ai/cli
linkworld init my-app --lang typescript
cd my-app && npm install
npm run dev

Both share the same manifest schema, the same handler signatures, and the same ctx.tools / ctx.secrets / ctx.team / ctx.apps / ctx.events / ctx.rooms / ctx.commitments API. Cross-SDK CI tests assert they stay in lockstep.

The Open App Platform is in alpha. The wire format is stable and partner apps run in production today. We’re still iterating on developer tooling and may break 0.x APIs until the first external partner ships.