FlowsEditorTriggers

Message Received

Fire a flow when a contact sends a message that matches a rule

The Message Received trigger matches an incoming message against a rule. Use it for keyword menus, slash commands and text patterns.

Message Received trigger overview

What It Matches

In the second step of the setup you pick what the trigger looks at. The rule editor in the next step adapts to that choice.

RefinementWhat it matchesTypical use
The message is…The text content of the messageKeyword menus, slash commands, exact greetings

The step also lists The media type is…, to match what kind of file came in, and The profile field is…, to match data on the contact. See Media Type Matching and Profile Matching on Message.

Pick the refinement (step 2)

Text Matching

Pick The message is… to match on the text body of the message.

Text rule editor

Operators

The operator list shows 15 operators, in this order. The value is required for every one of them, including Is Empty and Is Not Empty. The value can be up to 500 characters. A rule whose value is empty never matches a message, except Is Empty and Is Not Empty, which do not read the value.

OperatorBehavior
EqualsThe text matches the value exactly. Case-sensitive.
Does Not EqualThe text is anything except the value. Case-sensitive.
ContainsThe text includes the value. Not case-sensitive.
Does Not ContainThe text does not include the value. Not case-sensitive.
Starts WithThe text begins with the value. Not case-sensitive.
Ends WithThe text ends with the value. Not case-sensitive.
Greater ThanThe text, read as a number or a date, is above the value.
Greater Than or EqualThe text, read as a number or a date, is at or above the value.
Less ThanThe text, read as a number or a date, is below the value.
Less Than or EqualThe text, read as a number or a date, is at or below the value.
In ArrayThe whole text equals one item of the value, a comma-separated list such as yes,ok,sure. Not case-sensitive.
Not In ArrayThe whole text equals none of the items in the list. An empty list never matches.
Is EmptyThe text is blank.
Is Not EmptyThe text has content other than spaces.
Matches Regex PatternThe text matches the regular expression. Not case-sensitive. An invalid pattern never matches.

The four comparison operators compare numbers, or dates written as 2026-11-02. A message that is neither, such as hello, never matches them. Use them for menus where the contact replies 1, 2 or 3.

Example - keyword menu: Operator Contains, value /support → matches "/support", "/support please", "hi /support".

Command matching

When a message starts with / (like /start or /menu) and your value is a command, Contains matches only the whole command, alone or followed by a space. This stops /start from matching /starting.

RuleMatchesDoes not match
Contains /start"/start", "/start help", "please /start now""/starter", "/starting"
Equals /menu"/menu""/menu now", "main /menu"

Media Type Matching

The The media type is… option lets you tick one or more of Photo, Video, Voice, Audio, Document, Sticker, Location or Contact. The flow starts when the incoming message is one of them.

A message with no text, such as a photo sent alone, starts only flows that have a media rule. Flows with a text rule or a Catch All trigger do not react to it. A photo sent with a caption counts as a Photo for a media rule and as text for a text rule. A video note or a GIF counts as Video.

Profile Matching on Message

The The profile field is… option lets you pick a profile field such as Language, Tags, Lead Status, Name, Email or Phone, or a custom field, then an operator and a value. The flow starts when the contact's field matches.

Wexio reads the contact's saved value when the message arrives. If the value cannot be read at that moment, the rule does not match, so a field that is only empty by mistake never starts the flow. A rule with an empty value never matches, except Is empty and Is not empty.

Review & Create

Review step of a trigger, shown with a Profile Match example

The final step shows a single summary card with the attribute, operator, and value you picked. Click Create Trigger to save. Use the back arrow to change a value.

When Several Flows Match

If a message matches more than one published flow, Wexio starts one of them. A flow whose triggers all match ranks above a flow that matches only some of its triggers. Keep your keyword rules distinct so two flows do not compete for the same message.

A Catch All flow is the fallback. It runs only when no more specific flow matches the message.

Was this page helpful?

On this page