Triggers & Conditions
Last updated 2026-04-26
Every workflow starts with a trigger — an event that kicks off the automation. You can add conditions to filter when the workflow actually runs, and configure advanced options like priority, once-per-contact limits, and AI agent activation.
Available triggers
- Conversation opened — fires when a new conversation is created from any channel
- Manual — triggered manually by an agent or programmatically via the API
- First customer visit — fires the first time a visitor interacts with your widget
- Return visit — fires when a returning visitor starts a new session
- Mouse leave — fires when the visitor's mouse leaves the browser window (widget only)
- Scroll — fires when the visitor scrolls past a configurable depth threshold (widget only)
- Page view — fires when a visitor views a specific page matching a URL pattern (widget only)
- Chat opened — fires when a visitor opens the chat widget
- Engagement score — fires once when a visitor's composite engagement score crosses a configured threshold (widget only, behavioral)
- Rage click — fires when a visitor rapidly clicks the same area, indicating frustration or a broken element (widget only, behavioral)
- Form frustration — fires when a visitor repeatedly focuses and abandons form fields without submitting (widget only, behavioral)
- Idle detected — fires when a visitor stops all interaction for a configurable duration (widget only, behavioral)
- Pages browsed — fires when a visitor navigates between pages, after a minimum page count is reached (widget only, behavioral)
- Ecommerce signal — fires when a visitor is detected on an ecommerce page such as product, cart, or checkout (widget only, behavioral)
Trigger configuration
Each trigger type has specific configuration options:
- Page view — set a URL pattern to match (e.g., "/pricing" or "/docs/*")
- Scroll — set a depth threshold from 0 to 100 percent
- Conversation opened — optionally filter by conversation source
- Engagement score — set a score threshold from 0 to 100 (default 75); optionally filter by URL pattern
- Idle detected — choose an idle duration (30 seconds, 1 minute, 2 minutes, or 5 minutes); optionally filter by page type or URL pattern
- Pages browsed — set the minimum number of pages visited before triggering (e.g., 3)
- Ecommerce signal — filter by page type (product, cart, checkout, category, search, or any)
- Rage click and form frustration — optionally filter by URL pattern
Once per contact
Enable "trigger once per contact" to ensure the workflow only runs one time for each contact. This is useful for onboarding flows or first-visit welcome messages where you do not want the workflow to repeat.
Behavioral triggers
Behavioral triggers respond to how a visitor interacts with your website in real time rather than a single discrete event. They use the Savena widget to monitor scroll depth, time on page, mouse movement, click patterns, form interactions, and page navigation. Behavioral triggers are available only for the website chat widget channel.
All behavioral triggers support an optional URL pattern filter that restricts the trigger to pages matching a specific substring (case-insensitive). For example, set the URL pattern to "/pricing" to only trigger on your pricing page.
Enable "trigger once per contact" for behavioral triggers so each visitor receives the message at most one time. Without this setting, triggers like idle detected or pages browsed could fire repeatedly during the same session.
Engagement score calculation
The engagement score is a composite value from 0 to 100 based on four weighted signals: scroll depth (30%), time on page (30%), mouse activity (20%), and click count (20%). The score only increases during a session and resets when the page is reloaded. The trigger fires once when the score crosses the configured threshold.
Priority and execution mode
Set a priority from 1 to 10 (default 5) to control which workflow runs first when multiple workflows could trigger at the same time. Higher priority workflows run before lower priority ones. The execution mode determines behavior when another workflow is already active:
- Queueable (default) — the workflow waits in a queue until the active workflow finishes
- Preemptive — the workflow interrupts the active workflow if it has higher priority
AI agent trigger
Manual workflows can be triggered by your AI agents during conversations. Enable the AI agent trigger and provide an intent description and example messages so the AI knows when to activate this workflow. You can also choose which AI agents have access — all agents or only specific ones.
Conditions
Add conditions to control whether the workflow runs when the trigger fires. All conditions must pass (AND logic) for the workflow to start. Conditions can check:
- Conversation source — the channel the conversation came from
- Conversation status — open, assigned, resolved, etc.
- Conversation priority — low, medium, high, urgent
- Contact fields — name, first name, last name, email, phone
- Assignee status — whether the conversation is currently assigned
- URL and source — the page URL or traffic source that triggered the workflow
- Conversation metadata — source type, platform, campaign ID, ad ID, form ID, post ID, comment text, trigger keyword
Condition operators
Each condition compares a field against a value using an operator:
- Equals / Not equals — exact match comparison
- Contains / Not contains — partial text match
- Exists / Not exists — checks whether the field has or lacks a value
- Has any of / Has all of / Has none of — match against multiple comma-separated values
Not all operators are available for every condition category. For example, assignee status only supports equals, exists, and not exists. The workflow builder automatically shows only the valid operators for each field.
Example use cases
- Trigger on conversation opened with a condition that the source is WhatsApp to run a WhatsApp-specific greeting
- Trigger on page view matching "/pricing" to proactively offer help to visitors on your pricing page
- Trigger manually with AI agent activation so the AI can start a refund workflow when it detects the customer wants a refund
- Trigger on first visit with once-per-contact enabled to send a one-time welcome message
- Trigger on engagement score with a threshold of 75 to proactively offer help to highly engaged visitors
- Trigger on rage click with once-per-contact enabled to detect and assist frustrated visitors before they leave
- Trigger on idle detected with a 60-second duration on checkout pages to nudge visitors who may be stuck
- Trigger on ecommerce signal filtered to cart pages to reduce cart abandonment with proactive assistance
Still need help?
Can't find what you're looking for? Our support team is here to help.
Contact Support