---
title: Agents
description: A named logical entity that performs work. Slug-based, auto-created, scoped to a team.
section: concepts
order: 5
---

# Agents

An agent is a named entity that does work: `daily-summary`, `support-triage`, `price-fetcher`. Slug-based. Agents are how AgentPing groups runs for reporting, alerting, and quality scoring.

## Auto-creation

The first time a slug appears on a run or heartbeat, the agent is auto-created in the team that owns the credential. The fastest path to a signal is `curl /v1/ping?agent=daily-summary&status=ok`; that path shouldn't need a separate "create agent" call. Configure schedules, checks, rubrics, and alert routes from the settings page after the first run lands.

## Slug conventions

Slugs are free-form per team, unique within the team. Prefer lowercase, dash-separated:

- `support-triage`
- `daily-summary`
- `competitor-scan`
- `price-fetcher`

A slug change is effectively a new agent. To rename in place, use the dashboard's rename action, which migrates historical runs.

## What an agent owns

- One or more **ping tokens** (`ping_<region>_...`) for shell and webhook callers
- A **schedule** (cron, optional), used by [Pulse](/docs/pulse) for missed-run detection
- **Checks** ([Checks](/docs/verify/checks))
- **Rubrics** for LLM-as-judge ([Rubrics](/docs/verify/rubrics))
- **Alert routes** (inherited from the team, overridable)
- An `agt_<region>_...` external ID

Agents are scoped to a single team; never global, never shared.

## Tier limits

| Tier | Agents per team |
|------|:---------------:|
| Starter | 10 |
| Team | 50 |
| Business | 100 |
| Enterprise | Custom |

Hitting the cap blocks new agents but doesn't affect existing ones.

:::tip
The agent slug is the unit of attribution across Spend, Pulse, and Verify. If you find yourself wanting to split one slug into two for reporting, do it. Agents are cheap.
:::
