Skip to content

The moment it happens

Run a support inbox and broadcasts through your bot

Messages to your bot reach your admin chat, you reply from there, and you can message everyone who started the bot.

Runs
The moment it happens
Apps
Telegram
AI
Not needed
Access
bot token

Send this to your assistant

Create a ClickRuntime automation: forward every message sent to my Telegram bot to my admin chat, send my replies back to the right person, and let me send /broadcast to message all users.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A small business or a community leader gives customers a Telegram bot as a contact point, and then gets stuck. Messages arrive in a bot chat that cannot reply properly, and there is no way to see who has written before. Announcements need to be sent to everyone one by one, so news about a delivery delay or a sale reaches only a fraction of the audience.

ClickRuntime stores each user's chat ID when they start the bot, forwards their messages to you with forwardMessage, routes your replies back to the right person and, with the /broadcast command, sends an announcement to everyone who has started the bot. Broadcasts respect Telegram's rate limits, so large lists are sent in batches.

It suits small shops, creators and community admins who want a lightweight help desk inside Telegram.

What you get out of it

  • Customers get real replies

    People write to the bot and receive an answer from you in the same chat. Support feels personal, and customers do not have to switch to email or phone. Personal answers also make people far more willing to come back and write again.

  • You see every message in one place

    All messages arrive in your admin chat with the sender's name. You can answer them in order and nobody falls through the cracks. Order of arrival stays clear, which makes it easy to share the load with a colleague.

  • Announcements reach everyone

    A broadcast delivers news to every subscriber at once. Delays, sales and policy changes arrive quickly, which cuts the number of confused questions that follow. One message instead of hundreds also saves you a long afternoon of copying and pasting.

  • Rate limits are respected

    Sending in batches within Telegram's limits avoids blocks and failed deliveries. Large lists still go out reliably, instead of stopping halfway through. Failed sends are a real risk when a bot pushes too fast, so pacing the messages protects you.

  • Subscribers are stored for later

    The list of chat IDs lets you reach people who have started the bot at any time. You build an owned audience without collecting emails. Unlike a social following, this audience is reachable whenever you decide to write.

How it works

What happens, step by step

  1. When a customer messages your Telegram bot, ClickRuntime remembers their chat and forwards the message to you.

  2. When you reply to a forwarded message, the bot sends your answer back to that customer.

  3. When you send /broadcast with a message, the bot sends it to everyone who has chatted with it, pacing itself to stay within Telegram's limits.

Before it runs live

  • Connect Telegram
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Run a support inbox and broadcasts through your botjust nowSucceeded
Telegram · Admin chatForwarded from Dana: Is the Acme bundle still on sale? You: Yes, until Friday.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Telegram steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
support_inbox_and_broadcast_bot.pyexample
from clickruntime import on_event, http, credentials, state

ADMIN_CHAT = "ADMIN_CHAT_ID"

def tg(method, **params):
    r = http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/{method}", json=params)
    r.raise_for_status()
    return r.json()["result"]

@on_event
def handle(event):
    msg = (event.json or {}).get("message") or {}
    chat, text = str(msg.get("chat", {}).get("id")), msg.get("text", "")
    if chat == ADMIN_CHAT and text.startswith("/broadcast "):
        users = state.get("users") or []
        for u in users:
            tg("sendMessage", chat_id=u, text=text[11:])
        return {"broadcast": len(users)}
    if chat == ADMIN_CHAT and msg.get("reply_to_message"):
        user = state.get(f"fwd:{msg['reply_to_message']['message_id']}")
        if user:
            tg("sendMessage", chat_id=user, text=text)
        return {"replied": bool(user)}
    users = state.get("users") or []
    if chat not in users:
        state.set("users", users + [chat])
    fwd = tg("forwardMessage", chat_id=ADMIN_CHAT, from_chat_id=chat, message_id=msg["message_id"])
    state.set(f"fwd:{fwd['message_id']}", chat)
    return {"forwarded": True}

FAQ

Common questions

Can customers opt out of broadcasts?
Yes. A /stop command can remove a chat ID from the list, and a person can block the bot at any time. Offering an easy way out keeps your audience happy and respects expectations. That keeps it fair and reduces complaints.
How do I reply to a specific customer?
Reply directly to the forwarded message in your admin chat. The bot reads the reference to the original message and sends your text back to the right person. No IDs need to be typed by hand.
How many subscribers can a broadcast reach?
Telegram allows roughly 30 messages per second to different users, so a list of a few thousand finishes within minutes. The broadcast is spread over several runs when the list is large, so nothing is cut off.
What permissions does it need?
bot token. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Run a support inbox and broadcasts through your bot” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.