Announce to everyone who subscribed on Telegram
People opt in with /subscribe, their chat is kept in Baserow, and your /announce goes out to all of them at once.
What it does
The integration steps this workflow runs, in the order it first runs them.
- 1
TelegramNew message trigger - 2
TelegramSend message - 3
BaserowList rows - 4
BaserowCreate row - 5
BaserowDelete row
How it works
Everything the template sets up, and what to fill in before the first run.
People opt in by sending your Telegram bot /subscribe, their chat is recorded in a Baserow table, and when you send /announce followed by your message it goes out to everyone on that table. It is an announcement list, not a group: each person gets the message in their own chat with the bot.
Only an explicit /subscribe puts anyone on the list. Messaging the bot for any other reason never does, and there is no way to add someone from the outside. Subscribing has to happen in a one-to-one chat with the bot - Telegram gives a private chat the same ID as the person in it, which is how the workflow can tell - so a /subscribe sent in a group is refused rather than signing the whole group up. /unsubscribe deletes the row there and then, and someone who has unsubscribed is gone from the next announcement; if the delete fails they are told they are still subscribed rather than told they are off the list.
An announcement is your words and only your words. No AI writes, rewrites or summarises any part of it - what you type after /announce is what is sent, plus one fixed line telling people how to unsubscribe. Only the Telegram user ID in the 'ownerUserId' step can send one, and only from a direct message, so an /announce typed by anyone else is refused and nothing goes out.
Sending cannot be undone, so the run is bounded before it starts. A chat ID stored twice is messaged once. 'maxRecipients' caps how many people one run can reach and the list is cut to that length before any message is sent, so a mistake reaches at most that many people; afterwards you get a report saying how many were reached, how many could not be delivered, and whether the cap held anyone back. One delivery failing does not stop the rest.
Your table needs three columns, named ChatId, Name and Subscribed - the workflow always uses those three names and cannot be pointed at differently named ones. Baserow returns at most 200 rows per read, so a list longer than that is only partly reached, and the report says so.
This is the one template that wants the trigger's chat ID left blank, because subscriptions arrive as direct messages from people you cannot list in advance. Blank means the trigger fires for every message your bot receives in every chat it has been added to - it does not stay quiet, it sees all of them. Nothing happens for a message that is not one of the three commands, but bear it in mind before adding this bot to a busy group. Put your own numeric Telegram user ID in 'ownerUserId' and your table's ID in 'subscriberTableId' before the first run.
Start from a workflow that already works.
Add "Announce to everyone who subscribed on Telegram" to your workspace, connect its apps, and make it yours. No credit card required.
Free plan available · No credit card required
