/install claw-me-maybe
\r \r
Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging 📟\r
\r Your lobster just got a Beeper.\r \r 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.\r \r Powered by Beeper - the app that unifies all your chats.\r \r
What Can Your Lobster Do With Beeper?\r
\r 🔍 Search Everything - "What did Sarah say about the project last week?" Your lobster will dig through all your Beeper chats instantly.\r \r 💬 Send Messages Anywhere - "Tell Mom I'll be late" - and it goes to WhatsApp. "Message the team on Slack" - done. No app switching.\r \r 📊 Summarize Your Inbox - "What did I miss?" Get a digest of unread messages across all your Beeper networks.\r \r 🔔 Set Reminders - "Remind me to reply to this chat tomorrow" - your lobster remembers so you don't have to.\r \r 📎 Grab Attachments - Download files, images, and media from any Beeper conversation.\r \r 😀 React to Messages - Add emoji reactions to any message across any Beeper network.\r \r ✅ Mark as Read - Keep your Beeper inbox tidy by marking conversations as read.\r \r
Supported Beeper Networks\r
\r Your Clawdbot can reach you on any platform Beeper supports:\r \r | Platform | Status |\r |----------|--------|\r | WhatsApp | ✅ Full Support |\r | Telegram | ✅ Full Support |\r | Signal | ✅ Full Support |\r | Discord | ✅ Full Support |\r | Slack | ✅ Full Support |\r | Instagram DMs | ✅ Full Support |\r | Facebook Messenger | ✅ Full Support |\r | LinkedIn Messages | ✅ Full Support |\r | X (Twitter) DMs | ✅ Full Support |\r | Google Messages | ✅ Full Support |\r | Google Chat | ✅ Full Support |\r | iMessage | ✅ macOS only |\r \r One skill. Twelve platforms. Infinite possibilities.\r \r
Quick Start\r
\r
1. Get Beeper\r
\r Don't have Beeper yet? Download it free - it's the app that brings all your chats together.\r \r
2. Enable the Beeper Desktop API\r
\r Open Beeper Desktop → Settings → Developers → Toggle "Beeper Desktop API" ON\r \r That's it. Your lobster now has a direct line to all your chats.\r \r
3. (Optional) Add Your Beeper Token\r
\r For smoother automation, grab an access token:\r \r
- Beeper Desktop → Settings → Developers\r
- Click "Create Access Token"\r
- Add to
~/.clawdbot/clawdbot.json:\r \r
{\r
"skills": {\r
"entries": {\r
"claw-me-maybe": {\r
"enabled": true,\r
"env": {\r
"BEEPER_ACCESS_TOKEN": "your-token-here"\r
}\r
}\r
}\r
}\r
}\r
```\r
\r
Note: `BEEPER_API_URL` defaults to `http://localhost:23373` - no need to set it unless you're running Beeper on a different port.\r
\r
## Talk to Your Lobster\r
\r
Once set up, just ask naturally:\r
\r
> "Show me my unread messages in Beeper"\r
\r
> "Search my Beeper chats for messages about dinner plans"\r
\r
> "Send a WhatsApp message to John saying I'm on my way"\r
\r
> "What's the latest in my Signal group chat?"\r
\r
> "Message the #general channel on Slack: standup in 5 minutes"\r
\r
> "Find all messages from Lisa in the last week"\r
\r
> "React with 👍 to that last message"\r
\r
> "Mark my Discord chats as read"\r
\r
Your lobster handles the rest through Beeper.\r
\r
## The Technical Stuff\r
\r
*(For those who like to peek under the shell)*\r
\r
### Beeper API Basics\r
\r
Base URL: `http://localhost:23373` (Beeper Desktop must be running)\r
\r
```bash\r
# Auth header (when using a token)\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Accounts\r
\r
#### List Your Beeper Accounts\r
\r
See all connected platforms in your Beeper:\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/accounts" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
{\r
"id": "whatsapp-abc123",\r
"service": "whatsapp",\r
"displayName": "+1 555-123-4567",\r
"connected": true\r
},\r
{\r
"id": "telegram-xyz789",\r
"service": "telegram",\r
"displayName": "@myusername",\r
"connected": true\r
},\r
{\r
"id": "signal-def456",\r
"service": "signal",\r
"displayName": "+1 555-987-6543",\r
"connected": true\r
}\r
]\r
```\r
\r
### Chats\r
\r
#### List All Beeper Chats\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
{\r
"id": "chat-abc123",\r
"name": "Family Group",\r
"service": "whatsapp",\r
"unreadCount": 5,\r
"lastMessage": {\r
"text": "See you at dinner!",\r
"timestamp": "2026-01-23T15:30:00Z"\r
}\r
},\r
{\r
"id": "chat-xyz789",\r
"name": "Work Team",\r
"service": "slack",\r
"unreadCount": 0,\r
"lastMessage": {\r
"text": "Meeting moved to 3pm",\r
"timestamp": "2026-01-23T14:00:00Z"\r
}\r
}\r
]\r
```\r
\r
#### Search Beeper Chats\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats/search?q=project+meeting" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
#### Get Chat Details\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats/{chatID}" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
{\r
"id": "chat-abc123",\r
"name": "Family Group",\r
"service": "whatsapp",\r
"unreadCount": 5,\r
"participants": [\r
{"id": "user-1", "name": "Mom", "phone": "+15551234567"},\r
{"id": "user-2", "name": "Dad", "phone": "+15559876543"},\r
{"id": "user-3", "name": "You", "phone": "+15555555555"}\r
],\r
"archived": false,\r
"muted": false\r
}\r
```\r
\r
#### Create a New Beeper Chat\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"accountID": "whatsapp-abc123",\r
"participants": ["+1234567890"]\r
}'\r
```\r
\r
#### Archive/Unarchive Chat\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/archive" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"archived": true}'\r
```\r
\r
### Messages\r
\r
#### List Messages in a Chat\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
{\r
"id": "msg-001",\r
"chatID": "chat-abc123",\r
"sender": {"id": "user-1", "name": "Mom"},\r
"text": "Don't forget to call grandma!",\r
"timestamp": "2026-01-23T15:30:00Z",\r
"reactions": [\r
{"emoji": "👍", "user": {"id": "user-2", "name": "Dad"}}\r
]\r
},\r
{\r
"id": "msg-002",\r
"chatID": "chat-abc123",\r
"sender": {"id": "user-2", "name": "Dad"},\r
"text": "See you at dinner!",\r
"timestamp": "2026-01-23T15:25:00Z",\r
"reactions": []\r
}\r
]\r
```\r
\r
#### Search Messages Across All Beeper Networks\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/messages/search?q=dinner+plans" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
{\r
"results": [\r
{\r
"id": "msg-xyz",\r
"chatID": "chat-abc123",\r
"chatName": "Family Group",\r
"service": "whatsapp",\r
"text": "What are the dinner plans for tonight?",\r
"sender": {"name": "Mom"},\r
"timestamp": "2026-01-23T12:00:00Z"\r
}\r
],\r
"total": 1\r
}\r
```\r
\r
#### Send a Message via Beeper\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"text": "Hello from my lobster! 🦞"}'\r
```\r
\r
**Example Response:**\r
```json\r
{\r
"id": "msg-new123",\r
"chatID": "chat-abc123",\r
"text": "Hello from my lobster! 🦞",\r
"timestamp": "2026-01-23T16:00:00Z",\r
"status": "sent"\r
}\r
```\r
\r
#### Reply to a Message\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{\r
"text": "Sounds good!",\r
"replyTo": "msg-001"\r
}'\r
```\r
\r
#### Mark Messages as Read\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/read" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"upToMessageID": "msg-001"}'\r
```\r
\r
### Reactions\r
\r
#### Add a Reaction to a Message\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"emoji": "👍"}'\r
```\r
\r
#### Remove a Reaction\r
\r
```bash\r
curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"emoji": "👍"}'\r
```\r
\r
### Contacts\r
\r
#### Search Contacts on an Account\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/accounts/{accountID}/contacts?q=john" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
**Example Response:**\r
```json\r
[\r
{\r
"id": "contact-123",\r
"name": "John Smith",\r
"phone": "+15551234567",\r
"avatar": "https://..."\r
},\r
{\r
"id": "contact-456",\r
"name": "Johnny Appleseed",\r
"phone": "+15559876543",\r
"avatar": "https://..."\r
}\r
]\r
```\r
\r
### Reminders\r
\r
#### Create Chat Reminder\r
\r
Set a reminder for a chat:\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"remindAt": "2026-01-25T10:00:00Z"}'\r
```\r
\r
#### Delete Chat Reminder\r
\r
```bash\r
curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Assets\r
\r
#### Download Message Attachment\r
\r
```bash\r
curl -X POST "${BEEPER_API_URL}/v1/assets/download" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"assetID": "asset-id-here"}' \\r
--output attachment.file\r
```\r
\r
## Pro Tips 🦞\r
\r
### Get Unread Summary from Beeper\r
\r
```bash\r
curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
jq '.[] | "[\(.service)] \(.name): \(.unreadCount) unread"'\r
```\r
\r
**Example Output:**\r
```\r
[whatsapp] Family Group: 5 unread\r
[slack] Work Team: 12 unread\r
[signal] Best Friend: 2 unread\r
```\r
\r
### Find a WhatsApp Chat in Beeper\r
\r
```bash\r
# Get your WhatsApp account ID from Beeper\r
WHATSAPP=$(curl -s "${BEEPER_API_URL}/v1/accounts" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
jq -r '.[] | select(.service == "whatsapp") | .id')\r
\r
# Search for a contact\r
curl -s "${BEEPER_API_URL}/v1/chats/search?q=Mom" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Mark All Chats as Read\r
\r
```bash\r
for chatID in $(curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[].id'); do\r
curl -X POST "${BEEPER_API_URL}/v1/chats/${chatID}/read" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
echo "Marked ${chatID} as read"\r
done\r
```\r
\r
### Quick React to Last Message\r
\r
```bash\r
# Get the last message ID from a chat\r
LAST_MSG=$(curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages?limit=1" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[0].id')\r
\r
# React with thumbs up\r
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/${LAST_MSG}/reactions" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \\r
-H "Content-Type: application/json" \\r
-d '{"emoji": "👍"}'\r
```\r
\r
### Check if Beeper is Ready\r
\r
```bash\r
curl -s --connect-timeout 2 "${BEEPER_API_URL:-http://localhost:23373}/health" && echo "Beeper is ready!"\r
```\r
\r
### Get Messages from Last 24 Hours\r
\r
```bash\r
YESTERDAY=$(date -u -v-1d +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -u -d "1 day ago" +"%Y-%m-%dT%H:%M:%SZ")\r
\r
curl -s "${BEEPER_API_URL}/v1/messages/search?after=${YESTERDAY}" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"\r
```\r
\r
### Filter Chats by Service\r
\r
```bash\r
# Get only Signal chats\r
curl -s "${BEEPER_API_URL}/v1/chats" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
jq '[.[] | select(.service == "signal")]'\r
\r
# Get only Slack chats\r
curl -s "${BEEPER_API_URL}/v1/chats" \\r
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \\r
jq '[.[] | select(.service == "slack")]'\r
```\r
\r
## Good to Know\r
\r
**Beeper Desktop must be running** - The API lives inside Beeper Desktop. No Beeper = no connection.\r
\r
**It's local & private** - The Beeper API runs entirely on your machine. Your messages never touch external servers through this skill.\r
\r
**Respect the networks** - This is for personal use. Sending too many messages might trigger rate limits on WhatsApp, etc.\r
\r
**iMessage needs macOS** - Apple gonna Apple.\r
\r
**Reactions vary by network** - Not all platforms support all emoji. Beeper handles the translation.\r
\r
## Troubleshooting\r
\r
### "Can't connect to Beeper"\r
\r
1. Is Beeper Desktop running? Look for it in your menu bar.\r
2. Is the API enabled? Beeper → Settings → Developers → Beeper Desktop API\r
3. Check the port: `curl http://localhost:23373/health`\r
\r
### "Authentication failed"\r
\r
1. Generate a fresh token in Beeper → Settings → Developers\r
2. Make sure it's in your config (no extra spaces!)\r
3. Or just remove the token - Beeper will prompt for OAuth\r
\r
### "Chat not found"\r
\r
1. Make sure the chat exists in your Beeper app\r
2. Try different search terms\r
3. Check that the account (WhatsApp, Telegram, etc.) is connected in Beeper\r
\r
### "Reaction not supported"\r
\r
Some networks have limited emoji support. Try a more common emoji like 👍 ❤️ 😂 😮 😢 😡\r
\r
## Links\r
\r
- [Get Beeper](https://www.beeper.com/download) - Free download\r
- [Beeper Developer Docs](https://developers.beeper.com) - Full API reference\r
- [Beeper MCP](https://www.beeper.com/mcp) - For Claude Desktop & Cursor users\r
- [Beeper Desktop API Reference](https://developers.beeper.com/desktop-api-reference/) - Complete endpoint docs\r
\r
## Credits\r
\r
Built with 🦞 by @nickhamze and the Clawdbot community.\r
\r
Powered by [Beeper](https://www.beeper.com) - One app for all your chats.\r
\r
*Claw Me Maybe - because your lobster should be able to reach you anywhere.*\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install claw-me-maybe - After installation, invoke the skill by name or use
/claw-me-maybe - Provide required inputs per the skill's parameter spec and get structured output
What is Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging?
Beeper integration for Clawdbot. Send messages and search chats across WhatsApp, Telegram, Signal, Discord, Slack, Instagram, iMessage, LinkedIn, Facebook Messenger, Google Messages via Beeper Desktop API. Reactions, reminders, attachments, mark as read. Unified multi-platform messaging automation—just ask. It is an AI Agent Skill for Claude Code / OpenClaw, with 3550 downloads so far.
How do I install Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging?
Run "/install claw-me-maybe" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging free?
Yes, Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging support?
Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Claw Me Maybe - Beeper Desktop API & Multi-Platform Messaging?
It is built and maintained by nickhamze (@nickhamze); the current version is v1.2.1.