← Back to Dashboard

Agents

Create, configure, deploy, and monitor your AI workforce

Table of Contents

Overview

Non-technical summary: The Agents page is your command center for managing AI workers. Each agent is like a virtual employee — it has a name, email address, personality, job role, and set of skills. You create agents here, give them permissions, and deploy them to start working autonomously.

The Agents page (AgentsPage) is the primary management interface for your AI agent fleet. It provides a tabular listing of all agents in the current organization context, a multi-step creation wizard with role templates ("souls"), a deployment modal supporting multiple infrastructure targets, and navigation into each agent's detail view for deep monitoring and configuration.

The page is organization-aware — when an org is selected via the org context switcher, only agents belonging to that organization are displayed. Agents can be filtered, restarted, and navigated to their full detail pages directly from the list.

How It Works

  1. Browse agents — The page loads all agents via GET /api/agents, filtered by the current organization context and user permissions.
  2. Create a new agent — Click "Create Agent" to open the 7-step wizard. Choose a role template, configure identity, persona, skills, permissions, deployment target, and review.
  3. Deploy the agent — Use the Deploy Modal to push the agent to Docker, VPS, Fly.io, or Railway with stored credentials.
  4. Monitor & manage — Click any agent name to access its detail page with activity logs, email inbox, sessions, workforce schedule, and journal.
  5. Restart agents — Hit the refresh button on any agent row to trigger a restart via the engine API.

Key Concepts

Soul Templates (Role Templates)

Souls are pre-built role configurations that auto-populate an agent's personality, skills, permissions, and behavior. They are loaded from the engine's /souls/by-category endpoint and organized into categories (e.g., Customer Support, Engineering, Sales). Selecting a soul pre-fills the wizard but all fields remain editable.

Think of it like this: A soul template is a job description. It tells the agent what kind of worker it should be — a support rep, an engineer, an analyst. You can customize everything after picking a template, or skip templates entirely and build from scratch.

Skill Suites

Suites are bundles of related skills (e.g., "Google Workspace" includes Gmail, Calendar, Drive). Toggling a suite adds or removes all its skills at once. Individual skills can also be toggled independently. Skills are loaded from /skills/by-category and /skills/suites.

Permission Presets

Pre-configured security profiles (e.g., "Strict", "Standard", "Autonomous") that set max risk level, blocked side effects, approval requirements, and rate limits. Loaded from /profiles/presets.

Draft Auto-Save

The creation wizard auto-saves progress to localStorage on each step change. If the browser is closed mid-creation, the draft is restored on next visit. Drafts are cleared after successful agent creation.

Create Agent Wizard

The CreateAgentWizard is a 7-step modal wizard:

StepNameDescription
0RoleChoose a soul template or skip to configure manually. Search and filter by category.
1BasicsName, email, role title, LLM provider/model selection, description.
2PersonaAvatar upload, gender, date of birth (agents age naturally), cultural background, language, personality traits (communication style, energy, humor, formality, empathy, patience, creativity).
3SkillsSelect skill suites and individual skills. Search/filter available. Shows selected count.
4PermissionsPermission preset, max risk level, blocked side effects, approval requirements (per risk level and side effect type), rate limits, execution constraints (concurrency, session duration, sandbox mode).
5DeploymentChoose target: Fly.io, Docker, Railway, VPS, or Local.
6ReviewFull summary of all configuration. Auto-onboarding toggle. Create button.
Setup required: If no LLM providers are configured, the wizard shows a setup guide instead of the creation form. You must add at least one provider API key in Settings → LLM Providers before creating agents.

Agent Creation API

POST /api/engine/bridge/agents
Content-Type: application/json

{
  "orgId": "org-abc123",
  "name": "Sarah Chen",
  "email": "sarah.chen@yourdomain.com",
  "role": "Customer Support Lead",
  "soulId": "customer-support-lead",
  "model": { "provider": "anthropic", "modelId": "claude-sonnet-4-20250514" },
  "deployment": { "target": "fly" },
  "skills": ["email", "calendar", "knowledge-search"],
  "permissions": {
    "maxRiskLevel": "medium",
    "blockedSideEffects": ["deletes-data", "financial"],
    "requireApproval": {
      "enabled": true,
      "forRiskLevels": ["high", "critical"],
      "forSideEffects": ["sends-email"]
    },
    "rateLimits": {
      "toolCallsPerMinute": 30,
      "toolCallsPerHour": 500
    }
  },
  "persona": {
    "gender": "female",
    "language": "en-us",
    "traits": { "communication": "direct", "humor": "warm" }
  }
}

Deploy Modal

The DeployModal is a 3-step wizard for deploying an existing agent to infrastructure:

TargetConfiguration Options
DockerImage tag, ports, memory limit, CPU allocation
VPS / ServerInstall path, systemd service creation, SSH credential selection
Fly.ioRegion selection (iad, ord, lax, lhr, ams, nrt)
RailwayRegion selection (us-west1, us-east4, europe-west4, asia-southeast1)

Deploy credentials are loaded from the engine's /deploy-credentials endpoint and filtered by target type. The deployment is triggered via:

POST /api/agents/{agentId}/deploy
{
  "targetType": "fly",
  "credentialId": "cred-xyz",
  "config": { "region": "iad" },
  "deployedBy": "dashboard"
}

Deployment Progress

The DeploymentProgress component connects to a Server-Sent Events stream (/api/engine/activity/stream) and renders a real-time timeline of deployment phases. Each phase shows status (pending, active, completed, failed) with timestamps and messages.

Agent List & Filtering

The main agent list displays a table with columns: Name, Email, Role, Status, Created, and Actions. Features include:

API Reference

EndpointMethodDescription
/api/agentsGETList all agents (supports ?clientOrgId= filter)
/api/engine/bridge/agentsPOSTCreate a new agent with full configuration
/api/agents/{id}/deployPOSTTrigger deployment to target infrastructure
/api/engine/agents/{id}/restartPOSTRestart a running agent
/api/engine/skills/by-categoryGETList available skills grouped by category
/api/engine/skills/suitesGETList skill suites (bundles)
/api/engine/souls/by-categoryGETList soul templates grouped by category
/api/engine/profiles/presetsGETList permission presets
/api/providersGETList configured LLM providers
/api/providers/{id}/modelsGETList models for a provider
/api/engine/deploy-credentialsGETList deploy credentials by org
/api/engine/onboarding/initiate/{id}POSTStart agent onboarding pipeline

Permissions & Security

Side Effects Reference

Side Effect IDDescriptionDefault Blocked
sends-emailSend emails to external recipientsNo
sends-messageSend messages via chat/messagingNo
sends-smsSend SMS text messagesNo
posts-socialPost to social media platformsNo
runs-codeExecute arbitrary codeYes
modifies-filesModify files on diskNo
deletes-dataDelete data permanentlyYes
controls-deviceControl hardware/IoT devicesYes
financialFinancial transactions or paymentsYes

Rate Limits

LimitDefaultDescription
Tool calls / minute30Maximum tool invocations per minute
Tool calls / hour500Maximum tool invocations per hour
Tool calls / day5,000Maximum tool invocations per day
External actions / hour50Actions with external side effects per hour

Best Practices

Troubleshooting

"Setup Required" appears instead of the wizard

No LLM providers are configured. Go to Settings → LLM Providers and add an API key for at least one provider (Anthropic, OpenAI, etc.).

Agent creation fails with "provider not configured"

The selected provider doesn't have an API key set. Switch to a configured provider or add the key in Settings.

Deploy modal shows "No credentials found"

You need to add deploy credentials for the selected target type. Go to Settings → Deployments and add SSH keys, Fly.io tokens, or Railway API keys.

Agent doesn't appear in the list

Check the org context switcher — you may be viewing a different organization. Also verify user permissions allow access to the agent.

Deleting agents is irreversible. Agent deletion has been moved to the agent detail page with triple confirmation. Always archive an agent first if you're unsure.
AgenticMail Enterprise Documentation Report an issue