Runs on every message that arrives while the person has no open session. It is the trigger behind welcome flows; sessions, priority order and text-free messages are all covered here.
However long you make your keyword list, half of your customers will write something you never planned for: "hi", "quick question", "are you there". The Any message trigger catches those messages and puts the person into a menu or a welcome flow. This guide explains which messages it fires on, what an "open session" means, and how to run it alongside your keyword flows.
💡 This trigger works on both Instagram and WhatsApp and it has no settings at all: add it once and it catches every message that arrives while the person is idle.
In this article you will find:
What it does
Building the trigger
Fields and buttons
What "no open session" means
Which messages reach this trigger
Limits and known issues
Common mistakes and how to fix them
What it does
The trigger never looks at the text. Its only question is whether this person has a session running right now. If not, the flow starts. That makes it the natural trigger for welcome flows, menus and "how can I help you" openers.
Its biggest benefit shows up on text-free messages. When someone sends only a photo, a voice note or a sticker there is no word to search for, so the keyword trigger never sees that message. Any message does see it, because it ignores text.
Its second benefit is acting as a safety net. When the sentence someone wrote matches none of your words, the message falls to this trigger and the customer is not left without an answer.
Building the trigger
Let us build a welcome menu for a jewellery shop.
Open an empty flow with New automation from the Automations list.
On the Flow tab, click the When… box on the canvas.
Press Add trigger in the panel on the side.
Pick Any message from the list.
If your account has more than one channel connected, pick the account from the Channel list or leave it on All channels.
Connect the start box's Next output to a Message step.
Write "Hello! What are you looking for?" and add three buttons: Rings, Necklaces, Track my order.
Connect each button's output to its own answer.
Press Publish at the top right. Your automation is now running.
You do not have to delete your keyword flows once this one exists; the two complete each other. Someone writing "price" lands in the price flow, someone writing "hello" lands in this menu.
Fields and buttons
The trigger card holds only two items.
Channel — Which account the trigger runs on. This field appears only when more than one channel is connected; on a single-channel account it is hidden and the trigger already runs on that channel. Left on All channels it runs on every connected channel. If you want a different welcome on Instagram and on WhatsApp, build two automations and pick a single account in this field on each.
Remove — The cross at the top right of the card deletes the trigger.
The note under the card sums the behaviour up: "Runs on every message while the person has no open session." None of the keyword, match mode or post selection fields exist here; the trigger is deliberately setting-free.
What "no open session" means
A session is one pass a person makes through one flow. It opens when the person enters the flow and closes when the flow ends, is cut, or times out. The person's session is open — and this trigger stays quiet — in any of these cases:
A message step is waiting for a written reply. The incoming text goes to that step.
A Wait step is counting down.
A Collect step has asked a question and is waiting for the answer.
The conversation has been handed to an agent and the automation is paused.
When the person is completely idle (no session, or all of them closed) the trigger runs. Sessions stopped by a plan lock count as idle here: the step falls outside the plan so the flow is not moving anyway, and the person should not be left unanswered because of it.
⚠️ Note: this trigger never cuts a running session. The ones that do are the keyword, comment, mention, story and link/ad triggers; see how triggers work for the details.
Where it sits in the priority order
For an incoming message the order is:
If the person tapped a button we sent, triggers are not consulted at all.
Explicit triggers (keyword and its relatives) are tried.
If the person has a session waiting for a reply, the text goes to it.
If the person has any other open session, no new automation starts.
So keyword always comes before this trigger. If one message matches both the word "price" and this trigger, the price flow starts and the welcome flow never appears. If two different automations each hold an "any message" trigger, only one starts: their scores are equal, so the one created first wins.
Which messages reach this trigger
These reach it:
Ordinary DM messages on both channels.
Text-free messages: a photo, video, voice note, file or sticker on its own.
A shared location (WhatsApp turns the name and coordinates into text).
Story replies, post shares and messages arriving from a link or an ad — but only when no trigger of that specific event matches.
Everything except taps on the account's ice breakers and persistent menu: those count as buttons.
These do not reach it:
Comments on posts, reels and live videos. A comment is not a chat; without a matching comment trigger nothing happens.
Story mentions. That event does not fall back to a message.
Taps on buttons we sent.
Emoji reactions (hearts, likes) and read receipts. Those are written to the conversation trail but start no flow.
Limits and known issues
The trigger has no filters at all: it cannot exclude words and cannot be limited by time of day. You do that filtering with a Condition step right after the flow's first step.
There is no frequency cap. If the same person writes ten times in a day the flow starts ten times — limit that with Can the same person enter again? on the Settings tab.
Adding two of them to one flow gains you nothing; both wait for the same event.
When Defer automations to opening time is on in your account settings, an out-of-hours message opens the session but the first step waits for opening time. The logs show it as "Outside hours: deferred".
If the conversation has been handed to an agent, the automation is paused and no trigger runs.
The trigger only runs while the automation is Live.
Common mistakes and how to fix them
Adding one to every flow. Put this trigger in several automations and only one of them runs; the others never appear and you lose time hunting for the reason. Keep a single welcome flow per account.
Confusing it with default reply. The moment you add this trigger it catches every idle message, so default reply never gets its turn. The difference is explained in the default reply trigger article.
Leaving the re-entry rule open. The default is Every time. If the customer sends three messages in a row, three welcomes go out. Once a day is the right choice for most accounts.
Allowing interruption in a data-collecting flow. This trigger does not interrupt, but keywords do; in a flow that collects data, turn off A new keyword can interrupt this automation.
Expecting comments. Comments on posts never reach this trigger; for those you need the post comment trigger.
If the flow still does not start, see the automation never starts guide or get in touch with our Support team.