Copy for Cursor / Claude
Copy one of the blocks below into Cursor or Claude for instant WebSocket setup.
"""AgentMail WebSockets Quickstart — copy into Cursor/Claude.client.websockets.connect() → socket.send_subscribe(Subscribe(inbox_ids=[...])) → iterate socket for events."""from agentmail import AgentMail, Subscribe, Subscribed, MessageReceivedEventclient = AgentMail()with client.websockets.connect() as socket:socket.send_subscribe(Subscribe(inbox_ids=["my-agent@agentmail.to"]))for event in socket:if isinstance(event, Subscribed): print(f"Subscribed to {event.inbox_ids}")elif isinstance(event, MessageReceivedEvent): print(f"Received from: {event.message.from_}")
SDK Examples
TypeScript
import { AgentMailClient } from "agentmail";const client = new AgentMailClient();async function main() {const socket = await client.websockets.connect();socket.on("message", async (event) => {if (event.type === "subscribed") {console.log("Subscribed to", event.inboxIds);} else if (event.type === "event" &&event.eventType === "message.received") {console.log(`Received message from: ${event.message.from}`);}});await socket.waitForOpen();socket.sendSubscribe({type: "subscribe",inboxIds: ["my-agent@agentmail.to"],});}main();
Python
from agentmail import AgentMail, MessageReceivedEvent, Subscribe, Subscribedclient = AgentMail()with client.websockets.connect() as socket:socket.send_subscribe(Subscribe(inbox_ids=["my-agent@agentmail.to"]))for event in socket:if isinstance(event, Subscribed):print(f"Subscribed to {event.inbox_ids}")elif isinstance(event, MessageReceivedEvent):msg = event.messageprint(f"Received message from: {msg.from_}")
