packages/docs/plugin-registry/platform/signal.md
The Signal plugin connects Eliza agents to Signal via signal-cli running in HTTP or JSON-RPC mode, enabling private and group messaging with attachment and reaction support.
Package: @elizaos/plugin-signal
eliza plugins install @elizaos/plugin-signal
Install signal-cli and register or link a Signal account:
signal-cli -a +1234567890 register
signal-cli -a +1234567890 verify CODE
signal-cli -a +1234567890 daemon --http localhost:8080
{
"connectors": {
"signal": {
"enabled": true,
"account": "+1234567890",
"httpUrl": "http://localhost:8080",
"dmPolicy": "pairing"
}
}
}
| Field | Required | Description |
|---|---|---|
account | Yes | Signal phone number (E.164 format, e.g., +1234567890) |
httpUrl | No | HTTP URL for signal-cli daemon (e.g., http://localhost:8080) |
httpHost | No | Hostname alternative to httpUrl |
httpPort | No | Port alternative to httpUrl |
cliPath | No | Path to signal-cli binary for auto-start |
startupTimeoutMs | No | Milliseconds to wait for CLI startup (1000-120000) |
receiveMode | No | "on-start" or "manual" (default: "on-start") |
ignoreAttachments | No | Ignore incoming attachments |
ignoreStories | No | Ignore story messages |
sendReadReceipts | No | Send read receipts for received messages |
reactionNotifications | No | "off", "own", "all", or "allowlist" |
dmPolicy | No | "pairing", "allowlist", "open", or "disabled" (default: "pairing") |
accounts map| Variable | Required | Description |
|---|---|---|
SIGNAL_ACCOUNT_NUMBER | Yes | Signal phone number (E.164 format) |
SIGNAL_HTTP_URL | No | HTTP URL for signal-cli daemon |
SIGNAL_CLI_PATH | No | Path to signal-cli binary |
SIGNAL_SHOULD_IGNORE_GROUP_MESSAGES | No | Ignore group messages |
The plugin auto-enables when the connectors.signal block contains an account:
{
"connectors": {
"signal": {
"account": "+1234567890"
}
}
}