Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.teeem-ai.com/llms.txt

Use this file to discover all available pages before exploring further.

The App Pack framework turns a single app.yaml config file into a full-stack internal tool — CRUD apps, dashboards, and operational tools. You get a database schema, REST API, Slack slash commands, event notifications, and a web UI from one source.

What you can build

Inventory & orders

Product catalogue, order status tracking, shipping notifications.

Task / todo systems

Team task boards, assignment, due-date notifications.

Internal wiki

Department knowledge pages with search and version control.

Customer / vendor CRM

Contacts, activity log, follow-up reminders.

KPI dashboards

Live metrics, threshold alerts, weekly reports.

Sponsorship management

Contracts, payment status, renewal alerts.
Anything you currently track in Excel or Notion is usually a candidate to move into an app pack.

How it works

app.yaml (config)

[auto-generated]
   ├── PostgreSQL schema (tables, indexes, relations)
   ├── REST API (CRUD + aggregate)
   ├── Slack slash commands (/orders, /products, etc.)
   ├── Event notifications (status change → Slack channel)
   └── Web UI (Next.js list/detail pages, generated)
Each app uses an isolated PostgreSQL schema (app_{name}) inside your tenant’s database, so it never collides with the agent’s own data.

Agent integration

When an app is enabled, the agent can read and write its data through these tools:
ToolPurpose
app_querySearch a model (filter / sort / paginate)
app_aggregateAggregations (count, sum, avg)
app_createCreate a record
app_updateUpdate a record
app_deleteDelete a record
These are a unified tool set, not per-customer tools — the agent picks the right app and model based on the user’s natural-language request.
User: "@Teeem how many orders shipped this week?"

Agent: app_aggregate({model: "order", filter: {status: "shipped", week: "this"}, fn: "count"})

"47 orders shipped this week."

Slack integration

Each app gets:
  • Slash commands — search directly with /products, /orders, /inventory, etc.
  • Event notifications — data changes trigger messages on configured channels or DMs
    notifications:
      order.status.changed:
        channel: "#orders"
        template: "Order {order_number} moved to {status}"
        filter: { status: [shipped, delivered] }
    
  • Natural-language queries — “@Teeem revenue this month” → the agent picks the right model and aggregation

Web UI

Every app has its own Next.js UI at /{org}-admin.teeem-ai.com/apps/{name}. Auto-generated views:
  • List view — sortable, filterable, paginated
  • Detail view — full record with edit form
  • Custom pages — add your own React components (e.g. pages/dashboard.tsx)
Stack: Next.js 16 (App Router) · React 19 · Tailwind v4 · TanStack Query · shadcn/ui · light mode · Noto Sans KR for Korean.

Getting started

If you want an app for your organisation, talk to your sales or onboarding contact. Standard patterns (orders, inventory, tasks, wiki) deploy in a few days; custom models and pages typically take a week or two once the data model is agreed.

App enquiry

Tell us what you’re using today (Excel? Notion? a homegrown system?) and we’ll propose a fit.

Data isolation

  • Schema isolation — each app uses a app_{name} schema; can’t collide with other apps or agent data
  • Tenant isolation — each organisation has its own PostgreSQL instance; other customers’ data lives in completely different databases
  • Permissions — auth via Slack identity; per-app RBAC controls who can read/write