home / skills / openclaw / skills / beeper-cli

beeper-cli skill

/skills/foeken/beeper-cli

This skill lets you search, read, and send Beeper messages via Beeper Desktop from the CLI, boosting messaging productivity.

npx playbooks add skill openclaw/skills --skill beeper-cli

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.0 KB
---
name: beeper
description: Search chats, list/read messages, and send messages via Beeper Desktop using the beeper-cli.
metadata: {"clawdbot":{"requires":{"bins":["beeper"]}}}
---

# beeper

Use this skill when you need to search chats, list/read messages, or send messages via **Beeper Desktop**.

## What this is
A CLI wrapper around the Beeper Desktop API. No MCP, no curl — just `beeper` commands.

Requires [beeper-cli](https://github.com/foeken/beeper-cli).

## Prereqs
- Beeper Desktop running with API enabled: Settings > Developers
- [beeper-cli](https://github.com/foeken/beeper-cli) installed
- Env var: `BEEPER_ACCESS_TOKEN` set (get from Beeper Desktop: Settings > Developers > API Access Token)

## Install beeper-cli

Download from [releases](https://github.com/foeken/beeper-cli/releases), or build:

```bash
go install github.com/foeken/beeper-cli@latest
```

## Commands

### Accounts
```bash
beeper accounts list
beeper accounts list -o table
```

### Chats
```bash
# List all chats (sorted by last activity)
beeper chats list

# Search chats
beeper chats search --query "John"
beeper chats search --query "project" --type group

# Get specific chat
beeper chats get "<chatID>"

# Archive
beeper chats archive "<chatID>"

# Create
beeper chats create --account-id "telegram:123" --participant "user1" --type dm

# Reminders
beeper chats reminders create "<chatID>" --time "2025-01-26T10:00:00Z"
beeper chats reminders delete "<chatID>"
```

### Messages
```bash
# List messages in a chat
beeper messages list "<chatID>"

# Search messages
beeper messages search --query "dinner"
beeper messages search --query "dinner" --limit 10
beeper messages search --query "meeting" --sender me
beeper messages search --query "budget" --after "2025-01-01T00:00:00Z"
beeper messages search --chat-ids "<chatID>" --media-type image

# Send a message
beeper messages send "<chatID>" "Hello!"

# Send with reply
beeper messages send "<chatID>" "Thanks!" --reply-to "<messageID>"

# Edit a message
beeper messages edit "<chatID>" "<messageID>" "Corrected text"
```

### Assets (attachments)
```bash
# Upload a file
beeper assets upload /path/to/image.png

# Download an asset
beeper assets download "mxc://beeper.local/abc123" --output /path/to/save.jpg

# Send with attachment (upload first)
beeper assets upload /path/to/photo.jpg  # returns uploadID
beeper messages send "<chatID>" "Check this!" --upload-id "<uploadID>"
```

### Other
```bash
# Focus Beeper window
beeper focus
beeper focus --chat-id "<chatID>"

# Global search
beeper search "important"
```

## Output formats
```bash
beeper chats list -o json   # default
beeper chats list -o table  # human-readable
```

## Workflow
1. Find the chat: `beeper chats search --query "Name"`
2. Read messages: `beeper messages list "<chatID>"`
3. Search content: `beeper messages search --query "phrase"`
4. Send: `beeper messages send "<chatID>" "message"`

## Safety
- Store `BEEPER_ACCESS_TOKEN` securely (e.g., in a password manager)
- When quoting messages, include only what's needed
- Confirm message text before sending unless explicit

Overview

This skill provides a command-line wrapper for Beeper Desktop to search chats, read and list messages, manage attachments, and send messages using beeper-cli. It streamlines chat discovery and messaging workflows by exposing concise commands for accounts, chats, messages, assets, and global actions. Use it to automate or script common Beeper Desktop tasks from the terminal.

How this skill works

The skill issues beeper-cli commands against a running Beeper Desktop instance with API enabled and authenticates via the BEEPER_ACCESS_TOKEN environment variable. It exposes chat and message operations (search, list, get, send, edit, archive), asset upload/download, reminders, and window focus actions. Outputs support machine-readable JSON or human-friendly table formats for integration and inspection.

When to use it

  • Search all chats and messages from the terminal or scripts.
  • Quickly list or read messages in a specific chat without opening the GUI.
  • Send or edit messages programmatically, including replies and attachments.
  • Upload/download assets and attach them to outgoing messages.
  • Automate reminders, chat creation, or periodic chat archival.

Best practices

  • Enable Beeper Desktop API in Settings > Developers before use.
  • Store BEEPER_ACCESS_TOKEN securely (environment variable or secrets manager).
  • Run beeper-cli commands with -o json for script parsing and -o table for human review.
  • Confirm message text before sending when automating to avoid accidental posts.
  • Upload assets first to get an upload ID, then send messages referencing that ID.

Example use cases

  • Search for all mentions of a project: beeper messages search --query "project" --limit 50 and process results in a script.
  • Archive stale group chats nightly: beeper chats archive "<chatID>" from an automation job.
  • Send a templated notification with attachment: upload asset, then beeper messages send "<chatID>" "Report attached" --upload-id "<uploadID>".
  • List recent chats to build an activity dashboard: beeper chats list -o json and feed into analytics.
  • Create a reminder in a chat for a meeting: beeper chats reminders create "<chatID>" --time "2025-01-26T10:00:00Z".

FAQ

What do I need to run this skill?

Beeper Desktop with API enabled, beeper-cli installed, and BEEPER_ACCESS_TOKEN set in your environment.

How do I attach a file to a message?

Upload the file with beeper assets upload to get an upload ID, then send the message using --upload-id "<uploadID>".