docs(channel): add Linq to documentation and feature matrix

Linq channel code was fully integrated but missing from documentation
surfaces. Add Linq to architecture tables, channels reference, and
config reference so users can discover and configure the channel.
This commit is contained in:
heaveless
2026-02-20 20:13:47 -05:00
committed by Chummy
parent 853fc319bd
commit cd5b3e105f
7 changed files with 46 additions and 7 deletions
+22 -2
View File
@@ -116,6 +116,7 @@ If `[channels_config.matrix]` or `[channels_config.lark]` is present but the cor
| Lark/Feishu | websocket (default) or webhook | Webhook mode only |
| DingTalk | stream mode | No |
| QQ | bot gateway | No |
| Linq | webhook (`/linq`) | Yes (public HTTPS callback) |
| iMessage | local integration | No |
---
@@ -133,7 +134,7 @@ Field names differ by channel:
- `allowed_users` (Telegram/Discord/Slack/Mattermost/Matrix/IRC/Lark/DingTalk/QQ/Nextcloud Talk)
- `allowed_from` (Signal)
- `allowed_numbers` (WhatsApp)
- `allowed_senders` (Email)
- `allowed_senders` (Email/Linq)
- `allowed_contacts` (iMessage)
---
@@ -362,7 +363,26 @@ Notes:
- `ZEROCLAW_NEXTCLOUD_TALK_WEBHOOK_SECRET` overrides config secret.
- See [nextcloud-talk-setup.md](./nextcloud-talk-setup.md) for a full runbook.
### 4.15 iMessage
### 4.15 Linq
```toml
[channels_config.linq]
api_token = "linq-partner-api-token"
from_phone = "+15551234567"
signing_secret = "optional-webhook-signing-secret" # optional but recommended
allowed_senders = ["*"]
```
Notes:
- Linq uses the Partner V3 API for iMessage, RCS, and SMS.
- Inbound webhook endpoint: `POST /linq`.
- Signature verification uses `X-Webhook-Signature` (HMAC-SHA256) and `X-Webhook-Timestamp`.
- If `signing_secret` is set, invalid or stale (>300s) signatures are rejected.
- `ZEROCLAW_LINQ_SIGNING_SECRET` overrides config secret.
- `allowed_senders` uses E.164 phone number format (e.g. `+1234567890`).
### 4.16 iMessage
```toml
[channels_config.imessage]
+19
View File
@@ -394,6 +394,7 @@ Examples:
- `[channels_config.telegram]`
- `[channels_config.discord]`
- `[channels_config.whatsapp]`
- `[channels_config.linq]`
- `[channels_config.nextcloud_talk]`
- `[channels_config.email]`
@@ -439,6 +440,24 @@ Notes:
- WhatsApp Web requires build flag `whatsapp-web`.
- If both Cloud and Web fields are present, Cloud mode wins for backward compatibility.
### `[channels_config.linq]`
Linq Partner V3 API integration for iMessage, RCS, and SMS.
| Key | Required | Purpose |
|---|---|---|
| `api_token` | Yes | Linq Partner API bearer token |
| `from_phone` | Yes | Phone number to send from (E.164 format) |
| `signing_secret` | Optional | Webhook signing secret for HMAC-SHA256 signature verification |
| `allowed_senders` | Recommended | Allowed inbound phone numbers (`[]` = deny all, `"*"` = allow all) |
Notes:
- Webhook endpoint is `POST /linq`.
- `ZEROCLAW_LINQ_SIGNING_SECRET` overrides `signing_secret` when set.
- Signatures use `X-Webhook-Signature` and `X-Webhook-Timestamp` headers; stale timestamps (>300s) are rejected.
- See [channels-reference.md](channels-reference.md) for full config examples.
### `[channels_config.nextcloud_talk]`
Native Nextcloud Talk bot integration (webhook receive + OCS send API).