From sign-up to your first Telegram outreach campaign in 7 steps
The minimum path every new user goes through. Each step below has a detailed section with fields, tips and gotchas.How it looks in numbers — the funnel on 40 accounts.
- 01
Sign up
On the /register page fill in "Login", "Email — for account recovery", "Password", "Confirm password" and click "Sign up". You land in the "Subscription" section right away.
- 02
Pay for the plan
In the "Subscription" section ("Account" menu) click "Pay", use the "Copy" button to copy the wallet address and the exact amount, then send USDT on the TRON network (TRC20). In 1–3 minutes the status turns "Active" and the dashboard sections open.
- 03
Add proxies
"Proxies" section ("Resources" menu) → "Add proxy" → paste the list (one proxy per line) → "Add" → "Select all" → "Check". Upload proxies before accounts.
- 04
Upload accounts
"Accounts" section → "Upload folder" → "Select the folder with accounts" (inside it — subfolders with tdata or .session). After a couple of minutes click "Refresh", then select the accounts and run the "SpamBot check".
- 05
Warm up the accounts
In "Accounts" select them and click "Assign group", then in the "Warm-up" section ("Automation" menu) click "Start warm-up", pick the group and wait for the "Completed" badge.
- 06
Collect an audience
"Scraping" section → "New scrape" → pick the mode and enter the chat/channel → once the status is "Done" click "To audience". You can also run the username list through the "Checker" and save it with the "Save to audience" button.
- 07
Launch the campaign
"Campaigns" section → "New DM campaign" → fill in "Campaign name" and "Message template", pick "Audience for the campaign", set "Max sends per account per day" to 3–5 → "Create campaign" → click "Start" in the list. Read replies in "Inbox" (the "Fetch" button) and "Conversations"; the results are in the "Send log" and "Stats".
Sign-up, login and password recovery
To work in TGBLAST you need a personal account: login, email and password. Sign-up takes a minute, and right after it you land in the "Subscription" section, where you pay for the plan (120 USDT / 30 days). You change the password in the "Settings" section, and if you forgot it — the "Password recovery" page sends a link to your email. If you have no access to that mailbox, support @saymynamepython will help.What opens up after payment — one plan, all the tools.
Step by step
- 01
Open the sign-up page
Go to /register, or click the "Sign up" link under the form on the login page. The "Sign up" card opens with the caption "Create an account — then pick a plan and pay for the subscription in USDT". The "View plans" link at the bottom leads to the public "Plans" page.
- 02
Fill in the login, email and password
Enter a "Login" (3–32 characters: Latin letters, digits and the _ . - signs only), "Email — for account recovery" (the link goes there if you forget the password), a "Password" (at least 8 characters) and repeat it in the "Confirm password" field. Below the fields there are four rules with circles: "Login 3–32 characters: Latin letters, digits, _ . -", "Valid email", "Password at least 8 characters", "Passwords match". When a rule is met, the circle turns into a check mark. While at least one rule is unmet, the button stays inactive.
- 03
Have a promo code? Enter it during sign-up
The sign-up form has an optional "Promo code (if you have one)" field. If you were given a promo code, paste it — after sign-up every section opens right away, with no payment, for the length of the promo code (usually 7 days). If the code is wrong or already used, the form shows the reason — fix the code or leave the field empty.
- 04
Click "Sign up"
For a couple of seconds the button shows "Creating account…". If the login is taken you see "A user with this login already exists"; if the email is already in use — "This email is already in use". On success you are logged in automatically and land in the "Subscription" section (/billing). Until the subscription is paid, the other sections ("Dashboard", "Accounts", "Campaigns" and so on) send you back to "Subscription".
- 05
Logging in
Open /login. In the "Sign in" card enter your "Login" and "Password" and click "Log in" (while it checks, the button shows "Logging in..."). After login the "Dashboard" opens. If the credentials do not match — "Invalid login or password" appears. Type the login exactly as you registered it: upper and lower case differ.
- 06
Logging out
At the bottom of the left menu, next to your name and role ("User" / "Admin"), there is an icon with the "Log out" tooltip. Click it — you end up on the login page. Logging out applies to this browser only. Without logging out, the session lives 24 hours, after which the system asks you to sign in again.
- 07
Forgot the password — request a link by email
On the login page, click "Forgot password?" under the form. The "Password recovery" page opens. Enter the "Email" tied to the account and click "Send link" (the button shows "Sending…"). The message "If the email is registered, we have sent a message with a link. Check your inbox and the "Spam" folder" appears. The text is the same whether or not that email exists in the system. If you have no access to the mailbox — the link "No access to your mailbox? Message support @saymynamepython".
- 08
Set a new password using the link from the email
The link from the email opens the "New password" page. Fill in "New password" (at least 8 characters) and "Repeat password", check the "Password at least 8 characters" and "Passwords match" rules, then click "Save password". You see "Password changed — now log in with the new password" and a "Log in" button. The link works for 60 minutes; if you open it without a token or after it expires, you see "The link is invalid or has expired" and a "Request a new link" button.
- 09
Set or change the email in "Settings"
In the left menu, in the "Account" group, click "Settings". The "Email for password recovery" card shows "Current email:" (or "not set"). Enter the address in the "Email" field (or "New email") and click "Save" — the "Email saved" notification appears. If you enter the same address — "This email is already set".
- 10
Changing the password in "Settings"
On the same page scroll to the "Change password" card (caption: "At least 8 characters. After the change the current session stays active"). Fill in "Current password", "New password", "Confirmation" and click "Change password". The button shows "Saving…", then "Password changed" pops up and the fields clear. You do not need to log out and back in. Possible errors under the fields: "Enter the current password", "The new password must be at least 8 characters", "The new password matches the current one", "Passwords do not match", "Wrong current password".
Fields and settings
- Login (the "Sign up" page)
- Your name for signing in. From 3 to 32 characters, Latin letters, digits and the _ . - signs only (no spaces, no Cyrillic, no @). Availability is checked case-insensitively (Ivan and ivan are one login), but at login type it exactly as you registered it.
- Email — for account recovery
- A required field. The password reset link goes to this address. One email can be tied to one account only. You can change the address later in "Settings" → "Email for password recovery".
- Password and Confirm password
- 8 characters or more, any signs, no other requirements. The confirmation protects you from a typo: until the values match, the "Sign up" button does nothing.
- Login and Password (the "Sign in" page)
- The same credentials as at sign-up. On an error the system does not say what exactly is wrong — just "Invalid login or password".
- Email (the "Password recovery" page)
- The address you gave at sign-up or in "Settings". The page's response is always the same — it never reveals whether the account exists. The email arrives only if the address is tied to an account.
- New password and Repeat password (the "New password" page)
- A new password of at least 8 characters, typed the same way twice. The link from the email is single-use: after a successful change (or any other password change) it stops working.
- Current password ("Settings" → "Change password")
- Your password in force. Without it you cannot change the password — protection against someone else using a browser you left open.
- Promo code (if you have one)
- A code in the TGB-XXXX-XXXX format that you received from TGBLAST. It gives free access for the stated period. One promo code can be applied to one account once.
Tips
- Right after sign-up you are taken to "Subscription" — that is normal: the account is created, and access to the tools opens once you pay for the 120 USDT / 30 days plan.
- The "Subscription" and "Settings" sections work even without an active subscription — you can change the email and password at any time.
- If after several failed logins you see "Too many login attempts. Wait 5 minutes." — that is brute-force protection (15 attempts per 5 minutes per login). Wait; the counter resets after a successful login.
- Sign-up is capped at 5 attempts per minute — the message "Too many sign-up attempts. Wait a minute.".
- Requesting a reset link is limited too: more than 5 times in 10 minutes — "Too many requests. Wait 10 minutes.".
- The session is stored in the browser for 24 hours. "Log out" on one device does not log you out on the others — they stay signed in until the 24 hours run out.
- If you see "Account deactivated. Contact the administrator." — the account was disabled manually; message support @saymynamepython.
Gotchas and common mistakes
- The email with the link will not arrive if the account has no email set (older accounts) — set it first in "Settings" → "Email for password recovery". If you cannot log in and no email is tied to the account — message support @saymynamepython.
- The link from the email works for 60 minutes and becomes invalid after any password change — on the "The link is invalid or has expired" error, click "Request a new link".
- If mail sending (SMTP) is not configured on the server, no email goes out at all — the page still shows "Email sent". Nothing in 10 minutes and nothing in "Spam" — contact support.
- At login the login is compared case-sensitively (Ivan and ivan are different values), while at sign-up availability is checked case-insensitively. Remember your login exactly.
- A login cannot contain spaces, Cyrillic letters or @ — the form shows "Login: Latin letters, digits and the _ . - symbols only".
- The new password cannot match the current one — you will see "The new password matches the current one".
- The administrator can turn sign-up off. Then the form shows "Sign-up is temporarily closed. Contact the administrator.".
- Changing the password in "Settings" does not end other open sessions on other devices — they keep working until the 24 hours run out.
Subscription: paying in USDT TRC20 and renewing
The "Subscription" section ("Account" menu) is where you pay for access to TGBLAST. There is one plan: 120 USDT for 30 days, paid in USDT on the TRON network (TRC20) from any wallet or exchange. You click "Pay", get an invoice with a wallet address and an exact amount, send the money — the subscription switches on automatically 1–3 minutes after the network confirms it. The public "Plans" page (/pricing) shows the same without logging in.Price and terms on the home page — 120 USDT for 30 days.
Step by step
- 01
Open the "Subscription" section
In the left menu, in the "Account" group, click "Subscription". The badge at the bottom of the menu leads there too — yellow "No subscription" or green "Subscription until DD.MM". With no subscription, any attempt to open another section sends you back here with the "Subscription is not active" warning. The "Plans" page opens without logging in: the "View plans" link on the sign-up page or the "All plans" button at the top right in "Subscription".
- 02
Check the "Current subscription" card
It shows: "Status" (Active / Expired / Cancelled / No subscription), "Plan", "Until: date · N days left" and the "Accounts" and "Running campaigns" limits ("unlimited" — no cap). If 3 days or fewer are left, the date is highlighted yellow — time to renew.
- 03
Click "Pay" on the plan card
In the "Plans" block, on the card (price, "per month · TRC20", limits), click "Pay". If the plan is already yours, the card carries the "Your plan" badge and the button is called "Renew". While the invoice is being created, the button shows "Creating invoice…". The "Invoice No…" window opens with the "Awaiting payment" status. On the "Plans" page before login the button is called "Get started" and leads to sign-up.
- 04
Copy the address and the exact amount
The invoice window has two fields with a "Copy" button: "USDT wallet address (TRC20)" and "Amount due (exact)". The amount is not exactly 120 but carries "cents", for example 120.37 USDT — they are unique to your invoice and let the system recognize your transfer. Copy with the button, do not retype. Next to it is the "Invoice valid for" timer — you get 3 hours to pay.
- 05
Send USDT from a wallet or an exchange
In your wallet (Trust Wallet, Tronlink) or on an exchange (Binance, Bybit, OKX) choose a USDT withdrawal, network — TRON (TRC20). Paste the copied address and the copied amount. On an exchange, check that the fee is charged on top and not deducted from the amount: exactly the invoice amount must reach the address. Confirm the transfer.
- 06
Wait for automatic confirmation
The system checks the wallet every minute. You can close the invoice window ("Close") — it refreshes itself every 15 seconds, and the status is visible in the "Payment history" table (the refresh button to the right of the heading). Once the money is found, the window shows "Payment received" and "Subscription activated", the status in "Current subscription" turns "Active", and the badge in the menu turns green with "Subscription until DD.MM". All sections open.
- 07
Optional: provide the transaction hash
In the invoice window click "I have paid". The "Transaction hash (optional)" field appears — paste the TxID (64 characters) from your wallet/exchange history or from Tronscan and click "Send hash". The system checks the transfer right away. If the network has not confirmed the transfer yet, the hash is saved with the note "Transfer found, waiting for network confirmation". The "Without hash" button closes the field — the payment will still be found by the amount. You can change the hash later with the "Change transaction hash" button.
- 08
Track the statuses in "Payment history"
The table at the bottom: "Date", "Plan", "Amount", "Status" (Awaiting payment / Paid / Expired / Rejected), "Transaction" (a link to Tronscan). An unpaid invoice has an "Open invoice" button on the right — it shows the address, the amount and the timer again. Above the "Plans" block the hint "Unpaid invoices: N — open the invoice in the history below" appears.
- 09
Renewal
There is no auto-renewal. A few days before the end, open "Subscription" and click "Renew" on the card with the "Your plan" badge — a new invoice is created, pay it the same way. The new 30 days are added to the current end date, so the remainder is not lost. If the subscription expires, the sections close until you pay and running campaigns are paused.
- 10
Activate a promo code without paying
The "Subscription" section has a "Have a promo code?" block. Paste the code and click "Activate" — the subscription switches on for the length of the promo code, and if it is already active, that period is added to the current one. A code is accepted once per account.
Fields and settings
- Status (the "Current subscription" card)
- Active — access is open; Expired — the term ran out, sections are closed until you pay; Cancelled — an administrator switched the subscription off; No subscription — you have not paid yet.
- Until … · N days left
- The end date of the paid access. At 3 days or fewer it is highlighted yellow — time to click "Renew".
- Accounts / Running campaigns
- The plan limits. The account limit is checked when you upload and import accounts: going over it gives the error "Account limit for your plan: N. Upgrade the plan.".
- USDT wallet address (TRC20)
- The recipient address (it starts with the letter T). Only USDT on the TRON network (TRC20) is accepted. Copy it with the "Copy" button.
- Amount due (exact)
- The plan price plus unique "cents" (for example 120.37). The system recognizes your payment by this amount — send exactly it.
- Invoice valid for
- A timer: 3 hours to pay from the moment the invoice was created. It turns yellow 15 minutes before the end. After it runs out the status is "Expired".
- Transaction hash (optional)
- The TxID of the transfer — 64 characters (digits 0-9 and letters a-f). It speeds up matching but does not replace the exact amount.
- Status in "Payment history"
- Awaiting payment — the money has not been found; Paid — the subscription is on; Expired — 3 hours passed without payment; Rejected — an administrator rejected the invoice manually.
Tips
- Always copy the amount and the address with the "Copy" button — one wrong digit in the amount means the payment will not be found automatically.
- When withdrawing from an exchange, check two things: the TRC20 (TRON) network, and that the fee is not deducted from the amount.
- You can renew in advance: 30 days are added to the current end date.
- You can have at most 3 unpaid invoices at once. If a new one is not created — pay an old one or wait for it to expire.
- If instead of the plans you see "Payment is temporarily unavailable" — the administrator has not set the wallet yet, message support @saymynamepython. On "Plans are temporarily unavailable" click "Refresh" or reload the page.
- Users with the "Admin" role need no subscription and are not bound by the limits — the subscription badge in the menu is not shown for them.
- You can enter a promo code later too — in the "Subscription" section, even if you skipped it at sign-up.
Gotchas and common mistakes
- A different network (ERC20, BEP20, Polygon, Solana) or a different coin — do not send it. The system will not find such a transfer and the money may be lost.
- An amount smaller or larger than the one shown, even by 1 cent — the payment is not credited automatically. The most common cause is an exchange deducting its fee from the amount.
- Do not create a new invoice if you have already sent money for the old one: every invoice has its own amount.
- An invoice lasts 3 hours; for another 60 minutes after it expires the system keeps matching the transfer. An "Expired" invoice has no "Open invoice" button — if the money went out on an expired invoice, message support @saymynamepython with the transaction hash.
- One hash cannot be tied to two invoices ("This transaction hash is already tied to another invoice"); a hash with a different amount or recipient gives "The amount or recipient of the transfer with this hash does not match the invoice".
- There is no auto-renewal — you pay manually every 30 days. On expiry the sections close and running campaigns are paused (the "Subscription expired" notification).
- There is no subscription cancellation, no refund and no other payment methods (card, other crypto) in the interface.
- The "Running campaigns" limit is shown on the card but is not checked when you start campaigns — in practice only the number of accounts is capped.
- Dates in "Payment history" are shown in your computer's local time.
Telegram accounts: uploading tdata and sessions, statuses, appeals
The "Accounts" section ("Resources" menu) is the warehouse for the Telegram accounts you send from. You upload folders with tdata or .session files here, or a TXT with session:proxy lines; the system hands out proxies itself and checks in the background whether an account is alive. After that you see the status of every account ("Active", "Banned", "Frozen", "Restricted", "Invalid", "Error", "Retired"), check restrictions with "SpamBot check", return accounts to work or pull them out of rotation.All account tools — what the dashboard includes.
Step by step
- 01
Prepare a folder on your computer
Make one parent folder with a subfolder for each account inside. Each subfolder must hold a tdata folder (from Telegram Desktop) or a *.session file. Example: accounts/acc1/tdata/..., accounts/acc2/acc2.session. The subfolder name becomes the account name (the "Name" column). A subfolder with no tdata and no .session is skipped with the error "No .session or tdata".
- 02
Upload the folder
In the "Accounts" section, click "Upload folder" at the top right — the "Upload a folder with accounts" card appears. Optionally fill in "2FA password (if any)" and turn on "Name by folder". Click "Select the folder with accounts" and pick the parent folder. The progress line "Uploading: <name>" and an N / M counter appear, then "Done!" with the blocks "Imported: N" and "Errors: N". A toast "Upload finished — N accounts imported" pops up and the accounts show up in the "Account list" table.
- 03
Wait for the background check
Right after the upload an account gets the "Active" status and a background check starts (if "Check accounts after import" is on in "Settings" → "Automation"). After 1–3 minutes click "Refresh" (the arrows icon at the top right): real data appears in the "Phone", "TG name" and "Username" columns, and the result in "Status". If the phone is still empty, click "Pull data from TG". Proxies are assigned automatically from the active proxies in the "Proxies" section; if you added proxies later, click "Distribute proxies (round-robin)".
- 04
Alternative: "Import session:proxy (.txt)"
If your accounts are string sessions, prepare a TXT where every line is: session_string:ip:port:login:password (socks5 proxy; ip:port alone also works). Click "Import session:proxy (.txt)" and pick the file. You get "Import started: N lines. Accounts will appear as they are checked". The proxy from the line is created in the "Proxies" section (no duplicates) and bound to the account. Maximum 5000 lines per file.
- 05
Learn the statuses
Below the search box there are counter cards: "Total", "Active", "Banned", "Frozen", "Restricted", "Invalid", "Connection error", "Appeal filed", "Retired". Clicking a card filters the table ("Total" clears the filter). The "Status" column shows the reason in grey text ("Restricted until 20.09.2026", "Session revoked by Telegram…", "Dead proxy (#12) — reassign the proxy"). A flame icon next to the status means "Warmed-up account".
- 06
Re-check the problem accounts
If there are invalid ones, a "Re-check invalid (N)" button appears. If there are "Error" ones, a "Re-check errors (N)" button: the proxy is checked first, then the account; a dead proxy becomes inactive in the "Proxies" section. For a single account, use the "Check" icon in the "Actions" column. For several, tick the checkboxes and click "Check selected" (no more than 10 at a time).
- 07
Check restrictions with "SpamBot check"
Tick the accounts (Shift+click for a range; "Select all" in the table header). The "Selected: N" panel appears. Click "SpamBot check". Each account in turn (with a 15-second pause) sends /start to @SpamBot: a "no limits" reply → "Active"; a future date → "Restricted until dd.mm.yyyy"; a reply about a complaint with no date → "Frozen". The date of the last SpamBot check is in the "Check" column next to the robot icon.
- 08
File an appeal (in the "Conversations" section)
The system does not write the appeal for you. Go to "Conversations", pick the frozen account, click "Open @SpamBot", and answer the bot as it instructs (usually "This is a mistake" plus the text of your request). Then click "Appeal filed" in the header of the @SpamBot chat. In "Accounts" such accounts show up under the "Appeal filed" card — the status stays "Frozen" or "Restricted" until Telegram lifts the restriction.
- 09
Return them to work or pull them out of rotation
Once SpamBot replies that there are no limits, tick the accounts and click "Restore to active" in the "Selected: N" panel, then confirm "Restore N accounts to active? This clears the restriction and the appeal flag". If an account is used up, click the "Retired (remove from rotation)" icon in "Actions": the status becomes "Retired", campaigns skip it, the stats are kept; to bring it back, use "Restore to active" in the same row. The "Delete" bin icon removes the account for good.
- 10
Tidy up: names, groups, notes
Clicking the name in the "Name" column opens "Rename account" → "New name" → "Save". The "Selected: N" panel → "Assign group": pick an "Existing group" or type a "New group name" → "Create" → "Assign group". Groups are used by warm-up, campaigns, stories and the AI commenter. The same panel has "Assign proxy" → pick a proxy → "Assign" ("No proxy" removes the proxy). The "Warmed up" / "Not warmed up" buttons add and remove the flame icon. The "Notes" column takes any comment. The "Stats" icon in "Actions" shows the account's sends, errors and campaigns.
Fields and settings
- Select the folder with accounts
- The parent folder, with one subfolder per account inside holding a tdata folder or a .session file. The subfolder name is the account name; a subfolder whose name is already uploaded is skipped silently.
- 2FA password (if any)
- The Telegram cloud password for the accounts in the folder. The field is sent to the server but is not used by the background check after import. If 2FA accounts end up "Invalid", message support @saymynamepython.
- Name by folder
- If the parent folder is named, say, tg1050, the accounts get the names tg1050, tg1051, tg1052… in order. Works only if the parent folder name ends with a number.
- Import session:proxy (.txt)
- A TXT where every line is session_string:ip:port:login:password. Repeated session_string values and phones that already exist are skipped. Limit 5000 lines.
- Status
- Active — ready to send. Banned — Telegram deleted the account. Frozen — an open-ended restriction that needs an appeal. Restricted — a temporary restriction with an end date. Invalid — the session/tdata cannot be read. Error — the connection failed (usually the proxy). Retired — you pulled the account out of rotation by hand.
- Appeal filed (filter card)
- Not a status but a flag saying you wrote an appeal to @SpamBot. Set by the "Appeal filed" button in "Conversations", cleared by the "Restore to active" button.
- Proxy
- The ip:port of the account's proxy. Assigned automatically on upload — the active proxy with the fewest accounts. To change it: select → "Assign proxy"; to hand one to everyone without a proxy — "Distribute proxies (round-robin)".
- Check
- The date of the last connection check; below it, with the robot icon, the date of the last check through @SpamBot.
Tips
- Before you start a campaign, run "SpamBot check" on every account you need: the regular check only shows "alive/not alive", and only SpamBot sees sending restrictions.
- Add proxies in the "Proxies" section first, then upload accounts — the proxies will be bound automatically.
- The "Geo" column is derived from the phone code — handy for filtering accounts from a given country.
- Instead of deleting used-up accounts, use "Retired (remove from rotation)" — the stats stay in "Stats" and in campaign reports.
- Table headers are clickable for sorting; the "Search by phone, name, username..." box searches every field.
- If "Re-check errors" returns the reason "Dead proxy", change the proxy, not the account: select those accounts and assign a different one with "Assign proxy".
Gotchas and common mistakes
- "SpamBot check" only checks the status — it does not file an appeal, even though the notification calls it "Appeal filed for N accounts". An appeal is written by hand in "Conversations".
- The "Accounts" page has no "Appeal filed" button — the flag is set only in "Conversations", in the chat with @SpamBot.
- "Restore to active" sets "Active" without any check. Confirm with "SpamBot check" first.
- "Check selected" handles at most 10 accounts at a time. For bulk checks use "Re-check invalid" / "Re-check errors".
- tdata from Telegram Desktop 6.x is not supported — the reason reads "New-format TData (Telegram Desktop 6.x)". Re-export it from version 5.x.
- If "Check accounts after import" is off in "Settings", uploaded accounts stay "Active" with no real check, and the phone and username stay empty.
- The account limit of your plan applies: the "Errors" block will show "Account limit for your plan: N. Upgrade your plan." — delete the extra accounts or renew your plan in the "Subscription" section.
- The folder upload runs through the browser one subfolder at a time — do not close the tab until "Done!" appears.
- "Delete" removes the account for good, together with its stats.
- The hint in the empty table, "Import accounts from Google Drive", is out of date: only "Upload folder" and "Import session:proxy (.txt)" are available.
- "Distribute proxies (round-robin)" touches only accounts without a proxy and needs at least one active proxy ("No active proxies to distribute").
Proxies: the pool, testing, binding to accounts
The "Proxies" section ("Resources" menu) is the shared pool of proxy servers your accounts go online through. Here you upload proxies as a list, test whether they are alive, see how many accounts sit on each one, and can unbind an account. Binding happens in the "Accounts" section ("Assign proxy" or "Distribute proxies (round-robin)"); when you upload new accounts, the system puts them on the least loaded active proxy itself.Why you need a pool with a cooldown — where the work breaks without one.
Step by step
- 01
Open the "Proxies" section
Click "Proxies" in the left menu. Four cards at the top: "Total", "Active", "Dead", "Checking". Below them is the "Proxy list" table. The circular-arrow button at the top right ("Refresh") reloads the list.
- 02
Click "Add proxies"
The "Bulk proxy import" block opens. One proxy = one line. Formats: ip:port:login:password, ip:port (no auth) or a link http://login:pass@ip:port (instead of http — https, socks4, socks5).
- 03
Pick the "Protocol" and paste the list
In the "Protocol" list pick HTTP, HTTPS, SOCKS4 or SOCKS5 (SOCKS5 by default) — it applies to every line of the form ip:port:login:password; link lines take the protocol from the link. Paste the proxies into the field and click "Add". You get "N proxies added", and the country is derived from the IP. "Cancel" closes the form.
- 04
Check that the proxies are alive
Right after being added, proxies get the "Active" status with no check. Click "Select all" in the table header (or tick the ones you need) → click "Check" in the "Selected: N" panel. The status switches to "Checking"; after 1–2 minutes click "Refresh": the working ones become "Active". For a single proxy, use the circular-arrow icon in "Actions" ("Check").
- 05
Learn the statuses
"Active" — passed the check, ready to assign. "Dead" — failed to answer two checks in a row. If a proxy is stuck at "Checking", the first attempt failed; run "Check" again. Clicking the "Dead" card filters the table — handy for deleting them all at once.
- 06
See which accounts sit on a proxy
The "Accounts" column holds the number of bound accounts. Click it and the "Bound accounts" list expands (phone, name, status, group). Each one has an "Unbind" button that takes the proxy off the account ("Proxy unbound from the account").
- 07
Bind a proxy (in the "Accounts" section)
Go to "Accounts", tick the accounts → "Assign proxy" → pick a proxy in the "Proxy" field (only ones with the "Active" status, in the format ip:port (protocol) — country · number of accounts) → "Assign". To spread every account without a proxy evenly, use "Distribute proxies (round-robin)".
- 08
Delete the proxies you no longer need
For one, the bin icon in "Actions" ("Delete"), then confirm "Delete this proxy?". For several, tick them → "Delete" in the "Selected: N" panel. Accounts on a deleted proxy are left without one — assign a new proxy or click "Distribute proxies (round-robin)".
Fields and settings
- Protocol (HTTP / HTTPS / SOCKS4 / SOCKS5)
- The proxy type from your provider. For Telegram it is usually SOCKS5 (the default). Applies to lines with no explicit protocol.
- The list field ("Bulk proxy import")
- One proxy per line: ip:port:login:password, ip:port or http://login:pass@ip:port. Empty lines are skipped, broken ones are not added.
- IP:Port
- The address and port. Cannot be edited — only deleted and added again.
- Country
- Derived from the IP. "—" means it could not be determined; it does not affect anything.
- Auth
- "Yes" — a login and password are set; "—" — a proxy with no password.
- Status
- "Active" — passed the check or was just added. "Dead" — two failures in a row, not offered to accounts. "Checking" — a check is running or the first attempt failed.
- Accounts
- How many accounts are bound. Clicking it expands "Bound accounts" with the "Unbind" button.
- The "Total / Active / Dead / Checking" cards
- Counters and table filters at the same time. "Total" clears the filter.
Tips
- Right after the upload, do "Select all" → "Check", or accounts will land on dead proxies that still read "Active".
- The system checks proxies 5 times a day on its own — the "Auto-check proxies" toggle in "Settings".
- Keep 1–3 accounts per proxy. The load is visible in the "Accounts" column and in the "Proxy" list when you assign one ("· N acc.").
- Upload proxies before accounts — proxies are assigned automatically as accounts are uploaded.
- If accounts go to "Error" in bulk, click "Check" on their proxies first.
- Cleaning the pool: the "Dead" card → "Select all" → "Delete" → in "Accounts" click "Distribute proxies (round-robin)".
Gotchas and common mistakes
- A proxy you just added shows as "Active" with no real check.
- The form only shows "N proxies added" — the interface does not say which lines failed. Compare the number yourself.
- Duplicates are not tracked: paste the same list twice and the proxies are doubled.
- There is no editing: to change a port or a password, delete the proxy and add it again, and the accounts will have to be bound again.
- On the "Proxies" page you can only "Unbind" an account; binding happens in "Accounts".
- Only "Active" proxies make it into the assignment list.
- Deleting a proxy leaves its accounts without one — check "Accounts" first.
- A check takes up to ~1.5 minutes per proxy (two attempts) — do not hit "Check" many times in a row.
- The table shows at most 500 proxies.
Telegram account warm-up before an outreach campaign
The "Warm-up" section ("Automation" menu, the "Account warm-up" page) makes the accounts in one group message each other using built-in everyday scripts, so that Telegram sees them as live people. You pick a group and a number of rounds and click "Start warm-up" — the system splits the accounts into pairs itself, changes the pairs every round and sends messages with human pauses. When it finishes, the accounts get the "Warmed-up account" flag (the flame icon).Why accounts die on the first campaign — the breakdown on the home page.
Step by step
- 01
Prepare a group of accounts
Warm-up runs only for a group. In the "Accounts" section tick the accounts → "Assign group" → pick an "Existing group" or type a "New group name" → "Create" → "Assign group". A group needs at least 2 accounts with the "Active" status (6–10 or more is better).
- 02
Open the "Warm-up" section
Click "Warm-up" in the left menu. Four tiles at the top: "Warmed up", "Not warmed up", "Warm-ups", "Messages". Below them is the "Warm-up history" card with every group that has been warmed up.
- 03
Click "Start warm-up"
The button is at the top right. The "Start warm-up" dialog opens. If a group has been warmed up before, you can expand it in "Warm-up history" and click "Restart" — the same dialog opens with that group selected.
- 04
Pick the group and the rounds
In the "Account group" field click "Select a group..." (the number of accounts is shown next to it). "Number of rounds" is 10 by default, 1–50 allowed. A round is one change of pairs. The real number of rounds is never higher than the number of accounts minus one — the system trims it automatically.
- 05
Check the delays and the "Forecast"
"Min delay (sec)" and "Max delay (sec)" default to 10 and 30. The server accepts a min of 5–300 and a max of 10–600 — anything else gives "Start error". Once a group is picked, a "Forecast" block appears at the bottom: pairs, rounds, messages (a ballpark, not an exact figure).
- 06
Confirm the start
Click "Start warm-up" at the bottom of the dialog (it stays grey until a group is picked). You get "Warm-up started", and the group gets an orange "Warming up" badge. Errors: "At least 2 active accounts are required", "Warm-up is already running for this group".
- 07
Follow the progress
The list refreshes every 5 seconds. The group row shows the number of accounts, "Round X / Y", how many messages, how many are warmed up, and the limited / frozen warnings. Click the row and it expands into the tiles "Accounts", "Active", "Warmed up", "Rounds", "Successful sends"; the "Rounds" block with the R1, R2… squares; the "Accounts" table with the columns "Phone", "Name", "Username", "Status", "Warmed up", "Rounds", "Details". One round takes tens of minutes — that is normal.
- 08
Stopping if you need to
While the group is "Warming up", there is a red "Stop" button on the right. Confirm "Stop warm-up for group ...?". The badge changes to "Stopped". Stopping does not set the "Warmed up" flag, and the stats of the rounds already run are kept.
- 09
Wait for it to finish
When the rounds are done, the badge turns green and reads "Finished". Accounts that sent at least one message get the flame icon in the "Warmed up" column and text in "Details": "Warmed up (5/5 rounds)" or "Partly warmed up (2/5 rounds)". An account that sent nothing stays "Not warmed up (0/5 rounds)". If Telegram froze an account during warm-up, the status changes to "Frozen" with the note "Frozen (detected during warm-up)".
- 10
Manual flags
The expanded group row has "Mark all as warmed up" and "Clear the warm-up flag". They fire at once, with no confirmation — the notifications "Marked as warmed up" / "Marked as not warmed up".
Fields and settings
- Account group
- Which group to warm up. Only "Active" accounts take part; frozen, restricted and banned ones are skipped. At least 2 active.
- Number of rounds
- How many times to change the pairs (1–50, 10 by default). The actual maximum = active accounts minus 1.
- Min delay (sec) / Max delay (sec)
- They are sent to the server (min 5–300, max 10–600), but the script uses its own pauses (45–120 sec between messages, 30–60 between pairs). Leave the defaults.
- Forecast
- The estimate at the bottom of the dialog: pairs, rounds, messages. It counts every account in the group and 20 messages per pair; in reality only the active ones write, and 10 messages per pair — so the real message count is lower.
- Group status (badge)
- "Warming up" — running; "Finished" — the rounds are done; "Stopped" — you hit "Stop"; "Error" — red text under the row; "Never started".
- The "Warmed up", "Rounds" and "Details" columns
- The flame icon is the warm-up flag. "Rounds" is how many rounds the account wrote in successfully. "Details" is the progress in words: "Warm-up: 2/3 rounds (5 total)", "Partly warmed up (2/5 rounds)".
Tips
- Run it on groups of 6–10 accounts and up: with 2–3 accounts you get 1–2 rounds.
- Before you start, confirm in "Accounts" that the accounts have the "Active" status and a working proxy — pairs with a dead proxy are skipped.
- Do not run campaigns on a group that is warming up — the extra activity raises the risk of a freeze.
- One round takes tens of minutes because of the built-in pauses — go by "Round X / Y".
- If you stopped early but the accounts wrote for several rounds — "Mark all as warmed up".
- Round stats are kept for 7 days, then reset.
- Pull accounts that end up "Frozen" after warm-up out of your working groups.
Gotchas and common mistakes
- You cannot start a second warm-up for the same group while the first is running — hit "Stop" first.
- "Restart" starts from scratch and deletes the group's past round stats. The "Warmed up" flags are not cleared.
- "Stop" does not set the "Warmed up" flag.
- The "Min/Max delay" fields do not actually affect the pauses, but the server rejects the start if you go outside 5–300 / 10–600.
- The hint "Every round = new pairs + 20 scripted messages" and the "Forecast" both overstate the numbers.
- The "Warmed up" flag goes to any account that sent at least one message — look at "Rounds" and "Details".
- On the "Error" status the system tries to continue; if errors repeat, hit "Stop" and check the proxies and sessions in "Accounts".
- You cannot pick individual accounts, your own script texts or the number of messages per pair — the scripts are built in.
- Channel subscriptions, reading posts, reactions and "P2P warm-up" exist only on the server — there are no buttons for them in the "Warm-up" section.
- "Mark all as warmed up" and "Clear the warm-up flag" apply to the whole group with no confirmation.
Scraping: collecting an audience from Telegram groups and channels
The "Scraping" section (the "Audiences" menu, the "Audience scraping" page) collects real people from open Telegram groups and channels into a list you can turn into an audience for a campaign or download as CSV. Four modes: "Group members", "Posted in group", "Channel commenters", "Channel audience". One active account runs the job in the background; you see the progress, can stop the job, filter the result and save it as a single audience or split it into parts.Scraping in the full list — what else the dashboard does.
Step by step
- 01
Get ready and open the section
You need at least one account with the "Active" status and an active subscription — otherwise you get "No active account found" or "Subscription is not active". In the left menu click "Scraping". At the top there are the tiles "Jobs", "Running", "Users collected". On the left is the "Jobs" card, on the right — "Results".
- 02
Click "New scraping job" and pick a mode
In the "New scraping job" window, in the "Who to collect" block, pick a card: "Group members" — the member list of an open group; "Posted in group" — the authors of recent messages (works even when the member list is hidden); "Channel commenters" — the authors of comments on posts; "Channel audience" — the members of the discussion group plus the commenters. Below the cards the line "Source: …" tells you what to enter.
- 03
Specify the source
In the "Group" field (the first two modes) or "Channel" (the last two) enter an @username, a t.me/name link or an invite link (t.me/+…). With an invite link the account joins the group — that is a real action in Telegram. The start button becomes active from 3 characters.
- 04
Set the limits for the mode
"Group members": "Member limit" (5,000–200,000, default 50,000). "Posted in group": "Recent messages" (100–20,000, default 2,000), "Time range", "Minimum messages per person". "Channel commenters": "Recent posts" (10–500, default 100), "Posts time range", "Minimum comments per person". "Channel audience": "Recent posts", "Posts time range", "Discussion group member limit". Each job gets 2 hours.
- 05
Pick the account and the audience for the result
"Account": "Any active" or a specific one (accounts with a proxy are marked "· proxy"). "Save to audience": "Do not add (I'll save manually)" or an existing audience — then the people are added to it automatically with no duplicates.
- 06
Turn on the filters and start
The "Result filters" block: "With username only" (on by default), "With photo only", "Premium only", the "Last seen within" list. Click "Start: <mode>". You get "Scraping started" and the job appears in the list on the left.
- 07
Track the progress
Badges: "Queued", "Running" ("Processed: N · found: N"), "Done" ("Found" and "After filters"), "Error" (the reason in red). The list refreshes every 4 seconds. The square "Stop" icon moves the job to "Error" with the text "Cancelled by user"; whatever was collected is kept ("Partially saved: N").
- 08
Review the results
The "Results · @source" card: mode, title, number of people. The chips "All · N", "Member · N", "Posted · N", "Commented · N" filter the table. Columns: "User", "Username", "Source", "Messages", "Last seen". The first 200 rows are shown — "Showing the first 200 of N. The full list is in the CSV or in the audience".
- 09
Save it: "To audience" or "CSV"
The buttons exist only on "Done" jobs. "CSV" downloads the file parsing_<id>.csv. "To audience" opens the "Save as audience" window. The "Single audience" option: "Group (optional)", "Audience name" → "Save". The "Split into parts" option: "Name prefix", "Size of each part" (default 25) → "Split and save". The audiences show up in the "Audiences" section.
- 10
Delete a job you don't need
The trash icon "Delete" → "Delete the job and all its results?". The job and the people it collected are gone for good; the audiences created from it stay.
Fields and settings
- Who to collect
- The collection mode. For a channel only "Channel commenters" and "Channel audience" work.
- Group / Channel (source)
- An @username, a t.me/… link or an invite link. For a private group the account must already be a member, otherwise you get "The channel/group is private — the account has no access".
- Member limit
- The maximum number of members (5,000–200,000). In groups with more than ~10,000 people Telegram does not return the whole list, so the system "tops it up" by searching letter by letter — that takes longer.
- Recent messages / Recent posts + time range
- How deep to look. If a time range is set, collection stops at the first message or post older than that.
- Minimum messages (comments) per person
- Keep only the people who wrote at least N. Empty — no limit.
- Account
- Which account does the collecting. The whole job runs on one account; on a FloodWait the account becomes "Restricted" and the job ends with an error.
- Save to audience
- An existing audience the result is added to automatically with no duplicates.
- Result filters
- "With username only", "With photo only", "Premium only", "Last seen within" (people who hide their last-seen time are dropped by this filter). Bots and deleted accounts are never collected.
Tips
- If "Group members" returns "The member list is hidden by the admins" — run the same group in "Posted in group" mode.
- For a channel always pick "Channel commenters" or "Channel audience".
- Set aside a separate account with a proxy for scraping, so that a possible FloodWait does not hit your campaign accounts.
- Build one base from several groups: create the audience up front and pick it in "Save to audience" — duplicates are skipped.
- "Split into parts" of 25–50 people is handy for sending from different accounts.
- Start with small limits (2,000 messages or 100 posts).
- The blue note in the results shows what actually happened: how many posts were scanned, whether the discussion group was hidden.
Gotchas and common mistakes
- Without an active account the job is not created; without a subscription — it fails with "Subscription is not active".
- An invite link makes the account join the group — the admins can see that. An expired link — "The invite link is invalid or has expired".
- "Group members" on a channel — "The channel subscriber list is hidden by Telegram"; "Posted in group" on a channel — "This is a channel: only the channel itself posts there"; a channel without comments — "The channel has no discussion group".
- On a FloodWait the job ends as "Error" and the account is marked "Restricted" until the pause is over.
- A job gets 2 hours: past the limit — "Execution time exceeded", and what was collected is saved partially.
- "To audience" and "CSV" exist only on "Done" jobs — you cannot export the partial result of a stopped job.
- A job cannot be changed after it starts, and there is no "Repeat" button.
- "To audience" creates a new audience without checking for overlaps; deduplication works only when you add to an existing one through "Save to audience".
- Deleting a job cannot be undone — save the result first.
- The last 100 jobs are shown; there is no search over jobs or people.
Audiences, Checker, Group checker and Contacts
An audience is a list of Telegram users (usernames) that a campaign sends to: you pick it when you create the campaign. You can build one by hand or from a file in the "Audiences" section, from "Scraping" results, or through the "Checker", which tests a list of usernames with live accounts and drops the dead ones, the bots and the Premium users. The "Group checker" tests a list of groups: which ones you can join and which ones do not delete messages with links. "Contacts" is a separate address book with tags; it is not connected to campaigns.How many contacts are left after the checker — the funnel numbers.
Step by step
- 01
Open the "Audiences" section
In the left menu the "Audiences" group holds five items: "Scraping", "Audiences", "Contacts", "Checker", "Group checker". Click "Audiences". The page has three columns: "Groups" on the left (folders, with an "All audiences" button), the list of audiences with their member counts in the middle, and the members of the selected one on the right.
- 02
Create an audience by hand or from a file
Click "Create audience". Fill in "Name" (required) and, if you want, "Group (optional)" and "Description (optional)". If you already have a list — pick a file in "Import from file (TXT or XLSX)": TXT — one username per line, XLSX — the targetId and targetInfo columns. The button at the bottom changes from "Create" to "Import from file".
- 03
Add members
Click an audience in the middle. On the right you get its name, date, member count and three icons: "Add members", a pencil (edit), a trash can (delete). Click "Add members", paste the list (with or without @) into the "Enter usernames (one per line or comma-separated)" field and click "Add".
- 04
Manage the members
Click — select one, Shift+click — a range, Ctrl+click (Cmd on Mac) — add to the selection. At the top there is a "Selected: N" bar with the buttons "All", "Clear", "Move", "Delete". "Move" opens the "Move N members" window — click the target audience. The cross on a row deletes a single member with no confirmation.
- 05
Check the usernames with the "Checker"
Open the "Checker" (the "Username checker" page). Paste the list into the "Enter usernames to check" field (comma-separated, semicolon-separated or one per line); the counter "N usernames" sits under the field. In the "Filters" block tick "Not seen for 1+ month", "Not Premium", "Ban / restrictions / bots". Click "Check". You get "Check started", a progress bar and the cards "Total", "Valid", "Invalid", "Filtered out", "Checked".
- 06
Get the accounts ready for the checker
The checker takes only "Active" accounts with the "Warmed-up account" mark and not on +7 numbers. You need one account per 20 usernames. If you get "No warmed-up accounts for the check", go to "Accounts", select the accounts and click "Warmed up" on the "Selected: N" bar, then run the check again.
- 07
Go through the results and save them to an audience
In the "Results" table the statuses are: "OK" (alive, passed the filters), "Filtered" (alive but dropped — the reason is in "Details"), "Not found" (does not exist). The "Activity" column shows when the person was last online, "Flags" shows Premium, bot, restricted, scam, photo. You can toggle the filter checkboxes after the check — the table recalculates. Click "Save to audience (N)". The "Single" tab: leave "Create new" in "Existing audience" and type a "New audience name", or pick an existing one → "Save (N)". The "Split" tab: "Name prefix", "Accounts per audience" (default 25), "Preview" → "Split and save (N audiences)". The "Copy valid (N)" / "Copy invalid" buttons copy the lists, "Reset" clears the screen.
- 08
Check groups with the "Group checker"
Open the "Group checker". In the "Group list" card pick an "Account group": "Auto (1 account)" or a specific group. Paste the group links one per line (https://t.me/group1 or @group2) or click "Upload file" (TXT or CSV). The gear opens "Check settings": "Test message", "Message with a link", "Delay (sec)", and the toggles "Check joining", "Check messages", "Check links", "Check images", "Leave after the check". Click "Start (N)". While the check runs the button changes to "Stop".
- 09
Read the "Group checker" results
On the right, in "Results", there are the columns "Joining", "Messages", "Links", "Media": green "Open"/"Allowed" — all good; yellow "Request", "Subscription", "Paid", "Verification", "Captcha", "Moderation" — an obstacle; red "Forbidden", "Get deleted", "Removed by bot" — not suitable; "Deleted" — the group is gone. A green check in the first column means a perfect group. On the left there is the "Total", "Checked", "Good Groups" card. When it finishes you get the "CSV" (full report) and "Good Groups (N)" (a TXT with the perfect groups) buttons. Below is "Check history" with "CSV" and "Good" buttons on each entry.
- 10
Keep "Contacts" if you need them
Open "Contacts". "Add" opens the "Add contact" window with the fields "Name", "Phone", "Username", "Tags (comma-separated)", "Notes" → "Create". "Import CSV" opens "Import contacts from CSV": pick a "CSV file" (the name, phone, username, telegram_id, notes columns), set "Tags for all contacts (comma-separated)" → "Import". At the top there is the "Search by name, phone, username..." box and the "All tags" list. Rows have "Edit" and "Delete" icons.
Fields and settings
- Group (optional) — "Audiences"
- The folder name. Audiences with the same text are grouped in the left "Groups" column. Empty — it shows only under "All audiences".
- Import from file (TXT or XLSX)
- TXT — a username or a phone per line. XLSX — the targetId column (required) and targetInfo (the name). Values with a + or made of digits are saved as a phone. On import "Description" is replaced with "Imported from file: file_name".
- Checker filters
- "Not seen for 1+ month" drops everyone last online more than 28 days ago or hiding their status. "Not Premium" removes Telegram Premium users. "Ban / restrictions / bots" removes restricted, scam and bot accounts. They can be toggled after the check as well.
- Existing audience (the "Single" tab)
- "Create new" by default — fill in "New audience name" (empty gives a name like "Checker 23.02 14:05"). Picking an existing audience adds the valid users to its members.
- Accounts per audience (the "Split" tab)
- How many usernames go into one part (25 by default). "Preview" shows the number of audiences. The names are "Name prefix" + a number.
- Account group — "Group checker"
- "Auto (1 account)" — the first active account. A specific group — all of its active accounts, with the groups split between them.
- Test message, Message with a link, Delay (sec)
- Real messages the account sends into every group. "Delay (sec)" is the pause between groups, 5 by default; do not set it lower. "Leave after the check" makes the account leave the group once the test is done.
- Tags (comma-separated) — "Contacts"
- Free-form labels; the "All tags" filter works on them. On CSV import the shared tags are set in the "Tags for all contacts (comma-separated)" field.
Tips
- The standard chain: "Scraping" or your own list → "Checker" with "Ban / restrictions / bots" ticked → "Save to audience" → pick that audience in "Campaigns".
- The "Split" tab in the checker gives you several audiences of 20–30 people — handy for spreading them across accounts.
- Put the same word in "Group (optional)" for related audiences — the left "Groups" column turns into folders.
- Shift+click the first and the last row to select a range, "All" takes everyone — then "Move" or "Delete".
- In the "Group checker" download "Good Groups (N)" — a ready list of groups for "Target groups" in a group campaign.
- If an audience came from "Scraping", its card shows the line "From scraping: ..." with the badges "Members / Posted / Commenters".
Gotchas and common mistakes
- Deleting an audience (the trash can) or a member (the cross) happens with no confirmation and cannot be undone.
- "Checker" results live for 1 hour and disappear when you refresh the page — after that you get "Check not found". Save them right away.
- The "Checker" will not start without warmed-up accounts (status "Active", the "Warmed up" mark, not +7).
- The "Not seen for 1+ month" filter drops everyone with a hidden status — if you see a lot of "Filtered", untick it.
- The "Group checker" sends real messages and joins groups. Do not set "Delay (sec)" below 5; it uses any active accounts, even ones that are not warmed up.
- "Add members" and file import do not validate usernames — run them through the "Checker".
- Duplicates inside audiences are not tracked.
- "Contacts" are not linked to audiences or campaigns; there is no bulk delete for contacts.
- The list shows at most 100 audiences, and a card at most 100 members; there is no paging.
- The "Split" tab always creates new audiences; you set their "Group" afterwards with the "Edit audience" pencil.
- In "Contacts" the "Total: N" line shows the overall count, not the number found by the search.
Campaigns: DM outreach, group broadcasts and reposts
The "Campaigns" section (the "Outreach" menu) is where bulk messaging is launched. Three tabs: "Direct messages" (you write to the people in an audience), "Groups/chats" (you post text with a photo or video into groups) and "Reposts" (you forward posts from a channel into groups; the "Reposts" item in the "Automation" menu group opens the same tab). The system spreads the sends across accounts, keeps random pauses, respects the working hours and the daily limit, and when something goes wrong it pauses the campaign and sends you a notification.What that looks like in numbers — the funnel on 40 accounts.
Step by step
- 01
Get everything ready before you create a campaign
1) In "Accounts" upload the accounts and assign a working proxy to each one — an account without a proxy will not join a campaign; 2) for a DM campaign prepare an audience in "Audiences"; 3) optionally create a persona in "Personas" (the "Resources" menu). The subscription must be active.
- 02
Open the section and pick the type
In the left menu click "Campaigns". Switch the tab at the top: "Direct messages", "Groups/chats" or "Reposts". The button in the top right changes its label: "New DM campaign", "Group campaign" or "New repost". Click it.
- 03
DM campaign: fill in the "New campaign" form
Enter a "Campaign name". "Persona (account identity)" — pick a persona or "No persona (do not change the profile)". "Account group" — a group or "All active accounts". "Message template" — the text; Spintax {Hi|Hello} is supported. Optionally "Image (optional)" or "Video (optional)" (the video wins). You must pick an "Audience for the campaign" — without it "Create campaign" stays inactive.
- 04
DM campaign: anti-spam settings
"Campaign time zone" — Kyiv, Moscow or Kaliningrad. "Working hours (Sleep Mode)" — 9 — 21, for example: at night the campaign waits. "Delay between messages (sec)" — 30 — 600 by default. "Max sends per account per day (optional)" — 3–5 recommended. "Sending threads" — from 1 (standard) to 5, each thread takes a separate account. "Schedule start (optional)" — the date and time of the automatic start. Click "Create campaign" — "Campaign created", status "Draft".
- 05
Group campaign or repost
On the "Groups/chats" tab click "Group campaign". Enter a "Campaign name", pick an "Account group" and a "Persona (optional)". In the "What to send" block: "Your own text + photo/video" ("Message template", "Image", "Video") or "Repost from a channel" ("Source channel" in the @channel form; "Post links or IDs" one per line or "Or the last N posts", from 1 to 10; "Repost method": "Forward" or "Copy"; "Comment on the repost"). The "User tags" block: "Audience for mentions" and "Tags per message" (0–10); the tags land where the [[mentions]] placeholder is. In "Target groups" paste the group links one per line.
- 06
Groups/reposts: pauses and limits
"Wait after joining (min)" — 30 by default, 0 = right away. "Interval between messages from one account (sec)" — 30 — 600. "Max sends per account per day (optional)" — 3–5. The "Leave the group after sending" checkbox. "Schedule start (optional)". Click "Create campaign" — "Group campaign created" or "Repost campaign created".
- 07
Start the campaign
On a card with the "Draft" status click "Start". The status becomes "Running", with the notification "Campaign started". If "Schedule start" is set, after "Start" the status becomes "Paused", and at the appointed time the system switches it to "Running" itself. The list refreshes every 5 seconds: "Total", "Sent", "Errors", a progress bar.
- 08
Manage the campaign
A running one has "Pause" (the tasks are kept) and "Stop" (the pending tasks are cancelled). A paused one has "Resume" and "Stop". A stopped or finished one has "Restart": for DMs it opens the "Edit and restart" form with a "Save and restart" button. The "Edit" and "Delete" icons are unavailable while the status is "Running".
- 09
Check the result
Click the "Stats" icon on the card. The "Stats: <name>" screen has the tabs "Overview" (Total tasks, Sent, Errors, Queued, "Delivery rate", "Recent sends"), "By account" (clicking a row expands "Error reasons") and "Errors". Finished campaigns can be hidden with the "Archive (hide from the list, keep the stats)" icon; to look at them use the "Archive" button, to bring one back — "Restore from archive". The line-by-line log is in the "Send log" section.
Fields and settings
- Audience for the campaign (DM)
- The list of recipients from "Audiences". Without it you cannot create a DM campaign.
- Account group
- Which accounts send. "All active accounts" — everything with the "Active" status and a live proxy. Accounts with no proxy, with a dead proxy or frozen ones do not take part.
- Message template / Spintax
- The text. {option1|option2} gives every recipient a different version. In a group campaign the [[mentions]] placeholder works.
- Working hours (Sleep Mode) and Campaign time zone (DM)
- The hour window for sending (9 — 21 by default). Outside the window the campaign waits.
- Delay / Interval between messages (sec)
- A random pause between messages from one account (30 — 600 by default). Shorter — faster, but riskier.
- Max sends per account per day (optional)
- The per-account limit over a rolling 24 hours inside this campaign. Empty = no limit. 3–5 recommended. When every account has hit the limit — "Paused" plus the notification "All accounts have hit the daily limit"; click "Resume" later.
- Sending threads (DM)
- How many accounts work at the same time (1–5). More threads — faster, but you need more accounts.
- Wait after joining (min) and Leave the group after sending
- The account joins the group, waits the given number of minutes and posts. The checkbox makes it leave the group after the message.
Tips
- Start conservatively: a limit of 3–5 per day, a delay of 30 — 600 seconds, 1 thread. The "Important!" warning in the form is not a formality.
- Use Spintax in every sentence.
- Keep separate account groups for different campaigns.
- For a campaign to start on schedule, fill in "Schedule start" and click "Start" — otherwise the timer never fires.
- If a campaign put itself into "Paused", open the notifications (the bell) — the reason is there. Fix it and click "Resume".
- If the source channel blocks forwarding, "Forward" copies the post automatically.
- Tagging needs audience members who have a username.
- An account on a FloodWait temporarily becomes "Restricted" and its tasks move to other accounts — check "By account" in the stats.
Gotchas and common mistakes
- "Create campaign" stays inactive until the name, the text and (for DMs) the audience are filled in; for groups — at least one line in "Target groups", for a repost — a "Source channel".
- You cannot edit or delete a campaign while its status is "Running". Deleting ("Delete the campaign?") cannot be undone; to keep the stats use "Archive".
- "Stop" cancels the pending tasks; "Restart" puts the failed and cancelled tasks back into the queue.
- The daily limit counts only this campaign — do not run several campaigns on the same account group in parallel.
- "Working hours (Sleep Mode)" exists only for DM campaigns; groups and reposts run around the clock. If both hours are the same (9 — 9), the limit is not applied.
- Accounts with no proxy or with a dead proxy are excluded from the campaign until it ends, even if the proxy is fixed.
- If every account drops out — a pause with the notification "No available accounts with a live proxy"; it will not resume on its own, so click "Resume".
- Images — jpeg, png, gif, webp only; video — mp4, mov, webm, avi, mkv. If you upload both — only the video goes out.
- A scheduled start will not fire without an active subscription.
- There is no separate anti-spam settings screen, no manual FloodWait/PeerFlood tuning, no A/B tests and no several templates in one campaign.
- Time zones — Kyiv, Moscow, Kaliningrad only.
Stories: viewing, liking and publishing Telegram stories
The "Stories" section (the "Automation" menu) holds the tasks your accounts run on stories. Three types: "View" (accounts watch the stories of people or channels to land in the viewer list), "Like" (watch and leave a reaction), "Publish" (each account posts a story with a photo/video, a caption and @username mentions taken from an audience). You create a task, start it from the list and track the result in "Progress" and "Log".Who needs stories and reactions — team use cases.
Step by step
- 01
Open the section
In the menu click "Stories". At the top there are the tiles "Tasks", "Completed", "Errors", "Skipped". Below is a table: "Name", "Type", "Status", "Targets", "Progress", "Created", "Actions". If there are no tasks — "No story tasks yet" and a "New task" button.
- 02
Click "New task"
The "New story task" window opens. Enter a name in "Name". Below it are three type tabs: "View", "Like", "Publish".
- 03
The "View" type
In "Audience (members with a username)" pick an audience (only members with a username are taken) or paste a list into "Or a list of targets — @username / t.me links, one per line" ("Targets: N"). "Account group" — "All active accounts" or a group. Check "Daily limit per account", "Min delay, sec" / "Max delay, sec".
- 04
The "Like" type
The same plus "Reaction" (one of five emoji, a heart by default) and "Max stories per target" (1–20, 3 by default).
- 05
The "Publish" type
Click "Upload file" in the "Media (jpeg / png / mp4, up to 50 MB)" block. In "Caption" — text up to 900 characters. For mentions: "Audience for mentions (@username)" and "Mentions per story" (0–10). Pick "Account group", "Story duration" (6, 12, 24 or 48 h), "Who can see it" ("Everyone" or "Contacts only").
- 06
Click "Create"
If something is missing you get a hint ("Pick an audience or enter a list of @usernames", "Upload a photo or a video for the story"). Once it is created — "Task created. Start it from the list", status "Draft".
- 07
Start the task
In "Actions" click the triangle ("Start"). An error is possible: "No active accounts to run the task". The status becomes "Running". "Progress" shows "done / errors" and "N skip.", and the table refreshes every 5 seconds.
- 08
Pause and resume
A running task has a "Pause" icon → the status becomes "Paused" and the queue is kept. To continue, use the triangle ("Resume"). A task can pause itself: the limit, no accounts, the subscription — the reason appears in red under the name. When the queue is empty — "Finished".
- 09
Check the "Log"
The scroll icon ("Log") opens the "Log: <name>" panel: the last 200 entries, with the columns "Time", "Account", "Target", "Status" ("Done", "Error", "Skipped"), "Details".
- 10
Delete the task
The trash icon ("Delete") → "Delete the task?" → "Delete". The log is deleted together with the task. For a running task the trash icon is disabled — use "Pause" first.
Fields and settings
- Audience (members with a username)
- An audience from "Audiences" whose stories you watch or like. People without a username are skipped.
- Or a list of targets
- A manual list: @username, t.me/username, channel links. Duplicates are removed, 5000 maximum.
- Account group
- "All active accounts" or a group. Accounts with a dead proxy and frozen ones are not taken.
- Max stories per target
- For "Like": how many recent stories get a reaction (1–20).
- Daily limit per account
- Successful actions per account per day (1–1000, 30 by default). When every account has hit the limit, the task pauses with a "start it later" note.
- Min delay, sec / Max delay, sec
- A random delay between the actions of one account (20–120 by default).
- Media (jpeg / png / mp4, up to 50 MB)
- One file — one story; every account publishes the same file.
- Audience for mentions (@username) and Mentions per story
- Random usernames from the audience are appended to the end of the caption. If "Mentions per story" is above 0, picking an audience is required.
Tips
- For "View" the target can be a channel — a way to show up among the viewers of a competitor's stories.
- Publishing with mentions is a way to "knock": the mentioned person gets a notification. Keep "Mentions per story" at 3–5.
- After a pause caused by the daily limit, click "Resume" the next day — the queue picks up where it stopped.
- "skip." in "Progress" means targets with no stories; that is normal.
- Keep the delays at no less than 20–120 seconds and the limit around 30.
- "48 h" is not available to every account (Premium is usually required).
Gotchas and common mistakes
- A task does not start by itself after "Create" — click "Start".
- There is no button to edit a task — create a new one.
- Deletion is permanent, together with the log.
- Starting from "Draft", "Finished" or "Error" resets the counters; continuing without a reset is only possible from "Paused".
- "Publish": one account posts one story per run.
- If you closed the window without clicking "Create", you will have to upload the file again.
- "Mentions per story" above 0 without an audience — the task will not be created.
- Actions without Premium return "Skipped" with PREMIUM_ACCOUNT_REQUIRED; too many stories — STORIES_TOO_MUCH.
- With an inactive subscription the task pauses with "Subscription is not active".
- The table has no filters by type or status.
AI commenter and Personas
The "AI commenter" section (the "Automation" menu) makes accounts behave like real subscribers: write comments under posts through an LLM (OpenRouter), leave reactions on posts and on other people's comments, and reply as the admin in the discussion chat. The "Personas" section (the "Resources" menu) holds profile templates (first name, last name, bio, avatar) that are applied to accounts when campaigns start. The order: "Accounts" → "LLM" → "Channels and chats" → "Styles" → "Tasks" → "Logs".The AI commenter in the full list — what the dashboard includes.
Step by step
- 01
The "Accounts" tab: the working group and roles
In the "Commenter working group" block pick a group in the "Account group" field (groups are created in the "Accounts" section). If there are too few accounts — "Add accounts", tick the ones you need ("Select all") → "Add (N)". For each account click a role: "Commenter", "Reader" (only watches for posts) or "Admin". Assign 1–2 readers — without them you get the warning "There is no reader" and nothing works. The cross on the right removes an account from the group.
- 02
The "LLM" tab: OpenRouter
Paste your sk-or-... key into the "OpenRouter API key" field and click "Check" — "The key works" should appear. Leave "Model (text)" and "Model (images)" at their defaults. Fill in "Master prompt — for comments" and "Master prompt — for admin replies". Click "Save". Without a key the LLM tasks do not run; reactions need no key.
- 03
The "Channels and chats" tab: add a channel
In the "Add a channel or an open chat" block pick the "Type": "Channel" or "Open chat". Paste an @username or a t.me/... link (for private ones — t.me/+...). Optionally set "Admin (optional)". Click "Add channel" / "Add chat". The system finds the channel and starts the whole working group joining it ("Working group accounts started joining"). Check the "Identifiers" column: "no discussion chat" means comments are off. The "Active" toggle suspends the work, the pencil opens the settings, the trash icon deletes.
- 04
Set up admin replies (optional)
The pencil next to a channel → the "Settings "name"" card: "Admin account (for admin replies)" (it must be an admin in the discussion chat inside Telegram itself), "Admin reply style", "Reply probability (0–1)", "Delay from (min)" / "Delay to (min)". "Save".
- 05
The "Styles" tab
Click "New style". Fill in "Name", "Prompt text (how the LLM should write)", "Tone" ("Positive", "Neutral", "Negative"). For channel-owner styles turn on "For admin replies only". "Save". Create 3–5 different styles. The name must be unique ("already exists").
- 06
The "Tasks" tab
"New task" → "Name" and "Type": "Comment under a post", "Reaction to a post", "Admin reply in the discussion", "Comment on video messages (with transcription)" or "Reactions to comments". "Status" — "Enabled". "Account group" — "— working group —". For the LLM types — "Prompt (general instruction for the LLM)" and the "Styles" checkboxes. For reactions — "Emoji, comma-separated" (without it "Save" is disabled). Set "Probability (0–1)", "Comments/Accounts: minimum/maximum", "Delay from/to (sec)", tick the "Channels" → "Save".
- 07
The "Logs" tab
A task fires on its own when a post goes out. "Logs" holds the table "Date / Type / Status / Channel / Account / Text / reaction / error". There are the filters "Status" (pending, scheduled, done, error, skipped) and "Type", plus a "Refresh" button (the last 200). "scheduled" means it is waiting out the delay; for "error", hover over the text.
- 08
The "Personas" section
The "Resources" menu → "Personas" → "Create persona". Fill in "Persona name *", "First name", "Last name", "Profile bio" (up to 70 characters). "Create". In the card click the circle with a letter and upload a photo (jpg/png/webp/gif up to 5 MB). You apply it in "Campaigns", in the "Persona (account identity)" field.
Fields and settings
- Account role: Commenter / Reader / Admin
- A commenter writes comments and leaves reactions. A reader is an observer — the system learns about posts through it; you need at least one. An admin replies as the channel owner. One role per account.
- Channel type: Channel / Open chat
- Channel — comments and reactions in the discussion. Open chat — reactions to every message. A type mismatch returns an error.
- Task type
- "Comment under a post", "Admin reply in the discussion", "Comment on video messages" use the LLM (key, prompt, styles). "Reaction to a post" and "Reactions to comments" use emoji only. "Reactions to comments" requires "Reaction limit per hour per channel/chat" (60 by default).
- Probability (0–1)
- The chance of firing on a given post. 1 — always, 0.5 — every other one.
- Comments / Accounts: minimum and maximum
- How many accounts work on a single post; the number is picked at random.
- Delay from/to (sec)
- The pause between the post and the action (300–3600 by default). Each account gets its own.
- Style: Prompt text, Tone, For admin replies only
- A description of the manner of speech and the general mood; the toggle hides the style from regular tasks.
- Master prompt — for comments / for admin replies
- General rules layered on top of the styles and the task prompt.
Tips
- The order matters: set the working group in the "Accounts" tab first, otherwise you get the hints "First pick a working group in the "Accounts" tab" and "First add channels in the "Channels and chats" tab".
- After entering the key, click "Check". A saved key is shown as "••••• (saved, enter a new one to replace it)".
- "Reactions to comments" is prefilled with safe values: a delay of 30–600, 1–3 accounts, a limit of 30 per hour.
- If an emoji is not allowed in the channel, the system substitutes another one from the list or 👍.
- Instead of deleting a channel, use the "Active" toggle.
- "skipped" in the logs is not an error: it is the probability, the limit or your own account.
- For personas, upload a square photo of a person.
Gotchas and common mistakes
- "Reposts" is not part of the AI commenter: the "Reposts" menu item opens "Campaigns" on the "Reposts" tab.
- Comments are only written in channels that have a discussion chat ("no discussion chat" — it will not work).
- Without a reader the logs stay empty.
- The roles are mutually exclusive — do not make every account a reader.
- Adding a channel needs at least one "Active" account ("No active accounts to resolve the channel"); with frequent requests — "try again in a minute".
- The same channel cannot be added twice ("This channel/chat has already been added").
- The "Check" button is disabled until a key is entered.
- Advanced parameters (banned phrases, stickers, length, triggers) cannot be changed through the interface.
- "Logs" has no way to cancel a scheduled action — turn the task off ("Disabled") or clear "Active" on the channel.
- Auto-joining runs only when a channel is added; there is no "Join with all" button.
- Personas: the "Username template" field is saved, but the account's username does not change — only the first name, last name, bio and avatar do. Personas are applied only through "Campaigns".
- The bio is trimmed to 70 characters, the first name to 64. An empty "Last name" and "Bio" wipe the current values.
- Deleting a style, a channel or a task is irreversible; a channel's logs are deleted along with it.
Conversations and Inbox: replying from the dashboard
"Conversations" (the "Outreach" menu) gives you the Telegram chats of any account inside the dashboard: pick an account, read the threads, reply with text, press bot buttons (an appeal in @SpamBot, for example). "Inbox" is a single feed of the direct messages that arrived on all active accounts over the last 24 hours: see at a glance who replied to a campaign and answer in a couple of clicks.Why sales teams need this — replies in one feed.
Step by step
- 01
Open "Conversations"
In the menu, in the "Outreach" group, click "Conversations". On the left there is the account picker and the chat list, on the right the chat itself ("Pick a conversation" until an account is selected).
- 02
Pick an account
Narrow the list with the status chips ("Active", "Restricted", "Frozen", "Error", "Banned", "Invalid") or the "Appeal" chip. There is a "Search: name, @username, phone, id..." field. Click an account — the list collapses into a card and the chats load below it. To switch accounts, click the card again.
- 03
Open a chat
The "Search..." field searches by chat name or @username. A chat shows the last message ("You:" if you wrote it), the time, a blue circle with the unread count, and a green dot when the other person is online. Click a chat — the thread opens on the right, and after 3 seconds the chat is marked as read in Telegram.
- 04
Read and reply
Messages are grouped by day. Type your text in the "Message..." field and press Enter or the arrow. If it fails — "Send error" with the reason from Telegram.
- 05
Press bot buttons
The buttons under a bot message work from the dashboard. If the bot answered with a pop-up, you get a "The bot replied" notification. Link buttons open the site in a new tab.
- 06
An appeal through @SpamBot
Once an account is selected, "Open @SpamBot" is on the left. Send /start and walk through the bot menu with the buttons. The chat header holds the actions "Appeal filed" (a green shield icon), "Restore to active", "Retired", "Delete" (removes the account from the dashboard, with a confirmation).
- 07
Open "Inbox" and click "Collect"
In the "Outreach" menu click "Inbox". At the top right there is "Collect" — the dashboard goes through the "Active" accounts and pulls in the direct messages from the last 24 hours. "Collection started", and the list refreshes in 5–10 seconds. At the top there are the cards "Total messages" and "Unread".
- 08
Filter the feed
The "All accounts" list narrows the feed to one account. There is an "All" / "Unread only" button. "Mark all as read" clears the flag on every message. Unread ones are bold with a blue bar, answered ones have a green arrow.
- 09
Reply from "Inbox"
Click a message — it becomes read, and "Message details" opens on the right: the sender, the @username, the Telegram ID, the text, "Received on:". Click "Reply", type your text in "Enter your reply..." → "Send". After "Reply sent" the "Answered" label appears.
- 10
Clear out what you do not need
In "Message details" the trash button ("Delete") removes the message from the dashboard feed with no confirmation; in Telegram the thread stays.
Fields and settings
- Account status chips
- A filter for the account list; you can pick several. "Appeal" shows only accounts marked "Appeal filed".
- Search: name, @username, phone, id...
- It handles partial input. "Total: N" is shown under the list.
- The conversation list
- A blue circle — unread messages, a green dot — online, "You:" — the last message is yours. The chat header shows "online", "last seen recently", "group", "channel".
- Message...
- The input field, text only. Enter or the arrow.
- Collect
- A background run: "Active" accounts only, direct chats only, incoming messages from the last 24 hours only, up to 50 chats per account and up to 20 messages in each. Messages already collected are not duplicated.
- All accounts
- Filters the "Inbox" feed by one account; "Active" accounts only.
- All / Unread only, Mark all as read
- A display toggle and a bulk "read" button. The "Unread" card counts across all accounts.
- Message details: Answered, Received on, Telegram ID
- "Answered" means the reply has already been sent from the dashboard. "Received on:" is the account the reply will go out from.
Tips
- There is no need to refresh manually: the chat list updates every 12 seconds, the thread every 5, the "Inbox" feed every 10.
- Restricted and frozen accounts open in "Conversations" like any other — you can keep writing to warm leads.
- The appeal flow: the "Restricted" chip → an account → "Open @SpamBot" → /start → the bot buttons → "Appeal filed". Then use the "Appeal" chip and decide with the "Restore to active", "Retired" and "Delete" buttons.
- Links and @usernames in messages are clickable.
- Chat times are Kyiv time (Europe/Kyiv).
- For a longer conversation started from "Inbox", check "Received on:" and open that account in "Conversations".
- Attachments are labeled "Photo", "Video", "Document", "Voice message", "Audio".
Gotchas and common mistakes
- You can only send text; attachments cannot be opened or downloaded.
- Only the last 50 messages of a chat are visible.
- There is no reply, forwarding, editing, message deletion or creating a new chat.
- "Banned" and "Invalid" accounts cannot be opened ("Failed to load conversations"); "The account has no active session" means the session is gone.
- "Inbox" is not collected on a schedule — only with the "Collect" button, and only for the last 24 hours.
- "Collect" and "All accounts" work only with "Active" accounts; the list holds no more than 100 accounts.
- Groups and channels do not reach "Inbox".
- "Reply" in "Inbox" works only for accounts uploaded as a session file; for string sessions you get "The account has no session_path" — reply through "Conversations". A reply from "Inbox" goes out without the account's proxy.
- The "Inbox" feed holds no more than 100 messages and has no pages.
- The trash icon in "Message details" deletes only the dashboard record, with no confirmation; the message comes back on the next "Collect" if it is less than 24 hours old.
- Any button in the @SpamBot chat except "Understood"/"Got it"/"OK" automatically sets the "Appeal filed" mark.
- "Delete" in the @SpamBot chat header removes the whole account from the dashboard.
- A reply in "Inbox" is limited to 4096 characters.
Links: URL shortener via clck.ru
The "Links" section (menu "Automation", page "Link shortener") turns a long URL into a short one like https://clck.ru/XXXXX through Yandex's service. A short link looks cleaner in an outreach message. TGBLAST has no click counter and no stats — this is a shortener and nothing more.Link tracking in the full list — what the dashboard includes.
Step by step
- 01
Open the section
In the left menu click "Links". The heading is "Link shortener", the subtitle "Link shortening via clck.ru (Yandex)". An active subscription is required.
- 02
Paste the long URL
In the "Shorten link" card paste the address into the "Paste a long link..." field. Without https:// the system adds it for you. While the field is empty, "Shorten" is disabled.
- 03
Click "Shorten"
Or press Enter. A loading icon appears on the button (up to 10 seconds). On success — "Link shortened", and the field clears.
- 04
Find the result in "History"
The "History (N)" block: "Short link" (clickable), "Original" (full text on hover), "Created".
- 05
Copy it
The "Copy" icon → a "Copied" notification. Paste it into the campaign's "Message template".
- 06
Test the link
The "Open" icon or a click on the short link opens it in a new tab. Do this before you start the campaign.
- 07
Clearing
The "Clear" button in the "History" block removes every row from the screen; the links themselves keep working in clck.ru.
Fields and settings
- Paste a long link...
- The only input field. Without http:// or https://, https:// is added.
- Shorten
- Sends the link to clck.ru. Disabled when the field is empty. Enter does the same.
- History (N)
- Links shortened in this tab. It disappears when you refresh the page.
- Short link / Original / Created
- The result, the source address and the time (dd.mm.yyyy hh:mm).
- Copy / Open / Clear
- Copy to clipboard, open in a new tab, clear the whole table.
Tips
- Right after shortening, click "Open" and check that the link works — a short link cannot be edited.
- For stats, add UTM tags to the long URL before shortening and watch the clicks in your own analytics.
- Links are not stored on the server — copy the list before you close the page.
- For Telegram channels and bots a direct t.me link is often better.
Gotchas and common mistakes
- There is no click tracking.
- History is kept only until you refresh the page; "Clear" cannot be undone.
- You cannot set your own domain, alias, password or expiry.
- There is no bulk shortening and no way to delete a single row.
- "Shortening service error" / "Could not shorten the link" — clck.ru did not answer; try again later.
- Without an active subscription shortening does not run.
- clck.ru may reject short links to suspicious resources, and Telegram may flag the message as spam.
Dashboard, Stats and Send log
Three result screens. "Dashboard" (menu "Overview") — the big picture: accounts, proxies, campaigns, messages sent. "Stats" (menu "Overview") — sends by account and by campaign over a period, export to CSV/XLSX and "AI report analysis". "Send log" (menu "Campaigns") — a row-by-row list: which account, to whom, in which campaign, with what result.From scraping to closed deals — the whole funnel in one diagram.
Step by step
- 01
"Dashboard": four cards
In the "Overview" menu click "Dashboard". The cards "Total accounts", "Proxies", "Active campaigns" and "Messages sent" are clickable and lead to "Accounts", "Proxies", "Campaigns" and "Stats".
- 02
"Dashboard": the blocks below
"Recent events" — the last 8 status changes of accounts and proxies (refreshes every 30 seconds). The "Account statuses" and "Campaign activity" charts (the first 5 campaigns). "Account geography map" and "List by country". At the bottom, "Account statuses" and "Proxy statuses". Nothing has to be configured.
- 03
"Stats": the period
In the "Overview" menu click "Stats". Set "From date" and "To date" (30 days by default) and click "Apply", or use the "7 d", "30 d", "90 d" buttons. On the right are the cards "Accounts", "Sent in period", "Sent total", "Errors in period".
- 04
The "By account" tab
Filters: "Status:" (the chips "Active", "Restricted", "Frozen", "Error", "Banned", "Invalid", "Retired"), "Uploaded:" (two dates → "Apply filter"), "Country:", the "Hide deleted" checkbox and the "reset" link. Columns: "Account", "Status", "In period", "Total", "Errors", "Last activity", "Country", "Upload date". Click a header to sort.
- 05
The "By campaign" tab
Columns "Campaign", "Status", "Created", "In period", "Total", "Errors". There are no filters apart from the period. When empty — "No data for the period".
- 06
CSV / XLSX export
The "CSV" and "XLSX" buttons are at the top right. The export covers the open tab for the period with the current filters. The file is named stats_accounts_…csv or stats_campaigns_…
- 07
"AI report analysis"
At the bottom of "Stats", type a question into the "Your request" field ("who is idle?") or leave it empty for a full breakdown. Click "Analyze". You will see "The AI is analyzing the report… this may take up to a minute", then the text with conclusions.
- 08
"Send log": campaign and status
In the "Campaigns" menu click "Send log". The cards "Sent", "Errors", "Pending". The "All campaigns" list narrows the log to one campaign. The tabs "All", "Sent", "Error", "Pending". On the right "Total: N" and the "CSV" and "Refresh" buttons. It refreshes every 10 seconds.
- 09
Read the log rows
Columns "Sender", "Recipient", "Audience", "Campaign", "Status" (Sent / Error / Pending / Cancelled), "Time". The error reason is in red under the status — hover over it. A page holds 50 rows, with "Page 1 of N" at the bottom.
- 10
Export the log to CSV
The "CSV" button downloads delivery_log_<date>.csv with every row that matches the current filter. Columns: Campaign, Sender, Sender username, Phone, Recipient, Status, Success, Error, Date. The separator is a semicolon.
Fields and settings
- From date / To date + "Apply" ("Stats")
- The period behind "In period" and "Sent in period". It takes effect after "Apply" or "7 d" / "30 d" / "90 d".
- The "By account" / "By campaign" tabs
- One period, two breakdowns. The status, upload date and country filters exist only on "By account".
- "In period" / "Total" / "Errors"
- Successful sends in the period; successful sends all time (kept after deletion); errors all time.
- The "Status:" filter
- The account's current state; several can be picked, and it applies immediately.
- "Uploaded:" and "Country:"
- The date range when the account was added; the country comes from the phone code ("Other", "Undetermined").
- The "Hide deleted" checkbox
- Hides deleted accounts that still have history (the "Deleted" badge). On screen only — they still go into the CSV/XLSX.
- The "Your request" field ("AI report analysis")
- A question to the AI about the period's data. Empty — a full breakdown (the top 80 accounts and top 50 campaigns).
- "All campaigns" and the status tabs ("Send log")
- The campaign narrows the log; the tabs filter by result. The cards are counted per campaign, whatever tab is open.
Tips
- Idle accounts: "By account" → two clicks on "In period" — the zeros come to the top.
- A fresh batch: "Uploaded:" → dates → "Apply filter" → check "Errors" and "Status".
- While a campaign runs, keep "Send log" open on the "Error" tab.
- Hover over the red error text for the full reason.
- For a client report, "XLSX" from "Stats" is more convenient.
- The "Audience" column in "Send log" shows which list produces more errors.
- AI analysis: ask specific questions with numbers in them.
Gotchas and common mistakes
- "Messages sent" on the "Dashboard" counts existing campaigns only; "Total" in "Stats" keeps the history forever — the numbers may not match.
- Dates in "Stats" take effect only after "Apply" / "Apply filter".
- AI analysis works only when an OpenRouter key is configured on the server ("AI analysis is not configured (no OpenRouter key)") — write to support @saymynamepython.
- "Send log" has no date filter, no sender filter and no recipient search — export "CSV" instead.
- There is no separate tab for "Cancelled" — only "All".
- "Hide deleted" affects the screen only.
- Sorting by header works on screen only; the file has its own order.
- The "User:" list on "Stats" is visible to the superadmin only.
- Times in "Send log" are Kyiv time, in "Recent events" they follow your computer's clock.
- "Campaign activity" covers the first 5 campaigns only; "Recent events" only 8 events for accounts and proxies.
- Accounts with no phone number land in "Unknown" / "Undetermined".
- If "CSV" in "Send log" does not download, there will be no notification — click "Refresh" and try again.
- There are no day-by-day charts — use the "7 d" / "30 d" / "90 d" periods.
Settings: automation, email and password change
The "Settings" section (menu "Account") holds three cards: "Automation" (eight toggles for background actions on accounts, proxies and campaigns), "Password recovery email" and "Change password". By default every toggle is on — that is the normal working mode. The page opens even when the subscription has expired, and every user sees only their own settings.Still have questions — the FAQ on the home page.
Step by step
- 01
Open the page
In the menu, under the "Account" group, click "Settings". The heading is "Settings", the subtitle "System automation and account security". While the data loads you see "Loading settings…".
- 02
The "Automation" block
Eight rows: a name, a grey explanation and a toggle on the right. Moved right and highlighted means on. After registration all of them are on.
- 03
Flip a toggle
Click the toggle or the row name. "Saved" appears. There is no separate "Save" button — every click is saved right away.
- 04
If you get "Could not save"
The toggle returns to its previous position. Refresh the page and try again. On "Could not load automation settings", wait and refresh; if that does not help — support @saymynamepython.
- 05
Make sure it applied
Background jobs read the settings with a delay of up to one minute. Check the result in "Accounts", "Proxies", "Campaigns" or "Warm-up".
- 06
Set a recovery email
The "Password recovery email" card shows "Current email:" (or "not set"). Enter the address in the "Email" field (or "New email") and click "Save" — "Email saved". The same address gives "This email is already set", one taken by another account gives "This email is already in use".
- 07
Change your password
In the "Change password" card fill in "Current password", "New password" (at least 8 characters, different from the current one) and "Confirmation", then click "Change password" ("Saving…"). You get "Password changed" and the fields clear. You do not have to sign out.
- 08
Errors under the password form
"Enter your current password", "The new password must be at least 8 characters", "The new password matches the current one", "The passwords do not match", "Wrong current password". Fix it and click again.
Fields and settings
- Auto-check via SpamBot
- The system asks @SpamBot about restrictions on its own at regular intervals. The manual "SpamBot check" in "Accounts" always works.
- Auto-lift restrictions
- When a FloodWait or a restriction expires, the account is rechecked and put back to work.
- Recheck accounts with errors
- Every 30 minutes the "Error" accounts are checked again: the proxy first, then the account.
- Auto-check proxies
- All proxies are checked several times a day; "Dead" is set after several failures in a row.
- Auto-repair campaigns
- Every 10 minutes failed tasks in running campaigns are reassigned to working accounts.
- Auto warm-up
- Once a minute it restarts "Warming up" groups that have stopped.
- Check accounts after import
- A background check right after accounts are uploaded. If you turn it off, check them by hand in "Accounts".
- Campaign rebalance
- Once a minute it evens out the campaign queue across accounts and resumes campaigns stopped for lack of accounts.
- Password recovery email
- The address that receives the link from the "Password recovery" page. One address — one account.
Tips
- Do not switch everything off: the defaults are the standard mode.
- Toggles can be flipped by clicking the row name.
- "Settings" stays available when the subscription has expired.
- The manual buttons in other sections always work — the toggles affect background actions only.
- After a password change you do not need to sign in again, but make sure an email is set — otherwise you cannot recover the password through "Forgot password?".
- After flipping a toggle, wait up to a minute.
Gotchas and common mistakes
- The page has no notification settings, API keys, time zone or campaign limits — only the toggles, the email and the password.
- There is no "Save" button and no undo for the toggles — if you click one by accident, click it again.
- The intervals (30 minutes, 10 minutes, once a minute) are hard-coded and cannot be changed.
- Settings are individual to each login.
- If the server fails, background jobs assume everything is on.
- A new password shorter than 8 characters or identical to the old one will not be accepted.
- Turning off "Auto-repair campaigns" and "Campaign rebalance" at the same time — nothing will bring failed campaigns back up.
Telegram outreach terms in plain English
- Session (.session, session string)
- A file or a string that stores the login to a Telegram account. TGBLAST uses it to act as that account without entering a code from an SMS. You upload it in the "Accounts" section via "Upload folder" (a *.session file) or "Import session:proxy (.txt)" (a session string). If Telegram has revoked the session, the account gets the "Invalid" status.
- tdata
- A folder with login data from the Telegram Desktop app. The second way to upload an account: put the tdata folder into the account's subfolder and upload it with "Upload folder". tdata from Telegram Desktop 6.x is not supported; you need version 5.x.
- Proxy
- An intermediate server (ip:port) that the account uses to reach the internet, so that Telegram does not see many accounts from one address. The proxy pool is kept in the "Proxies" section, and accounts are linked to proxies in the "Accounts" section ("Assign proxy", "Distribute proxies (round-robin)"). An account without a working proxy is left out of the campaign.
- Warm-up
- A simulation of live activity: accounts in a group message each other using built-in scripts (the "Warm-up" section). After a warm-up the account gets the "Warmed-up account" badge (a flame icon). Warmed-up accounts are required for the "Checker" and are safer in campaigns.
- Account group
- A folder for accounts, created in the "Accounts" section via "Assign group". You pick the group when you start a warm-up and in campaigns, stories, the group checker and the AI commenter, so that only the accounts you need are used.
- FloodWait
- A temporary ban from Telegram: "wait N seconds/hours" for acting too often. The account is automatically marked "Restricted" until the pause ends, and its campaign tasks move to other accounts. It lifts by itself once the time is up (when the "Auto-lift restrictions" toggle in "Settings" is on).
- Spam block (freeze)
- A Telegram restriction for complaints: the account cannot write to people it does not know. In the dashboard that is the "Restricted" status (until a date) or "Frozen" (indefinite, an appeal is needed). It is checked with the "SpamBot check" button in "Accounts", and the appeal is filed by hand in "Conversations" via "Open @SpamBot".
- @SpamBot
- Telegram's official bot that tells you whether an account has restrictions and accepts appeals. TGBLAST queries it automatically (the "SpamBot check" button, the "Auto-check via SpamBot" toggle), and you chat with it in the "Conversations" section.
- Appeal
- Your request to Telegram to lift a restriction, sent to the @SpamBot bot. In the dashboard it is a flag: the "Appeal filed" button in the @SpamBot chat in "Conversations", the "Appeal filed" filter in "Accounts". The flag is cleared with the "Restore to active" button.
- Per-account limit ("Max sends per account per day")
- How many messages one account may send within a rolling 24 hours inside a campaign. 3–5 is recommended. When every account has hit the limit, the campaign moves to "Paused" on its own; click "Resume" later.
- Anti-spam delay ("Delay between messages (sec)")
- A random pause between two messages from the same account, 30–600 seconds by default. Together with "Working hours (Sleep Mode)" and the daily limit it is the main protection against a block. There is no separate "anti-spam" screen — everything is set in the campaign form.
- Scraping
- Automatic collection of people from public chats and channels (the "Scraping" section): chat members, people who posted, commenters, a channel's audience. The result is saved with the "To audience" or "CSV" button.
- Audience
- A list of recipient usernames (the "Audiences" section). The audience is exactly what you pick in the "Campaign audience" field when you create a campaign, and also for tags in stories and mentions in group campaigns.
- Segment (part of an audience)
- A small audience of 20–50 people cut out of a large list: the "Split into parts" button in "Scraping" or the "Split" tab in the "Checker". Parts are convenient to hand out to different accounts and to run as separate campaigns.
- Checker
- A check of a username list run by live warmed-up accounts (the "Checker" section): it weeds out non-existent users, bots, people who have not been online for a long time, and premium users. The "Group checker" is a different check: whether you can join a chat and whether messages with links get deleted there.
- Spintax
- The {option1|option2} notation in the "Message template": each recipient randomly gets one of the options, the texts come out different, and the spam filter triggers less often.
- Persona
- A profile template (first name, last name, bio, avatar) from the "Personas" section. It is picked in the "Persona (account identity)" field when you create a campaign — before sending, the accounts take on its data.
- USDT TRC20
- The USDT stablecoin (1 USDT = 1 dollar) on the TRON network. The only way to pay for a subscription. When you withdraw from an exchange or a wallet, always pick the TRON (TRC20) network; the system will not see other networks (ERC20, BEP20).
- Transaction hash (TxID)
- A unique 64-character code for a transfer. You can take it from your wallet or exchange history or from tronscan.org and paste it into the "Transaction hash (optional)" field after the "I have paid" button, so that the system finds the payment faster.
Ready to try it?
Sign-up takes a minute, one plan — every tool included. Got a promo code — enter it when you register.