# Create an Agent

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [agentic-data-plane-full.txt](https://docs.redpanda.com/agentic-data-plane-full.txt)

---
title: Create an Agent
latest-operator-version: v26.2.1
latest-console-tag: v3.10.0
latest-connect-version: 4.105.0
latest-redpanda-tag: v26.2.1
docname: create-agent
page-component-name: agentic-data-plane
page-version: master
page-component-version: master
page-component-title: Agentic Data Plane
page-relative-src-path: create-agent.adoc
page-edit-url: https://github.com/redpanda-data/adp-docs/edit/main/modules/connect/pages/create-agent.adoc
description: Configure a managed Agentic Data Plane agent declaratively on a single create canvas. No Python or JavaScript code required.
page-topic-type: how-to
personas: agent_builder
learning-objective-1: Create a managed Agentic Data Plane agent through the create canvas
learning-objective-2: Configure an LLM provider, model, and tools for an agent
learning-objective-3: Connect to and test a running agent
page-git-created-date: "2026-05-28"
page-git-modified-date: "2026-08-10"
---

<!-- Source: https://docs.redpanda.com/agentic-data-plane/connect/create-agent.md -->

Create a new [AI agent](https://docs.redpanda.com/agentic-data-plane/reference/glossary/#ai-agent) declaratively through Redpanda Agentic Data Plane. No Python or JavaScript code required. This guide walks through the managed create canvas section by section, then covers how to connect to and test the running agent.

After reading this page, you will be able to:

-   Create a managed Agentic Data Plane agent through the create canvas

-   Configure an LLM provider, model, and tools for an agent

-   Connect to and test a running agent


## [](#prerequisites)Prerequisites

-   At least one [LLM provider configured](https://docs.redpanda.com/agentic-data-plane/gateway/configure-provider/) in Agentic Data Plane.

-   Optional: One or more [MCP servers](https://docs.redpanda.com/agentic-data-plane/connect/mcp-overview/) registered in Agentic Data Plane if you want the agent to call tools.

-   Optional: A system prompt prepared in advance (see [System prompt best practices](https://docs.redpanda.com/agentic-data-plane/connect/system-prompts/)).


## [](#open-the-create-canvas)Open the create canvas

1.  Open **Agents** in the sidebar.

2.  Click **Create agent**.

3.  Choose how the agent runs. Click **Redpanda manages it**, so Redpanda deploys, runs, and observes the agent for you. (To run an agent you host yourself, see [Set Up a Self-Managed Agent](https://docs.redpanda.com/agentic-data-plane/connect/self-managed-agents/).)

    ![The runtime choice in the create-agent flow, with a Redpanda manages it card for the managed runtime and an I host it myself card for self-managed agents](https://docs.redpanda.com/agentic-data-plane/shared/_images/create-agent-runtime-choice.png)


Agentic Data Plane opens the **New managed agent** canvas: a single page with sections for **Identity**, **Model**, **Instructions**, and **Tools**, plus a collapsible **Advanced** area for subagents and tags. Everything on the canvas is editable later from the agent’s **Overview** tab. Required fields are marked with an asterisk; the **Create agent** button stays disabled until you provide them, with helper text explaining what’s still missing.

## [](#identity)Identity

In the **Identity** section, name the agent and optionally describe it.

1.  Enter a **Name**. Required. Shown in the agent registry list and the detail header (for example, `Customer Support Agent`). Agentic Data Plane derives the agent’s resource ID from this name when you create the agent; you don’t enter the ID directly. The derived ID is a lowercase slug that starts with a letter, ends with a letter or digit, and can contain letters, digits, and hyphens (up to 63 characters). The ID is used in URLs and CLI commands and can’t be changed after creation.

    > 💡 **TIP**
    >
    > Click **Suggest a name** to generate a placeholder you can edit.

2.  Optionally, add a **Description**. An internal note shown on the agent’s detail page. This is not the system prompt; write that under **Instructions**.


## [](#model)Model

In the **Model** section, choose the [large language model (LLM)](https://docs.redpanda.com/agentic-data-plane/reference/glossary/#large-language-model-llm) the agent uses to interpret user intent and decide which tools to invoke. The picker is a single searchable list of every model your configured LLM providers expose (for example, `us.anthropic.claude-haiku-4-5-20251001-v1:0`): search by name, select a model, and Agentic Data Plane routes to the provider that serves it. When the same model is served by more than one provider, the picker shows the provider next to the model so you can choose which one to use. To use a model the picker doesn’t list, select a provider’s **Custom model ID** entry and type the identifier. Calls to the model are proxied through the [AI Gateway](https://docs.redpanda.com/agentic-data-plane/gateway/overview/).

To add a new provider, see [Configure an LLM provider](https://docs.redpanda.com/agentic-data-plane/gateway/configure-provider/). For model selection guidance, see [Model selection guide](https://docs.redpanda.com/agentic-data-plane/connect/architecture-patterns/#model-selection-guide).

For external model specifications and pricing:

-   [OpenAI models](https://platform.openai.com/docs/models)

-   [Anthropic Claude models](https://docs.anthropic.com/claude/docs/models-overview)

-   [Google Gemini models](https://ai.google.dev/gemini-api/docs/models)

-   [AWS Bedrock models](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)


> 📝 **NOTE**
>
> **Max iterations** is not on the create canvas. It’s the upper bound on agent reasoning loops per request, and you set it after creation from the agent’s **Overview** tab, in the **Model & runtime** section. Leave it unset (or `0`) to use the runtime default of 100. Each iteration consumes tokens and adds latency, so tune it to task complexity: simple queries (10-20), balanced workflows (20-40), complex analysis (40-100).

For an AWS Bedrock provider, Agentic Data Plane validates the model when you create or update the agent. A model ID that isn’t a valid Bedrock model for the provider’s region is rejected at save time, with an error that points at the offending model field, instead of being accepted and then failing later when the agent deploys. A common mistake is the bare foundation-model ID: Claude 4.6 and later require the full inference-profile ID (for example, `us.anthropic.claude-opus-4-7` rather than `claude-opus-4-7`). To use a model the picker doesn’t list, select the provider’s **Custom model ID** entry and enter the full inference-profile ID. The same check applies to each subagent’s model override. See [AWS Bedrock: Inference profiles and IAM](https://docs.redpanda.com/agentic-data-plane/gateway/configure-provider/#bedrock-inference-profiles).

## [](#instructions)Instructions

In the **Instructions** section, write the system prompt that defines the agent’s role, responsibilities, constraints, and output format. The system prompt is optional but strongly recommended; when set, it’s sent on every invocation as the first message. To start from a template, select one of the starter cards above the editor. Each card fills in a complete system prompt that you can then edit.

The field is a Markdown editor with three modes:

-   **Live**: The default. Styles the formatted Markdown as you type and reveals the raw syntax for the construct you’re editing.

-   **Markdown**: Always shows the exact source.

-   **Preview**: Renders the formatted result.


In either editing mode, type the prompt directly and use the formatting toolbar, or select the upload icon to import a Markdown file. To edit in a larger surface, click **Expand editor**.

A typical prompt defines:

-   Agent role and responsibilities

-   Available tools (matches the servers you select in the **Tools** section)

-   Safety rules and constraints

-   Expected output format


Example structure:

```text
You are an [agent role].

Responsibilities:
- [Task 1]
- [Task 2]

Available tools:
- [tool_name]: [description]

Never:
- [Constraint 1]
- [Constraint 2]

Response format:
- [Format guideline]
```

For full guidance on writing effective prompts, see [System prompt best practices](https://docs.redpanda.com/agentic-data-plane/connect/system-prompts/).

## [](#tools)Tools

In the **Tools** section, grant the agent access to the Model Context Protocol (MCP) servers that expose tools to it. This section is optional, and you can change the list at any time after creation.

1.  In the server list, select the checkbox of each server you want the agent to call. If your organization runs many MCP servers, a **Search MCP servers** box appears above the list to help you find them. To create a new server instead of attaching an existing one, click **Add MCP server**, which opens the server-creation flow in a new tab.

2.  The agent discovers each selected server’s tools at runtime; you don’t pre-select individual tools. The agent calls them based on the LLM’s interpretation of the system prompt and the user request. Keep the system prompt aligned with the servers you select so the model knows what’s available.


> 💡 **TIP**
>
> Apply the principle of least privilege. Connect only the servers the agent needs.

An agent can reference at most 32 MCP servers in total, counting the servers on the root agent plus every subagent’s servers. The limit counts references, not distinct servers, so a server referenced by both the root agent and a subagent counts twice. If the total exceeds 32, you can’t save the agent.

For registering MCP servers, see [Create an MCP server](https://docs.redpanda.com/agentic-data-plane/connect/create-server/).

## [](#advanced-subagents-and-tags)Advanced: subagents and tags

Expand the **Advanced** area to add subagents and tags. Both are optional.

### [](#subagents)Subagents

Subagents are internal specialists within the same agent. Each subagent has its own name, delegation hint, system prompt, and MCP tools. By default, a subagent inherits the parent agent’s model and LLM provider, but you can override both per subagent. All subagents share the parent agent’s provider credentials, gateway endpoint, and execution settings. The root agent orchestrates and delegates work to the appropriate subagent based on the request.

To add a specialist, click **Add subagent** (or **Add a subagent**) and configure it in the panel that opens:

-   **Name**: Required. Must start with a lowercase letter, contain only lowercase letters, digits, and hyphens, and end with a letter or digit (for example, `researcher`). The name must be unique among the agent’s subagents.

-   **When should the parent use it?**: Required. The delegation hint the parent reads to decide when to route a task to this subagent. Be specific about inputs, outputs, and use cases.

-   **Model**: Optional. Defaults to the parent agent’s model. A subagent always uses the parent agent’s LLM provider, so you override only the model, choosing from the models that provider serves. Use **Reset to inherited** to go back to the parent’s model.

-   **Instructions**: Required. Domain-specific system prompt for what the subagent does.

-   **Tools**: Optional. Select the MCP servers this subagent can access.


Click **Add subagent** to save it, or **Cancel** to discard. To keep the agent flat, leave the list empty.

For multi-agent design patterns, see [Agent architecture patterns](https://docs.redpanda.com/agentic-data-plane/connect/architecture-patterns/).

### [](#tags)Tags

Add **Tags** as key/value pairs to organize and filter agents in the registry and to break down [Cost & Usage](https://docs.redpanda.com/agentic-data-plane/control/budgets/) by team, environment, and more.

## [](#create-the-agent)Create the agent

1.  Review the canvas. The **Create agent** button is disabled until you enter a name and pick a model; the helper text next to it tells you which is still missing.

2.  Click **Create agent**.

3.  Wait for the agent to reach the **Running** state.


When the agent is running, open its detail page. A managed agent has these tabs:

-   **Overview**: The agent’s full configuration, organized into sections that you edit and save one at a time. The **Agent** section holds the display name, description, and tags (the agent ID is fixed). The **Model & runtime** section holds the LLM provider, model, and max iterations, along with the runtime status and endpoint. The **System prompt**, **MCP servers**, and **Subagents** sections hold the instructions, attached servers, and subagents.

-   **Triggers**: Schedules and event sources that invoke the agent. See [Trigger Agents](https://docs.redpanda.com/agentic-data-plane/connect/triggers/overview/).

-   **Playground**: An interactive test surface. See [Test your agent](#test-your-agent).

-   **Cost & Usage**: Spend, tokens, and latency for the agent.

-   **Transcripts**: A record of every conversation against the agent.

-   **Permissions**: The access policies that apply to the agent as a principal. See [Manage Access Policies](https://docs.redpanda.com/agentic-data-plane/control/access-policies/).


## [](#connect-to-the-agent)Connect to the agent

A running managed agent exposes an [A2A](https://a2a-protocol.org/) endpoint that you can call programmatically or integrate with external systems.

-   **A2A endpoint**: The URL where the agent receives messages, provisioned after the agent starts. It is published in the agent’s card at `https://<your-agent-url>/.well-known/agent-card.json`, and you can fetch it with the [`rpk ai agent a2a card`](https://docs.redpanda.com/agentic-data-plane/reference/rpk/rpk-ai/rpk-ai-agent-a2a-card/) command.

-   **Authentication**: The agent card is public, but every other request to the endpoint requires an access token, sent as an `Authorization: Bearer` header. The caller also needs permission to invoke the agent. See [A2A runtime permissions](https://docs.redpanda.com/agentic-data-plane/control/permissions-reference/#a2a-runtime-permissions).

-   **Code examples**: Call the agent with an official A2A client SDK (Go, Node.js, Python, and Java), with `curl`, or with the [`rpk ai agent a2a send`](https://docs.redpanda.com/agentic-data-plane/reference/rpk/rpk-ai/rpk-ai-agent-a2a-send/) command.


For more about calling agents and integrating them with other systems, see [Choose an Integration Pattern](https://docs.redpanda.com/agentic-data-plane/connect/integration-overview/).

## [](#update-a-managed-agent)Update a managed agent

Change a managed agent’s configuration at any time after you create it, either in Agentic Data Plane or with the [`rpk ai agent update`](https://docs.redpanda.com/agentic-data-plane/reference/rpk/rpk-ai/rpk-ai-agent-update/) command. You can edit settings such as the model, system prompt, tools, and subagents. The agent ID is fixed and can’t change.

Updates roll out without interrupting the agent. Redpanda starts the new version and waits for it to become ready before it stops the old one, so in-flight and new requests keep reaching a running instance throughout the change.

## [](#test-your-agent)Test your agent

Two tabs on the agent detail page support testing and observability:

-   **Playground**: Send test prompts interactively and inspect each step of the agent’s reasoning, tool calls, and responses. Use Playground during development and tuning. The composer shows the agent’s provider and model as read-only, so a test run always uses the agent’s saved configuration.

-   **Transcripts**: Records every conversation against the agent (prompt, tool calls, tool outputs, final response). Use transcripts to audit production behavior.


To test the agent in Playground:

1.  Open the agent’s **Playground** tab.

2.  Enter a test prompt.

3.  Verify the agent:

    -   Selects appropriate tools

    -   Follows the system prompt’s constraints

    -   Returns the expected output format


4.  Iterate on the system prompt, MCP tool selection, or model choice as needed.


For detailed observability strategies, see [Monitor Agent Activity](https://docs.redpanda.com/agentic-data-plane/monitor/monitor-agents/).

## [](#example-configurations)Example configurations

### [](#simple-query-agent)Simple query agent

-   **Model**: GPT-5 Mini (fast, cost-effective)

-   **Tools**: Single MCP server exposing a `get_orders` tool

-   **Use case**: Customer order lookups


### [](#complex-analytics-agent)Complex analytics agent

-   **Model**: Claude Sonnet 4.5 (balanced)

-   **Tools**: Multiple servers for data query, aggregation, and formatting

-   **Use case**: Multi-step data analysis


### [](#multi-agent-orchestrator)Multi-agent orchestrator

-   **Model**: Claude Opus 4.5 (advanced reasoning)

-   **Tools**: Tools the root agent delegates to subagents

-   **Subagents**: `order-agent`, `inventory-agent`, `customer-agent`

-   **Use case**: E-commerce operations


## [](#next-steps)Next steps

-   [Trigger Agents](https://docs.redpanda.com/agentic-data-plane/connect/triggers/overview/)

-   [Choose an Integration Pattern](https://docs.redpanda.com/agentic-data-plane/connect/integration-overview/)

-   [Write Effective System Prompts](https://docs.redpanda.com/agentic-data-plane/connect/system-prompts/)