claw-me-maybeBeeper 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.
Install via ClawdBot CLI:
clawdbot install nickhamze/claw-me-maybeYour 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.
๐ 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.
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.
Don't have Beeper yet? Download it free - it's the app that brings all your chats together.
Open Beeper Desktop โ Settings โ Developers โ Toggle "Beeper Desktop API" ON
That's it. Your lobster now has a direct line to all your chats.
For smoother automation, grab an access token:
~/.clawdbot/clawdbot.json:```json
{
"skills": {
"entries": {
"claw-me-maybe": {
"enabled": true,
"env": {
"BEEPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}
}
```
Note: BEEPER_API_URL defaults to http://localhost:23373 - no need to set it unless you're running Beeper on a different port.
Once set up, just ask naturally:
"Show me my unread messages in Beeper"
"Search my Beeper chats for messages about dinner plans"
"Send a WhatsApp message to John saying I'm on my way"
"What's the latest in my Signal group chat?"
"Message the #general channel on Slack: standup in 5 minutes"
"Find all messages from Lisa in the last week"
"React with ๐ to that last message"
"Mark my Discord chats as read"
Your lobster handles the rest through Beeper.
(For those who like to peek under the shell)
Base URL: http://localhost:23373 (Beeper Desktop must be running)
```bash
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
See all connected platforms in your Beeper:
```bash
curl -s "${BEEPER_API_URL}/v1/accounts" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
Example Response:
```json
[
{
"id": "whatsapp-abc123",
"service": "whatsapp",
"displayName": "+1 555-123-4567",
"connected": true
},
{
"id": "telegram-xyz789",
"service": "telegram",
"displayName": "@myusername",
"connected": true
},
{
"id": "signal-def456",
"service": "signal",
"displayName": "+1 555-987-6543",
"connected": true
}
]
```
```bash
curl -s "${BEEPER_API_URL}/v1/chats" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
Example Response:
```json
[
{
"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"
}
}
]
```
```bash
curl -s "${BEEPER_API_URL}/v1/chats/search?q=project+meeting" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
```bash
curl -s "${BEEPER_API_URL}/v1/chats/{chatID}" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
Example Response:
```json
{
"id": "chat-abc123",
"name": "Family Group",
"service": "whatsapp",
"unreadCount": 5,
"participants": [
{"id": "user-1", "name": "Mom", "phone": "+15551234567"},
{"id": "user-2", "name": "Dad", "phone": "+15559876543"},
{"id": "user-3", "name": "You", "phone": "+15555555555"}
],
"archived": false,
"muted": false
}
```
```bash
curl -X POST "${BEEPER_API_URL}/v1/chats" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"accountID": "whatsapp-abc123",
"participants": ["+1234567890"]
}'
```
```bash
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/archive" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"archived": true}'
```
```bash
curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
Example Response:
```json
[
{
"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": []
}
]
```
```bash
curl -s "${BEEPER_API_URL}/v1/messages/search?q=dinner+plans" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
Example Response:
```json
{
"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
}
```
```bash
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:
```json
{
"id": "msg-new123",
"chatID": "chat-abc123",
"text": "Hello from my lobster! ๐ฆ",
"timestamp": "2026-01-23T16:00:00Z",
"status": "sent"
}
```
```bash
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"text": "Sounds good!",
"replyTo": "msg-001"
}'
```
```bash
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/read" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"upToMessageID": "msg-001"}'
```
```bash
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"emoji": "๐"}'
```
```bash
curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/messages/{messageID}/reactions" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"emoji": "๐"}'
```
```bash
curl -s "${BEEPER_API_URL}/v1/accounts/{accountID}/contacts?q=john" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
Example Response:
```json
[
{
"id": "contact-123",
"name": "John Smith",
"phone": "+15551234567",
"avatar": "https://..."
},
{
"id": "contact-456",
"name": "Johnny Appleseed",
"phone": "+15559876543",
"avatar": "https://..."
}
]
```
Set a reminder for a chat:
```bash
curl -X POST "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"remindAt": "2026-01-25T10:00:00Z"}'
```
```bash
curl -X DELETE "${BEEPER_API_URL}/v1/chats/{chatID}/reminders" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
```bash
curl -X POST "${BEEPER_API_URL}/v1/assets/download" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"assetID": "asset-id-here"}' \
--output attachment.file
```
```bash
curl -s "${BEEPER_API_URL}/v1/chats?unreadOnly=true" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
jq '.[] | "[\(.service)] \(.name): \(.unreadCount) unread"'
```
Example Output:
```
[whatsapp] Family Group: 5 unread
[slack] Work Team: 12 unread
[signal] Best Friend: 2 unread
```
```bash
WHATSAPP=$(curl -s "${BEEPER_API_URL}/v1/accounts" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
jq -r '.[] | select(.service == "whatsapp") | .id')
curl -s "${BEEPER_API_URL}/v1/chats/search?q=Mom" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
```bash
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
```
```bash
LAST_MSG=$(curl -s "${BEEPER_API_URL}/v1/chats/{chatID}/messages?limit=1" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | jq -r '.[0].id')
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": "๐"}'
```
```bash
curl -s --connect-timeout 2 "${BEEPER_API_URL:-http://localhost:23373}/health" && echo "Beeper is ready!"
```
```bash
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")
curl -s "${BEEPER_API_URL}/v1/messages/search?after=${YESTERDAY}" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}"
```
```bash
curl -s "${BEEPER_API_URL}/v1/chats" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
jq '[.[] | select(.service == "signal")]'
curl -s "${BEEPER_API_URL}/v1/chats" \
-H "Authorization: Bearer ${BEEPER_ACCESS_TOKEN}" | \
jq '[.[] | select(.service == "slack")]'
```
Beeper Desktop must be running - The API lives inside Beeper Desktop. No Beeper = no connection.
It's local & private - The Beeper API runs entirely on your machine. Your messages never touch external servers through this skill.
Respect the networks - This is for personal use. Sending too many messages might trigger rate limits on WhatsApp, etc.
iMessage needs macOS - Apple gonna Apple.
Reactions vary by network - Not all platforms support all emoji. Beeper handles the translation.
curl http://localhost:23373/healthSome networks have limited emoji support. Try a more common emoji like ๐ โค๏ธ ๐ ๐ฎ ๐ข ๐ก
Built with ๐ฆ by @nickhamze and the Clawdbot community.
Powered by Beeper - One app for all your chats.
Claw Me Maybe - because your lobster should be able to reach you anywhere.
Generated Mar 1, 2026
Businesses can use this skill to automate responses across multiple messaging platforms like WhatsApp, Telegram, and Slack, ensuring timely customer inquiries are addressed. It enables support teams to search chat histories for past issues and set reminders for follow-ups, improving efficiency and reducing response times.
Remote teams can leverage this skill to send announcements, search for project-related messages, and summarize unread updates across Slack, Discord, and Google Chat. It helps managers coordinate tasks and mark conversations as read, keeping communication organized and reducing information overload.
Individuals can use this skill to manage personal and work messages across platforms like iMessage, LinkedIn, and Signal, allowing them to send reminders, react to messages, and search for contacts or topics. It streamlines daily communication by providing a unified interface through voice commands.
Marketing teams can automate message distribution across Instagram, Facebook Messenger, and WhatsApp for campaign updates or promotions. The skill enables searching for audience feedback and downloading attachments like images, helping track engagement and optimize outreach efforts.
Offer a monthly subscription for businesses to access enhanced messaging automation features, such as priority support, advanced search filters, and analytics on cross-platform engagement. Revenue is generated through tiered plans based on usage volume and platform integrations.
Provide the basic skill for free to attract individual users, then monetize through paid add-ons like bulk messaging, custom reaction packs, or integration with CRM tools. This model encourages adoption while generating revenue from power users and small businesses.
Sell enterprise licenses to corporations needing secure, scalable messaging automation across teams, with features like audit logs, compliance reporting, and dedicated API support. Revenue comes from annual contracts tailored to organizational size and requirements.
๐ฌ Integration Tip
Ensure Beeper Desktop is running locally and the API is enabled in settings; for smoother automation, add an access token to the Clawdbot configuration file to avoid manual authentication prompts.
iMessage/SMS CLI for listing chats, history, watch, and sending.
Use when you need to control Discord from Clawdbot via the discord tool: send messages, react, post or upload stickers, upload emojis, run polls, manage threads/pins/search, fetch permissions or member/role/channel info, or handle moderation actions in Discord DMs or channels.
Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).
OpenClaw skill for designing Telegram Bot API workflows and command-driven conversations using direct HTTPS requests (no SDKs).