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.

Python

Full Teammates guide

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.

Python

Full Tasks guide

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.

Python

Full Runs guide

Tools

Tools are the capabilities teammates can use — Gmail, Slack, Google Ads, and more.

Python

Full Tools guide

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
  1. Your code calls the SDK (or REST API directly)
  2. The API authenticates, creates resources, and starts execution
  3. 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:

Python

Full Users guide