Lemma
How it worksTemplatesDocsGitHub
Get started
How it worksTemplatesDocsGitHub

Open sourceMultiplayer AI and Apps

Shared Apps and Agents.

Your team, your agents, one context layer, scoped to each person.

Use it fromSlackTeamsTelegramWhatsApp+anywhere you work
Get startedView on GitHub

What teams build on LemmaOpen a tile for the idea

Runson
Lemma.

Slack agents

# incidents# team-ops# deploys# product
# incidents
Alex

Database latency is spiking again!

Lemma Agent APP

I’ll take it from here.

Ops Team

Handoff complete. Monitoring.

Slack agents

Meet your team where it already works.

  • Incident coordinator
  • Standup digest
  • Knowledge teammate
See it in templates

Telegram agent + mini app

Lemma Agent bot

Hey! What can I help you with?

Status of deploy 2024-05-12?

Deploy 2024-05-12 Successfuldeploy-2024-05-12.log1.2 MB
Lemma Logbook
Open mini app
Connected
experience

Telegram agent + mini app

Chat is the surface. The pod is the system.

  • Deploy logbook
  • Shop mini app
  • Community concierge
See it in templates

Internal tools

NameStatusOwner
Onboarding flowIn progressMaya
API reliabilityAt riskJordan
Data pipelineHealthyLi
Access reviewIn progressSam
Q2 planningQueuedRiley

Internal tools

Build the exact tool you need, before lunch.

  • On-call board
  • Release checklist
  • Cost explorer
See it in templates

Skins for Codex

> codex --skin release-operator
Release pipeline
1. Build
2. Test
3. Deploy to stagingIn progress
4. Rollout to prod1 approval

Skins for Codex

Same agent. A new uniform for every job.

  • Release operator
  • Repo investigator
  • Pod builder
See it in templates

Account consoles

Acme CorpHealthy
OverviewProjectsRequests
Project health
Open requests
High
Medium

Account consoles

Open one client and see everything the team knows.

  • Project health
  • Request tracker
  • Milestone map
See it in templates

AI inboxes

Needs reply12
FYI8
Waiting5
Resolved24

AI inboxes

Wake up to an inbox that already triaged itself.

  • Triage labels
  • Drafted replies
  • Follow-up queue
See it in templates

Approval bots

New access request
ApproveReviseEscalate

Approval bots

Agents propose. Humans decide. Every call is logged.

  • Access requests
  • Change approvals
  • Escalation paths
See it in templates

What shared means

One of it, however many of you.

You share the agent itself, already running, so there is one of it to fix, one of it to improve, and one set of records underneath.

  • Send someone the link.
  • They open the same running agent.
  • Their work lands in the same records.
  • The agent itself, running once, for all of you.

And scoped to each person

  • PriyaApproves refunds, any amount
  • MarcoHis own jobs; refunds route to Priya
  • ClassifieragentReads tickets; read-only

Same system, different rights. One version of it, for everyone.

From a prompt to running team software

Build it, ship it, and hand it to your team.

Five layers. All of it real.

01

Build it where you already work.

Claude Code, Codex, Cursor, OpenCode, or inside Lemma itself. The agent authors the tables, agents, workflows, permissions, and the app, then verifies them through the same CLI.

  • Any coding agent
  • Authored as plain files
  • Verified by the agent that wrote it
Claude CodeCodexCursoror in Lemma
support-ops

$ lemma pod import ./support-ops

✓tablestickets, customers, refunds

✓agentsclassifier, draft-writer

✓workflowsrefund-review

✓appsupport-ops

02

The app and its agents go live together.

One URL for the people who use it. The agents start working on schedules, webhooks, and table events, and keep working while everyone is logged off.

  • Deployed at a URL
  • Agents run in the background
  • Versioned and rollback-able
Support OpsLive

support-ops.lemma.work

v1.4.2deployed 2m ago3agents attached

AIClassifieron new ticketWorking

AIDraft writeron classify doneWorking

AIPolicy checkerwaiting for approvalPaused

03

Bring your team. And anyone else who needs it.

Teammates, clients, friends. They each get an invite link, the app, and their own account inside the pod.

  • Invite by link or email
  • Teammates, clients, guests
  • Humans and agents are both members
Members4 people · 3 agents

DADanadana@northstar.coOwner

MCMaya Chenmaya@northstar.coMember

JPJordan P.jordan@northstar.coMember

RSRiley S.invite sentPending

Invite by linklemma.work/j/support-ops

04

Decide exactly what each one can touch.

The same permission model covers people and agents. Grant a table, hide a resource, or require an approval before a consequential action goes through.

  • Per-table grants
  • Resource visibility
  • Approval gates on the risky steps
Accesspeople and agents, same rules
ticketscustomersrefunds
DanaOwnerediteditapprove
MayaMembereditreadrequest
Draft writerAgenteditreadnone
ClassifierAgentreadnonenone

05

Use it from wherever you already are.

Telegram, Slack, WhatsApp, and email. Or open it as an app. Every entry point reads and writes the same records and respects the same permissions.

  • Chat surfaces
  • Your own UI or API
  • The app itself
Telegram

Any refunds waiting on me?

One. $420, Northwind.

AIChatGPT

Summarize this week's refunds.

14 approved, 2 pending review.

The app
Open Support Ops

One pod · one set of records · the same permissions everywhere

Everything lives in a pod

Built from the ground up. One boundary around all of it.

Records first, then the functions over them, then the agents and workflows that move work, then the app people open. Permissions hold all of it.

Tables and files

What it remembers

tickets1,284 rows
iduuidprimary key
customerrelation→ customers
amountmoneyindexed
statusenumopen · drafted · closed
created_attimestampauto
Row-level security: the classifier agent sees open tickets only.
refund-policy.mdmarkdown memory

## Thresholds

Refunds above $250 require an approver.

Repeat requests inside 30 days escalate to a lead.

Full-text searchable, permission-scoped, and read by agents alongside the tables. This is where policy lives: versioned, editable, and read at run time.

Functions

What it does the same way every time

check_policydeterministic
fn check_policy(amount, customer) { policy = read("refund-policy.md") ifamount > policy.threshold return { requiresApproval: true }}
The predictable half
  • Same input, same output, every time. Plain code, end to end.
  • Validators, state transitions, and outbound actions live here.
  • Agents call them as tools, so judgment and rules stay separable.

Agents and workflows

What moves the work

Classifieragent

Can readtickets · customers · refund-policy.md

Can writetickets.status

Cannot touchrefunds · api_keys · connectors

Toolscheck_policy · search · table.update

refund-reviewworkflow
classifyagent
check_policyfunction
approvehuman
sendfunction
It pauses at approve and resumes on a person's decision, days later if that is how long it takes. Triggered by a table event, schedule, webhook, message, or the API.

Apps and surfaces

Where people meet it

Support Opsdeployed
support-ops.lemma.work

tkt_418 Northwind · $420needs approval

tkt_417 Halden · $38sent

tkt_416 Ravel · $120sent

Built on the same APIs the agents use. An agent writes, and the app is already showing it.
The same pod, other surfaces
SlackChatGPTClaudeTelegramGmailAPI
Each one resolves who is asking and what they may ask for. The pod holds the data.

Permissions and connectors

The boundary it all sits on

Accesspeople and agents alike
ticketsrefundsconnectors
DanaOwnereditapprovemanage
MayaMembereditrequestnone
ClassifierAgenteditnonenone
Connectorswhat the pod can reach

Stripebilling@northstar.coissue refunds

Gmailsupport@northstar.coread threads · create drafts

Every connection shows the account, its access, and what uses it, so "the agent can email customers" is a setting you can see.

Surfaces

However the work arrives, it lands in the same pod.

Every surface knows who is asking, and writes to the same records.

SlackSlackSearch Lemma Ops
# approvals# support-triage# customer-escalationsApps
@LemmaTeam decisions

Dana Anything waiting on me?

Le

Lemma One approval. Northwind crossed the ICP threshold. Quill scored it 87.

!Approval neededLead routing

Lemma checked policy and queued the decision in this channel.

Route Northwind to the enterprise team and assign an owner.
ApproveReviseEscalate

Dana Approve

Le

Lemma Done. Northwind routed, owner assigned, record updated. Same state everywhere.

The decision happens in the channel.

The pod posts what needs a call, with the evidence attached. Someone answers in #sales, and that answer is the state change: the lead routes, the record updates, the decision is logged.

What it did to the pod

  • tickets · lead routed to enterprise
  • decisions · logged with approver
  • workflow · resumed

A surface onto one system. The records, workflows, permissions, and audit trail stay in one place.

Build it

The agent you already use builds the whole system.

The app, the tables, the agents, the workflows and the permissions. All written as files and checked by the same agent that wrote them.

✻ Claude Code~/support-ops

> Build a support ops pod: tickets, a refund policy, a classifier agent, and an approval before anything over $250 goes out.

✻ Designing the resource model…12s · 3.1k tokens

Writetables/tickets.yaml+34
Writeagents/classifier.yaml+21
Writeworkflows/refund-review.yaml+48 −2
Bashlemma pod import .✓
  • ✓ Model tickets, customers, refunds
  • ✓ Scope the classifier to tickets only
  • ✓ Gate refunds over $250 behind an approver
  • ◐ Verify the workflow pauses correctly

Ran refund-review with a $420 test ticket. Paused at approve, as expected.

Opus 5effort: highauto-accept edits onshift+tab to cycle

Also works with

  • Cursor
  • OpenCode
  • Antigravity

Point it at an empty directory and describe the job. It writes the tables, agents, workflows and permissions as files, imports them, then runs the workflow to check it pauses where it should.

Examples

Complete pods, running. Install one and make it yours.

Whole working systems, open source and running. Open one, see how it was built, make it yours.

Team operationsRoundtableA shared task board where people and agents can pick up work, leave a clear trail, and hand it back.Install and remixWritingPaniniA writing space where agents comment on the exact passage, suggest an edit, and wait for you to decide.Install and remixCustomer supportFrontdeskA shared support inbox that sorts new messages, prepares an answer, and leaves the final send with a person.Install and remixPersonal productivitySmart InboxA personal inbox that follows the rules you choose and prepares replies without sending behind your back.Install and remixPersonal productivitySidekickA personal assistant that remembers how you work, handles recurring tasks, and asks before it acts outside the pod.Install and remixDesignLemma DesignA place to turn a brief into several live prototypes, try them, and keep revising the direction that works.Install and remixLearningNachiketaA learning space that starts with your goal, researches the subject, and changes the path as you attempt the work.Install and remixCaptureDropA Telegram capture box that cleans up what you send and makes it possible to find again.Install and remix
Browse all templates

A pod is files. Export it, share it, remix it.

$ lemma pod export ./support-ops# the whole system, as files$ lemma pod import ./support-ops# ship it back, or anywhere else
  • Your machine.The whole stack runs on your laptop.
  • Your cloud.Self-host it, or use Lemma Cloud.
  • Your models.Your Claude or Codex subscription, Lemma-managed models, or any compatible endpoint.
  • Your code.AGPLv3 core. Apache-2.0 SDKs, CLI, and skills.

Build it this afternoon. Have everyone using it by evening.

Open source. Running on your laptop in five minutes, with the coding agent you already have open.

Get startedView on GitHub
Lemma

The runtime for agent-built software.

Product

How it worksTemplatesGet started

Developers

DocsOpenAPI specllms.txtBlogChangelog

Company

AboutContactPrivacyTerms

Licence

GitHubAGPLv3 coreApache-2.0 SDKs

Open source. Run it anywhere.© 2026 Folks and Machines, Inc.