Claude
Skills
Sign in
Back

agentmail-toolkit

Included with Lifetime
$97 forever

Add email capabilities to AI agents using popular frameworks. Provides pre-built tools for TypeScript and Python frameworks including Vercel AI SDK, LangChain, Clawdbot, OpenAI Agents SDK, and LiveKit Agents. Use when integrating AgentMail with agent frameworks that need email send/receive tools.

Backend & APIs

What this skill does


# AgentMail Toolkit

Pre-built email tools for popular agent frameworks. Instantly add inbox management, sending, receiving, and email automation to your agents.

## Installation

```bash
# TypeScript/Node
npm install agentmail-toolkit

# Python
pip install agentmail-toolkit
```

## Configuration

Set your API key as an environment variable:

```bash
export AGENTMAIL_API_KEY=your-api-key
```

Get your API key from [console.agentmail.to](https://console.agentmail.to).

---

## TypeScript Frameworks

### Vercel AI SDK

```typescript
import { AgentMailToolkit } from "agentmail-toolkit/ai-sdk";
import { streamText } from "ai";
import { openai } from "@ai-sdk/openai";

const toolkit = new AgentMailToolkit();

const result = await streamText({
  model: openai("gpt-4o"),
  messages,
  system: "You are an email agent that can send and receive emails.",
  tools: toolkit.getTools(),
});
```

### LangChain

```typescript
import { createAgent, HumanMessage, AIMessage } from "langchain";
import { AgentMailToolkit } from "agentmail-toolkit/langchain";

const agent = createAgent({
  model: "openai:gpt-4o",
  tools: new AgentMailToolkit().getTools(),
  systemPrompt: "You are an email agent that can send and receive emails.",
});

const result = await agent.stream({ messages }, { streamMode: "messages" });
```

### Clawdbot (Pi Agent)

For Clawdbot/Pi Agent integration.

```typescript
import { AgentMailToolkit } from "agentmail-toolkit/clawdbot";

const toolkit = new AgentMailToolkit();
const tools = toolkit.getTools();

// Each tool has: name, label, description, parameters, execute
for (const tool of tools) {
  agent.registerTool(tool);
}
```

---

## Python Frameworks

### OpenAI Agents SDK

```python
from agentmail_toolkit.openai import AgentMailToolkit
from agents import Agent

agent = Agent(
    name="Email Agent",
    instructions="You can send, receive, and manage emails.",
    tools=AgentMailToolkit().get_tools(),
)
```

### LangChain

```python
from langchain.agents import create_agent
from agentmail_toolkit.langchain import AgentMailToolkit

agent = create_agent(
    model="gpt-4o",
    system_prompt="You are an email agent that can send and receive emails.",
    tools=AgentMailToolkit().get_tools(),
)

result = agent.stream({"messages": messages}, stream_mode="messages")
```

### LiveKit Agents

For voice AI agents with email capabilities.

```python
from livekit.agents import Agent
from agentmail_toolkit.livekit import AgentMailToolkit

agent = Agent(
    name="Voice Email Agent",
    tools=AgentMailToolkit().get_tools(),
)
```

---

## Available Tools

The Node and Python toolkits ship different tool sets. The Node toolkit includes drafts;
the Python toolkit does not.

| Tool               | Description                     | Node | Python |
| ------------------ | ------------------------------- |:----:|:------:|
| `create_inbox`     | Create a new email inbox        | ✓    | ✓      |
| `list_inboxes`     | List all inboxes                | ✓    | ✓      |
| `get_inbox`        | Get inbox details               | ✓    | ✓      |
| `delete_inbox`     | Delete an inbox                 | ✓    | ✓      |
| `send_message`     | Send an email                   | ✓    | ✓      |
| `reply_to_message` | Reply to an email               | ✓    | ✓      |
| `forward_message`  | Forward an email                | ✓    | ✓      |
| `update_message`   | Update message labels           | ✓    | ✓      |
| `list_threads`     | List email threads              | ✓    | ✓      |
| `get_thread`       | Get thread details              | ✓    | ✓      |
| `get_attachment`   | Download an attachment          | ✓    | ✓      |
| `create_draft`     | Create a draft message          | ✓    | —      |
| `list_drafts`      | List drafts in an inbox         | ✓    | —      |
| `get_draft`        | Get a draft by ID               | ✓    | —      |
| `update_draft`     | Update a draft                  | ✓    | —      |
| `send_draft`       | Send a previously-created draft | ✓    | —      |
| `delete_draft`     | Delete a draft without sending  | ✓    | —      |

Node toolkit: 17 tools. Python toolkit: 11 tools. If you need draft support from Python,
call `client.inboxes.drafts.*` directly on the AgentMail SDK client.

---

## Custom Configuration

Both toolkits take an existing SDK client as their only constructor argument — they do NOT
accept `apiKey` / `api_key` directly. If you need a custom API key, construct the SDK
client with the key first, then pass the client to the toolkit.

### TypeScript

```typescript
import { AgentMailClient } from "agentmail";
import { AgentMailToolkit } from "agentmail-toolkit/ai-sdk";

// With a custom API key
const client = new AgentMailClient({ apiKey: "your-api-key" });
const toolkit = new AgentMailToolkit(client);

// Or omit the argument to auto-read AGENTMAIL_API_KEY from env
const defaultToolkit = new AgentMailToolkit();
```

### Python

```python
from agentmail import AgentMail
from agentmail_toolkit.openai import AgentMailToolkit

# With a custom API key
client = AgentMail(api_key="your-api-key")
toolkit = AgentMailToolkit(client=client)

# Or omit the argument to auto-read AGENTMAIL_API_KEY from env
default_toolkit = AgentMailToolkit()
```

---

## Framework Summary

| Framework         | TypeScript Import                    | Python Import                                              |
| ----------------- | ------------------------------------ | ---------------------------------------------------------- |
| Vercel AI SDK     | `from 'agentmail-toolkit/ai-sdk'`    | -                                                          |
| LangChain         | `from 'agentmail-toolkit/langchain'` | `from agentmail_toolkit.langchain import AgentMailToolkit` |
| Clawdbot          | `from 'agentmail-toolkit/clawdbot'`  | -                                                          |
| OpenAI Agents SDK | -                                    | `from agentmail_toolkit.openai import AgentMailToolkit`    |
| LiveKit Agents    | -                                    | `from agentmail_toolkit.livekit import AgentMailToolkit`   |

Related in Backend & APIs