PluginBench
Skill
Review
Audit score 70

bluebubbles

steipete/clawdis

Send and manage iMessages via BlueBubbles with attachments, reactions, edits, and group controls.

What is bluebubbles?

BlueBubbles integration for OpenClaw agents to send and manage iMessage conversations. Use this skill to send texts, react with tapbacks, edit or unsend messages, reply in threads, and manage group participants—all via the BlueBubbles gateway.

  • Send text messages and attachments to individual or group chats
  • React to messages with emoji tapbacks and remove reactions
  • Edit previously sent messages or unsend them entirely
  • Reply to specific messages in-thread
  • Send messages with iMessage effects (balloons, etc.)
  • Manage group chat participants, names, and icons

How to install bluebubbles

npx skills add https://github.com/steipete/clawdis --skill bluebubbles
Prerequisites
  • BlueBubbles gateway installed and running
  • Gateway config with channels.bluebubbles (serverUrl, password, webhookPath)
  • Target recipient handle (phone number, email, or chat_guid)
Claude Code
Cursor
Windsurf
Cline

How to use bluebubbles

  1. 1.Install the skill via npx skills add
  2. 2.Configure your BlueBubbles gateway connection in channels.bluebubbles
  3. 3.Identify the target recipient (phone number in E.164 format, email, or chat_guid)
  4. 4.Call the message tool with channel: 'bluebubbles' and the desired action (send, react, edit, unsend, reply, sendAttachment, or sendWithEffect)
  5. 5.Provide required parameters: target, message text, messageId for reactions/edits, or path/buffer for attachments

Use cases

Good for
  • Acknowledge requests by reacting with a tapback to a message
  • Send a file or photo with a caption to a contact
  • Reply in-thread to a specific message in a group chat
  • Edit a message you sent moments ago to correct a typo
  • Unsend a message that was sent by mistake
Who it's for
  • OpenClaw agent developers
  • Users automating iMessage workflows
  • Teams coordinating via group chats

bluebubbles FAQ

What target formats does BlueBubbles accept?

Prefer chat_guid (especially for groups), but also accepts phone numbers in E.164 format (+15551234567) or email addresses (user@example.com).

Can I edit or unsend messages after sending?

Yes, both edit and unsend actions are supported, but some features like edit may be macOS-version dependent (e.g., broken on macOS 26 Tahoe).

How do I reply to a specific message?

Use the reply action with the replyTo parameter set to the message-guid of the message you want to reply to.

What iMessage effects are available?

The skill supports effects like balloons; see the BlueBubbles plugin documentation for the full list of available effects.

Do I need a BlueBubbles server running?

Yes, you must have BlueBubbles gateway installed and configured with serverUrl, password, and webhookPath before using this skill.

Full instructions (SKILL.md)

Source of truth, from steipete/clawdis.


name: bluebubbles description: Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups. metadata: { "openclaw": { "emoji": "🫧", "requires": { "config": ["channels.bluebubbles"] } } }

BlueBubbles Actions

Overview

BlueBubbles is OpenClaw’s recommended iMessage integration. Use the message tool with channel: "bluebubbles" to send messages and manage iMessage conversations: send texts and attachments, react (tapbacks), edit/unsend, reply in threads, and manage group participants/names/icons.

Inputs to collect

  • target (prefer chat_guid:...; also +15551234567 in E.164 or user@example.com)
  • message text for send/edit/reply
  • messageId for react/edit/unsend/reply
  • Attachment path for local files, or buffer + filename for base64

If the user is vague ("text my mom"), ask for the recipient handle or chat guid and the exact message content.

Actions

Send a message

{
  "action": "send",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "message": "hello from OpenClaw"
}

React (tapback)

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

Remove a reaction

{
  "action": "react",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "messageId": "<message-guid>",
  "emoji": "❤️",
  "remove": true
}

Edit a previously sent message

{
  "action": "edit",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "messageId": "<message-guid>",
  "message": "updated text"
}

Unsend a message

{
  "action": "unsend",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "messageId": "<message-guid>"
}

Reply to a specific message

{
  "action": "reply",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "replyTo": "<message-guid>",
  "message": "replying to that"
}

Send an attachment

{
  "action": "sendAttachment",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "path": "/tmp/photo.jpg",
  "caption": "here you go"
}

Send with an iMessage effect

{
  "action": "sendWithEffect",
  "channel": "bluebubbles",
  "target": "+15551234567",
  "message": "big news",
  "effect": "balloons"
}

Notes

  • Requires gateway config channels.bluebubbles (serverUrl/password/webhookPath).
  • Prefer chat_guid targets when you have them (especially for group chats).
  • BlueBubbles supports rich actions, but some are macOS-version dependent (for example, edit may be broken on macOS 26 Tahoe).
  • The gateway may expose both short and full message ids; full ids are more durable across restarts.
  • Developer reference for the underlying plugin lives in the BlueBubbles plugin package README.

Ideas to try

  • React with a tapback to acknowledge a request.
  • Reply in-thread when a user references a specific message.
  • Send a file attachment with a short caption.