Agents

Feature 5 min read Updated May 2026

Agents are pre-built workflows your team can call from any chat. Type @meeting-recap in LibreChat and an agent searches the last 7 days of meetings, drafts a recap, asks an admin to approve key facts, and saves the result to your team's memory — all without you leaving the chat.

GrooveOS ships a starter agent library curated by the GrooveOS team. Your team admins can edit, disable, or add new agents from the admin panel. Every agent runs inside your team's scope — it reads only your team's memory, writes only to your team's memory, and shows up in your team's audit log.

What agents do

Each agent is a small workflow built on top of LangGraph (the same open-source agent framework used at OpenAI, LangChain, and others). The workflow can:

Because the agent runs inside your team's scope, the same agent gives Team A and Team B different results: the inputs (your memory) and outputs (your audit log) are isolated end to end.

Invoking an agent from chat

The simplest way to run an agent is from LibreChat:

  1. Open chat.grooveos.app and pick any conversation (or start a new one).
  2. Type @ — an autocomplete menu lists the agents your team has access to.
  3. Pick one — for example @meeting-recap.
  4. Add any free-form prompt the agent needs (e.g. "for the last week").
  5. Press Enter. The agent runs in the background; progress streams into the conversation.
You: @meeting-recap for the last 7 days
@meeting-recap: Reading 4 Granola meetings + 12 memory items...
@meeting-recap: Found 3 candidate facts. Sending to admin for approval.
@meeting-recap: Approved by Alice. Recap saved as memory_item mem_xyz...

Same agents in Open WebUI and via the API

Agents are not LibreChat-specific. They are exposed by the GrooveOS agent runtime; LibreChat, Open WebUI, and the API all call the same backend. The chat-frontend integration is just one way to start a run.

The starter agent library

GrooveOS ships with these agents pre-seeded on every new team:

Agent What it does Inputs
@meeting-recap Reads recent Granola meeting notes, drafts a recap, extracts decisions and action items. Time window (e.g. "last 7 days")
@doc-ingest Takes a Drive-synced or pasted document, extracts facts at WORKING truth, and routes low-confidence facts to an admin. Document URL or pasted text
@promote Suggests WORKING → VALIDATED → CANONICAL promotions for items that match a query. Admins approve / reject in one click. Topic or search query
@research Combines memory search with a web scrape (via MCP) to answer questions that need both team context and live data. Natural-language question

Your team's admins can add their own agents in the admin panel. See Admins — curating the agent library below.

Approvals — human in the loop

Agents are not autonomous black boxes. When an agent reaches a low-confidence decision — for example, it isn't sure whether a fact deserves VALIDATED or CANONICAL — it pauses and asks a team admin for approval.

The admin sees the question in their notification feed:

@meeting-recap is paused — needs your decision

Fact: "Q2 fundraising target is 2M€"
Confidence: 0.62
Suggested truth level: WORKING
Source: Granola note "Investor call — May 6"

[ approve as WORKING ]  [ promote to VALIDATED ]  [ discard ]

The admin clicks one button. The agent resumes from exactly where it paused and keeps going — even if the approval comes hours or days later. Nothing is lost between pause and resume.

Members see, admins decide

Any team member can invoke an agent and watch it run. Only team admins can approve VALIDATED and CANONICAL writes. This matches the truth-level rules everywhere else in GrooveOS.

Admins — curating the agent library

Team admins manage the agent library from grooveos.app/account/admin/agents/. From there you can:

Agent definitions live in the agent_definitions table inside your team's scope. Edits propagate immediately — the next time a member types @your-agent they get the new prompt and tool list.

# Example agent_definition row (read-only view)
{
  "name": "weekly-digest",
  "description": "Compiles last week's decisions for stand-up.",
  "model": "claude-sonnet-4-7",
  "tools": ["memory_search", "task_list", "contact_lookup"],
  "system_prompt": "You are an internal scribe. Summarize last week...",
  "requires_admin_approval": true,
  "truth_level_on_success": "WORKING"
}

Where agent output lands

Every agent run produces three artefacts you can browse later:

The same audit feed shows up in the superadmin dashboard at grooveos.app/account/admin/ so the team owner can confirm agents are behaving as intended.

FAQ

Are my prompts to an agent shared with other teams?

No. Agents run inside your team's scope. Your prompts, your team's memory, and the agent's writes are isolated end to end — Team A's @meeting-recap cannot see Team B's meetings.

Can I cancel a running agent?

Yes. The chat conversation shows a Stop action while the agent is mid-run. Stopping mid-run leaves no partial writes — any writes that were not already approved are rolled back.

How much does an agent run cost?

Agent runs draw from your team's plan-included LLM credits (Team plan: 5M tokens / month, Enterprise: custom). Heavy users on the Team plan can buy add-on token packs.

What's next

Open-source agent runtime

The agent runtime is open-source under MIT — github.com/mrboups/xbrain — and ships its own Docker container. Self-hosters can plug in custom LangGraph graphs without using the SaaS at all. The hosted GrooveOS experience runs the same code with managed updates, billing, and observability.