FlowsEditorTriggers

Triggers

Configure what starts your flow

Every flow begins with a trigger - an event that starts the flow execution. Triggers are configured directly on the trigger node in the flow canvas, through a multi-step modal that guides you from trigger type to the ready-to-save rule.

Trigger node on canvas

Trigger Categories

Triggers are grouped into three families. Each one solves a distinct starting condition.

Messaging

Fires when an incoming message arrives from a contact on a connected channel.

TriggerFires when
Message ReceivedThe incoming message matches a content rule (keyword, media type, command)
First VisitA contact messages your bot for the very first time
Catch AllNo other published flow matched the incoming message

Audience

Fires based on who the contact is, or how long they've been away - not just what they typed.

TriggerFires when
Returning UserA contact comes back after a configured period of inactivity
Website LoginA user signs in with the Telegram Login Widget on an external site

To match on profile fields (language, tags, custom fields), use the profile-field refinement on Message Received for inbound messages, or the audience filter on Scheduled for broadcasts.

Automation

Proactive triggers - they fire without a user message.

TriggerFires when
Scheduled TriggerAt a specific time, on a recurring cron schedule, or relative to a contact's date field
Webhook ReceivedAn external system POSTs to a Wexio inbound webhook URL

Multi-Step Trigger Setup

Adding a trigger opens a guided modal. The number of steps depends on the trigger type - simple triggers (First Visit, Catch All) are a single tap; rule-based triggers (Message Received, Scheduled) walk through condition builders.

Trigger type selection (step 1)

Step 1 - Select a trigger type. Pick a trigger from the Messaging, Audience Activity, or Automation sections. Already-added triggers are shown as disabled so you don't duplicate them.

Refine the trigger (step 2)

Step 2 - Refine the trigger. Triggers that support multiple matching modes (for example Message Received lets you match by text, media type, or profile field) ask you to pick the refinement first, then show the relevant rule editor.

Fill in rule values (step 3)

Step 3 - Fill in the rule. The rule editor is scoped to whatever you picked in step 2 - text operators for text matching, an enum picker for media type, a profile field picker for profile match, etc. See each trigger's page for the full operator list.

Review and create (final step)

Final step - Review and create. A summary card shows the resolved trigger (type, field, operator, value). Tap Create Trigger to attach it to the flow, or use the back arrow to fix a value without starting over.

Simple triggers (First Visit, Catch All, Website Login) skip the refine and rule steps - they go straight from type selection to the review screen.

Multiple Triggers per Flow

A single flow can have multiple triggers chained by a connector. The connector is set on the trigger itself and defines how it combines with the next trigger in the list.

ConnectorBehavior
ANDBoth triggers must match
ORAt least one of the two must match

AND has higher precedence than OR - so A OR B AND C evaluates as A OR (B AND C).

Example - "contains /support OR first visit": runs for any user typing /support, and also for every brand-new contact on their first message.

Example - "profile language = en AND contains help": only routes English-speaking users asking for help - an English speaker who types hello is skipped by this flow, and a German speaker typing help is also skipped.

When several published flows all match the same event, the engine picks the one with the most specific match (the highest ratio of matched triggers to total triggers). Ties are broken by the most recently updated flow.

Integration Scope

Trigger scope is set at the flow level in flow settings, not per trigger:

  • Run on all integrations - The flow triggers on any connected channel (default)
  • Specific integrations - Select individual Telegram bots, WhatsApp numbers, etc.

Only one flow can use the First Visit trigger per integration. If multiple flows have this trigger, only the most recently published one fires.

Reactive vs Proactive

KindTriggersMessaging-window caveat
ReactiveMessage Received, First Visit, Catch All, Returning User, Website LoginNone - the user just sent a message, so the 24h window is open on every channel
ProactiveScheduled, Webhook ReceivedOn WhatsApp/Instagram the 24h window may be closed. Start the flow with a template message where required

Proactive triggers fire without a user message, so channels that enforce messaging windows (WhatsApp 24h, Instagram 24h with a 7-day human-agent extension) may reject non-template content. Design proactive flows so the first card is a channel-allowed message type (for WhatsApp that means a pre-approved template).

On this page