---
title: "11.20 Condition: Message Matches"
description: "Needs the Automation Advanced plan feature. It is the core of every auto-reply."
url: "https://peikly.com/docs/condition-message-matches/"
updated: "2026-10-07"
category: Automation Workflows
tags:
  - Manual sync
---

# 11.20 Condition: Message Matches

Needs the **Automation Advanced** plan feature. It is the core of every auto-reply.

**What it checks:** the text of the inbound message that started this run. It works even when the run has no contact yet.

**Settings:**

- **Match mode:**
  - **Equals:** the whole message is exactly the value. Best for commands and buttons, for example `/website`, `1`, `price list`.
  - **Not Equals:** anything except that value.
  - **Contains:** the value appears anywhere in the message.
  - **Contains any of:** enter keywords in the **Keywords** field, pressing Enter or comma after each one (for example `price`, `cost`, `how much`, `قیمت`). TRUE when any keyword appears. One condition covers a topic in several wordings and languages. Click a keyword to edit it, or its × to remove it.
  - **Starts with:** the message begins with the value, for example `/order` matches `/order 1234`.
  - **Not Contains:** the value does not appear.
- **Value:** the text to compare (or the keywords for **Contains any of**).
- **Ignore case** (on by default): `PRICE` matches `price`.

Spaces at the start and end of the message are ignored. Other spelling and spacing must match exactly.

**Paths:** output 1 = TRUE (matched), output 2 = FALSE. An unconnected FALSE output ends the run.

**Pitfalls:**

- **Contains with a long sentence rarely matches.** "How much does a website cost?" does not match "how much is a website?" or "website price". Use **Contains any of** with short, distinctive keywords ("price, cost, how much, قیمت").
- **Order matters.** Conditions are checked in the order you chain them, and the first TRUE wins. Put the most specific check first.
- Only meaningful on **Message Received via WhatsApp** or **Message Received via Email**. On any other trigger it is always FALSE.
- To check several *topics*, chain conditions: connect each condition's FALSE output to the next condition ([11.25](/docs/example-whatsapp-auto-reply-bot/)). For several *words for the same topic*, one **Contains any of** condition is enough.
- A tap on a template's quick-reply button arrives as the button's label, so **Equals** with that label reacts to the button.
