[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"blog-post-hermes-agent-telegram-setup":3,"related-posts-hermes-agent-telegram-setup":932},{"id":4,"title":5,"author":6,"body":11,"category":910,"date":911,"description":912,"extension":913,"featured":914,"hideToc":914,"image":915,"imageAlt":916,"imageHeight":916,"imageWidth":916,"itemList":916,"lang":916,"meta":917,"navigation":918,"noindex":914,"path":919,"readingTime":920,"redirected":914,"relatedSlugs":916,"seo":921,"seoTitle":5,"stem":922,"subtitle":916,"tags":923,"updatedDate":911,"__hash__":931},"blog/blog/hermes-agent-telegram-setup.md","Hermes Agent Telegram Setup: Bot, Groups and Topics (2026)",{"name":7,"role":8,"avatar":9,"bio":10},"Shabnam Katoch","Growth Head","/img/avatars/shabnam-profile.jpeg","Shabnam leads growth at BetterClaw and has spent the past three years building organic distribution for AI-native products. She writes about no-code agent builders, content strategy, and what it actually takes to grow without an ads budget.",{"type":12,"value":13,"toc":891},"minimark",[14,18,34,37,40,45,52,67,74,80,84,90,93,118,124,132,135,149,152,155,189,204,216,221,224,230,233,237,243,246,250,253,256,272,279,283,289,295,306,315,319,326,333,389,396,409,413,416,420,426,429,432,474,523,530,534,548,562,569,573,576,616,619,648,659,667,671,677,790,793,797,800,807,810,818,822,850,859,871,887],[15,16,17],"p",{},"From BotFather to a working agent in your Telegram groups and topic threads, plus fixes for the errors people hit most.",[19,20,22],"callout",{"type":21},"quick-fix",[15,23,24,25,29,30,33],{},"Create a bot with @BotFather, put its token and your numeric user ID in ",[26,27,28],"code",{},"~/.hermes/.env",", and run ",[26,31,32],{},"hermes gateway run",". For groups, turn off the bot's privacy mode (or make it an admin) and allow the group's chat ID. Topics need no extra setup in a forum group: each topic already gets its own session.",[15,35,36],{},"Checked against Hermes v0.22.5 on 27 October 2026.",[15,38,39],{},"Most \"my bot won't answer\" problems come from one thing: a group message has to pass three separate gates before Hermes replies, and only one of them lives in Hermes. We'll set the bot up, then walk through each gate.",[41,42,44],"h2",{"id":43},"create-the-bot-and-get-the-token","Create the bot and get the token",[15,46,47],{},[48,49],"img",{"alt":50,"src":51},"Create a bot in BotFather: send /newbot, pick a display name, then a username ending in bot — BotFather replies with the token","/img/blog/hermes-agent-telegram-setup-botfather.jpg",[15,53,54,55,58,59,62,63,66],{},"In Telegram, open @BotFather, send ",[26,56,57],{},"/newbot",", pick a display name, then a username that ends in ",[26,60,61],{},"bot",". BotFather replies with a token that looks like ",[26,64,65],{},"123456789:ABCdefGHIjklMNOpqrSTUvwxYZ",".",[15,68,69,70,73],{},"Treat that token like a password. Anyone who has it controls your bot, and ",[26,71,72],{},"/revoke"," in BotFather kills it instantly.",[15,75,76,77,66],{},"You also need your numeric Telegram user ID, not your @username. Message @userinfobot and it replies with a number like ",[26,78,79],{},"123456789",[41,81,83],{"id":82},"connect-hermes-to-the-bot","Connect Hermes to the bot",[15,85,86],{},[48,87],{"alt":88,"src":89},"Connect Hermes to the Telegram bot: add the token and your numeric user ID to ~/.hermes/.env, then run hermes gateway run to test","/img/blog/hermes-agent-telegram-setup-connect.jpg",[15,91,92],{},"You have two options. The wizard asks for the token and user IDs and writes them for you:",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-bash shiki shiki-themes github-light","hermes gateway setup\n","bash","",[26,101,102],{"__ignoreMap":99},[103,104,107,111,115],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"s7eDp","hermes",[103,112,114],{"class":113},"sYBdl"," gateway",[103,116,117],{"class":113}," setup\n",[15,119,120,121,123],{},"Or add them to ",[26,122,28],{}," yourself:",[94,125,130],{"className":126,"code":128,"language":129},[127],"language-text","TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ\nTELEGRAM_ALLOWED_USERS=123456789\n","text",[26,131,128],{"__ignoreMap":99},[15,133,134],{},"Separate several user IDs with commas. Then start the gateway in the foreground to test:",[94,136,138],{"className":96,"code":137,"language":98,"meta":99,"style":99},"hermes gateway run\n",[26,139,140],{"__ignoreMap":99},[103,141,142,144,146],{"class":105,"line":106},[103,143,110],{"class":109},[103,145,114],{"class":113},[103,147,148],{"class":113}," run\n",[15,150,151],{},"Send your bot a message. It should answer within seconds.",[15,153,154],{},"Once it works, run it as a service so it survives a closed terminal or a reboot:",[94,156,158],{"className":96,"code":157,"language":98,"meta":99,"style":99},"hermes gateway install\nhermes gateway start\nhermes gateway status\n",[26,159,160,169,179],{"__ignoreMap":99},[103,161,162,164,166],{"class":105,"line":106},[103,163,110],{"class":109},[103,165,114],{"class":113},[103,167,168],{"class":113}," install\n",[103,170,172,174,176],{"class":105,"line":171},2,[103,173,110],{"class":109},[103,175,114],{"class":113},[103,177,178],{"class":113}," start\n",[103,180,182,184,186],{"class":105,"line":181},3,[103,183,110],{"class":109},[103,185,114],{"class":113},[103,187,188],{"class":113}," status\n",[15,190,191,192,195,196,199,200,203],{},"Note that ",[26,193,194],{},"hermes gateway start"," only starts a service you've already installed. On a fresh machine, ",[26,197,198],{},"start"," alone does nothing useful; ",[26,201,202],{},"install"," comes first.",[15,205,206,207,211,212,215],{},"If you use the Hermes desktop app or dashboard, ",[208,209,210],"strong",{},"Messaging → Telegram"," has a ",[208,213,214],{},"Create with QR"," button that creates the bot, finds your user ID and writes both lines for you.",[217,218,220],"h3",{"id":219},"what-a-bad-token-looks-like","What a bad token looks like",[15,222,223],{},"We started the gateway with a made-up token to see what happens. It didn't retry quietly. The log said:",[94,225,228],{"className":226,"code":227,"language":129},[127],"Failed to connect to Telegram: The token `123456789:***` was rejected by the server.\nGateway exiting cleanly: telegram: Telegram bot token rejected ... The token\nis invalid or was revoked ... generate a new one with @BotFather and update\nTELEGRAM_BOT_TOKEN.\n",[26,229,227],{"__ignoreMap":99},[15,231,232],{},"The whole gateway shut down, not just Telegram. That matters, because the gateway also runs your cron jobs. One revoked token stops every scheduled task on that profile until you fix it.",[41,234,236],{"id":235},"use-hermes-in-a-group-the-three-gates","Use Hermes in a group: the three gates",[15,238,239],{},[48,240],{"alt":241,"src":242},"Three gates before Hermes replies in a group: Telegram must deliver the message, Hermes must allow the sender, and the mention filter must pass","/img/blog/hermes-agent-telegram-setup-three-gates.jpg",[15,244,245],{},"Add the bot to your group like any member. If it answers in your DM but stays silent in the group, one of these three gates is closed. Check them in this order.",[217,247,249],{"id":248},"gate-1-telegram-has-to-deliver-the-message","Gate 1: Telegram has to deliver the message",[15,251,252],{},"Telegram bots start with privacy mode on. In a group, a privacy-mode bot only sees commands, replies to its own messages and service messages. Hermes can't answer a message Telegram never sends it.",[15,254,255],{},"Two ways to open this gate:",[257,258,259,266],"ul",{},[260,261,262,265],"li",{},[208,263,264],{},"Turn privacy off",": @BotFather → /mybots → your bot → Bot Settings → Group Privacy → Turn off.",[260,267,268,271],{},[208,269,270],{},"Or make the bot a group admin",". Telegram's own FAQ says admin bots \"will receive all messages except messages sent by other bots.\"",[15,273,274,275,278],{},"Then ",[208,276,277],{},"remove the bot from the group and add it again",". Telegram remembers the privacy setting from when the bot joined, and the change won't apply until it rejoins. Skipping this step is the most common reason the fix \"didn't work\".",[217,280,282],{"id":281},"gate-2-hermes-has-to-allow-the-sender-or-the-chat","Gate 2: Hermes has to allow the sender or the chat",[15,284,285,288],{},[26,286,287],{},"TELEGRAM_ALLOWED_USERS"," applies everywhere, including groups. If a teammate isn't on it, Hermes ignores them. For a team bot, allowing the whole group is easier:",[94,290,293],{"className":291,"code":292,"language":129},[127],"TELEGRAM_GROUP_ALLOWED_CHATS=-1001234567890\n",[26,294,292],{"__ignoreMap":99},[15,296,297,298,301,302,305],{},"Any member of that group can now use the bot, without getting DM access. Group IDs are negative and usually start with ",[26,299,300],{},"-100",". If you only want certain people, use ",[26,303,304],{},"TELEGRAM_GROUP_ALLOWED_USERS"," with their user IDs instead.",[15,307,308,309,311,312,66],{},"One trap: older guides put the group's chat ID in ",[26,310,304],{},". Hermes still honours that, but logs a deprecation warning. Move it to ",[26,313,314],{},"TELEGRAM_GROUP_ALLOWED_CHATS",[217,316,318],{"id":317},"gate-3-the-mention-filter","Gate 3: the mention filter",[15,320,321,322,325],{},"By default, ",[26,323,324],{},"require_mention"," is off, so Hermes replies to every group message it can see, without an @mention. If that's what you want, you're done once gates 1 and 2 are open.",[15,327,328,329,332],{},"For a busy group, you'll probably want the opposite. Add this to ",[26,330,331],{},"~/.hermes/config.yaml",":",[94,334,338],{"className":335,"code":336,"language":337,"meta":99,"style":99},"language-yaml shiki shiki-themes github-light","telegram:\n  require_mention: true\n  mention_patterns:\n    - \"^\\\\s*hermes\\\\b\"\n","yaml",[26,339,340,350,362,369],{"__ignoreMap":99},[103,341,342,346],{"class":105,"line":106},[103,343,345],{"class":344},"shJU0","telegram",[103,347,349],{"class":348},"sgsFI",":\n",[103,351,352,355,358],{"class":105,"line":171},[103,353,354],{"class":344},"  require_mention",[103,356,357],{"class":348},": ",[103,359,361],{"class":360},"sYu0t","true\n",[103,363,364,367],{"class":105,"line":181},[103,365,366],{"class":344},"  mention_patterns",[103,368,349],{"class":348},[103,370,372,375,378,381,384,386],{"class":105,"line":371},4,[103,373,374],{"class":348},"    - ",[103,376,377],{"class":113},"\"^",[103,379,380],{"class":360},"\\\\",[103,382,383],{"class":113},"s*hermes",[103,385,380],{"class":360},[103,387,388],{"class":113},"b\"\n",[15,390,391,392,395],{},"Now Hermes only answers an @mention, a reply to one of its messages, a ",[26,393,394],{},"/command@yourbot",", or a message that starts with \"hermes\". The wake word is a regular expression and isn't case-sensitive.",[15,397,398,399,401,402],{},"If your agent should be online for a team around the clock, a laptop running ",[26,400,32],{}," won't cut it. That's where a hosted agent is simpler: BetterClaw connects an agent to Telegram with the same BotFather token and runs it on our servers. ",[403,404,408],"a",{"href":405,"rel":406},"https://betterclaw.io",[407],"nofollow","Start your first agent.",[41,410,412],{"id":411},"use-hermes-in-topics","Use Hermes in topics",[15,414,415],{},"Topics come in two flavours, and they're set up differently.",[217,417,419],{"id":418},"topics-in-a-group-forum-groups","Topics in a group (forum groups)",[15,421,422],{},[48,423],{"alt":424,"src":425},"Every topic in a Hermes forum group gets its own session: separate history, separate context, no extra config needed","/img/blog/hermes-agent-telegram-setup-topics.jpg",[15,427,428],{},"Turn on Topics in the group's settings. Hermes then gives each topic its own session automatically: separate history, separate context. There's nothing to configure.",[15,430,431],{},"Three optional settings make topics more useful:",[257,433,434,452,460],{},[260,435,436,439,440,443,444,447,448,451],{},[208,437,438],{},"Reply without @mentions in one topic only",", while the rest of the group needs them: ",[26,441,442],{},"free_response_topics"," takes ",[26,445,446],{},"chat_id:thread_id"," pairs (the General topic is ",[26,449,450],{},"1",").",[260,453,454,357,457,66],{},[208,455,456],{},"Keep Hermes silent in some topics",[26,458,459],{},"ignored_threads",[260,461,462,465,466,469,470,473],{},[208,463,464],{},"Load a skill automatically in a topic",", under ",[26,467,468],{},"platforms.telegram.extra.group_topics"," with the topic's ",[26,471,472],{},"thread_id"," and a skill.",[94,475,477],{"className":335,"code":476,"language":337,"meta":99,"style":99},"telegram:\n  require_mention: true\n  free_response_topics:\n    - \"-1001234567890:5\"\n  ignored_threads:\n    - 42\n",[26,478,479,485,493,500,507,515],{"__ignoreMap":99},[103,480,481,483],{"class":105,"line":106},[103,482,345],{"class":344},[103,484,349],{"class":348},[103,486,487,489,491],{"class":105,"line":171},[103,488,354],{"class":344},[103,490,357],{"class":348},[103,492,361],{"class":360},[103,494,495,498],{"class":105,"line":181},[103,496,497],{"class":344},"  free_response_topics",[103,499,349],{"class":348},[103,501,502,504],{"class":105,"line":371},[103,503,374],{"class":348},[103,505,506],{"class":113},"\"-1001234567890:5\"\n",[103,508,510,513],{"class":105,"line":509},5,[103,511,512],{"class":344},"  ignored_threads",[103,514,349],{"class":348},[103,516,518,520],{"class":105,"line":517},6,[103,519,374],{"class":348},[103,521,522],{"class":360},"42\n",[15,524,525,526,529],{},"To find a topic's thread_id, open it in Telegram Web or Desktop. The last number in the link ",[26,527,528],{},"t.me/c/1234567890/5"," is the thread ID.",[217,531,533],{"id":532},"topics-in-your-dm-with-the-bot","Topics in your DM with the bot",[15,535,536,537,540,541,544,545,66],{},"Telegram now lets bots have topics inside a private chat, which turns one DM into several parallel workspaces. Hermes supports two versions: send ",[26,538,539],{},"/topic"," in the DM to create topics as you go, or declare a fixed list under ",[26,542,543],{},"dm_topics"," in ",[26,546,547],{},"config.yaml",[15,549,550,551,554,555,558,559,66],{},"Both need ",[208,552,553],{},"Threaded Mode"," switched on for the bot. This is where people get stuck: it isn't in the classic ",[26,556,557],{},"/mybots"," menu. Open the BotFather Mini App instead (search \"botfather\" and tap Open), then ",[208,560,561],{},"My bots → your bot → Bot Settings → Threads Settings",[15,563,564,565,568],{},"Without it, Hermes logs ",[26,566,567],{},"The chat is not a forum"," and skips topic creation.",[41,570,572],{"id":571},"deliver-cron-results-to-telegram","Deliver cron results to Telegram",[15,574,575],{},"Scheduled jobs can post straight into a chat. We created this one on v0.22.5:",[94,577,579],{"className":96,"code":578,"language":98,"meta":99,"style":99},"hermes cron create \"0 8 * * *\" \"Write a morning briefing: today's calendar,\nunread priority email, and top 3 tasks. Keep it under 150 words.\" --name\n\"Morning briefing\" --deliver telegram:-1001234567890\n",[26,580,581,597,605],{"__ignoreMap":99},[103,582,583,585,588,591,594],{"class":105,"line":106},[103,584,110],{"class":109},[103,586,587],{"class":113}," cron",[103,589,590],{"class":113}," create",[103,592,593],{"class":113}," \"0 8 * * *\"",[103,595,596],{"class":113}," \"Write a morning briefing: today's calendar,\n",[103,598,599,602],{"class":105,"line":171},[103,600,601],{"class":113},"unread priority email, and top 3 tasks. Keep it under 150 words.\"",[103,603,604],{"class":360}," --name\n",[103,606,607,610,613],{"class":105,"line":181},[103,608,609],{"class":109},"\"Morning briefing\"",[103,611,612],{"class":360}," --deliver",[103,614,615],{"class":113}," telegram:-1001234567890\n",[15,617,618],{},"Delivery targets:",[257,620,621,636,642],{},[260,622,623,625,626,629,630,544,633,66],{},[26,624,345],{}," sends to your home channel. Set it with ",[26,627,628],{},"/sethome"," in any chat, or ",[26,631,632],{},"TELEGRAM_HOME_CHANNEL",[26,634,635],{},".env",[260,637,638,641],{},[26,639,640],{},"telegram:\u003Cchat_id>"," sends to a specific chat.",[260,643,644,647],{},[26,645,646],{},"telegram:\u003Cchat_id>:\u003Cthread_id>"," sends into a specific topic.",[15,649,650,651,654,655,658],{},"Two things we hit while testing. First, the schedule ",[26,652,653],{},"\"every 1d at 08:00\"",", which appears in some guides, failed with \"Invalid duration\". Use a cron expression like ",[26,656,657],{},"\"0 8 * * *\""," instead. Second, the job saved fine with no gateway running, but Hermes warned \"Scheduler is not ready\". A job only fires while the gateway runs.",[15,660,661,662,666],{},"If a scheduled job runs but nothing arrives, our ",[403,663,665],{"href":664},"/blog/hermes-cron-not-working","Hermes cron troubleshooting guide"," covers every cause.",[41,668,670],{"id":669},"fix-common-telegram-errors","Fix common Telegram errors",[15,672,673],{},[48,674],{"alt":675,"src":676},"Three common Hermes Telegram errors and their fixes: 409 Conflict, rejected token, and silent group bot","/img/blog/hermes-agent-telegram-setup-errors.jpg",[678,679,680,696],"table",{},[681,682,683],"thead",{},[684,685,686,690,693],"tr",{},[687,688,689],"th",{},"What you see",[687,691,692],{},"Cause",[687,694,695],{},"Fix",[697,698,699,711,725,736,749,768,779],"tbody",{},[684,700,701,705,708],{},[702,703,704],"td",{},"\"409 Conflict\" in the gateway log",[702,706,707],{},"Two processes are polling the same bot token",[702,709,710],{},"Stop the duplicate gateway",[684,712,713,716,719],{},[702,714,715],{},"\"The token … was rejected by the server\" and the gateway exits",[702,717,718],{},"Wrong or revoked token",[702,720,721,722],{},"Get a new token from BotFather and update ",[26,723,724],{},"TELEGRAM_BOT_TOKEN",[684,726,727,730,733],{},[702,728,729],{},"Works in DMs, silent in the group",[702,731,732],{},"Privacy mode on, or the bot joined before you changed it",[702,734,735],{},"Turn privacy off or make it admin, then remove and re-add the bot",[684,737,738,741,744],{},[702,739,740],{},"Replies to some people, ignores others",[702,742,743],{},"Sender not allowlisted",[702,745,746,747],{},"Add the group to ",[26,748,314],{},[684,750,751,754,759],{},[702,752,753],{},"Ignores normal messages but answers @mentions",[702,755,756],{},[26,757,758],{},"require_mention: true",[702,760,761,762,765,766],{},"Expected; add a wake word in ",[26,763,764],{},"mention_patterns",", or list the topic in ",[26,767,442],{},[684,769,770,773,776],{},[702,771,772],{},"Cron result never arrives in the group",[702,774,775],{},"Wrong chat ID (positive instead of -100...)",[702,777,778],{},"Copy the group ID again; groups are negative numbers",[684,780,781,784,787],{},[702,782,783],{},"\"The chat is not a forum\"",[702,785,786],{},"Threaded Mode is off",[702,788,789],{},"Turn it on in the BotFather Mini App",[15,791,792],{},"Running more than one Hermes bot in the same group? Give each profile its own token. Reusing a token across gateways is exactly what triggers the 409.",[41,794,796],{"id":795},"telegram-agents-without-a-server-betterclaw","Telegram agents without a server (BetterClaw)",[15,798,799],{},"Everything above assumes a machine that stays on. If the gateway stops, so does your bot and every scheduled job behind it.",[15,801,802,803,806],{},"On BetterClaw, you paste the same BotFather token into ",[208,804,805],{},"Settings → Integrations",", pick which agent answers, and choose who can message it. The agent runs on our servers, connects to 500+ apps, and uses any of 28+ model providers on your own key with zero markup.",[15,808,809],{},"Setting Hermes up on other chat apps too? We have guides for Discord and Slack.",[15,811,812],{},[208,813,814,815],{},"Your agent in Telegram, Slack, Discord and Gmail, 24/7. ",[403,816,408],{"href":405,"rel":817},[407],[41,819,821],{"id":820},"frequently-asked-questions","Frequently Asked Questions",[15,823,824,827,828,830,831,544,833,835,836,839,840,842,843,846,847,849],{},[208,825,826],{},"How do I connect Hermes Agent to Telegram?"," Create a bot with @BotFather, then put ",[26,829,724],{}," and your numeric ",[26,832,287],{},[26,834,28],{},", or run ",[26,837,838],{},"hermes gateway setup",". Start it with ",[26,841,32],{}," to test, then ",[26,844,845],{},"hermes gateway install"," and ",[26,848,194],{}," to keep it running.",[15,851,852,855,856,858],{},[208,853,854],{},"Can Hermes reply in a Telegram group without an @mention?"," Yes. That's the default: with ",[26,857,324],{}," off, Hermes answers every group message it receives. Telegram only delivers those messages if the bot's privacy mode is off or the bot is an admin, so change that and re-add the bot to the group.",[15,860,861,864,865,867,868,870],{},[208,862,863],{},"Does Hermes support Telegram topics?"," Yes. In a group with Topics turned on, each topic automatically gets its own Hermes session. In a private chat, ",[26,866,539],{}," or ",[26,869,543],{}," creates topics too, once Threaded Mode is enabled in the BotFather Mini App.",[15,872,873,876,877,880,881,883,884,886],{},[208,874,875],{},"Why is my Hermes Telegram bot not replying?"," Check the gateway is running (",[26,878,879],{},"hermes gateway status",") and the token wasn't rejected. In groups, check privacy mode, re-add the bot after changing it, allow the group with ",[26,882,314],{},", and check whether ",[26,885,324],{}," is on.",[888,889,890],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}",{"title":99,"searchDepth":171,"depth":171,"links":892},[893,894,897,902,906,907,908,909],{"id":43,"depth":171,"text":44},{"id":82,"depth":171,"text":83,"children":895},[896],{"id":219,"depth":181,"text":220},{"id":235,"depth":171,"text":236,"children":898},[899,900,901],{"id":248,"depth":181,"text":249},{"id":281,"depth":181,"text":282},{"id":317,"depth":181,"text":318},{"id":411,"depth":171,"text":412,"children":903},[904,905],{"id":418,"depth":181,"text":419},{"id":532,"depth":181,"text":533},{"id":571,"depth":171,"text":572},{"id":669,"depth":171,"text":670},{"id":795,"depth":171,"text":796},{"id":820,"depth":171,"text":821},"Guides","2026-10-28","Connect Hermes Agent to Telegram: create the bot, add the token, use it in groups and topics without @mentions, and fix the common errors.","md",false,"/img/blog/hermes-agent-telegram-setup.jpg",null,{},true,"/blog/hermes-agent-telegram-setup","9 min read",{"title":5,"description":912},"blog/hermes-agent-telegram-setup",[924,925,926,927,928,929,930],"hermes agent telegram setup","hermes telegram","hermes telegram topics","hermes agent telegram topics","hermes telegram group topics","hermes telegram allowlist","hermes telegram 409 conflict","xQxjGbU8D8AdKgPz49u8x3X1WTXjfMVKvu6xIEFqb2E",[933,941,947],{"stem":934,"title":935,"description":936,"date":911,"image":937,"category":938,"redirected":914,"author":939,"readingTime":940},"blog/hermes-cron-not-working","Hermes Cron Job Not Working? Every Cause and the Fix","Hermes cron job not running, timing out or delivering nothing? Check the gateway, schedule, delivery target and timeouts. Every cause and the fix.","/img/blog/hermes-cron-not-working.jpg","Troubleshooting",{"name":7,"role":8,"avatar":9,"bio":10},"11 min read",{"stem":942,"title":943,"description":944,"date":911,"image":945,"category":910,"redirected":914,"author":946,"readingTime":940},"blog/hermes-soul-md-guide","Hermes SOUL.md: Where It Lives, a Template, and Examples","Where Hermes Agent's SOUL.md lives, how it differs from AGENTS.md, a copy-paste template, examples, and how to share one SOUL.md across profiles.","/img/blog/hermes-soul-md-guide.jpg",{"name":7,"role":8,"avatar":9,"bio":10},{"stem":948,"title":949,"description":950,"date":911,"image":951,"category":938,"redirected":914,"author":952,"readingTime":953},"blog/hermes-update-failed","Hermes Update Failed or Broke Your Setup? Fix It and Roll Back","Hermes update failed, stuck or broke your config? Back up first, read the update log, migrate config, roll back to a working version. Every fix.","/img/blog/hermes-update-failed.jpg",{"name":7,"role":8,"avatar":9,"bio":10},"10 min read",1793257085351]