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
8 socket.on("message", async (event) => {
9 if (event.type === "subscribed") {
10 console.log("Subscribed to", event.inboxIds);
11 } else if (
12 event.type === "event" &&
13 event.eventType === "message.received"
14 ) {
15 console.log(`Received message from: ${event.message.from}`);
16 }
17 });
18
19 await socket.waitForOpen();
20
21 socket.sendSubscribe({
22 type: "subscribe",
23 inboxIds: ["my-agent@agentmail.to"],
24 });
25}
26
27main();
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_}")