Skip to content

Build a Personal Assistant Bot with n8n and Telegram

This page may contain affiliate links.

You know that feeling when your phone buzzes with yet another notification, and you sigh because it's just another app screaming for attention? A personal assistant bot is different. It's the one notification you actually want — the reminder you set, the weather update before you leave the house, or the quick answer to a question you'd otherwise spend ten minutes Googling. And you don't need a £50-a-month enterprise platform to build one. With n8n (a self-hosted automation tool) and Telegram (the free messaging app), you can build a genuinely useful assistant in an afternoon. Here's how.

Why n8n + Telegram is the right combo

n8n is a workflow automation tool — think Zapier, but you host it yourself (or use their cloud). It's brilliant for this because it lets you connect hundreds of services without writing code, and it gives you full control over your data. Telegram is the perfect front end: it's free, works on every device, and has a simple bot API that n8n plugs into beautifully. Together, they give you a private, always-on assistant that lives in your pocket.

The best part? You can start with a free n8n instance on your own computer or a cheap VPS, and Telegram costs nothing. If you're already paying for a server for other projects, this costs you £0 a month.

Setting up your Telegram bot

First, you need a bot token. Open Telegram and search for @BotFather — that's the official bot that creates bots. Send it /newbot, give your bot a name (like 'My Assistant') and a username (something like my_assistant_bot). BotFather will reply with a token that looks like 123456:ABC-DEF.... Copy that somewhere safe — it's the key to your bot.

Next, find your chat ID. The easiest way is to message your bot once (just say 'hi'), then visit https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates in your browser. You'll see a JSON response with your chat ID in it. Save that too.

Now, in n8n, create a new workflow with a Telegram Trigger node. Paste in your token, and set the trigger to fire on 'message'. That's the foundation — every time you message your bot, n8n wakes up.

Your first workflow: a smart reminder bot

Let's build something useful immediately. You'll send your bot a message like 'remind me to call the plumber at 3pm', and it will reply at 3pm with a nudge. Here's the flow:

  1. Telegram Trigger — receives your message.
  2. Code node — extracts the reminder text and time. Use this snippet:
const text = $input.item.json.message.text;
const match = text.match(/remind me to (.+) at (\d{1,2}(?::\d{2})?)\s*(am|pm)?/i);
if (match) {
  const task = match[1];
  const timeStr = match[2] + (match[3] ? ' ' + match[3] : '');
  const now = new Date();
  const [hours, minutes = 0] = timeStr.replace(/\s*(am|pm)/i, '').split(':').map(Number);
  const isPM = /pm/i.test(match[3] || '');
  let reminderTime = new Date(now);
  reminderTime.setHours(isPM && hours < 12 ? hours + 12 : hours, minutes, 0, 0);
  if (reminderTime <= now) reminderTime.setDate(reminderTime.getDate() + 1);
  return { task, reminderTime: reminderTime.toISOString() };
} else {
  return { task: null };
}
  1. IF node — check if a task was found. If not, reply with a helpful message like 'Format: remind me to [task] at [time]'.
  2. Wait node — set it to 'Until Time' and use the reminderTime from the code node.
  3. Telegram node — send a message: '⏰ Reminder: ' + task.

Test it. Send 'remind me to water the plants at 6pm' and watch it work. This alone is genuinely handy — but we're just getting started.

Adding AI: ask your bot anything

Now let's make it smarter. Connect your bot to an AI model like OpenAI's GPT or Anthropic's Claude (both have n8n nodes). The flow is simple:

  1. Telegram Trigger — catches your message.
  2. OpenAI node — set the model, and in the prompt field, use an expression like {{ $json.message.text }} to pass your message through.
  3. Telegram node — send the AI's reply back to you.

That's it — you've got a ChatGPT-style assistant in Telegram. You can refine it with a system prompt. For example, tell it: 'You are a helpful UK-based assistant. Answer concisely. Use British spellings.' Then ask it things like 'What's the best way to complain about a noisy neighbour?' or 'Convert 200 dollars to pounds' — it'll give you sensible, local answers.

You can also add a Switch node to route messages: if a message starts with 'remind', send it to the reminder flow; if it starts with 'weather', call a weather API; otherwise, send it to the AI. This turns your bot into a proper multi-tool.

Going further: daily digests and voice messages

Once you've got the basics, the possibilities multiply. Here are three ideas that cost nothing extra:

  • Morning digest — schedule a workflow at 7am that pulls your calendar events, the weather forecast for your postcode (use the OpenWeatherMap node), and your top three emails, then sends it as a tidy summary.
  • Voice messages — Telegram can send you audio. Add a node that transcribes voice notes using Whisper (n8n has a node for it), then run the text through your AI. You can literally speak a reminder and have it set.
  • Price watch — use n8n's HTTP Request node to check a product price on Amazon UK and notify you when it drops below a threshold. That's a proper side-hustle move if you're flipping items.

For the hardware side, if you want your bot to run 24/7 without keeping your laptop on, a small always-on device is worth it. A Raspberry Pi 5 (around £60) is the classic choice — you can grab one on Amazon UK. Or if you prefer something with more power for running local AI models, an NVIDIA Jetson Nano is a step up. But honestly, for n8n alone, a £5-a-month VPS is simpler and uses less electricity.

Speaking of shortcuts — if you'd rather skip the fiddly setup and get straight to a working assistant, I've put together a small pack of n8n Starter Workflows. They're plug-and-play templates you import in minutes — including a Telegram assistant with the reminder and AI bits already wired up. From £9, it's a bargain compared to the hours you'd spend debugging. Just sayin'.

Keeping it secure and reliable

Two quick tips before you launch. First, keep your bot token secret — anyone with it can control your bot. Store it in n8n's credentials vault, not in plain text in a node. Second, if you're self-hosting n8n, make sure your instance has a static IP or a reverse proxy (like Caddy or Nginx) so Telegram can reach you reliably. If you're using n8n Cloud, you can skip that entirely.

Also, be mindful of Telegram's rate limits — you can send about 20 messages per minute per bot, which is plenty for personal use. And if you ever want to add more users (say, for a family group), you can — just whitelist chat IDs in an IF node so random people can't use your bot.

Wrapping up

Building a personal assistant bot with n8n and Telegram is one of those projects that feels like magic the first time it works — and then becomes genuinely indispensable. You start with reminders, add AI, and before you know it you're automating your whole day. The best part is that it's all under your control, costs almost nothing, and you can tweak it endlessly. So fire up n8n, create your bot, and start automating. Your future self will thank you.

Written by

Richard Tucker

View all posts →