Back to Eliza

BlueBubbles Connector

packages/docs/connectors/bluebubbles.md

2.0.14.2 KB
Original Source

BlueBubbles Connector

Connect your agent to iMessage through a local BlueBubbles server running on macOS using the @elizaos/plugin-bluebubbles package.

Prerequisites

The BlueBubbles connector is an elizaOS plugin that bridges your agent to iMessage via a self-hosted BlueBubbles server. Unlike the native iMessage connector (which reads the local Messages database directly), BlueBubbles works over HTTP and can be accessed from any machine on the same network. It requires a BlueBubbles server running on a Mac with Messages signed in. It is auto-enabled by the runtime when both a server URL and password are configured.

Configuration

FieldValue
Package@elizaos/plugin-bluebubbles
Config keyconnectors.bluebubbles
Auto-enable triggerserverUrl AND password are both truthy in connector config

These can be set as environment variables or under the connectors.bluebubbles config in ~/.eliza/eliza.json:

json
{
  "connectors": {
    "bluebubbles": {
      "serverUrl": "http://192.168.1.10:1234",
      "password": "your-bluebubbles-password"
    }
  }
}

The connector auto-enables when password or serverUrl is truthy in the connector config, or accounts contains at least one enabled entry.

To disable:

json
{
  "connectors": {
    "bluebubbles": {
      "serverUrl": "http://192.168.1.10:1234",
      "password": "your-bluebubbles-password",
      "enabled": false
    }
  }
}

Environment Variables

VariableRequiredDescription
BLUEBUBBLES_SERVER_URLNoBlueBubbles server URL
BLUEBUBBLES_PASSWORDYesServer password
BLUEBUBBLES_ENABLEDNoEnable or disable the connector
BLUEBUBBLES_DM_POLICYNoDM policy (e.g., allow, deny, allowlist)
BLUEBUBBLES_ALLOW_FROMNoComma-separated allowed sender list
BLUEBUBBLES_GROUP_POLICYNoGroup message policy
BLUEBUBBLES_GROUP_ALLOW_FROMNoComma-separated allowed group list
BLUEBUBBLES_WEBHOOK_PATHNoWebhook endpoint path
BLUEBUBBLES_SEND_READ_RECEIPTSNoSend read receipts for incoming messages

Full Configuration Reference

All fields are defined under connectors.bluebubbles in eliza.json.

FieldTypeDefaultDescription
serverUrlstringBlueBubbles server URL (required)
passwordstringServer password (required)
enabledbooleanExplicitly enable/disable
dmPolicy"pairing" | "allowlist" | "open" | "disabled""pairing"DM access policy
allowFromstring[]User IDs allowed to DM
groupPolicy"open" | "disabled" | "allowlist""allowlist"Group message policy
groupAllowFromstring[]Allowed group IDs
webhookPathstringWebhook path for inbound messages
sendReadReceiptsbooleanSend read receipts for incoming messages

Auto-Enable Mechanism

The plugin-auto-enable.ts module checks connectors.bluebubbles in your config. If both serverUrl and password are truthy (and enabled is not explicitly false), the runtime automatically loads @elizaos/plugin-bluebubbles.

No environment variable is required to trigger auto-enable -- it is driven entirely by the connector config object.

Setup Steps

  1. Install BlueBubbles on a Mac with Messages signed in.
  2. Start the BlueBubbles server and note the server URL and password.
  3. Add the server URL and password to connectors.bluebubbles in your config.
  4. Start your agent -- the connector auto-enables when both fields are present.

Features

  • iMessage send and receive via BlueBubbles server
  • DM and group chat support
  • Read receipt support
  • Webhook-based inbound message handling
  • DM and group access policies