> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.athenaintel.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.athenaintel.com/_mcp/server.

# Build with Agents

> Use the General Agent to perform long-running tasks with tool use.

This example shows a multi-step workflow with the General Agent, the default agent in [Spaces](https://resources.athenaintel.com/docs/applications/spaces).

Key features:

* Use prebuilt tools like web browsing and search
* Compatible with LangChain message objects
* Support for multi-step conversations

### Install Package

#### Jupyter Notebook

```python
!pip install -U athenaintel
```

#### Terminal/Shell

```bash
pip install -U athenaintel
```

### Set Up Client

```python
from athena import GeneralAgentConfig, GeneralAgentRequest
from athena.client import Athena
from langchain_core.messages import HumanMessage
from langchain_core.load import load

athena = Athena(api_key="<YOUR_API_KEY>")
```

### Run the Agent

```python
# Enable tools
config = GeneralAgentConfig(
    enabled_tools=["search", "browse"]
)

# Create message
messages = [{
    "type": "human", 
    "content": "Use the search tool to search for information about Athena Intelligence and summarize the results."
}]

# Get response
response = athena.agents.general.invoke(
    request=GeneralAgentRequest(
        config=config,
        messages=messages
    )
).messages

# Access the response text directly
latest_response = response[-1].content
```

### Continue Conversation

Pass the full message list to maintain context between steps.

```python
# Add follow-up as LangChain message object
new_messages = load(response) + [HumanMessage(content="Tell me more about what you found")]

# Get response
continued_response = athena.agents.general.invoke(
    request=GeneralAgentRequest(
        config=config,
        messages=new_messages
    )
).messages
```