More Channels
This page provides concise setup notes and example configs for the 16 additional channels Talon supports. Each follows the same pattern: configure credentials under channels.<type>.accounts.<name> in talon.json.
Quick Reference
Section titled “Quick Reference”| Channel | Config Key | Required Fields |
|---|---|---|
| Matrix | matrix | homeserver, user_id, access_token |
| Microsoft Teams | teams | webhook_url, app_id, app_secret |
| Messenger | messenger | page_access_token, verify_token |
| Twilio (SMS) | twilio | account_sid, auth_token, phone_number |
| LINE | line | channel_access_token, channel_secret |
| Signal | signal | api_url, phone_number |
| IRC | irc | server, port, nickname, channels |
| Mattermost | mattermost | url, token |
| Zulip | zulip | site, email, api_key |
| Rocket.Chat | rocketchat | url, user_id, auth_token |
| Google Chat | googlechat | webhook_url |
| Webex | webex | access_token, webhook_secret |
| DingTalk | dingtalk | webhook_url, secret |
| Feishu / Lark | feishu | app_id, app_secret, verification_token |
| ntfy | ntfy | server, topic |
| Mastodon | mastodon | instance_url, access_token |
Matrix
Section titled “Matrix”Matrix is an open federated messaging protocol. Create a dedicated bot account on any Matrix homeserver (Element, matrix.org, or self-hosted Synapse/Conduit), log in to generate an access token, and point Talon at the homeserver.
Getting an access token: Log in to your homeserver’s Element client, go to Settings > Help & About > Advanced, and copy the Access Token. Alternatively, use the Matrix client API: POST /_matrix/client/v3/login.
{ "channels": { "matrix": { "accounts": { "my-bot": { "homeserver": "https://matrix.org", "user_id": "@talon-bot:matrix.org", "access_token": "syt_xxxxxxxxxxxxx", "allow_from": ["@you:matrix.org"] } } } }}Microsoft Teams
Section titled “Microsoft Teams”Teams integration uses an Azure Bot with an outgoing webhook URL for Talon. Register a bot in the Azure Bot Service, configure the messaging endpoint to point to Talon’s Teams webhook, and install the bot into your Teams tenant.
Setup steps:
- Create a Bot resource in Azure Portal.
- Note the App ID and generate a client secret under Configuration.
- Set the messaging endpoint to your Talon URL.
- Add the bot to your Teams environment via the Teams Admin Center or by uploading a manifest.
{ "channels": { "teams": { "accounts": { "my-team": { "webhook_url": "https://your-talon-host/webhook/teams", "app_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "app_secret": "your-azure-client-secret", "allow_from": ["user@company.com"] } } } }}Messenger
Section titled “Messenger”Facebook Messenger integration uses the Meta Messenger Platform. Create a Facebook App, add the Messenger product, connect it to a Facebook Page, generate a Page Access Token, and configure a webhook for message events.
Setup steps:
- Create a Meta App at developers.facebook.com.
- Add the Messenger product.
- Connect a Facebook Page and generate a Page Access Token.
- Configure the webhook with a verify token and subscribe to
messagesevents.
{ "channels": { "messenger": { "accounts": { "my-page": { "page_access_token": "EAAxxxxxxxxxxxxx", "verify_token": "my-verify-token", "allow_from": ["1234567890"] } } } }}Twilio (SMS)
Section titled “Twilio (SMS)”Talon can send and receive SMS and WhatsApp messages through Twilio. Create a Twilio account, purchase a phone number, and configure the Twilio webhook to point to Talon’s incoming SMS URL.
Setup steps:
- Sign up at twilio.com and buy a phone number.
- Find your Account SID and Auth Token on the Twilio Console dashboard.
- In Phone Numbers > Manage > Active Numbers, set the A MESSAGE COMES IN webhook to your Talon URL.
{ "channels": { "twilio": { "accounts": { "my-number": { "account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "auth_token": "your_auth_token", "phone_number": "+14155552671", "allow_from": ["+14155559876"] } } } }}LINE is a popular messaging app in Japan, Taiwan, and Southeast Asia. Create a LINE Messaging API channel in the LINE Developers Console, get a Channel Access Token, and set the webhook URL to point to Talon.
Setup steps:
- Create a provider and a Messaging API channel in the LINE Developers Console.
- Copy the Channel Secret from the Basic Settings tab.
- Issue a Channel Access Token (long-lived) from the Messaging API tab.
- Set the Webhook URL to your Talon endpoint and enable webhooks.
{ "channels": { "line": { "accounts": { "my-bot": { "channel_access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "channel_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "allow_from": ["Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] } } } }}Signal
Section titled “Signal”Signal integration requires running signal-cli or a compatible REST bridge (such as signal-cli-rest-api) locally. Talon connects to that bridge rather than to Signal’s servers directly.
Setup steps:
- Install and run a signal-cli REST API bridge.
- Register a dedicated phone number with Signal through the bridge.
- Point Talon at the bridge’s API URL.
{ "channels": { "signal": { "accounts": { "my-number": { "api_url": "http://localhost:8080", "phone_number": "+14155552671", "allow_from": ["+14155559876"] } } } }}Talon connects to IRC as a bot using a standard nickname. No special registration is required for most servers, though registered nicknames (NickServ) are supported via the password field.
{ "channels": { "irc": { "accounts": { "libera": { "server": "irc.libera.chat", "port": 6697, "nickname": "talon-bot", "channels": ["#my-channel", "#another-channel"], "password": "nickserv-password", "allow_from": ["yournick"] } } } }}| Field | Required | Description |
|---|---|---|
server | Yes | IRC server hostname |
port | Yes | IRC server port (6697 for TLS, 6667 for plaintext) |
nickname | Yes | Bot’s IRC nickname |
channels | Yes | List of channel names to join (include the #) |
password | No | NickServ or server password |
allow_from | No | List of IRC nicknames allowed to message the bot |
Mattermost
Section titled “Mattermost”Mattermost is an open-source Slack alternative. Create a bot account or personal access token in your Mattermost instance, then point Talon at the server.
Getting a token: In Mattermost, go to Account Settings > Security > Personal Access Tokens and generate one. Or create a dedicated bot account under System Console > Integrations > Bot Accounts.
{ "channels": { "mattermost": { "accounts": { "my-instance": { "url": "https://mattermost.example.com", "token": "your-personal-access-token", "allow_from": ["yourusername"] } } } }}Zulip is an open-source team chat with a topic-based threading model. Create a bot in your Zulip organization and use its credentials with Talon.
Getting credentials: In Zulip, go to Settings > Your bots > Add a new bot. Create a Generic bot, then copy the bot’s email address and API key.
{ "channels": { "zulip": { "accounts": { "my-org": { "site": "https://your-org.zulipchat.com", "email": "talon-bot@your-org.zulipchat.com", "api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "allow_from": ["you@your-org.zulipchat.com"] } } } }}Rocket.Chat
Section titled “Rocket.Chat”Rocket.Chat is an open-source messaging platform. Create a bot user in your Rocket.Chat admin panel and use its credentials with Talon.
Getting credentials: In Rocket.Chat admin, go to Administration > Users > New User, create a user with the bot role, then go to Administration > Integrations to find the user ID and generate an auth token.
{ "channels": { "rocketchat": { "accounts": { "my-server": { "url": "https://chat.example.com", "user_id": "bot-user-id", "auth_token": "bot-auth-token", "allow_from": ["yourusername"] } } } }}Google Chat
Section titled “Google Chat”Google Chat integration uses an incoming webhook — a simple URL you create inside a Google Chat space. Talon posts responses to that URL. Because this is a one-way outgoing webhook, conversations are initiated by users posting in a space that is configured to forward messages to Talon’s incoming webhook endpoint (set up separately via Google Chat Apps if bidirectional communication is needed).
Getting a webhook URL: In Google Chat, open a space, click the space name at the top > Manage webhooks > Add webhook. Copy the generated URL.
{ "channels": { "googlechat": { "accounts": { "my-space": { "webhook_url": "https://chat.googleapis.com/v1/spaces/xxx/messages?key=xxx&token=xxx" } } } }}Cisco Webex integration uses the Webex Bot API. Create a bot at developer.webex.com, get its access token, and configure a webhook so Webex delivers messages to Talon.
Setup steps:
- Create a bot at developer.webex.com and copy the Bot Access Token.
- Register a webhook via the Webex API to forward message events to your Talon URL.
- Copy the Webhook Secret you set when creating the webhook.
{ "channels": { "webex": { "accounts": { "my-bot": { "access_token": "NmJjZm...", "webhook_secret": "my-webhook-secret", "allow_from": ["you@company.com"] } } } }}DingTalk
Section titled “DingTalk”DingTalk (by Alibaba) supports custom robots in group chats via incoming webhooks with an optional HMAC signature for security.
Getting a webhook: In a DingTalk group, go to Group Settings > Smart Group Assistant > Add Robot > Custom. Enable Signature security and copy both the webhook URL and the secret.
{ "channels": { "dingtalk": { "accounts": { "my-group": { "webhook_url": "https://oapi.dingtalk.com/robot/send?access_token=xxx", "secret": "SECxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } } } }}Feishu / Lark
Section titled “Feishu / Lark”Feishu (China) and Lark (international) are the same platform. Create a custom app in the Feishu/Lark Developer Console, enable messaging permissions, and configure an event subscription.
Setup steps:
- Create an app in the Feishu/Lark Open Platform.
- Under Permissions & Scopes, enable
im:message(receive messages) andim:message:send_as_bot(send messages). - Under Event Subscriptions, add the
im.message.receive_v1event and set the request URL to your Talon endpoint. - Copy the App ID, App Secret, and Verification Token from the app credentials page.
{ "channels": { "feishu": { "accounts": { "my-app": { "app_id": "cli_xxxxxxxxxxxxxxxx", "app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "verification_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "allow_from": ["ou_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] } } } }}ntfy is a simple pub/sub notification service. Talon publishes AI responses as notifications to a topic. This is primarily a one-way outgoing channel (Talon sends notifications), useful for push alerts and automated status updates.
You can use the public ntfy.sh server or run your own self-hosted instance.
{ "channels": { "ntfy": { "accounts": { "my-alerts": { "server": "https://ntfy.sh", "topic": "my-talon-notifications", "token": "tk_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" } } } }}| Field | Required | Description |
|---|---|---|
server | Yes | ntfy server URL (use https://ntfy.sh for the public server) |
topic | Yes | Topic name to publish to (keep this private — anyone who knows it can subscribe) |
token | No | Access token for authenticated ntfy servers |
Mastodon
Section titled “Mastodon”Mastodon is a federated social network. Talon connects to your account on any Mastodon instance and responds to direct mentions or messages.
Getting an access token: Log in to your Mastodon instance, go to Preferences > Development > New Application, create an app with read and write scopes, and copy the generated access token.
{ "channels": { "mastodon": { "accounts": { "my-account": { "instance_url": "https://mastodon.social", "access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "allow_from": ["@you@mastodon.social"] } } } }}