How to set up the Angie template, a Telegram assistant that reads your Gmail, checks your calendar, and pulls tasks from Baserow, plus the security setting you must change first.
"Angie, personal AI assistant with Telegram voice and text" by n8n creator derekcheungsa has more than 428,000 views on n8n.io. You message a Telegram bot, by typing or by sending a voice note, and it summarizes your recent email, lists your calendar, and answers questions about your task list and contacts.
Of the five templates in this series, this one touches the most sensitive data. It reads your inbox. One setting stops strangers from using it, and it ships with a placeholder value. Set that first.
A Telegram Trigger starts the workflow on each incoming message. An IF node compares the sender's Telegram ID to an allow-list value, and any other sender stops there. A second branch checks whether the message is voice or text. Voice messages download through the Telegram node and go to OpenAI's speech-to-text for transcription.
The text reaches the agent, named Angie, running on an OpenAI chat model with Simple Memory that holds the last 10 messages under one fixed session key. Angie has four tools: Gmail (get many messages), Google Calendar (get many events), and two Baserow tables, one for tasks and one for contacts. Her system message tells her to skip promotional emails, to list sender, date, subject, and a short summary for each email, to assume "today" when you give no date, and to ignore calendar events that do not fit the question. A Telegram node sends the answer back.
/newbot, and copy the token into an n8n "Telegram API" credential.The AllowList node holds the placeholder value <chat id>. Replace it with your own numeric Telegram user ID. Message a bot such as @userinfobot to get it. The IF node compares every sender against this value. Anyone who finds your bot's username can message it, so this check is the only thing between a stranger and a summary of your email. Test it by messaging the bot from a second Telegram account and confirming you get no reply.
The Tasks and Contacts nodes carry the author's database and table IDs. Select your own database and tables from the dropdowns. Then read the column names in your tables, because the agent builds its queries from them. Plain names like Task, Due, Status, Name, Email, and Phone work better than internal codes.
The Google Calendar node holds user@example.com as the calendar. Pick your own from the list. If you keep separate work and personal calendars, duplicate the node and give each a clear tool description.
The Gmail node has no filters in the template. The system message asks the agent to drop promotional mail, and the agent applies that after it fetches the messages. Add a Gmail label or query filter, such as in:inbox newer_than:2d, and set a result limit. Fewer messages means a smaller token bill and quicker replies.
"You are a helpful assistant" is a starting point. Add your name, your time zone, the format you want for summaries, and the topics Angie must not discuss. Add your working hours so she can answer "when am I free tomorrow".
Voice notes cost a transcription call each. If you never use voice, delete that branch. The memory node uses the fixed session key angie_session_default, which suits one user. For several users, set the session key to the sender's Telegram ID. Replace Simple Memory with a persistent store if you want Angie to remember yesterday's chat after a restart.
The template reads mail and cannot write it. That is a safe default. Think hard before adding a send-email tool. A prompt-injection attack in an incoming email could try to steer an agent that can reply on your behalf.
Yes, with changes. The allow-list holds a single ID and the memory uses one fixed session key. Replace the ID with a list, set the session key to each sender's Telegram ID, and give each person their own Gmail and Calendar credentials. Otherwise the bot reads one person's mail for everyone.
Yes. The text of the messages Angie fetches goes to OpenAI's API as part of the prompt. Read OpenAI's API data policy and your own client confidentiality rules before connecting a work inbox.
Yes. Delete the two Baserow tool nodes, add Airtable or Google Sheets tool nodes, and describe each one in plain language in its tool description.
Tell us which workflow you need. We set up the credentials, adapt the template to your business, and document it so your team can run it.
Start a Project →