Move rules and troubleshoot problems
Learn to move and check Automation rules. Understand limits, duplicate replies, bot permissions and settings to review after importing.
In this article
Manage your rules
A chat soon collects lots of helpful rules: course materials, payments, vacancies, and tutor commands. Here's how to keep them organized, switch off what you no longer need, and move a setup to your next course group.
Find, disable, copy, or delete
The list shows your rules and a brief description of their actions. Search for “payment,” for example, or narrow the list with All, Triggers, Commands, and Issues.
Disable. Has the course ended? Switch off its information rule. Its settings stay in place, so you can enable it again later.
Disable just one OR alternative. Suppose the payment reply is still needed in Support, but temporarily not in Newcomer questions. Disable that alternative. The main condition and other enabled alternatives keep working, and your choice is retained when you reopen the rule.
Disable the whole rule. The main switch stops both the primary condition and every OR alternative. Switching off one alternative does not stop the entire rule.
Copy. Already have a reply for PDFs and want something similar for another document type? Make a copy, then check its name, conditions, command, enabled state, and actions. An unchanged copy can make both rules respond to the same file.
Delete. You can remove a rule for an event that is long over. If you might need it again, export it first to keep a restorable copy of the settings.
Check the settings
Validate checks the open rule. Validate all checks the whole set.
You might have created a reward for helpful answers but forgotten to enable XP. Or selected a log channel that isn't connected yet. Resolve these issues before switching the rule on.
Validation can also flag an empty name, a missing command or action, invalid times, incompatible message types, contradictory conditions, or an exceeded limit.
Don't dismiss a warning just because Save worked. A saved reply isn't much help if the bot cannot send it to the right place.
You can keep an old rule based on time since the first message or first other activity disabled to preserve the idea. You cannot enable it with that unsupported condition. Time since joining is a different measurement: only use it as a replacement if it suits your task.
After checking the settings, try the rule in Telegram. Send a matching PDF and an ordinary photo, for example. The reply should appear only for the PDF.
Why rules can overlap
Imagine one rule responds to “pay” and another to “how to pay.” “How to pay for the course?” matches both, so the person may get two replies.
The conflict check looks for identical conditions; the action text does not matter. No conflicts therefore does not prove that similar rules will never overlap.
Be especially careful with repeated rewards and opposing decisions, such as one rule approving a join request while another declines it.
Export: back up or share settings
Before a new course starts, you can export all its rules or just a selection. The export is a JSON settings bundle. You don't need to edit it by hand to transfer your rules.
Keep a copy before a major edit, or share it with a colleague. It contains settings, not a history of what the bot has done.
Check the contents before sharing: rule text and conditions can contain private invitations, member IDs, and links you do not want to distribute.
Import: move rules to another chat
Starting a second course group? Open Import, paste the exported bundle, and confirm.
Import adds to the existing rules. It does not replace them. Import the same bundle twice and you may get two copies of the same reply.
Selected topics are reset during import. Homework in the old group and Homework in the new group are different destinations. A condition previously limited to one topic can cover the whole source chat after the reset; an action aimed at a selected topic returns to the current conversation location.
Transfer disabled rules, or try the import in a test group first. Import does not turn every rule into a safe draft: it respects the saved enabled state.
After importing:
- Select the source topics and reply destinations again.
- Check invitations, selected users, and the log channel.
- Check whether actions run together or one is chosen at random. Also check any required actions marked with the Always star.
- Make sure XP or reputation is enabled if needed, and the bot has the required permissions.
- Validate the settings.
- Try one rule with a matching and a nonmatching message. Then enable the rest.
If you already use older triggers
An older trigger might have answered “payment” anywhere in the chat. In Automation, you can add a particular topic, working hours, and several ways of asking the question. Other tasks can use separate events, member conditions, multiple actions, and commands.
Move these rules gradually: recreate the behavior you need, check it, and disable the old duplicate trigger. Do not assume a Triggers v2 export is a ready-to-import bundle in the new format.
How many rules and actions can you add?
One or two rules are usually enough to get started. If you're preparing a large set for a course or several communities, check the limits first.
Saved rules
At the time of this guide's revision, the limits are:
- Free: up to 2 separate rules, with no additional whole-rule OR alternatives.
- Pro: up to 50 rules, with up to 2 additional OR alternatives each.
- Business: up to 100 rules, with up to 5 additional OR alternatives each.
A course-materials command and a payment-answer trigger are two separate rules. A disabled rule still takes a slot: disabling does not remove it. OR alternatives live inside a rule and have their own limit.
Configured actions
A rule can contain up to 100 action rows. This is useful for reply variations: for example, 30 welcome messages with one chosen randomly for each join.
One run allows up to 20 actions according to the editor's counter, labeled as the Telegram API action limit. A settings row and a counted action are not always the same thing: sending a reply to three topics counts as three.
A few examples make this clearer:
- Send an information message to one topic: 1.
- Send it to three topics: 3.
- Send it to three topics with previous-reply cleanup: 6 — three sends and three cleanup slots. Cleanup counts even on the first run, when there are no previous replies.
- Warn one member and send an explanation without cleanup: 2.
- Add 25 XP: 0 for this calculation, though the action row still counts toward the 100-row limit.
Other actions are counted as follows:
- Warn, remove a warning, restrict, lift a restriction, or delete a member's messages: 1 per selected member known to the bot. Both can count as up to 2.
- Delete the event message, approve a join request, or decline it: 1 each.
- Change reputation, like XP: 0 in this calculation.
Run all counts the entire list. Random one counts all required actions plus the most expensive possible random choice. The editor does not assume you will always get the cheapest send.
There is no separate “five sends maximum” limit. A simple list without cleanup or other costs can contain 20 sends. This does not guarantee that every message will arrive: bot permissions and Telegram limits still apply.
When the next action won't fit
The bot counts an action's full cost before running it. If it won't fit, neither that action nor the rest of the list runs. Actions already completed are not rolled back.
For example, one action sending to 21 topics will not be reduced to just the first 20. A failed action attempt also uses its allocated slot.
The 20-action budget applies to one run of one rule. It is not a shared daily allowance for the chat or all its rules.
The counter helps plan a rule; it does not count every request the bot makes to Telegram. A warning can also trigger a punishment from the chat settings, and clearing message history can require multiple requests. The actual number of Telegram requests may therefore exceed 20.
These details rarely get in the way of a simple information reply. For a long list involving moderation, several topics, and cleanup, use the editor's counter and check the result of every required action.
Plan limits can change. Check the values available in your dashboard before preparing a large set.
When the result isn't what you expected
Start with one specific example: what someone wrote, where they wrote it, and the reply you expected. It's easier to find an extra condition this way than by changing the entire setup at once.
The rule is saved, but the bot says nothing
You might have uploaded a PDF while the rule expects plain text. Or the question arrived in Off-topic while the rule is limited to Support.
Check the enabled state, chat, event, and conditions. If the message matches only one OR alternative, make sure that alternative is enabled too. In a test group, keep one simple condition and one reply, then restore the other settings one at a time. If you make a copy in the same chat, disable the original while testing.
It's 10:00, but no message appeared
In Automation, a schedule means “process matching events during these hours,” not “send a message at ten in the morning.”
The bot can answer a recording question received during the selected hours. To post the class schedule at a set time, use the Announcement Scheduler.
Someone received the reward again
Two moderators might have replied /reward_member to the same helpful message. Those are two calls, and the reward may be added twice.
Look for repeated commands, edits, rejoins, and new matching messages. An album can also arrive as several messages. Excluding edits does not stop someone from sending new text.
“Exactly one message” does not guarantee a one-time first-message reward: the counter updates separately. If duplicate rewards are unacceptable, arrange a separate check instead of relying on this condition alone.
A reaction was added, but the result is unexpected
Ilya had a 👍, added ❤️, and the 👍 condition matched again. That's because the rule checks the reactions remaining after the change. 👍 is still among them.
Check the change direction and selected emoji. A specific-emoji filter requires the add direction. For reaction counts, check the sum of the chosen types: updates with 20 and 21 reactions can each match a minimum of 20. Zero or an empty field does not set a range boundary.
One question gets two identical replies
A common cause is two rules with similar conditions, such as “pay” and “how to pay.” Other possibilities include an imported duplicate, an old trigger still enabled, or a standard welcome running alongside the new one.
Look at all rules that could answer this question, including any synchronized set. Disable unnecessary ones one at a time and repeat the same example.
The moderator received the warning
The action probably targets the command sender instead of the person in the replied-to message. In Anna and Ilya's example, select Ilya — the author of the message Anna replied to.
Check Reply target mode, the actual reply in Telegram, and Apply to on each action. Deleting the event message still deletes the command message, not Ilya's original message.
My custom command doesn't run
The command might require a reply, but you sent it on its own. Or you do not belong to the group selected under Triggered by.
Check the spelling, allowed users, and how you called it. Make sure you actually created it in the editor and its name isn't already handled by a built-in command.
The explanation arrived, but the message wasn't deleted
A reply does not prove that the other actions succeeded. The bot might be allowed to send messages but not delete them.
Check Combot's permissions and the member's status. A rule cannot bypass Telegram restrictions, particularly for administrators. Check the message, warning, and mute separately if the rule includes them.
Only the first part of the action list ran
A rule with several sends to different topics and cleanup on each uses the budget faster than the number of rows suggests.
See Limits: when the next action will not fit in full, the remaining list does not run. A failed attempt counts too. The limit may not be the cause, though: also check destination access, permissions, and whether the selected user is available.
XP or reputation didn't increase
You might have added a reward before enabling XP in the new course chat. Check the feature, recipient, and a nonzero whole-number change. 25 means “add 25,” not “set the total to 25.”
For the inviter thank-you command, reply to a message from the inviter. If a reward instead uses a join request through a link, make sure the link is in Combot's catalog and its creator is known. An unknown recipient is not replaced with the newcomer.
The rule matched someone you don't consider a newcomer
Compare your idea of a newcomer with the chat settings. The new-member category depends on those settings and the applicable exemptions. Regular members does not, by itself, mean long-standing members.
If you need a precise boundary, such as the first two hours or no more than ten messages, set it separately. Check which person the conditions describe, and don't confuse Telegram administrators with Combot dashboard administrators.
Time since joining isn't being counted as you expected
Ilya joined yesterday at 23:50. At 00:10 today, he has still been in the chat for only twenty minutes: crossing midnight did not add a day.
Check the units and comparison. A month here means 30 days. Older rules may count complete elapsed days, while an explicit unit uses an exact duration. If you need Equals, make sure the old setting has not retained At least.
A link isn't considered external
You might select the open-class invitation and expect every other link to be external. But another link can also be recorded in this chat's Combot catalog.
External means absent from the entire catalog, not absent from your selection. If invitation information is simply unavailable, the bot should not treat it as either external or definitely unused.
A checklist changed, but there was no notification
Make sure you copied the link to the checklist itself, not the service message about its update. A link containing ?comment=… isn't suitable; use a direct link to the message in the chat.
For a public link, Combot must also know the matching chat username. Try completing a task in the selected list, then in a neighboring list. The second should not match.
The language, bio, or file check didn't match
You might be waiting for a video while someone sends the same recording as a document. Those are different message types to the bot.
Profile details are not always available either: the bio comes from a join request, and a language code may be missing. Unknown does not mean zero, absence of an attribute, or a match for its negation. Check which details the selected event actually provides.
The reply appeared in the wrong topic
Check two separate settings: where to look for the message and where to send the reply. A question might need to come from Support while its reply was accidentally directed to Study.
Select topics again after importing. If a reply appeared in several places, check its destination list: it sends to every selected topic. Log messages need topic IDs from the log destination, not from the source group.
Old bot replies remain
Cleanup might be enabled on the rule, but a send action explicitly says not to delete. That action-level choice takes priority.
Check the setting and trigger the rule again: cleanup happens with the next send, not on a timer. Each action and each topic tracks its own previous reply. In a random set, welcome B does not necessarily delete welcome A. Older messages without a clear association can remain too.
The course cover image doesn't appear
Open the image link and check whether Telegram creates its preview. The image field does not upload a photo album for you.
Start with one accessible image and a short message. Check the result in Telegram, not just in the editor.
The editor says No conflicts, but rules overlap
It looks for identical conditions. “Pay” and “how to pay” are written differently, but both can occur in one question.
Try both rules with the same message. If they need one shared reply, a single rule with OR alternatives may be more useful than two independent replies.
You can't add another rule
A disabled rule from last year's course still takes a slot. Check your plan's limit and the number of saved rules, including disabled ones and imported copies.
Export an unused set before deleting it if you may want it again.
A quick check before launch
For a payment reply, your checklist might look like this:
- “How to pay for the course?” in Support gets the intended reply.
- “How do I change my password?” there gets no payment reply.
- The same payment question in Off-topic gets no reply if only Support is selected.
- A message from an excluded administrator matches none of the alternatives where you set that exclusion.
- Messages during and outside working hours get their respective intended replies.
- A repeated question does not create unwanted rewards or extra messages.
For a moderator command, also try it as a regular member and make sure each action affects the right person and message. Test bans and deletion on test participants and messages: a settings backup can restore the rule, but not a message already deleted.
Start with one task that costs your team time every day. Once that reply or command works as intended, add the next.
If you need help with a scenario, ask in the Combot support chat. Show the settings and explain the result you expect, but hide private invitations and unnecessary member details.
Here's to fewer repeated explanations and more time for the conversation itself!