Hermes operator documentation

Telegram Bot Token, Chat ID, and LLM Provider Setup Guide

A step-by-step English guide for new users: create a Telegram account, create a bot, find the target chat ID, configure Hermes notifications, and collect the API key, base URL, and model name for common LLM providers.

Last updated: May 1, 2026 Audience: first-time Telegram users Format: website-ready HTML Includes expandable LLM cards

Before you begin

!
Security rule: treat Telegram bot tokens and LLM API keys like passwords. Do not put real secrets in screenshots, frontend JavaScript, GitHub commits, chat messages, or customer-visible documentation. If a key is exposed, rotate or revoke it immediately.

You will need:

  • A mobile phone number for Telegram account creation.
  • Access to the Telegram app or Telegram Web.
  • Permission to add a bot to the target private chat, group, supergroup, or channel.
  • Hermes admin/settings access.
  • Developer accounts for any LLM providers you want Hermes to use.
i
About screenshots in this page: the images are illustrative, redacted screenshots designed for documentation. Replace them with your production UI screenshots if you need exact branding or environment-specific fields.

1. Create a Telegram account from zero

Illustrative Telegram account setup screenshot

Illustrative screenshot: account signup with a mobile phone number.

1

Install Telegram

Install Telegram on iOS or Android first. Desktop and web sessions are useful later, but the initial account setup normally starts with a mobile number.

2

Enter your phone number

Use international format, for example +1 555 010 1234. Telegram may reject landline, VoIP, or unsupported numbers.

3

Verify the login code

Telegram sends a verification code by SMS, call, or to another active Telegram session. Enter the code to finish signing in.

4

Secure the account

Set your display name, optionally create a username, and enable Two-Step Verification before creating production bots.

2. Create a Telegram bot token with BotFather

Telegram bots are created through the verified BotFather bot. BotFather generates the HTTP API token that Hermes will use to send messages.

Illustrative BotFather token creation screenshot

Illustrative screenshot: BotFather returns a redacted bot token.

Steps

  1. Open Telegram and search for @BotFather.
  2. Start the conversation and send /newbot.
  3. Enter a display name, for example Hermes Alert Bot.
  4. Enter a unique username ending in bot, for example hermes_alert_demo_bot.
  5. Copy the generated token. It looks similar to 1234567890:AA....
  6. Store the token in a server-side secret store, environment variable, or Hermes settings. Do not expose it in client-side code.

Confirm the token works

curl "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/getMe"

A valid token returns "ok": true and a bot profile containing the bot username.

3. Get the target Telegram chat ID

The chat_id is the unique identifier of the private chat, group, supergroup, or channel where Hermes should send notifications. Private chat IDs are usually positive numbers. Group, supergroup, and channel IDs are usually negative numbers; supergroups and channels often begin with -100.

Option A — Private chat ID

  1. Open your bot in Telegram.
  2. Tap Start or send /start.
  3. Send a normal message such as hello.
  4. Call getUpdates and read message.chat.id.
curl "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/getUpdates?timeout=20"

Option B — Group or supergroup chat ID

  1. Add the bot to the group or supergroup.
  2. Send a command addressed to the bot, for example /start@your_bot_username.
  3. Call getUpdates and read message.chat.id.
i
Telegram group bots often run with Privacy Mode enabled. In that mode, the bot sees commands and messages addressed to it, but not every normal group message. Use /start@your_bot_username for the first test.

Option C — Channel chat ID

  1. Add the bot as a channel administrator.
  2. Publish a new channel post after the bot has been added.
  3. Call getUpdates and read channel_post.chat.id.
Illustrative getUpdates response showing chat id

Illustrative screenshot: read the highlighted chat.id value from the API response.

Option D — Public group or channel username

If the target has a public username, you can often use @username directly in Telegram Bot API calls. To convert it to a numeric ID, call getChat:

curl "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/getChat?chat_id=@your_public_group_or_channel"

Send a final test message

curl -X POST "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/sendMessage" \
  -d "chat_id=<TARGET_CHAT_ID>" \
  -d "text=Hermes Telegram test message"

4. Configure Telegram notifications in Hermes

Illustrative Hermes Telegram settings screenshot

Illustrative screenshot: Telegram integration fields in Hermes.

Telegram Bot TokenPaste the token created by BotFather. Example format: 1234567890:AA...
Target Chat IDPaste the numeric chat.id, or use @public_username if your Hermes build supports Telegram usernames.
Parse ModeOptional. Use MarkdownV2 or HTML only if Hermes escapes message text correctly.
EnabledTurn the integration on, save, and send a test notification.

5. Configure LLM provider API keys, URLs, and models

Illustrative Hermes LLM provider cards screenshot

Illustrative screenshot: Hermes LLM provider cards can expand and collapse.

!
Hermes-specific note: the exact providers supported by your Hermes build must come from your Hermes configuration or release notes. This page includes common provider cards used by Hermes-style LLM integrations. Keep only the providers enabled in your product and remove or rename the rest.
Illustrative provider console API key screenshot

Illustrative screenshot: most providers follow the same pattern — create key, copy base URL, copy exact model ID.

OpenAI OpenAI API

What to enter in Hermes

API keyCreate a secret key in the OpenAI Platform project API keys area. Store it server-side only.
Base URLhttps://api.openai.com/v1
ModelExamples: gpt-5.5 for highest quality; gpt-5.4-mini or gpt-5.4 for lower latency/cost. Always copy the exact model ID shown in your OpenAI account because availability can vary by account and region.
Suggested env varOPENAI_API_KEY

How to get it

  1. Create or sign in to your OpenAI Platform account.
  2. Open the project you want Hermes to bill against.
  3. Create a new secret key and copy it once.
  4. In Hermes, choose the OpenAI provider or OpenAI-compatible mode, then paste the key, base URL, and model ID.
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer <OPENAI_API_KEY>" 
Azure OpenAI / Microsoft Foundry Azure deployment

What to enter in Hermes

API keyUse the key from your Azure OpenAI / Azure AI Foundry resource, or use Entra ID if your Hermes deployment supports managed identity.
Base URLhttps://<your-resource-name>.openai.azure.com
ModelIn many Azure setups Hermes must use the deployment name, not the raw model name. Example deployment names: production-chat, gpt-5-prod, gpt-4o-prod. The exact deployed model is selected in Azure.
Suggested env varAZURE_OPENAI_API_KEY

How to get it

  1. Create an Azure OpenAI / Azure AI Foundry resource.
  2. Deploy a model in the Azure AI Foundry portal.
  3. Copy the resource endpoint and key from the resource page.
  4. In Hermes, set Base URL to the resource endpoint, API key to the Azure key, and Model to the deployment name.
  5. Set the API version field if your Hermes build exposes one.
curl "https://<resource>.openai.azure.com/openai/deployments/<deployment>/chat/completions?api-version=<api-version>" \
  -H "api-key: <AZURE_OPENAI_API_KEY>" \
  -H "Content-Type: application/json" 
Anthropic Claude Claude API

What to enter in Hermes

API keyCreate a key in the Claude Console account settings / API keys area.
Base URLhttps://api.anthropic.com
ModelExamples: claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5-20251001. Use Sonnet as a strong default and Haiku for lower-cost, low-latency work.
Suggested env varANTHROPIC_API_KEY

How to get it

  1. Create or sign in to a Claude Console account.
  2. Generate an API key.
  3. In Hermes, choose Anthropic or OpenAI-compatible/Anthropic-compatible mode depending on your build.
  4. Paste the API key, base URL, and the exact model alias or snapshot ID.
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: <ANTHROPIC_API_KEY>" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":64,"messages":[{"role":"user","content":"Say hello"}]}'
Google Gemini Gemini API

What to enter in Hermes

API keyCreate a Gemini API key in Google AI Studio. The key is linked to a Google Cloud project.
Base URLhttps://generativelanguage.googleapis.com/v1beta
ModelExamples shown in current Gemini docs include gemini-3-flash-preview. In the Gemini model list, copy the exact model ID available to your project, such as a Gemini Pro, Flash, or Flash-Lite model.
Suggested env varGEMINI_API_KEY

How to get it

  1. Sign in to Google AI Studio.
  2. Open API keys and create or select a key.
  3. Enable billing / project access if Google prompts you.
  4. In Hermes, use the Gemini provider if available. If Hermes uses an OpenAI-compatible adapter, follow the adapter's exact base URL requirement.
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
  -H "x-goog-api-key: <GEMINI_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"Say hello"}]}]}'
Groq OpenAI-compatible

What to enter in Hermes

API keyCreate a key in the Groq Console API keys page.
Base URLhttps://api.groq.com/openai/v1
ModelExamples: llama-3.3-70b-versatile, llama-3.1-8b-instant. Groq uses an OpenAI-compatible API shape for chat completions.
Suggested env varGROQ_API_KEY

How to get it

  1. Create or sign in to a Groq account.
  2. Create an API key.
  3. In Hermes, choose OpenAI-compatible provider mode.
  4. Set Base URL to Groq's OpenAI-compatible URL and paste the Groq key.
curl https://api.groq.com/openai/v1/chat/completions \
  -H "Authorization: Bearer <GROQ_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"model":"llama-3.3-70b-versatile","messages":[{"role":"user","content":"Say hello"}]}'
Mistral AI Mistral API

What to enter in Hermes

API keyCreate an API key in La Plateforme / Mistral Console. Keys are scoped to your workspace.
Base URLhttps://api.mistral.ai/v1
ModelExamples commonly used in Mistral integrations include mistral-large-latest and ministral-8b-latest. Copy the exact active model name from Mistral's Models page or API documentation.
Suggested env varMISTRAL_API_KEY

How to get it

  1. Sign in to Mistral's developer platform.
  2. Activate API access and create an API key.
  3. Open the Models page and copy the model ID you want Hermes to use.
  4. In Hermes, use Mistral provider mode or OpenAI-compatible mode if your Hermes build documents that option.
curl https://api.mistral.ai/v1/models \
  -H "Authorization: Bearer <MISTRAL_API_KEY>" 
DeepSeek OpenAI / Anthropic compatible

What to enter in Hermes

API keyCreate an API key at the DeepSeek platform API keys page. Requests use Bearer authentication.
Base URLOpenAI format: https://api.deepseek.com • Anthropic format: https://api.deepseek.com/anthropic
ModelCurrent DeepSeek docs list model names such as deepseek-v4-flash and deepseek-v4-pro. Use /models to confirm what your key can access.
Suggested env varDEEPSEEK_API_KEY

How to get it

  1. Sign in to the DeepSeek platform.
  2. Create an API key.
  3. In Hermes, choose the compatible provider mode: OpenAI-compatible or Anthropic-compatible.
  4. Paste the matching base URL and model ID.
curl https://api.deepseek.com/models \
  -H "Authorization: Bearer <DEEPSEEK_API_KEY>" 
xAI Grok OpenAI-compatible

What to enter in Hermes

API keyCreate an API key in the xAI Console.
Base URLhttps://api.x.ai/v1
ModelExample: grok-4.3. xAI documents OpenAI-compatible and Anthropic-compatible usage, so Hermes usually connects through OpenAI-compatible mode.
Suggested env varXAI_API_KEY

How to get it

  1. Create or sign in to an xAI Console account.
  2. Create an API key.
  3. Open the Models page and copy the exact Grok model ID.
  4. In Hermes, choose OpenAI-compatible mode, then set Base URL, API key, and model.
curl https://api.x.ai/v1/models \
  -H "Authorization: Bearer <XAI_API_KEY>" 
OpenRouter Model router

What to enter in Hermes

API keyCreate an API key in OpenRouter. OpenRouter uses one API key and a single OpenAI-style endpoint for many upstream providers.
Base URLhttps://openrouter.ai/api/v1
ModelUse the Models API or model directory to copy the exact provider/model slug, for example provider-name/model-name. Availability and pricing vary by route.
Suggested env varOPENROUTER_API_KEY

How to get it

  1. Sign in to OpenRouter.
  2. Create an API key and add credits if required.
  3. Choose a model from the OpenRouter model directory.
  4. In Hermes, use OpenAI-compatible mode, paste the OpenRouter key, base URL, and exact model slug.
curl https://openrouter.ai/api/v1/models \
  -H "Authorization: Bearer <OPENROUTER_API_KEY>" 
Ollama local models Local / self-hosted

What to enter in Hermes

API keyUsually no real API key is required. Some OpenAI-compatible clients expect any placeholder value, such as ollama.
Base URLNative: http://localhost:11434 • OpenAI-compatible: http://localhost:11434/v1
ModelExamples depend on what is installed locally. Run ollama list after pulling a model such as llama3.1.
Suggested env varOLLAMA_API_KEY

How to get it

  1. Install Ollama on the same machine or reachable host.
  2. Pull a model, for example: ollama pull llama3.1.
  3. Confirm the model with: ollama list.
  4. In Hermes, use local/Ollama mode or OpenAI-compatible mode with the /v1 URL.
curl http://localhost:11434/v1/models \
  -H "Authorization: Bearer ollama" 
Custom OpenAI-compatible endpoint Generic adapter

What to enter in Hermes

API keyUse the API key from your provider, proxy, gateway, or LiteLLM-compatible service.
Base URLhttps://<provider-or-gateway-domain>/v1
ModelUse the exact model ID accepted by that endpoint. Do not assume another provider's model name will work.
Suggested env varCUSTOM_LLM_API_KEY

How to get it

  1. Confirm the provider explicitly supports the OpenAI chat/completions or responses-compatible API.
  2. Copy the base URL, not just the website URL.
  3. Copy the model ID from the provider's model list.
  4. In Hermes, choose OpenAI-compatible mode.
curl https://<provider-or-gateway-domain>/v1/models \
  -H "Authorization: Bearer <CUSTOM_LLM_API_KEY>" 

6. Troubleshooting

Telegram getUpdates returns {"ok":true,"result":[]}

  • Send a new message to the bot after calling the API. Old messages may not appear.
  • Check that the token belongs to the exact bot you are messaging by running getMe.
  • Delete any webhook before using getUpdates:
curl "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/deleteWebhook"
  • For groups, send /start@your_bot_username rather than a plain message.
  • For channels, make the bot an administrator and publish a new post after adding it.

LLM provider test fails

  • Confirm the key is active, not expired, and has billing/credits.
  • Confirm the base URL includes the correct path, usually /v1 for OpenAI-compatible providers.
  • Confirm the model name is exact. Many errors come from using a marketing model name instead of the API model ID.
  • For Azure OpenAI, use the deployment name in Hermes when required by the adapter.
  • For local Ollama, confirm Hermes can reach the host. In Docker, localhost may mean the container, not your laptop.

References

Use the official provider documentation below to verify current account screens, model availability, pricing, and regional access before publishing the guide.

  1. Telegram FAQ — account signup and privacy
  2. Telegram Bot Features — BotFather, tokens, group privacy mode
  3. Telegram Bot API — getUpdates, Chat, getChat, webhooks
  4. OpenAI API platform docs
  5. OpenAI models page
  6. Anthropic Claude API overview
  7. Anthropic models overview
  8. Google Gemini API key docs
  9. Google Gemini API reference
  10. Microsoft Azure OpenAI / Foundry docs
  11. Groq API docs
  12. Mistral AI developer docs
  13. DeepSeek API docs
  14. xAI API docs
  15. OpenRouter API docs
  16. Ollama API docs