Give your agents
your messages.
WhatsApp, iMessage, Slack and eleven more networks in one API.
Ready for Claude Code, Codex, OpenClaw, Grok and any other agent.
7 days free, then from $49 a month.
One key reaches every chat you've connected in Chesly
- iMessage
- Messenger
- Telegram
- Signal
- Discord
- Slack
- X
- Google Messages
- Google Chat
Agents can write your code and plan your week. Now they can read your messages, too. Connect your chats in Chesly once, and any agent can catch you up, find what you need and answer for you.
Hosted and always on
Chesly keeps your accounts connected on its servers, so your agent can reach them with your phone off.
Made for agents
JSON on every command, names instead of IDs, and what people write kept apart from instructions.
Yours to control
Read-only keys for agents that only need to look, send limits on every account, and one click to revoke.
One key.
Four ways in.
Use the CLI from any agent that runs commands, the MCP server from any client that speaks it, or REST and webhooks from your own code. They share one key and see the same chats.
Read the docsnpm install -g chesly
chesly login
chesly catchup --json{
"chats": [
{
"chat": {
"id": "chat_x1R7KTsNtH88aWCJvUyo",
"network": "whatsapp",
"name": "Mom",
"type": "dm",
"unread_count": 2
},
"messages": [
{
"id": "msg_x1R7KTsNtH88aWCJvUyo.JHYzSU1iSXZmalJ6SXJfOG1qS0dyaHNZdmNXXy1ST2lGTTlkcHNIc0c1Nkk",
"chat_id": "chat_x1R7KTsNtH88aWCJvUyo",
"sender": { "name": "Mom", "is_me": false },
"text": "Did you land??",
"type": "text",
"sent_at": "2026-10-27T09:41:07.312Z"
}
]
}
],
"truncated": false
}claude mcp add --transport http chesly https://api.chesly.app/mcp \
--header "Authorization: Bearer $CHESLY_API_KEY"list_accountsConnected networks and their statuslist_chatsChats, filtered by unread or networkcatch_upUnread chats with their latest messagesread_chatThe messages in a chatsearch_messagesSearch across every chatget_messageOne message and its delivery statussend_messageReply in an existing chatmark_readMark a chat as readfind_contactFind a person across networkstranscribe_voice_noteTurn a voice note into text
curl https://api.chesly.app/v1/chats/chat_x1R7KTsNtH88aWCJvUyo/messages \
-H "Authorization: Bearer $CHESLY_API_KEY" \
-H "Idempotency-Key: 8d4faeef-90bb-4b3a-8760-de2fde14c267" \
-H "Content-Type: application/json" \
-d '{"text": "Landed safe! Calling you tonight"}'{
"id": "msg_x1R7KTsNtH88aWCJvUyo.JFp5TUlnekJnT3RVZ2RMdHgtbTZwLWNWWGtyazNSamdfRXVPOUNuR3dJdDg",
"chat_id": "chat_x1R7KTsNtH88aWCJvUyo",
"sender": { "name": "Sam Reyes", "is_me": true },
"text": "Landed safe! Calling you tonight",
"type": "text",
"sent_at": "2026-10-27T09:52:31.204Z",
"delivery": {
"status": "queued",
"error": null,
"updated_at": "2026-10-27T09:52:31.236Z"
}
}POST /hooks/chesly HTTP/1.1
content-type: application/json
user-agent: Chesly-Webhooks/1.0
webhook-id: evt_LOBiK493MDUR1TH599lfcIHZ
webhook-timestamp: 1793095328
webhook-signature: v1,qFYvshpmJX8LKzu3LJsQ2Lb84W5QL0RCYjbOOkx0L54={
"id": "evt_LOBiK493MDUR1TH599lfcIHZ",
"type": "message.received",
"timestamp": "2026-10-27T10:02:07.518Z",
"data": {
"message": {
"id": "msg_UXw90uk2Q0SkBgQdA7uY.JGNXcGE1THJaY3JiMnFwRGIxM3ZjZXBaYS1tbjBEc2l3ZnA5d2Uxek9RVnc",
"chat_id": "chat_UXw90uk2Q0SkBgQdA7uY",
"sender": { "name": "Priya Patel", "is_me": false },
"text": "Got the deck, thank you! Looks great.",
"type": "text",
"sent_at": "2026-10-27T10:02:07.518Z"
},
"chat": { "id": "chat_UXw90uk2Q0SkBgQdA7uY", "name": "Priya Patel", "network": "slack", "type": "dm" }
}
}Works while
you sleep.
Chesly runs your connections on its servers, so there's no Mac mini to keep awake and no session to pair again. Your agent can watch every chat overnight and have a catch-up ready by morning.
How events work- 11:48 PMPriya Patel, SlackDeck looks great. Shipping it tomorrow 🚀
- 1:12 AMClimbing crew, TelegramFriday it is, 7pm at the gym
- 2:30 AMTrip alerts, Google MessagesYour gate changed to B12
- 6:05 AMMom, WhatsAppCall me when you're up ☀️
Two plans.
A flat price a month, with every network and every way in. Calls are counted, never billed.
Compare the plansPersonal
$49a month
- 600 transcription minutes a month
- 15 requests a second, 900 a minute
- 25 webhooks
- 10 live event streams
- 7 days of event history
- Email support
Pro
$199a month
- 3,000 transcription minutes a month
- 30 requests a second, 1,800 a minute
- 100 webhooks
- 25 live event streams
- 30 days of event history
- Priority email support
Questions
- How do I start?
- Connect your chats in the Chesly app on iPhone, Android or Mac, then start a 7-day free trial at web.chesly.app/api. Paste the setup prompt into your agent and it does the rest.
- Which agents does it work with?
- Anything that can run a command or connect to an MCP server: Claude Code, Codex, Cursor, OpenClaw, Grok Bot, OpenAI Dots, n8n, the OpenAI API and your own scripts. The agent setup page has a guide for each.
- Can my agent message people I've never talked to?
- No. Your agent replies in chats you already have. It can't start new conversations, which keeps your accounts from looking like spam.
- Where do my messages live?
- On Chesly's servers. That's what lets your agent reach them with your phone off. Only keys you create can read them through the API, and you can revoke any key at any time.
- What counts as a call?
- A REST request or an MCP tool call. A CLI command counts as the requests it makes. Webhooks, events and the live stream are free.
- Is the API part of Chesly Plus?
- No. It's its own plan, and it works the same with a free or a Plus account.















