Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 📟
Your lobster just got a Beeper.
Finally, your Clawdbot can reach you (and everyone else) across every chat platform. WhatsApp? Telegram? Signal? Discord? Slack? Instagram DMs? LinkedIn? iMessage? All of them. One skill. One claw.
Powered by Beeper - the app that unifies all your chats.
What Can Your Lobster Do With Beeper?
🔍 Search Everything - "What did Sarah say about the project last week?" Your lobster will dig through all your Beeper chats instantly.
💬 Send Messages Anywhere - "Tell Mom I'll be late" - and it goes to WhatsApp. "Message the team on Slack" - done. No app switching.
📊 Summarize Your Inbox - "What did I miss?" Get a digest of unread messages across all your Beeper networks.
🔔 Set Reminders - "Remind me to reply to this chat tomorrow" - your lobster remembers so you don't have to.
📎 Grab Attachments - Download files, images, and media from any Beeper conversation.
😀 React to Messages - Add emoji reactions to any message across any Beeper network.
✅ Mark as Read - Keep your Beeper inbox tidy by marking conversations as read.
Supported Beeper Networks
Your Clawdbot can reach you on any platform Beeper supports:
Platform
Status
WhatsApp
✅ Full Support
Telegram
✅ Full Support
Signal
✅ Full Support
Discord
✅ Full Support
Slack
✅ Full Support
Instagram DMs
✅ Full Support
Facebook Messenger
✅ Full Support
LinkedIn Messages
✅ Full Support
X (Twitter) DMs
✅ Full Support
Google Messages
✅ Full Support
Google Chat
✅ Full Support
iMessage
✅ macOS only
One skill. Twelve platforms. Infinite possibilities.
Quick Start
1. Get Beeper
Don't have Beeper yet? Download it free - it's the app that brings all your chats together.
2. Enable the Beeper Desktop API
Open Beeper Desktop → Settings → Developers → Toggle "Beeper Desktop API" ON
That's it. Your lobster now has a direct line to all your chats.
[{"id":"chat-abc123","name":"Family Group","service":"whatsapp","unreadCount":5,"lastMessage":{"text":"See you at dinner!","timestamp":"2026-01-23T15:30:00Z"}},{"id":"chat-xyz789","name":"Work Team","service":"slack","unreadCount":0,"lastMessage":{"text":"Meeting moved to 3pm","timestamp":"2026-01-23T14:00:00Z"}}]
[{"id":"msg-001","chatID":"chat-abc123","sender":{"id":"user-1","name":"Mom"},"text":"Don't forget to call grandma!","timestamp":"2026-01-23T15:30:00Z","reactions":[{"emoji":"👍","user":{"id":"user-2","name":"Dad"}}]},{"id":"msg-002","chatID":"chat-abc123","sender":{"id":"user-2","name":"Dad"},"text":"See you at dinner!","timestamp":"2026-01-23T15:25:00Z","reactions":[]}]
{"results":[{"id":"msg-xyz","chatID":"chat-abc123","chatName":"Family Group","service":"whatsapp","text":"What are the dinner plans for tonight?","sender":{"name":"Mom"},"timestamp":"2026-01-23T12:00:00Z"}],"total":1}
Send a Message via Beeper
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"text": "Hello from my lobster! 🦞"}'
Example Response:
{"id":"msg-new123","chatID":"chat-abc123","text":"Hello from my lobster! 🦞","timestamp":"2026-01-23T16:00:00Z","status":"sent"}
[whatsapp] Family Group: 5 unread
[slack] Work Team: 12 unread
[signal] Best Friend: 2 unread
Find a WhatsApp Chat in Beeper
# Get your WhatsApp account ID from Beeper
WHATSAPP=$(curl -s "${BEEPER_API_URL}/v1/accounts" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
jq -r '.[] | select(.service == "whatsapp") | .id')
# Search for a contact
curl -s "${BEEPER_API_URL}/v1/chats/search?q=Mom" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
Mark All Chats as Read
for chatID in $(curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[].id'); do
curl -X POST "${BEEPER_API_URL}/v1/chats/${chatID}/read" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"echo"Marked ${chatID} as read"done
Quick React to Last Message
# Get the last message ID from a chat
LAST_MSG=$(curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages?limit=1" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[0].id')
# React with thumbs up
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/${LAST_MSG}/reactions" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"emoji": "👍"}'
Check if Beeper is Ready
curl -s --connect-timeout 2 "${BEEPER_API_URL:-http://localhost:23373}/health" && echo"Beeper is ready!"