🦞
Channel Integration

Connect OpenClaw to Signal

Privacy-first AI assistant. Use OpenClaw through Signal with end-to-end encryption for the most secure messaging experience.

🔒 Why Signal?
  • End-to-End EncryptionAll messages are encrypted by default, always
  • No Phone Number ExposureRecipients in groups don't see your number (optional)
  • Cross-PlatformWorks on iOS, Android, and Desktop
  • Open Source ProtocolAudited and trusted by security experts
  • No Cloud StorageMessages stay on your devices only
Signal Features with OpenClaw
DM SupportPrivate one-on-one conversations
Group ChatsUse OpenClaw in Signal groups
ReactionsEmoji responses to messages
Read ReceiptsKnow when messages are read
Media AttachmentsSend images and files
Mention GatingRespond only when mentioned in groups

Setup Steps

1

Install signal-cli

OpenClaw uses signal-cli to communicate with Signal. Install it on your server:

# On macOS with Homebrew
brew install signal-cli
# On Linux (download from GitHub)
wget https://github.com/AsamK/signal-cli/releases/latest
2

Register or Link Signal Account

Either register a new phone number or link to an existing Signal account:

# Register a new number
signal-cli -u +15551234567 register
# Or link to existing account
signal-cli link -n "OpenClaw"

Linking generates a QR code to scan with your Signal app

3

Configure OpenClaw

Add Signal channel configuration to your openclaw.json:

{
  "channels": {
    "signal": {
      "enabled": true,
      "allowFrom": ["+15551234567"]
    }
  }
}

Replace with phone numbers allowed to message your bot (include country code)

4

Set Up Allowed Contacts

Define which phone numbers can interact with your bot:

"allowFrom": [
  "+15551234567",
  "+15559876543"
]
5

Test Connection

Restart OpenClaw and send a test message:

openclaw restart

Open Signal on your phone and send a message to the linked number. OpenClaw should respond.

Advanced Configuration
{
  "channels": {
    "signal": {
      "enabled": true,
      "reactionNotifications": "own",
      "reactionAllowlist": ["+15551234567"],
      "historyLimit": 50,
      "dmPolicy": "pairing",
      "allowFrom": ["+15551234567"]
    }
  }
}
  • reactionNotificationsWhen to notify on reactions: "own", "all", or "none"
  • reactionAllowlistOnly process reactions from these numbers
  • historyLimitNumber of messages to keep in conversation context
  • dmPolicyHow to handle DMs: "pairing", "open", or "closed"
  • allowFromPhone numbers allowed to message (with country code)
🛡️ Security Considerations
End-to-end encrypted - All messages between you and OpenClaw are encrypted
No cloud storage - Signal doesn't store messages on their servers
Phone privacy in groups - Signal hides phone numbers from other group members
Open source - Both Signal and signal-cli are open source and auditable
Comparison with Other Channels
FeatureSignalWhatsAppTelegram
E2E EncryptionAlwaysDefaultOptional
Open SourceYesNoPartial
Phone RequiredYesYesNo
Cloud BackupNoneOptionalAll messages
Group PrivacyHighMediumMedium
⚠️ Troubleshooting

signal-cli not connecting?

Make sure you've completed registration/linking and the account is verified. Run signal-cli receive to test.

Messages not being received?

Check that the phone number in allowFrom includes the country code with "+" prefix.

Linked device keeps disconnecting?

Signal may unlink devices that are inactive. Consider using a dedicated phone number instead of linking.

Signal Connected!

Your AI assistant is now available through the most secure messaging platform. Add more channels or explore skills.