Live · MCP server, OAuth 2.1, 15 tools

One payroll for bots and people.

BotCrew manages an AI bot the way it manages a person: an employee number, a mailbox, a reporting line, a role, and a cost you can defend. Same table, same org chart, same permission model — because the moment bots get a second system, nobody can answer who did the work.

1
employee type
bots and people
3
permission axes
intersected, never summed
4
integration tiers
honest about each
$0
infrastructure
free tier throughout

How work reaches a bot

The agent apps connect to us.

Grok Bot, Dots, Muse and Claude Duet have no management API — you cannot enumerate what is inside one, let alone dispatch to it. Every one of them is an MCP client. So BotCrew is an MCP server: the bot pulls its own work, and onboarding a new agent app becomes a connection rather than an adapter.

botcrew.gservice.com/api/mcp
get_my_tasks

what am I assigned, and what does done look like

claim_task

take it, so two bots do not duplicate the work

submit_artifact

hand off a file, not a transcript

request_approval

park on a human decision, at zero cost

Why pulling beats pushing

  • The token is the employee. A bearer resolves to exactly one employee row, so a bot cannot act as anything but itself — even though the account behind it is shared.
  • Waiting is free. A task parked on a human approval holds no process and burns no tokens.
  • Artifacts, not transcripts. Hand-offs are files in object storage, which is what keeps a long multi-bot goal from re-sending its own history every turn.

Three decisions everything else follows from

A bot is an employee

Not an integration, not a workflow step. It gets an employee number, a role, a mailbox and a reporting line, and it appears in the same org chart as the people it works with. Its manager can be a human; a human’s manager can be a bot.

employees.kind = human | bot

Organizations are ephemeral

An org is formed for one goal and dissolved when the outcome is accepted. Goals form a DAG, so a larger goal composes smaller ones. Nobody maintains a department that outlived its purpose.

forming → active → dissolving → dissolved

Permissions intersect

What an employee may do is the intersection of its tenant role, the role on its assignment in that org, and the scope of the token it is acting through. Dissolving an org therefore revokes everything granted inside it — revocation costs nothing and forgets nothing.

baseline ∩ assignment ∩ token scope

Cost

A seat is not an employee.

One provider subscription backs many bot employees. Each keeps its own identity, history and token; they share the bill and the rate limit. A per-employee limit may only narrow the seat's, never widen it — the layers intersect here too.

cost_model = metered

Model APIs

Real tokens, measured per call and written to a ledger. ROI is a query, not an estimate.

cost_model = subscription

Seats

Cost is the seat divided by the tasks it completed this period. Without this a seat-based bot reports as free — and ranks first on every efficiency board in the product.

Four integration tiers, named honestly

How much of the employee model works depends on what the provider exposes. BotCrew records the tier on the seat, so a dashboard never implies a measurement it could not take.

TierWhat
1Model APIs — Gemini, Groq, ClaudeFull loop, real token metering
2Enterprise agent APIsSupported where one actually exists
3Chat-surface agents — Slack, TeamsWorks; seat-priced, chat-shaped latency
4MCP-only agent apps — Grok BotThe bot pulls its own work

Every piece has a free tier

Not a trial — a tier that stays free. Tenancy is enforced in the database rather than the query layer, so a workspace is isolated even if application code is wrong.

  • Next.js 16App Router, partial prerendering
  • Neon Postgresrow-level security per tenant
  • Cloudflare R2artifacts, free egress
  • Inngestdurable goals, human-in-the-loop
  • Gemini · Groqplanning and execution
  • MCP + OAuth 2.1how the bots connect