BlueBubbles

Send and manage iMessages via BlueBubbles (recommended iMessage integration). Supports texts, tapbacks, edits, unsend, and group management.

BlueBubbles is an open-source, self-hosted iMessage bridge that lets you access iMessage from any platform — Android, Windows, Linux, and web browsers. It works by running a server on a Mac (which acts as the iMessage relay), then connecting clients via its REST API and webhooks. For OpenClaw, BlueBubbles is the recommended iMessage integration. It enables your AI assistant to send texts, react with tapbacks, edit/unsend messages, reply in threads, and manage group chats — all through the familiar `message` tool with `channel: "bluebubbles"`. The webhook-based architecture means OpenClaw receives incoming messages in real-time. Setup requires a dedicated Mac (even a Mac Mini or old MacBook will do) running the BlueBubbles server with a valid iCloud/iMessage account. Once configured, OpenClaw connects via the server URL and password. The integration supports rich iMessage features: tapback reactions (❤️, 👍, etc.), message effects (balloons, confetti), attachments, and group management. Compared to alternatives like AirMessage, BlueBubbles has broader platform support and a more active community (r/BlueBubbles on Reddit). The trade-off is the self-hosting requirement — you need a Mac running 24/7. But for OpenClaw users who want their AI to handle iMessage conversations, it's the most reliable path. Best suited for: anyone who wants iMessage accessible from non-Apple devices, OpenClaw users wanting AI-powered iMessage management, developers building iMessage automations.

Tags: imessage, messaging, apple, chat

Category: Messaging

Use Cases

  • AI-powered iMessage replies: let OpenClaw handle routine messages
  • Send iMessage notifications from automations and scripts
  • React to messages with tapbacks without picking up your phone
  • Group chat management: add/remove participants, rename groups
  • Cross-platform iMessage access from Android, Windows, or Linux
  • Automated message forwarding between iMessage and other channels

Tips

  • Use `chat_guid` targets for group chats — phone numbers only work for 1:1 conversations
  • Check BlueBubbles server logs when messages fail — the issue is usually on the server side
  • Keep the Mac server on a UPS to avoid downtime from power outages
  • Use zrok or Cloudflare Tunnel for a stable, persistent URL to your server
  • Test your setup by sending yourself an iMessage through OpenClaw first
  • Use iMessage effects (balloons, confetti) sparingly for fun moments — they work via sendWithEffect

Known Issues & Gotchas

  • Requires a dedicated Mac running 24/7 with an active iCloud/iMessage account
  • Cloudflare tunnel URLs can change on restart — use Dynamic DNS or zrok for stable URLs
  • Some features (edit, unsend) are macOS-version dependent — may break on newer macOS releases like Tahoe
  • Webhook delivery can be unreliable if the server URL changes — check BlueBubbles logs first
  • Group chat management requires chat_guid targets, not phone numbers
  • The Mac must stay awake and not sleep — disable sleep in System Settings > Energy
  • First-time setup involves multiple steps: server install, tunnel config, OpenClaw channel config

Alternatives

  • AirMessage
  • Beeper
  • OpenBubbles
  • iMessage CLI (imsg)

Community Feedback

Moved over to BlueBubbles for iMessage. It has been working flawlessly for a few weeks. I'm keeping Beeper Cloud for everything else.

— Reddit r/beeper

I installed and use BlueBubbles on a Mac Mini. It wasn't too difficult to set up and has been working fine for around a year.

— Reddit r/PrivacyGuides

BlueBubbles is self-hosted, so you'd need a Mac to leave on all the time with internet access. The setup process is much more intensive than Beeper.

— Reddit r/beeper

One quick test: try sending yourself an iMessage and check BlueBubbles server logs to see if it even attempts to send the webhook.

— Reddit r/openclaw

Configuration Examples

OpenClaw channel configuration

{
  "channels": {
    "bluebubbles": {
      "serverUrl": "https://your-tunnel.example.com",
      "password": "your-server-password",
      "webhookPath": "/bluebubbles/webhook"
    }
  }
}

Send a message via message tool

message action:send channel:bluebubbles target:"+15551234567" message:"Hello from OpenClaw!"

React with a tapback

message action:react channel:bluebubbles target:"+15551234567" messageId:"<guid>" emoji:"❤️"

Installation

# Requires BlueBubbles server + OpenClaw channel config

Source: bundled