WebSockets Quickstart

Get started with real-time email event streaming

TypeScript
1import { AgentMailClient } from "agentmail";
2
3const client = new AgentMailClient();
4
5async function main() {
6 const socket = await client.websockets.connect({
7 apiKey: process.env.AGENTMAIL_API_KEY,
8 });
9
10 socket.on("message", async (event) => {
11 if (event.type === "subscribed") {
12 console.log("Subscribed to", event.inboxIds);
13 } else if (event.eventType === "message.received") {
14 console.log(`Received message from: ${event.message.from}`);
15 }
16 });
17
18 await socket.waitForOpen();
19
20 socket.sendSubscribe({
21 type: "subscribe",
22 inboxIds: ["my-agent@agentmail.to"],
23 });
24}
25
26main();
Python
1from agentmail import AgentMail, MessageReceivedEvent, Subscribe, Subscribed
2
3client = AgentMail()
4
5with client.websockets.connect() as socket:
6 socket.send_subscribe(Subscribe(inbox_ids=["my-agent@agentmail.to"]))
7
8 for event in socket:
9 if isinstance(event, Subscribed):
10 print(f"Subscribed to {event.inbox_ids}")
11 elif isinstance(event, MessageReceivedEvent):
12 msg = event.message
13 print(f"Received message from: {msg.from_}")