Summary

Filters in Rules allow you to automate responses in Wati based on specific conditions such as keywords, contact details, segments, or message types. By applying filters, you can ensure the right automation runs only when the defined conditions are met.

This guide explains the supported filters in Rules, how to configure them, and how to combine multiple conditions to create more precise automations.

Instructions

Supported filters

You can use the following filters when creating Rules in Wati:

1. Incoming message matches keyword(s)

This filter checks whether an incoming message contains specific keywords.

Common use cases

  • Send an automatic reply when a message contains words such as "help", "order", or "pricing".

  • Route conversations based on specific customer requests.

2. Contact initiates a new chat

This filter detects whether a message starts a new conversation rather than being a reply in an existing chat.

Common use cases

  • Send a welcome message when a customer starts a new conversation.

  • Trigger onboarding messages for first-time interactions.

3. Timestamp

This filter checks when a message is received.

Common use cases

  • Send out-of-office replies for messages received outside working hours.

  • Apply different responses during business hours and after hours.

4. No keyword matches

This filter ensures that the rule runs only when no other keyword-based rules apply.

Note: The No keyword rule(s) matches filter works together with the Contact initiates a new chat filter.

Once you add the Contact initiates a new chat filter, you can define AND logic for the No keyword rule(s) matches condition.

Common use case

  • Send a fallback response when a message does not match any predefined keyword rules.

5. Contact

This filter checks whether the sender already exists in your contact list.

Common use cases

  • Send different responses to new leads and existing customers.

  • Trigger onboarding messages for new contacts.

6. Contact attributes

This filter matches rules based on specific contact attributes such as location, tags, or custom fields.

Common use cases

  • Personalize responses for VIP customers.

  • Segment customers by region, purchase history, or account status.

7. Custom Segment

This filter checks whether a contact belongs to a specific segment.

Use this filter to run a Rule only when a contact is or is not part of a selected segment.

The Custom Segment filter is available for all triggers.

Common use cases

  • Send different messages to contacts in specific segments.

  • Apply automations only to contacts who belong to a particular customer group.

8. Incoming message contains media

This filter checks whether an incoming message contains media.

After you select this filter, choose one of the following options:

  • Contains media: The rule continues only when the incoming message contains media.

  • Does not contain media: The rule continues only when the incoming message does not contain media, such as a plain text message.

Media includes:

  • Image

  • Video

  • Audio file

  • Voice note

  • Document

  • Sticker

A location, contact card, or order is not counted as media. If you want your Rule to act on these message types, use the Message type filter instead.

The Incoming message contains media filter is available for the WhatsApp channel only.

9. Message type

This filter checks the type of an incoming WhatsApp message.

You can select one or more of the following message types:

  • Text

  • Image

  • Video

  • Audio file

  • Voice note

  • Document

  • Sticker

  • Location

  • Contact card

  • Order

Select at least one message type. When you select multiple types, the Rule continues if the incoming message matches any of the selected types.

The Message type filter is available for the WhatsApp channel only.

Handling incoming media messages with Rules

With the Incoming message contains media and Message type filters, Rules can now handle incoming media messages directly.

You no longer need to use a Default Action to create automations based on incoming media. Instead, add the appropriate filter to your Rule and define the action you want Wati to take.

10. AI intent matching

AI intent matching lets you trigger an automation rule based on what a customer means, rather than the exact words they use. Describe the intent in a sentence, such as "The customer is asking for a refund". Wati checks incoming text messages against the intent and runs the rule when the match meets your confidence settings.

  • Supported triggers: Available for rules with a message trigger, such as New WhatsApp message is received.

  • Intent description: Enter a description of up to 100 characters, including spaces.

  • Confidence threshold: The rule runs only when the intent match meets or exceeds the set confidence percentage. The default is 75%.

  • Run top intent only: When enabled, the rule runs only if this intent is the best match for the incoming message.

  • Supported message types: AI intent matching works with text messages only. Wati does not check images, audio messages, or documents.

  • Wati AI credits: Each time the rule successfully runs its action, it uses 1 Wati AI credit. AI intent matching does not use your automation quota. You are not charged if the message does not match the intent, the rule is turned off, the intent check fails or times out, or the action fails.

To learn more about how AI intent matching works in Wati, read our guide on how to use AI intent matching in Rules.

11. Time relative to a date or event

The Time relative to a date or event filter checks how much time has passed since a specific event or activity, such as when a conversation was opened, a contact was created, or a contact last sent a message.

This filter is available for rules that use the Run on a routine trigger.

To configure the filter:

  • Select the variable you want to check.

  • Choose the time condition. Use Between to match a specific time range, such as 7 to 8 days ago.

  • Enter a value and select a time unit: minutes, hours, or days. Selecting a unit is required.

You can choose from the following variables:

Variable

What it checks

Maximum value

Time Since Conversation Opened

How long ago the conversation was opened.

30 days

Time Since Conversation Resolved

How long ago the conversation was resolved.

30 days

Time Since Last Incoming Message

How long ago the contact last sent a message.

30 days

Time Since Contact Created

How long ago the contact was created.

30 days

Time Since Contact Updated

How long ago the contact was last updated.

30 days

Time Remaining in WhatsApp 24-hr CSW

How much time remains before the 24-hour customer service window closes. You can use minutes or hours only.

24 hours

Filters for rules using the Run on a routine trigger

Rules that use the Run on a routine trigger have specific filter configuration requirements.

  • Combine conditions: You can combine filters using And and Or Continue If.

  • Use flat condition groups: Do not nest condition groups inside one another. Keep all filter conditions in one flat list.

  • Include a time condition: Every filter block must include a time condition. You can add Contact Attribute, Chat Status, or Timestamp filters in the same block.

  • Contact Attribute operators: Contact Attribute filters in these rules cannot use negated operators, such as not equal, does not contain, or does not exist.

  • Use each contact attribute once: You can use the same contact attribute only once in a filter block.

  • Supported filters: Some filters that depend on an incoming message, such as keyword filters, are not available with the Run on a routine trigger. You can use time filters, Contact Attribute, Chat Status, and Timestamp filters.

How to add filters to Rules

Single condition

A single condition triggers an action when one specific condition is met.

  • Select the attribute you want to filter by, such as source_url.

  • Define the value to match, such as "contains sample.com".

  • Add the action you want the Rule to perform.

Example:

IF source contains "sample.com" → Trigger action

Multiple AND conditions

Use AND conditions when you want the Rule to run only if all conditions are true.

  • Add your first filter condition.

  • Click And.

  • Add another condition.

Example:

IF source contains "sample.com" AND country contains India → Trigger action

This Rule triggers only when both conditions are satisfied.

Multiple OR conditions

Use OR conditions when you want the Rule to run if any one of the conditions is true.

  • Add your first filter condition.

  • Click Or.

  • Add an alternative condition.

Example:

IF source_url contains "sample.com" OR name contains "john" → Trigger action

This Rule triggers if either condition is met.

Example: Combining message filters

You can combine the new message filters with other filters using AND and OR conditions.

For example, to send invoices directly to your finance team:

  • Trigger: New WhatsApp message is received.

  • Filter: Incoming message contains media → Contains media.

  • AND condition: Incoming message matches keyword(s) → Contains → invoice.

  • Action: Assign to team → Finance.

The Rule runs only when a customer sends an attachment with the word invoice in the caption.

Advanced usage

Combining AND and OR conditions

You can combine multiple conditions to build more advanced automation Rules.

Example:

IF (source_url contains "sample.com" AND vip_customer is true) OR shop_name is "Cafe" OR address contains "India" → Trigger action

This Rule triggers when any of the defined condition groups is satisfied.

Tailoring responses for different audiences

Filters can also be used to send different responses based on whether a contact is new or existing.

Example:

IF message contains "hello" AND contact does not exist → Send welcome message  IF message contains "hello" AND contact exists → Send personalized reply

In this scenario, the welcome message is sent only when a new customer sends "hello", while existing customers receive a different response.

Next steps

After setting up your filters:

  • Test your Rules using sample messages to confirm they trigger correctly.

  • Combine filters with automated actions such as:

    • Tagging contacts

    • Assigning chats

    • Sending automated responses

Using filters effectively helps you create more accurate, personalized, and scalable automations in Wati.

Frequently Asked Questions (FAQs)

General filter settings

1. What are filters in Wati Rules?

Filters let you run an automation rule only when specific conditions are met. You can use filters to check keywords, contact details, segments, message types, AI intent, or the time since a specific event.

2. Can I combine multiple filters in a Rule?

Yes. You can combine multiple filters using AND and OR conditions. AND conditions require all conditions to be true, while OR conditions allow the Rule to run when any one condition is true. You can also combine AND and OR conditions to create more advanced rules.

3. Which filters are available for the Run on a routine trigger?

Rules using the Run on a routine trigger support time filters, Contact Attribute, Chat Status, and Timestamp filters. Every filter block must include a time condition. You can combine conditions using AND and OR, but you cannot nest condition groups. You can use each contact attribute only once in a filter block, and Contact Attribute filters cannot use negated operators such as not equal or does not contain.

Message and contact filters

4. Which filters can I use to handle incoming WhatsApp messages?

You can use Incoming message matches keyword(s), Contact initiates a new chat, Timestamp, No keyword matches, Incoming message contains media, Message type, and AI intent matching. The Incoming message contains media and Message type filters are available only for the WhatsApp channel. AI intent matching works with text messages only.

5. What is the difference between Incoming message contains media and Message type filters?

The Incoming message contains media filter checks whether an incoming WhatsApp message contains media or does not contain media. Media includes images, videos, audio files, voice notes, documents, and stickers.

The Message type filter lets you select specific incoming WhatsApp message types, including text, images, videos, audio files, voice notes, documents, stickers, locations, contact cards, and orders. You can select multiple message types, and the Rule continues if the incoming message matches any selected type.

Locations, contact cards, and orders are not counted as media. Use the Message type filter to handle these message types.

6. How does AI intent matching work in Rules?

AI intent matching triggers a Rule based on the meaning of a customer's message rather than the exact words used. You describe the intent in up to 100 characters, and Wati checks incoming text messages against it. The Rule runs when the match meets or exceeds the confidence threshold, which is 75% by default. You can also enable Run top intent only to run the Rule only when the described intent is the best match.

AI intent matching is available for message-triggered Rules and works with text messages only. It does not check images, audio messages, or documents. Each time the Rule successfully runs its action, it uses 1 Wati AI credit. It does not use your automation quota.

Time-based filters

7. What does the Time relative to a date or event filter check?

The Time relative to a date or event filter checks how much time has passed since a specific event or activity. It is available only for Rules using the Run on a routine trigger.

You can check the time since a conversation was opened or resolved, the last incoming message was received, a contact was created or updated, or the time remaining in the WhatsApp 24-hour customer service window. The maximum time range is 30 days for the first five variables and 24 hours for the customer service window.

Use Between to match a specific time range, such as 7 to 8 days ago. You must enter a value and select a time unit. For the WhatsApp 24-hour customer service window, you can use minutes or hours only.

Did this answer your question?