---
title: "What is Aeontel?"
description: "An overview of the Aeontel platform and its composable primitives."
section: "General"
order: 10
---

# What is Aeontel?

Aeontel is a multipurpose AI platform for building production-ready, AI-powered applications without writing code. It provides composable primitives — agents, functions, workflows, schemas, knowledge graphs, files, events, triggers, apps, databases — that combine into anything: AI agents, automations, data pipelines, knowledge bases, content processors, internal tooling.

## Core idea

Every feature in Aeontel is a **primitive** — a small, focused building block that does one thing well. Primitives compose freely:

- A **schema** defines data structure
- A **function** uses that schema for input/output
- An **agent** calls that function to accomplish tasks
- A **workflow** chains agents into multi-step processes
- An **event** triggers a workflow automatically
- An **app** exposes any of the above through a built UI

No primitive depends on another to function. Each is useful on its own, but powerful when composed.

## Workspaces

A **workspace** (`wsp_`) is the primary resource boundary. Everything — agents, files, events, deployed apps — belongs to one workspace and is isolated from every other one. Each workspace has its own R2 bucket, its own event log, and its own members.

Within a workspace you create and compose primitives:

| Primitive        | Prefix          | Description                                          |
| ---------------- | --------------- | ---------------------------------------------------- |
| Agent            | `agt_`          | AI agent with instructions, model, bound functions   |
| Function         | `fun_`          | Reusable capability (system or user-authored code)   |
| Skill            | `skl_`          | Reusable block of instructions attached to an agent  |
| Swarm            | `swm_`          | Multi-agent delegation graph                         |
| Workflow         | `wfl_`          | DAG execution pipeline                               |
| Schema           | `sch_`          | Zod/JSON Schema definition for data validation       |
| Graph definition | `gdf_`          | Knowledge graph definition for structured extraction |
| Trigger          | `trg_`          | Event-driven automation rule                         |
| MCP Server       | `mcp_`          | Model Context Protocol server connection             |
| App              | `app_`          | Built, deployable UI that composes other primitives  |
| Element          | `elm_`          | Pluggable UI widget used inside apps                 |
| Database         | `dbs_`          | Workspace-scoped Postgres database                   |
| File / Directory | `fil_` / `dir_` | R2-backed objects + virtual directory tree           |

See the [ID prefixes reference](/reference/id-prefixes) for the full list.

### System entities

Some primitives ship built-in with the platform — they have `system: true` and no `workspaceId`. Every workspace can reference them (e.g. bind a system function to an agent, use a system element inside an app), but they are platform-maintained and cannot be edited, versioned, or deleted. The workspace UI exposes only their Overview tab. System functions, schemas, skills, elements, and agents all follow this rule.

## Execution model

When you run an agent, function, swarm, or workflow, Aeontel creates a **run** (`run_`). Runs track status, input/output, duration, and errors. Runs can be:

- **Synchronous** — wait for the result
- **Asynchronous** — return immediately, poll for status
- **Streaming** — SSE for chat, WebSocket for the event log

Every significant action emits an **event** (`evt_`) — an immutable audit log entry. Events power triggers, webhooks, and real-time UI updates in the platform.

## What's next?

- [Quickstart](/getting-started/quickstart) — create your first agent in 5 minutes
- [Key concepts](/getting-started/key-concepts) — understand the composition model
- [API Reference](/api) — explore the REST API
- [SDK Reference](/sdk) — use the TypeScript client
