# Create Your First Agent

Once your organization is set up, you can add your first agent from the console.

## Choose an Agent Type[​](#choose-an-agent-type "Direct link to Choose an Agent Type")

1. Navigate to **Agents** in the left sidebar.

2. Click **Add Agent**.

3. Choose how you want to get started:

   * **Externally-Hosted Agent** — Connect an agent already running outside the platform. WSO2 Agent Manager provides observability and governance without managing the deployment.
   * **Platform-Hosted Agent** — Deploy and manage the full agent lifecycle directly on WSO2 Agent Manager, including build, deployment, scaling, and observability.

***

* Externally-Hosted Agent
* Platform-Hosted Agent

## Register an Externally-Hosted Agent[​](#register-an-externally-hosted-agent "Direct link to Register an Externally-Hosted Agent")

Fill in the **Agent Details** form:

| Field                        | Description                                              |
| ---------------------------- | -------------------------------------------------------- |
| **Name**                     | A display name for your agent (e.g., `Customer Support`) |
| **Description** *(optional)* | A short description of what this agent does              |

Click **Register** to complete the registration. The agent will appear in your agent list and start receiving observability data once you instrument it using the [AMP instrumentation](/agent-manager/docs/cloud/components/amp-instrumentation/.md) package.

## Create a Platform-Hosted Agent[​](#create-a-platform-hosted-agent "Direct link to Create a Platform-Hosted Agent")

### Step 1: Choose a Source Type[​](#step-1-choose-a-source-type "Direct link to Step 1: Choose a Source Type")

Select how the agent source will be provided:

* **Source Code** — Point to a GitHub repository containing your agent code. The platform builds and deploys it automatically.
* **Agent Catalog** — Pick a pre-built agent kind from the Agent Catalog.

### Step 2: Fill in Agent Details[​](#step-2-fill-in-agent-details "Direct link to Step 2: Fill in Agent Details")

Provide a **Name** (e.g., `Customer Support Agent`) and an optional **Description**.

### Step 3: Repository Details *(Source Code only)*[​](#step-3-repository-details-source-code-only "Direct link to step-3-repository-details-source-code-only")

| Field                 | Description                                                            |
| --------------------- | ---------------------------------------------------------------------- |
| **GitHub Repository** | Full URL of your repository (e.g., `https://github.com/username/repo`) |
| **Branch**            | Branch to build from (default: `main`)                                 |
| **Project Path**      | Path within the repository where the agent code lives (default: `/`)   |

### Step 4: Build Details *(Source Code only)*[​](#step-4-build-details-source-code-only "Direct link to step-4-build-details-source-code-only")

Choose a build type:

* **Python** — Provide a **Start Command** (default: `python main.py`) and select the **Language Version** (e.g., `3.11`). Dependencies are auto-installed from `requirements.txt`, `pyproject.toml`, or `package.json`.
* **Docker** — Use a `Dockerfile` in the repository.

**Enable auto instrumentation** *(Python only, checked by default)*

Automatically injects OpenTelemetry tracing into your agent for observability with zero code changes. You can also pin the **AMP Instrumentation Version** used by the init container.

### Step 5: Select an Agent Type[​](#step-5-select-an-agent-type "Direct link to Step 5: Select an Agent Type")

Choose how your agent receives requests:

| Agent Type           | Description                                                                                                                                                    |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Chat Agent**       | Standard chat interface. Exposes `POST /chat` on port `8000`. Request: `{message: string, session_id: string, context: JSON}` — Response: `{response: string}` |
| **Custom API Agent** | Custom HTTP API. Specify your own OpenAPI specification and port configuration.                                                                                |

### Step 6: Configure LLM Providers *(Optional)*[​](#step-6-configure-llm-providers-optional "Direct link to step-6-configure-llm-providers-optional")

Click **+ Add** to bind one or more LLM providers to this agent. LLM providers are configured separately — see [Register an LLM Service Provider](/agent-manager/docs/cloud/tutorials/register-llm-service-provider/.md).

### Step 7: Set Environment Variables *(Optional)*[​](#step-7-set-environment-variables-optional "Direct link to step-7-set-environment-variables-optional")

Add any environment variables your agent requires at runtime. Mark sensitive values as **Secret** to store them securely.

Click **Deploy** to build and deploy the agent.

***

## What's Next?[​](#whats-next "Direct link to What's Next?")

| Tutorial                                                                                                             | Description                                   |
| -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [Observe Your First Agent](/agent-manager/docs/cloud/tutorials/observe-first-agent/.md)                              | Set up OpenTelemetry tracing for your agent   |
| [Register an AI Gateway](/agent-manager/docs/cloud/tutorials/register-ai-gateway/.md)                                | Connect an LLM provider via the AI gateway    |
| [Register an LLM Service Provider](/agent-manager/docs/cloud/tutorials/register-llm-service-provider/.md)            | Add and configure LLM providers               |
| [Secure Agent Endpoints with API Keys](/agent-manager/docs/cloud/tutorials/secure-agent-endpoints-with-api-keys/.md) | Protect endpoints with API key authentication |
| [Evaluation Monitors](/agent-manager/docs/cloud/tutorials/evaluation-monitors/.md)                                   | Automate quality checks for your agents       |
| [Custom Evaluators](/agent-manager/docs/cloud/tutorials/custom-evaluators/.md)                                       | Build and deploy your own evaluators          |
| [Configure Agent LLM Configuration](/agent-manager/docs/cloud/tutorials/configure-agent-llm-configuration/.md)       | Bind LLM config to a specific agent           |
