Skip to content

Automation

Automate Telegram work in TelegramOS: tasks, campaigns and flows with built-in pacing and account-safety limits that keep sending inside Telegram's rules.

Automation is the core of the platform. You can schedule messages, build multi-step campaigns, and set up auto-reply rules. All with anti-ban pacing that protects your accounts.

Three primitives

PrimitiveScopePersistence
TaskOne-shot action to a single targetExecutes once, then archived
CampaignMulti-step sequence across targetsPersists until all steps complete or you cancel
FlowRecurring or event-triggered ruleRuns indefinitely until paused or deleted

Task types

TypeDescription
send_dmSend a direct message to a user
send_groupSend a message to a group or channel
join_groupJoin a Telegram group by invite link
leave_groupLeave a Telegram group
reactReact to a message with an emoji
forwardForward a message from one chat to another
schedule_broadcastSchedule a broadcast to multiple recipients

Warm-up schedule

Every new account starts in warming and can send right away on a small hourly budget. The budget steps up with the days since warm-up started, and after day 5 the account is promoted to active automatically:

StageDaysHourly budget
starter03
light18
moderate2-315
pre-active4-525
activeafter day 530

Rented accounts keep the warm-up progress they made in the pool: an account that is already active there is handed over active, and one that is still warming continues from where it is.

Skipping and setbacks. POST /api/accounts/{id}/skip-warmup ends the warm-up early by moving its clock back: owned accounts any time, rented accounts after 3 days. A warming account that hits a flood-wait drops back one stage (its clock moves about 1.5 days later).

Anti-ban guardrails

Human-like pacing

Every action waits a random, human-like delay before it runs: send 3-8 s, reply 2-6 s, forward 4-10 s, auto-reply 2-8 s, join 5-15 s. The delay is 2.5× longer while the account is not active.

Campaigns also stagger their targets: the gap between one target and the next is drawn at random from 15-90 s. Each campaign cycle then repeats after its interval_minutes, shifted by a fixed per-account offset. Mass DM waits 45-120 s between messages by default.

Global 10/sec ceiling

The platform sends at most 10 messages per second across all accounts combined. This ceiling applies across all task types (DMs, groups, broadcasts).

Flood-wait detection

When Telegram returns a FLOOD_WAIT error, the runtime:

  1. Records the wait duration from the error response.
  2. Puts a flood-wait gate on the account. The account status does not change. The gate lasts the wait plus 1-5 s for active accounts, the wait × 2.5 plus 30-90 s for warming accounts, and the wait × 3 plus 20-60 s for trial accounts, never less than 60 s.
  3. Puts the failed task back in the queue with a later start time instead of dropping it. The account's other queued tasks wait behind the gate.
  4. Stops the campaign from creating new tasks for that target for a while.
  5. Moves a warming account back one warm-up stage.

Example: Telegram asks for 420 s. An active account is gated for about 421-425 s, a warming account for about 1080-1140 s.

Each flood-wait in the last 7 days costs 15 health points, capped at 45.

Figure 3. Human-like delays and a random gap between targets pace every send; a flood-wait gates the account without changing its status.

Health-score gating

Automation execution is gated on account health scores (the bands are drawn under Accounts › Health score):

  • 80-100: All tasks, campaigns, and flows execute normally.
  • 50-79: New bulk-send tasks are refused. DMs, replies, and group messages are unaffected.
  • 25-49: Bulk send and group join tasks are refused. DMs and replies unaffected.
  • 1-24: Outbound is paused. Existing connections stay open but no new sends are attempted.
  • 0: Account is suspended. Automations are not scheduled for it.

Auto-reply rules

Auto-reply rules let you define automatic responses to incoming DMs. Rules are evaluated in order, and only the first matching rule fires.

Match typeDescriptionExample
exactMessage text exactly equals the trigger"Help" triggers reply
containsMessage text contains the trigger substring"price" in "What is the price?" triggers reply
regexMessage text matches a JavaScript regex pattern`/^(hihello)/i` triggers reply
anyAny incoming DM triggers the replyCatch-all for out-of-office

Each auto-reply rule has:

  • Trigger: the match pattern (not used for any type)
  • Match type: one of exact, contains, regex, any
  • Reply text: the message to send back (max 1000 characters)
  • Cooldown: replies are spaced per chat, not per sender: 60 seconds for static rules, 12 seconds for AI/connector rules. Messages that arrive during the cooldown are folded into the pending reply, not dropped
  • Enabled: toggle to activate or deactivate the rule

Acceptable use policy for automation

Automation must comply with Telegram's Terms of Service. Specifically:

  • Outreach to people who have not written to you first is limited by the platform. Each account has hourly and daily send limits, lower for first contacts (10 per hour and 40 per day by default) than for replies (60 per hour and 300 per day by default). A contact is messaged by only one of your accounts unless you switch that rule off for an account. In Mass DM, a first message goes only to someone who shares a group with the sending account, and a recipient who replies with a stop word such as "stop" or "unsubscribe" is added to your suppression list and skipped by later Mass DM jobs. An account that Telegram has restricted is switched to reply-only and cannot start new conversations. Do not raise or switch off these limits to send bulk messages that the recipients did not ask for.
  • Do not automate joining groups for the purpose of spamming.
  • The scraper reads messages only in the groups whose links you submit, up to 200 links per job and 3000 messages per group, and extracts the contact details posted in those messages. Do not use the Service to collect personal data in any other way. You are responsible for having a lawful basis for collecting and using that data.
  • Do not operate networks of accounts for coordinated inauthentic behavior.
  • Do not send illegal content, malware or phishing, and do not use automation to defraud, harass or impersonate anyone.

Violations of this policy may result in account suspension and forfeiture of your subscription balance.

Report an issue with this page