Channels
Linear
Inbound is a Linear webhook signed with Linear-Signature (HMAC-SHA256 hex of the body, no prefix). The adapter plans GraphQL commentCreate for Post and Reply. No media or buttons.
◆
Linear webhooks also fire for comments the bot just posted. Echoing would loop. The example posts help on /help and ignores everything else.
Create a personal API key and a webhook for Comment events. Use the same signing secret Linear puts on Linear-Signature.
export LINEAR_API_KEY='…'
export LINEAR_WEBHOOK_SECRET='…'
export PORT=8080api_key here is the Linear GraphQL token, not a Caspian API key. Self-host needs no CASPIAN_API_KEY.
cx = Caspian()
cx.channels.add(
"linear",
via="self-host",
api_key=linear_api_key,
webhook_secret=webhook_secret,
bot_token="local",
)const cx = new Caspian()
await cx.channels.add("linear", {
via: "self-host",
api_key: linearApiKey,
webhook_secret,
bot_token: "local",
})