Incoming Telegram Messages
Incoming Telegram Messages runs every time a contact sends you a message on Telegram. It is the starting point for Telegram chatbots, keyword auto-replies, AI replies and bot-to-human handover.
Conditions
Conditions are optional. Click Add Condition, then pick a Field, an Operator and a value. Choose All (AND) or Any (OR) under Condition Type to decide whether every condition or just one must match.
| Condition | Operators | Values |
|---|---|---|
| Incoming Message | includes any, does not include all, is a valid date, is not a valid date, matches regex pattern, does not match regex pattern, equals, not equals | Keywords, a regex pattern or exact text |
| Message Type | is part of all, is part of any, is not part of all | Text, Template, Document, Image, Video, Audio, Order, Interactive, Sticker |
| Telegram Chat Type | is part of all, is part of any, is not part of all | Private Chat, Channel, Group, Super Group |
| Message received time | is between, is on, is before, is after, is less than X period ago (past), is more than X period ago (past), is within business hours, is outside business hours (after hours or holiday), is after hours (not a holiday), is on a holiday | A time of day, weekdays or a period |
| Last Contact activity time | is between, is on, is before, is after, is less than X period ago (past), is more than X period ago (past) | A time of day, weekdays or a period |
| Contact | is an existing client, is not an existing client | No value needed |
| Client Tags | includes any, does not include all, is part of all, is part of any, is not part of all | Your client tags |
| Contact Group | is part of all, is part of any, is not part of all | Your contact groups |
| Contact Tags | includes any, does not include all, is part of all, is part of any, is not part of all | Your contact tags |
| Contact Stage | equals, not equals | Subscriber, Lead, Engaged, Marketing qualified lead (MQL), Sales qualified lead (SQL), Opportunity, Follow-up Required, Customer, Evangelist, Other, Lost, Inactive |
| Phone Number | includes any, does not include all, matches regex pattern, does not match regex pattern, equals, not equals, exists, does not exist | Phone numbers or a regex pattern |
| Contact Language | is part of all, is part of any, is not part of all | English, Arabic, Spanish, Portuguese (Brazil), Portuguese (Portugal), French, Chinese, Malay |
Incoming Message with includes any matches if the message contains any of your keywords anywhere, ignoring upper and lower case. Use equals for an exact reply or matches regex pattern for precise matching, for example /^stop$/i.
Message received time is checked in your location's time zone. is between takes a Time and an End Time and works across midnight (for example 19:00 to 09:00). is on takes one or more weekdays. To follow your business hours instead of fixed times, pick is within business hours, is outside business hours (after hours or holiday), is after hours (not a holiday) or is on a holiday: these read the location's business hours and holidays, so they need no value.
Use Telegram Chat Type to answer only in a Private Chat and stay quiet in a Group, Super Group or Channel. Contact Language is the language of the person's Telegram app, so one bot can answer in several languages. Phone Number does not exist is true until the person shares their number; pair it with Request Telegram Phone Number.
Actions
Click Add Action and choose from Select Action. Actions run in order; use the arrows to reorder them. To delay an action, click Add wait time (or Add wait & Schedule time on template and email actions). Wait times count from the trigger event, not from the previous action.
| Action | What it does | Wait time |
|---|---|---|
| Send Telegram Text Message | Sends a Telegram text reply. | Up to 1 day |
| Send Telegram Template Message | Sends a Telegram message with buttons. | Up to 1 day |
| Send Customer Satisfaction Survey (CSAT) | Sends a customer satisfaction (CSAT) survey. | Up to 1 day |
| Send Telegram Media | Sends an image, video or file on Telegram. | Up to 1 day |
| Send Telegram Audio | Sends an audio message on Telegram. | Up to 1 day |
| Smart Follow-Up | Sends a follow-up if the contact has not replied within the wait time. Cancelled automatically when they reply. | Up to 1 day |
| Webhooks by Whautomate | Sends the event data to your own URL (webhook). | Minutes to months |
| Add the Contact to Group | Adds the contact to a contact group, which you can check in later conditions. | Minutes to months |
| Remove the Contact from Group | Removes the contact from a contact group, for example so a rule does not run twice. | Minutes to months |
| Add Contact Tags | Adds tags to the contact. | Minutes to months |
| Remove Contact Tags | Removes tags from the contact. | Minutes to months |
| Update Contact Stage | Moves the contact to a stage, such as Lead or Customer. | Minutes to months |
| Send Email | Sends an email to the client, team members or a custom list. Marketing emails need CRM Suite; Transactional emails do not. | Minutes to months |
| Assign Chat to Unassigned Queue | Moves the chat to the unassigned queue so a team member can pick it up (bot-to-human handover). | Up to 1 day |
| Assign Chat to Staff | Assigns the chat to the team member you choose. | Up to 1 day |
| Auto-Assign Chat to Staff - Round Robin | Assigns the chat to team members in turn (round robin). | Up to 1 day |
| Auto Close Conversation | Closes the conversation, so automations answer again the next time the person writes. | Up to 1 day |
| Notify Staff via WhatsApp | Sends a WhatsApp template message to the team members you choose. | Minutes to months |
| AI Conversation | Replies with AI using your chosen provider, knowledge base and tools. See AI Conversation. | Up to 1 day |
| Smart AI Follow-Up | Writes and sends a follow-up with AI, based on the conversation, if the contact has not replied within the wait time. Cancelled automatically when they reply. | Up to 1 day |
| Clear AI Conversation History | Clears the AI conversation history, so the next AI reply starts without earlier context. | Up to 1 day |
| Save the Message Response | Saves the contact's reply into their name, notes or a custom field (use variables.fieldname for a custom field). | Up to 1 day |
| Add Contact Notes | Adds a note to the contact. | Minutes to months |
| Request Telegram Phone Number | Sends a Telegram message with a button to share their phone number. Once shared, the chat is matched to the client with that number. | Minutes to months |
Example
Answer private chats with AI
- Create a rule with the Incoming Telegram Messages trigger.
- Add the condition Telegram Chat Type is part of any Private Chat.
- Add the action AI Conversation and set it up as described in AI Conversation.
Good to know
- While a team member has the conversation Open, message rules do not run, so the bot does not talk over a person. Turn on Override Human Agent in the trigger section to run this rule anyway (for example for an opt-out keyword).
- Telegram has no 24-hour window: replies and media can wait any time.
- Send Telegram Template Message buttons can be a Web URL, a Post Back or Open mini app, which opens your booking site inside Telegram. See Telegram mini app.
- Linking the chat to a client (shared phone, client links) runs Telegram chat linking rules instead of this trigger.