Skip to content

revka channel & integrations

Add, remove, list, health-check, and send through channels from the CLI, and inspect integrations.

revka channel is the command-line surface for managing the messaging platforms your agent talks through — Telegram, Discord, Slack, WhatsApp, Matrix, iMessage, email, and the rest of the channel catalog. From the CLI you can list configured channels, start them, run health checks, add or remove a channel, manage the Telegram allowlist, and fire a one-off message through a supported channel (telegram, discord, slack, mattermost, signal, matrix, whatsapp, or qq). The companion revka integrations command lets you inspect the details of a named integration.

Use these commands to wire up and operate channels without hand-editing config.toml, to smoke-test a channel before relying on it, and to script notifications (sensor alerts, job-completion pings) into a chat platform. Channels run inside the long-running daemon; the CLI commands here drive that runtime and its configuration.

For the per-platform setup walkthroughs and the full channel catalog, see Connect a messaging channel and Channels overview.

Terminal window
revka channel list
revka channel start
revka channel doctor
revka channel add <channel_type> <config_json>
revka channel remove <name>
revka channel bind-telegram <identity>
revka channel send <message> --channel-id <TYPE> --recipient <TARGET>
revka integrations info <name>
SubcommandArgumentsWhat it does
listList all configured channels.
startStart all configured channels.
doctorRun health checks against all configured channels.
add<channel_type> <config_json>Not implemented — errors and directs you to revka onboard.
remove<name>Not implemented — errors and directs you to edit ~/.revka/config.toml.
bind-telegram<identity>Add a Telegram username or numeric user ID to the allowlist.
send<message> --channel-id <TYPE> --recipient <TARGET>Send a single one-off message through a supported channel type.

Lists every channel currently configured under [channels_config] in config.toml.

Terminal window
revka channel list

Use this to confirm which channels exist and under what config names before you start them, run a health check, or send a message.

Starts all configured channels.

Terminal window
revka channel start

This brings up the channels defined in your config so they begin listening for inbound messages and can send replies. For a complete production runtime — gateway server, channels, heartbeat monitor, and cron scheduler together — use revka daemon instead, which starts channels as part of the full stack.

Runs the health check (health_check()) for every configured channel and reports liveness.

Terminal window
revka channel doctor

Reach for this when a channel is misbehaving: it probes each channel’s connection so you can tell which one is failing before digging into logs. Not every channel implements an active liveness probe — webhook-style channels in particular may report differently from polling or WebSocket channels. For broader, whole-system diagnostics see revka doctor, status & self-test.

revka channel add is not implemented as an add operation. Running it produces an error directing you to use revka onboard instead:

Channel type '<type>' — use `revka onboard` to configure channels

To add or reconfigure a channel, run the interactive onboarding wizard:

Terminal window
revka onboard # full setup wizard
revka onboard --channels-only # guided channel-configuration flow only

Alternatively, add the channel manually by editing ~/.revka/config.toml directly under [channels_config]. For the required keys per channel type see Channels overview and the per-platform pages such as Telegram, Discord & Slack and Matrix, Mattermost & Nextcloud Talk.

revka channel remove is not implemented as a remove operation. Running it produces an error directing you to edit the config file directly:

Remove channel '<name>' — edit ~/.revka/config.toml directly

To remove a channel, open ~/.revka/config.toml and delete the corresponding [channels_config.<name>] section, then save the file.

Adds a Telegram identity to the allowlist so that user is permitted to talk to the bot. Accepts either a Telegram username (without the leading @) or a numeric user ID.

Terminal window
revka channel bind-telegram revka_user # by username
revka channel bind-telegram 123456789 # by numeric user ID

This appends the identity to Telegram’s allowed_users allowlist. The Telegram channel also supports an in-chat pairing flow; for full Telegram setup and pairing details see Set up Telegram & Matrix.

Sends a single, one-off message through a configured channel and exits. This is built for scripted notifications and automation pipelines.

Terminal window
revka channel send 'Someone is near your device.' \
--channel-id telegram \
--recipient 123456789
FlagValueMeaning
--channel-id<TYPE>The channel type to send through (one of: telegram, discord, slack, mattermost, signal, matrix, whatsapp, qq).
--recipient<TARGET>The platform-specific recipient ID (e.g. a Telegram user ID, a Slack channel ID).

The --recipient value is interpreted by the target platform: a Telegram chat/user ID, a Slack channel or DM ID, a phone number, and so on. Use send for sensor alerts, cron-job results, or any external system that needs to push a message into chat:

Terminal window
# Notify an ops channel when a backup finishes
revka channel send "Nightly backup completed." --channel-id slack --recipient C1234567890

Inside a chat channel that supports text commands (notably Telegram and Discord), users can change the agent’s model and reset the conversation on the fly, without restarting anything:

CommandAction
/modelsShow the available providers.
/models <provider>Switch the provider for the current session.
/modelShow the current model.
/model <model-id>Switch the model for the current session.
/newClear conversation history and start fresh.

These run in the channel conversation itself, not from the revka CLI. The CLI channel (stdin/stdout) also supports /quit and /exit to leave an interactive terminal session.

The channel runtime watches config.toml and applies a defined set of changes live, without a restart. When you edit and save the file, the running channels pick up updates to:

  • default_provider
  • default_model
  • default_temperature
  • api_key / api_url
  • reliability.*
# Editing these keys is picked up by running channels without a restart
default_provider = "anthropic"
default_model = "claude-sonnet-4-20250514"
default_temperature = 0.3

Shows the details of a single named integration — its description, capabilities, and required configuration.

Terminal window
revka integrations info <name>

Revka ships 50+ integrations, most of which are configured in config.toml. Use info to discover what a given integration does and what keys it needs before wiring it up. For the broader catalog, see Integration catalog and the config reference for channels, tools & integrations.

Terminal window
# Inspect, then start, the configured channels
revka channel list
revka channel start
# Health-check everything when a channel looks stuck
revka channel doctor
# Configure channels via the onboarding wizard, then allowlist a Telegram user
revka onboard --channels-only
revka channel bind-telegram 123456789
# Send a scripted alert through Telegram
revka channel send 'Disk usage above 90%.' --channel-id telegram --recipient 123456789
# Remove a channel: edit ~/.revka/config.toml and delete the [channels_config.<name>] section
# Look up what an integration needs
revka integrations info notion