Skip to content

Creating agents

Creating agents requires the creator or admin role. Each person can create a limited number of agents by role (see Usage limits), and your plan caps the total.

Click Create Agent in the Dashboard header, or Use template in the Library. Pick a source on the left:

SourceWhat you get
Blank agentAn empty agent with default instructions. Add skills, credentials and schedules afterwards. You choose its runtime and optionally a model.
Import a GitHub repositoryAn agent built from a repository you already have (see below).
Starter templatesCurated starting points such as scout (research), sage (analysis) and scribe (writing).
Admin-configured templatesTemplates your administrators curated for your company.

Then enter a Name, for example Market Scout. The dialog previews the permanent ID (market-scout) — lowercase with hyphens — used in URLs, API paths, MCP tool names, schedules and webhooks. The name you typed becomes the agent’s display label, which you can change later; the ID cannot change except through Rename.

Click Create agent. The container is created and started, and the dialog runs a compatibility check and shows its result.

On ExoHuman Cloud, a new agent runs on your instance’s default compute profile unless you assign another.

When you import a repository, choose how ExoHuman takes it on:

IntentWhat happensSync
Clone (default)Clones the repository and keeps it connected to that remote.Yes — on the agent’s own working branch when the repository is yours; pull-only otherwise.
ForkForks the repository into your GitHub account first (the template must support it).Yes — to your fork.
CopyTakes a one-time snapshot of the files without git history.No — a standalone workspace.

For Clone, ExoHuman asks What is this repository?: an agent (the repository is the agent’s memory, skills and state, saved to its own branch) or a deployment of a codebase (a product the agent works on, which it only pulls). Private repositories need a GitHub token (Platform keys).

A template is a folder or repository with:

FilePurpose
template.yamlMetadata: display name, description, runtime, resources, required credentials, schedules, use cases
AGENTS.mdThe agent’s instructions (CLAUDE.md is accepted for compatibility)
.mcp.json.templateMCP server configuration with ${VAR} placeholders filled from credentials
.env.exampleThe environment variables the agent expects
.claude/skills/Skills shipped with the agent

Schedules declared in template.yaml are created with the agent (disabled until you turn on autonomy).

display_name: Market Scout
description: Monitors competitors and writes a daily briefing.
runtime:
type: pi
resources:
memory: 2g
cpu: 1
use_cases:
- What did our competitors announce this week?
- Compare our pricing with Competitor A.
schedules:
- name: daily-briefing
cron: "0 8 * * 1-5"
timezone: Europe/Madrid
message: Write today's competitor briefing and publish it as a report.
POST /api/agents
Authorization: Bearer <token>
Idempotency-Key: 3f1c…
Content-Type: application/json
{ "name": "market-scout", "display_label": "Market Scout", "template": "github:acme/market-scout", "import_intent": "clone" }

The Idempotency-Key header makes retries safe. MCP clients can use the create_agent tool. See Agents API.

From the agent page header and the Dashboard you can:

  • Start and Stop the container;
  • set the display label, avatar and tags;
  • Rename the agent (changes its ID and updates references);
  • Delete it (owner or admin) — its container, workspace and schedules are removed.

The Overview tab shows health, recent activity, cost and context usage. Agent page tabs are: Overview, Tasks, Chat, Dashboard (when the agent defines metrics), Reports, Canvas, Schedules, Loops, Skills, Sharing, Permissions, A2A (when enabled), Git (when synced), Files and Settings.

Orchestrating agents can spawn short-lived ephemeral helpers for a single job and discard them afterwards. Ephemeral agents are an instance module.