Skip to content

Integration catalog

The 60+ entry integration catalogue by category and how status badges map to configuration.

The integration catalog is Revka’s static inventory of every chat channel, model provider, productivity connector, and platform Revka knows about — 80 entries grouped into nine categories. Each entry carries a live status computed from your current configuration, so the catalog doubles as an at-a-glance map of what is wired up, what you could turn on, and what is still on the roadmap.

Use this page when you want to know which integrations exist, how the dashboard’s status badges are derived, and how to read the same data programmatically over the REST API or the CLI.

The catalog is defined statically in the Revka binary, so it is always present regardless of which channels or providers you have configured. Every entry has four fields:

FieldMeaning
nameDisplay name, e.g. Telegram, OpenRouter, Home Assistant.
descriptionOne-line summary, e.g. Bot API — long-polling.
categoryOne of nine categories (see below).
statusComputed live from your config: Active, Available, or ComingSoon.

Three status values drive the dashboard badges and the CLI/API output:

StatusBadgeMeaning
ActiveActiveFully implemented and configured/enabled in your current config — ready to use right now.
AvailableAvailableFully implemented but not configured yet. Add the relevant config to activate it.
ComingSoonComing SoonPlanned but not yet implemented. Configuration has no effect until it ships.

The distinction that matters most: Available means “implemented, just turn it on”, while ComingSoon means “not built yet”. A ComingSoon entry will never become Active no matter what you put in your config.

Status is not stored — it is recomputed from your live config.toml every time the catalog is read. The logic varies by integration:

  • Channels become Active when their config section is present, e.g. [channels_config.telegram], [channels_config.discord], [channels_config.matrix], [channels_config.email]. Otherwise Available.
  • Model providers become Active when they are your selected default. Most check default_provider (e.g. openrouter, ollama, groq); a few key off the default_model prefix instead (Googlegoogle/, DeepSeekdeepseek/, xAIx-ai/, Mistralmistral). Otherwise Available.
  • Feature toggles become Active when their subsystem is enabled: Browser ([browser] enabled = true), Cron ([cron] enabled = true), Google Workspace ([google_workspace] enabled = true).
  • Platforms (macOS, Linux) are Active when the binary is running on that OS; Windows, iOS, and Android are always Available.

Three integrations are always Active with no configuration at all, because they are core agent capabilities rather than opt-in connectors:

IntegrationCategoryWhy it is always on
ShellTools & AutomationTerminal command execution is built in.
File SystemTools & AutomationRead/write file access is built in.
WeatherTools & AutomationFetches live conditions from wttr.in — no API key required.

In addition, the platform you are running on (macOS or Linux) reports Active automatically.

The catalog groups all entries into nine categories. The API serializes the category as its variant name (the left column); the dashboard shows the human label (the right column).

Category (API value)LabelExamples
ChatChat ProvidersTelegram, Discord, Slack, WhatsApp, Matrix, Signal, iMessage, Email
AiModelAI ModelsOpenRouter, Anthropic, OpenAI, Google, Ollama, Groq, Bedrock
ProductivityProductivityGoogle Workspace, GitHub, Notion, Linear, Trello, Obsidian
MusicAudioMusic & AudioSpotify, Sonos, Shazam
SmartHomeSmart HomeHome Assistant, Philips Hue, 8Sleep
ToolsAutomationTools & AutomationShell, File System, Weather, Browser, Cron, Canvas
MediaCreativeMedia & CreativeImage Gen, GIF Search, Screen Capture, Camera
SocialSocialTwitter/X, Email
PlatformPlatformsmacOS, Linux, Windows, iOS, Android

Implemented channels become Active once configured: Telegram, Discord, Slack, Webhooks, WhatsApp, Signal, iMessage, Matrix, DingTalk, QQ Official. Planned (ComingSoon): Microsoft Teams, Nostr, WebChat, Nextcloud Talk, Zalo.

See Channels overview for setup of each.

The largest category — 29 model providers. Implemented providers become Active when selected as your default: OpenRouter, Anthropic, OpenAI, Google, DeepSeek, xAI, Mistral, Ollama, Perplexity, Venice, Vercel AI, Cloudflare AI, Moonshot, Synthetic, OpenCode Zen, OpenCode Go, Z.AI, GLM, MiniMax, Qwen, Amazon Bedrock, Qianfan, Groq, Together AI, Fireworks AI, Novita AI, Cohere. Planned (ComingSoon): Hugging Face, LM Studio.

See Provider catalog to pick and configure a provider.

Google Workspace is implemented and becomes Active when [google_workspace] enabled = true. The rest are ComingSoon: GitHub, Notion, Apple Notes, Apple Reminders, Obsidian, Things 3, Bear Notes, Trello, Linear.

Mix of always-active core tools and configurable subsystems. Always Active: Shell, File System, Weather. Config-gated: Browser ([browser] enabled), Cron ([cron] enabled). Planned (ComingSoon): Voice, Gmail, 1Password, Canvas.

Music & Audio, Smart Home, Media & Creative, Social, Platforms

Section titled “Music & Audio, Smart Home, Media & Creative, Social, Platforms”
  • Music & Audio: Spotify, Sonos, Shazam — all ComingSoon.
  • Smart Home: Home Assistant, Philips Hue, 8Sleep — all ComingSoon.
  • Media & Creative: Image Gen, GIF Search, Screen Capture, Camera — all ComingSoon.
  • Social: Twitter/X (ComingSoon); Email (Active when [channels_config.email] is set).
  • Platforms: macOS / Linux (Active on that OS), Windows / iOS / Android (Available).

Two bearer-authenticated endpoints expose the catalog. Both require a paired token (see Pairing & authentication).

GET /api/integrations
Authorization: Bearer <token>
Terminal window
curl -s http://127.0.0.1:8080/api/integrations \
-H "Authorization: Bearer $REVKA_TOKEN"

Response — an array of entries, each with category and status serialized as their enum variant names:

{
"integrations": [
{
"name": "Telegram",
"description": "Bot API — long-polling",
"category": "Chat",
"status": "Active"
},
{
"name": "Shell",
"description": "Terminal command execution",
"category": "ToolsAutomation",
"status": "Active"
},
{
"name": "Notion",
"description": "Workspace & databases",
"category": "Productivity",
"status": "ComingSoon"
}
]
}

The settings endpoint returns the same data keyed by name, with a derived enabled boolean. enabled is true only when status is ActiveAvailable and ComingSoon both map to false.

GET /api/integrations/settings
Authorization: Bearer <token>
{
"settings": {
"Telegram": { "enabled": true, "category": "Chat", "status": "Active" },
"Discord": { "enabled": false, "category": "Chat", "status": "Available" },
"Spotify": { "enabled": false, "category": "MusicAudio", "status": "ComingSoon" },
"Shell": { "enabled": true, "category": "ToolsAutomation", "status": "Active" }
}
}

Both endpoints are read-only and reflect your live config at request time — there is no write path. To change an integration’s status, edit your config (see below).

The CLI exposes one subcommand for inspecting a single integration:

Terminal window
revka integrations info <name>

It looks the name up case-insensitively, prints the status with an icon ( Active, Available, 🔜 Coming Soon), the category, and — for several integrations — a short setup hint. For example:

Terminal window
revka integrations info telegram
⚪ Telegram — Bot API — long-polling
Category: Chat Providers
Status: Available
Setup:
1. Message @BotFather on Telegram
2. Create a bot and copy the token
3. Run: revka onboard --channels-only
4. Start: revka channel start

Unknown names return an error pointing you to revka onboard. Built-in setup hints are included for Telegram, Discord, Slack, OpenRouter, Ollama, iMessage, GitHub, Browser, Cron, Weather, and Webhooks; any other ComingSoon entry prints a “planned” notice.

The dashboard’s Integrations page (/integrations) renders GET /api/integrations as filterable cards with the status badges described above. It is read-only — clicking a card shows detail, but configuration happens on the Config page. See Skills, tools & integrations pages.

The flow to move an entry from Available to Active is always: add the relevant configuration, then restart or reload. Where that config lives depends on the integration type: