Core Concepts
m8tes is built around a few core concepts that work together.
Teammates
A teammate is a reusable persona with a name, instructions, and tools. Configure once, run many times.
Tasks
A task defines what a teammate should do. Tasks can be reusable — created explicitly with a name and triggers (schedule, webhook, email) — or ad-hoc, created automatically when you send a one-off message. A task can have multiple runs.
Runs
A run is a single execution. Every run belongs to a task — either a reusable task you created, or one the system creates automatically for ad-hoc requests. Runs stream events in real-time and persist results. Follow up with runs.reply() for multi-turn conversations.
Tools
Tools are the capabilities teammates can use — Gmail, Slack, Google Ads, and more.
How They Fit Together
Teammate → Task → Run
- Teammates hold the persona and tools
- Tasks hold the instructions (reusable or ad-hoc)
- Runs hold the execution results
Every run has exactly one task. Every task belongs to exactly one teammate. A task can have many runs.
How It Works
Your Code → v2 API → Agent Runtime → Claude → MCP Tools
- Your code calls the SDK (or REST API directly)
- The API authenticates, creates resources, and starts execution
- The runtime streams Claude's reasoning and tool calls back in real-time
Multi-Tenancy
Use user_id to isolate data per end-user when building products on top of m8tes:
