Overview
Connect Moltbot to Signal for the most private AI conversations:
- End-to-end encryption — Messages stay private
- No metadata collection — Signal’s privacy-first approach
- Group support — AI in Signal groups
- Media handling — Process images and voice notes
Prerequisites
- Moltbot installed on your machine
- A phone number dedicated for the bot (can be a VoIP number)
- Signal app installed on a phone for initial registration
Important: Phone Number Requirement
Signal requires a phone number for registration. Options:
- Dedicated SIM — Best for production use
- VoIP number — Google Voice, Twilio (some may be blocked)
- Dual SIM phone — Use secondary number
⚠️ Warning: Don’t use your personal Signal number. The bot will take over that account.
Step 1: Register Signal Account
Option A: Using signal-cli (Recommended)
Install signal-cli:
# macOS
brew install signal-cli
# Linux
wget https://github.com/AsamK/signal-cli/releases/latest/download/signal-cli-0.12.0.tar.gz
tar xf signal-cli-*.tar.gz
sudo mv signal-cli-*/bin/signal-cli /usr/local/bin/
Register your number:
signal-cli -u +1234567890 register
You’ll receive an SMS with a verification code. Complete verification:
signal-cli -u +1234567890 verify CODE
Option B: Using Moltbot’s Built-in Registration
moltbot channels add signal --register
Follow the prompts to enter your phone number and verification code.
Step 2: Link to Moltbot
If you used signal-cli:
moltbot channels add signal
Enter your phone number when prompted. Moltbot will use the existing signal-cli registration.
Step 3: Configure Safety Groups
Signal requires “safety numbers” verification for secure conversations. Configure trusted contacts:
# Trust a specific contact
moltbot config set signal.trustedNumbers "+1987654321,+1555123456"
Or trust all contacts (less secure):
moltbot config set signal.trustAllKeys true
Step 4: Start the Gateway
moltbot gateway
Test by sending a message to your bot’s Signal number from another phone.
Group Chat Setup
Join a Group
- Create a Signal group or use an existing one
- Add your bot’s phone number to the group
- The bot will automatically start receiving group messages
Configure Group Behavior
# Respond to all messages in groups
moltbot config set signal.groups.replyToAll true
# Or only respond when mentioned by name
moltbot config set signal.groups.replyToAll false
moltbot config set signal.botName "AI" # Responds to "AI, what is..."
Configuration Options
Set Allowed Contacts
Restrict who can message the bot:
moltbot config set signal.allowList "+1234567890,+0987654321"
Disappearing Messages
Match the group’s disappearing message setting:
moltbot config set signal.respectDisappearing true
Read Receipts
# Send read receipts (shows when bot read the message)
moltbot config set signal.sendReadReceipts true
Handling Media
Voice Notes
Signal voice notes are automatically transcribed and processed:
moltbot config set signal.transcribeVoice true
Images
Enable image understanding:
moltbot config set signal.processImages true
The AI can describe and analyze images sent to it.
Running as a Service
For 24/7 availability, run as a system service:
systemd (Linux)
sudo nano /etc/systemd/system/moltbot-signal.service
[Unit]
Description=Moltbot Signal Gateway
After=network.target
[Service]
Type=simple
User=YOUR_USERNAME
ExecStart=/usr/bin/moltbot gateway
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl enable moltbot-signal
sudo systemctl start moltbot-signal
Troubleshooting
”Unregistered User” Error
Your Signal registration may have expired. Re-register:
signal-cli -u +YOUR_NUMBER register
signal-cli -u +YOUR_NUMBER verify CODE
“Untrusted Identity” Error
Signal detects a new device. Trust it:
signal-cli -u +YOUR_NUMBER trust -a CONTACT_NUMBER
Or configure Moltbot to auto-trust:
moltbot config set signal.trustAllKeys true
Messages Not Receiving
- Verify registration:
signal-cli -u +NUMBER receive - Check phone number format (include country code)
- Ensure gateway is running:
moltbot status
Rate Limiting
Signal may rate-limit new accounts. If messages fail:
- Wait 24 hours before heavy use
- Start with fewer messages
- Don’t spam or you’ll be banned
Security Best Practices
- Use a dedicated number — Don’t mix personal and bot accounts
- Enable safety number verification — For sensitive conversations
- Restrict allowed contacts — Don’t open to everyone
- Monitor for abuse — Check logs regularly
- Keep signal-cli updated — Security patches matter
Next Steps
- Connect WhatsApp — Wider reach
- Connect Telegram — For public communities
- Voice Assistant — Voice features