Skip to content

Create your first Agent

Configure a provider, connect a Tool, create an Agent, and run your first session.

Before you start

  • A reachable control plane and a running Industric Operator (see Deploy & operate).
  • Access to the Platform to configure your provider, Tool, and Agent.
  • The exo CLI installed for the optional CLI steps below.
  • kubectl access only if you choose the YAML examples.

1. Set up the model provider

The Agent resolves its model credentials from a provider the platform holds, so configure that first. In the Platform, go to Connect → Providers → Add provider: pick Anthropic (Claude) for the ClaudeCode runtime used here, paste the API key, and tick Set as default provider. Validate checks the key before anything is saved.

The Add Provider dialog in the Industric Platform with Anthropic (Claude) selected
The Agent in step 3 references this entry with provider.type: claude, or omits the block to use the tenant default.

2. Create a Tool

A Tool is a managed connection (a database, SSH host, HTTP endpoint, or Kubernetes cluster). The credential lives in a Secret and never leaves the cluster.

In the Platform, open Tools and create a tool. Select your deployment and PostgreSQL. Name it analytics-postgres in the adaptive namespace, enter the connection settings, then select Create tool.

The Platform tool creation form with deployment selection and PostgreSQL connection settings, including hostname, port, username, database name, and SSL mode.
Create a PostgreSQL Tool through the Platform form.
Create with YAMLApply a Kubernetes manifest instead.

Alternatively, save this as first-tool.yaml:

first-tool.yaml· yaml
1apiVersion: v1
2kind: Secret
3metadata:
4 name: analytics-pg-creds
5 namespace: adaptive
6type: Opaque
7stringData:
8 password: REPLACE_ME
9---
10apiVersion: autonomic.sh/v1alpha1
11kind: Tool
12metadata:
13 name: analytics-postgres
14 namespace: adaptive
15spec:
16 type: postgres
17 description: "Analytics Postgres read-replica"
18 tags:
19 - databases
20 - postgres
21 - readonly
22 probe: true
23 config:
24 hostname: pg-analytics.prod.internal
25 port: 5432
26 username: autonomic_ro
27 databaseName: analytics
28 sslMode: require
29 credentialsRef:
30 name: analytics-pg-creds
31 key: password
Read-only by convention
Point Tools at a read replica with a least-privilege DB user. With probe: true the reconciler runs a connectivity check before marking the Tool Ready.

Apply it and wait for the probe to pass. Ready means the reconciler reached the database with the credentials you gave it:

terminal· bash
kubectl apply -f first-tool.yaml
kubectl -n adaptive get tools

3. Create the Agent

In the Platform, create an agent and select your deployment, runtime, and provider. Name it hello-agent in the adaptive namespace. Add the Tool from step 2 and set the goal to report the five most recent signups, then select Create agent.

The Platform agent creation form with deployment, runtime, provider, MCP server, skill, and tool selection beside the agent goal.
Choose the agent's runtime, capabilities, and goal in the Platform.
Create with YAMLApply a Kubernetes manifest instead.

A minimal Agent declares a runtime, a goal, a provider, and the Tool it may call. Choose the model in the provider configuration. Save this as first-agent.yaml:

first-agent.yaml· yaml
1apiVersion: autonomic.sh/v1alpha1
2kind: Agent
3metadata:
4 name: hello-agent
5 namespace: adaptive
6spec:
7 runtime: ClaudeCode
8 phase: Paused
9 goal:
10 inline: |
11 Connect to the analytics database and report the 5 most recent signups.
12 provider:
13 type: claude
14 bootstrap:
15 skills:
16 - analytics-postgres
Check attachments and access
Confirm the bootstrap skill exists and the agent has access to the tool. status.effectiveTools lists native runtime and MCP tools, not bootstrap tools or skills. exo agent get uses your platform login and does not need a kubeconfig.

Apply it with kubectl:

terminal· bash
kubectl apply -f first-agent.yaml
kubectl -n adaptive get agent hello-agent
Why paused first
YAML-created agents default to phase: Paused so you can read the configuration before any run spends tokens. Opening a terminal activates the agent and starts its session.

4. Connect to the agent

Open Agents in the Platform and click the agent you just created. In the sidebar, select Open terminal.

The agent sidebar showing its connected status and the Open terminal button.
Select Open terminal in the agent sidebar.

The terminal opens with your agent's configured runtime. Type a message to start working with the agent.

An agent terminal in the Platform with the Industric runtime ready to accept a message.
An open agent terminal, shown here with the Industric runtime.

Using CLI

5. Log in to the platform

Sign in to the CLI to run the agent from your terminal. Already signed in from Getting started? Skip ahead.

On managed service the endpoint defaults to https://exo.adaptive.live, so just run exo login — no --endpoint needed:

terminal· bash
exo login
exo whoami

To point the CLI at your own control plane, pass --endpoint:

terminal· bash
exo login --endpoint https://exo.example.com
exo whoami

6. Start a CLI session

List your agents to confirm it's there, then fire a session and drop into it to watch and interact with it:

terminal· bash
exo agent list
exo agent connect production/adaptive/hello-agent

7. Verify the session

Check that the agent can use the analytics tool and returns the requested signups. Review its output in the terminal or the recorded session; if a tool is missing, check the attachments and access grants.

Next steps