🦞
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 Encryption — All messages are encrypted by default, always
  • No Phone Number Exposure — Recipients in groups don't see your number (optional)
  • Cross-Platform — Works on iOS, Android, and Desktop
  • Open Source Protocol — Audited and trusted by security experts
  • No Cloud Storage — Messages stay on your devices only
Signal Features with OpenClaw
💬DM Support — Private one-on-one conversations
👥Group Chats — Use OpenClaw in Signal groups
👍Reactions — Emoji responses to messages
Read Receipts — Know when messages are read
📎Media Attachments — Send images and files
@Mention Gating — Respond 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 (you'll receive SMS code)
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"]
    }
  }
}
  • reactionNotifications — When to notify on reactions: "own", "all", or "none"
  • reactionAllowlist — Only process reactions from these numbers
  • historyLimit — Number of messages to keep in conversation context
  • dmPolicy — How to handle DMs: "pairing", "open", or "closed"
  • allowFrom — Phone 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.