Integrations

14 one-click service connections via Composio + MCP bridge, 4 messaging platforms, and the full OAuth connection flow.

01

Service Connections (14)

All connections use OAuth 2.0 via Composio's MCP bridge. Tokens are encrypted at rest (AES-256) and stored in the central hermes_connections table. Auto-refresh runs 5 minutes before expiry.

G
Google Workspace
Gmail · Drive · Calendar · Docs · Sheets
OAuth 2.0
N
Notion
Pages · Databases · Blocks · Search
OAuth 2.0
GitHub
Repos · Issues · PRs · Actions · Gists
OAuth 2.0
S
Slack
Messages · Channels · Files · Users
OAuth 2.0
A
Atlassian
Jira · Confluence · Bitbucket
OAuth 2.0
L
Linear
Issues · Projects · Cycles · Teams
OAuth 2.0
Airtable
Bases · Tables · Records · Views
OAuth 2.0
H
HubSpot
Contacts · Deals · Companies · Emails
OAuth 2.0
Salesforce
Leads · Opportunities · Accounts · Reports
OAuth 2.0
$
Stripe
Customers · Payments · Subscriptions · Invoices
API Key
Shopify
Orders · Products · Customers · Inventory
OAuth 2.0
X / Twitter
Tweets · DMs · Analytics · Lists
OAuth 2.0
D
Discord (API)
Servers · Channels · Messages · Roles
Bot Token
🐘
PostgreSQL / Supabase
Query · Insert · Update · Schema inspection
Connection String
02

Messaging Platforms (4)

Helium operates central bots for each platform. Users link their account via a one-time token. Messages are routed to the user's dedicated VM via Redis pub/sub. All 4 platforms are included in both Light and Heavy plans.

Telegram
Bot type Central @HermesMaxBot
Auth /start + one-time token
Msg limit 4,096 chars (auto-split)
Features Markdown, files, voice notes
Latency target <500ms webhook → response start
Discord
Bot type Central Hermes Max Bot
Auth Invite bot + /link command
Msg limit 2,000 chars (auto-split)
Features Slash commands, embeds, threads
Latency target <500ms interaction → response
Slack
Bot type Hermes Max Slack App
Auth OAuth install + /hermes link
Msg limit 40,000 chars (blocks API)
Features Block Kit, modals, shortcuts
Latency target <3s (Slack ack requirement)
WhatsApp
Bot type WhatsApp Business API
Auth Phone number verification
Msg limit 4,096 chars
Features Text, images, documents, voice
Latency target <500ms webhook → response start
03

Composio + MCP Bridge

Composio provides the OAuth management layer and tool definitions. The MCP (Model Context Protocol) bridge exposes these as tools to the Hermes Agent running on each VM.

OAuth Initiation User clicks "Connect" → Helium calls Composio API → returns auth_url → user completes OAuth → Composio stores tokens
Token Storage Composio manages token lifecycle. Helium mirrors connection status to hermes_connections table for UI display
MCP Tool Registration On VM startup, Hermes Agent queries Composio MCP endpoint for available tools based on connected services
Tool Execution Agent calls MCP tool → Composio executes with stored OAuth token → returns result to agent
Token Refresh Composio auto-refreshes tokens 5 minutes before expiry. Helium updates expires_at in hermes_connections
Disconnection User disconnects → Helium calls Composio revoke API → deletes hermes_connections row → agent loses tool access
04

OAuth Connection Flow

1
User Initiates

User visits /hermes-max/connections and clicks "Connect" on a service card. Frontend calls POST /api/hermes/connections/:service.

2
Auth URL Generation

Backend calls Composio API to generate a scoped OAuth authorization URL. Returns auth_url to frontend. Frontend opens URL in new tab or modal.

3
User Authorizes

User completes OAuth flow on the service's website (Google, GitHub, etc.). Service redirects to Composio callback URL with authorization code.

4
Token Exchange

Composio exchanges authorization code for access + refresh tokens. Stores tokens securely. Fires webhook to Helium: connection.created.

5
Status Update

Helium webhook handler creates/updates hermes_connections row. Frontend polls GET /api/hermes/connections and shows "Connected" status. Target: <30s total.

6
Tool Availability

VM agent receives connection event via Redis pub/sub. Queries Composio MCP for new tools. Service tools become available in the agent's next conversation turn.