# Live Chat Triggers: Rules and Examples for Customer Support

> Build live chat triggers that offer help at the right moment. Explore four rule recipes, plus exclusions, frequency limits, and tests to prevent duplicate messages.

By [Kenneth Pangan](https://www.featurebase.app/blog/authors/kenneth) · Published 2026-11-03 · Topic: Customer Service

Source: https://www.featurebase.app/blog/live-chat-triggers

---

A user gets stuck connecting an integration, searches for help twice, and leaves without opening your chat widget. A relevant message could have offered a way forward.

In this guide, I'll show you how to build live chat triggers for onboarding, page visits, repeated searches, and returning users, plus the exclusions and tests that keep those messages useful. 👇

---

## Key takeaways

- **Build around a specific task**: Combine a relevant page or behavior with evidence that help might be useful.
- **Write the exclusions first**: Completed tasks, active support conversations, and recent dismissals should stop unnecessary messages.
- **Control repeats and overlaps**: A limit on each message does not create a shared limit across all your campaigns.
- **Test the quiet cases**: Confirm that messages stay hidden when the user completes the task, leaves the page, or no longer qualifies.
- [**Featurebase**](https://www.featurebase.app/help-desk) ✨ combines targeted Outbound Chat messages, Workflows, and AI or human replies to help customers in context.

---

## How live chat triggers work

**Live chat triggers are rules that start an action when a visitor meets defined conditions.** For example, someone spends 60 seconds on an unfinished setup step, so your chat widget offers help with that step.

They provide the rules behind proactive live chat. This guide focuses on building those rules and checking their behavior.

### Events, conditions, and actions

A useful rule separates 3 things:

- **Event**: What starts the evaluation, such as a page visit, a submitted search, or a new chat message.
- **Trigger conditions**: What must be true, such as the current page URL, time on page, customer status, or an incomplete task.
- **Trigger actions**: What happens next, such as displaying a message, offering a guide, or routing the customer's reply.

Check which events and data your [live chat software](https://www.featurebase.app/blog/live-chat-software) exposes. A visitor's search-engine referral terms are different from searches inside your help center. A page timer also does not tell you whether someone completed a task.

### Combine conditions with AND and OR

Use **AND** when every condition must match. Use **OR** for alternatives within a group.

For a setup message, the logic might be:

```text
Signed-in user
AND (current page is setup/import OR setup/connect)
AND time on the current page is at least 60 seconds
AND the current setup step is incomplete
AND no suppression rule applies
THEN offer help with that step
```

The parentheses matter. Putting every condition in one OR group could show the message to anyone who is signed in, regardless of their page or progress.

If your builder cannot combine grouped AND/OR conditions, create separate rules for the 2 pages with the same exclusions. Match the message to the relevant step.

![Featurebase trigger rules combining a pricing-page URL, time on page, and an Enterprise-plan audience.](https://storage.ghost.io/c/56/ac/56acdd2c-2663-4a50-9c02-81624392e1d0/content/images/2026/11/image.png)

*Combine page conditions with audience rules to make a chat message relevant.*

---

## 4 live chat trigger examples for customer support

Adapt these rules and [live chat scripts](https://www.featurebase.app/blog/live-chat-scripts) to your platform. **The delays and limits below are starting settings to test, not proven optimal thresholds.**

Page rules are often available in the chat tool. Task completion, recent search counts, and previous-session context may require data from your app. Confirm that the builder can use every condition and exclusion before activating a recipe.

### 1. Help users finish onboarding

A long visit during [customer onboarding](https://www.featurebase.app/blog/customer-onboarding) can mean someone is reading carefully. Pair time on page with an unfinished step so your message has a clear purpose.

- **Data needed**: Current setup page, step-completion status, customer identity, and previous message delivery.
- **When**: A signed-in user stays on the integration setup page for 60 seconds and the connection is still incomplete.
- **Exclude**: Users who complete the connection, leave the step, dismiss this message, or already have support helping with that task.
- **Action**: Offer the connection guide or a conversation with support. Pass the setup step into the conversation when your integration supports it.
- **Frequency**: Send once per user for this setup step.

**Example message:**

> Need a hand connecting your workspace? I can walk you through permissions or help troubleshoot an error.

**Test:** Leave a test account on the unfinished step and confirm the message appears. Then complete the connection after 40 seconds and confirm that it stays hidden.

Recheck completion when the message is due. A condition that was true when the timer started may no longer be true a minute later.

### 2. Offer help on a relevant page

Page-based chat triggers can answer questions where they arise. A billing-page message should help with invoices or payment details, rather than repeat your homepage greeting.

- **Data needed**: Current page URL, page timer, recent dismissals, and any billing-completion or support-in-progress signal you want to exclude.
- **When**: A signed-in customer remains on the billing page for 45 seconds.
- **Exclude**: Customers who just completed the relevant billing action, dismissed the prompt, or are already discussing the issue with support.
- **Action**: Display a short invitation and route replies to the team that handles billing questions.
- **Frequency**: At most once per customer in 7 days while you test the rule.

**Example message:**

> Looking for an invoice or updating payment details? Tell us what you need help with.

**Test:** Confirm that the message appears on the intended billing page and stays hidden on the billing-success page. Check URLs with trailing slashes and query parameters.

[**Featurebase's Outbound Chat**](https://www.featurebase.app/outbound) can combine page URL and time-on-page rules with customer attributes. Replies can go to a teammate or team, and Fibi can respond automatically when enabled. Additional task or suppression data still needs to be available to your targeting rules.

### 3. Respond to repeated help searches

Several searches can suggest that someone has not found a useful answer. The rule needs a recent search history, rather than a lifetime count.

- **Data needed**: Submitted help-search events, timestamps, user or session identity, and a task-completion signal where available.
- **When**: Someone submits 3 searches within 10 minutes, remains in the help area, and has not completed the task.
- **Exclude**: Staff testing the help center, customers already receiving help, and people who dismissed the offer.
- **Action**: Allow 20 seconds to read the results, then offer a support conversation with the relevant search context.
- **Frequency**: Once per session, subject to your shared proactive-message limit.

**Example message:**

> Still looking for an answer? Tell us what you're trying to do and we'll help you find the next step.

**Test:** Submit 3 searches in the time window, then repeat with only 2. Also check that old searches stop counting once they fall outside the window.

Count submitted searches, not every keystroke. If your tool lacks this trigger, your app or integration must calculate the recent-search signal and make it available to the chat rules. Verify that an updated signal prompts the rules to be evaluated.

Recheck eligibility after the reading delay.

### 4. Help returning users resume an unfinished task

Returning visitors do not automatically need a welcome message. Use the previous visit to identify a task they can still finish.

- **Data needed**: A stable user identity, previous-session timestamp, unfinished task, and task-completion status.
- **When**: A user returns within 7 days, opens the relevant task page, and still has an unfinished task from the previous session.
- **Exclude**: Completed tasks, active assistance, and anyone who received or dismissed this reminder within the past 7 days.
- **Action**: Offer a link to resume the task or a conversation about the blocker.
- **Frequency**: At most once per user in 7 days.

**Example message:**

> Ready to finish importing your data? You can pick up where you left off, or ask us for help.

**Test:** Return with an unfinished import, then repeat with a completed one. Check that a different signed-in account does not inherit the reminder.

Keep the **previous session** separate from the current visit. A “last seen” field updated on every page load cannot, by itself, establish when the person last visited.

---

## Set exclusions, frequency limits, and business hours

The message is only part of your [support workflow](https://www.featurebase.app/blog/customer-service-workflow). Its stopping rules determine whether it remains relevant as the customer moves through your product.

### Suppress messages when help is unnecessary

Create a shared set of exclusions:

- **Task completed**: Stop the offer as soon as the customer succeeds.
- **Support in progress**: Avoid opening another conversation about an issue already being handled.
- **Recent dismissal**: Respect “not now” for a defined cooldown.
- **Wrong context**: Exclude staff, test accounts, and pages where the offer does not belong.

These exclusions need usable data. If your page-trigger builder cannot access conversation status, use a supported customer-level signal maintained by your integration, or choose a simpler rule you can verify.

Check missing values too. An unknown completion status should not silently become “incomplete” when that could produce an inappropriate message.

### Separate repeat limits from campaign-wide limits

**Per-rule frequency caps stop one message repeating. A shared cap limits the total number of proactive messages.**

For a pilot, I would start with:

- **Per-rule limits**: Use the recipe's once-only or cooldown setting.
- **Shared session limit**: Allow at most 1 proactive message across the pilot campaigns.
- **Dismissal cooldown**: Suppress the dismissed prompt for 7 days unless the user explicitly asks for help.

These are suggested limits, not universal settings. If your tool has no shared cap, use mutually exclusive audiences or an integration that records recent deliveries.

Use a stable signed-in identity where available. Cookie-based recognition may reset when someone clears cookies or changes devices, so test those paths before promising “once per person.”

### Match delivery to support availability

Business hours and agent availability answer different questions: when your team is scheduled to work, and whether someone can respond now.

Choose the behavior you can actually deliver:

- **Staffed support**: Send during working hours and check team availability or queue capacity if your tool exposes it.
- **AI support**: Offer automated help with a clear route to human follow-up.
- **After-hours collection**: Explain that the team will reply later and capture the question without promising an immediate response.

Check the timezone used by the scheduler, including daylight-saving changes where relevant. A live campaign can still be outside its allowed delivery window.

![Featurebase send-frequency settings and delivery menu with office-hours and custom-time options.](https://storage.ghost.io/c/56/ac/56acdd2c-2663-4a50-9c02-81624392e1d0/content/images/2026/11/image-1.png)

*Control message frequency and limit delivery to office hours or custom times.*

---

## Prevent duplicate and competing messages

Imagine a returning user stalls during onboarding. They could qualify for both the onboarding recipe and the return-visit reminder.

Decide which message wins before enabling both. For this pilot, use this priority:

1. Repeated help searches indicating unresolved difficulty.
2. Help with the current unfinished setup step.
3. Help on a relevant page.
4. A reminder about a previous task.

Make the audiences exclusive where possible. The return reminder should exclude users who qualify for the more specific setup message.

Then check the other sources of automated chat messages: an existing welcome campaign, another widget, or a separate automation integration. They may have independent delivery rules.

[![Featurebase workflow linking a new Messenger conversation to reply options, messages, and a bug-report ticket.](https://storage.ghost.io/c/56/ac/56acdd2c-2663-4a50-9c02-81624392e1d0/content/images/2026/05/CleanShot-2026-05-12-at-10.55.25.png)](https://www.featurebase.app/help-desk)

*Connect conversation triggers to reply options and follow-up actions.*

**In Featurebase, only the first matching customer-facing Workflow runs.** Matching background Workflows can still run alongside it. That ordering rule should not be treated as a shared suppression guarantee across every separate Outbound campaign.

For custom integrations, have engineering coordinate the check and recording of a delivery so simultaneous events cannot both send the same prompt. Include multiple browser tabs in your test.

Also distinguish a duplicate send from an existing message remaining visible after navigation. Check delivery history before changing the rule.

---

## Test and improve your live chat triggers

Start with test accounts, then a narrow audience. A message preview checks the copy and appearance, but it does not prove the full rule behaves correctly.

Use this acceptance checklist:

| Test | Expected result |
| --- | --- |
| Every required condition matches | The intended message appears once |
| One required condition is false | No message appears |
| Task completes during the delay | The pending offer is suppressed |
| User leaves the target page | The old page's offer does not appear later |
| User dismisses and reloads | The cooldown remains in effect |
| Two rules match together | Only the selected priority message appears |
| Delivery window closes during the delay | Delivery follows the scheduling rule |
| User signs in or switches accounts | Identity and message history remain appropriate |
| User opens a second browser tab | No unintended duplicate delivery |
| Required tracking data is missing | The rule follows the chosen fallback |

Record a rule name, owner, intended audience, and success event. Keep a simple way to pause a campaign if it reaches the wrong people.

Choose [live chat metrics](https://www.featurebase.app/blog/live-chat-metrics) that show outcomes beyond the reply rate:

- **Task completion**: Do eligible users finish the step more often?
- **Dismissals**: Are people rejecting the message quickly or repeatedly?
- **Support demand**: How many additional conversations need human attention?
- **Service quality**: Are response times and customer satisfaction holding up?

Where traffic allows, compare with a similar group that does not receive the trigger. Looking only at people who replied can overstate the benefit because those users chose to engage.

Change one part at a time, such as the delay, audience, or message. If people keep needing the same explanation, improve the page or help article as well.

![](https://storage.ghost.io/c/56/ac/56acdd2c-2663-4a50-9c02-81624392e1d0/content/images/2026/02/CTA.jpg)

## Resolve 70% of customer requests with AI

Automatically resolve customer issues & cut down support loads for your team

[Explore more](https://www.featurebase.app/ai-agent)

---

## Conclusion

Useful live chat triggers start with 1 task, 1 relevant offer, and clear stopping rules. Once you know the trigger reaches the right users without repeating, expand to the next support problem.

[**Featurebase**](https://www.featurebase.app/help-desk)**is a modern AI customer support platform that brings support, help center, and feedback management together. Its Outbound Chat messages help you offer contextual assistance, while Fibi and your team handle customer replies.**

There's a Free plan for basic live chat and a 10-day trial of paid features. Choose the plan that includes the automation you need. 👇

> ✨ [Automate your support with the fastest AI-enhanced Inbox today →](https://www.featurebase.app/help-desk)

[![Featurebase shared support inbox beside a live chat widget with messaging and help-search options.](https://storage.ghost.io/c/56/ac/56acdd2c-2663-4a50-9c02-81624392e1d0/content/images/2026/02/support-featurebase-branded.jpg)](https://www.featurebase.app/help-desk)

*Featurebase's support inbox & widget*

---

### FAQs

#### Do live chat triggers require coding?

Basic live chat automation, such as URL and time-on-page rules, can often be created in a visual builder after the widget is installed. More specific rules, such as counting help searches or checking an unfinished import, may need developer work to send the required events or attributes.

#### Can an AI agent handle replies to triggered messages?

Yes, if your chat platform connects the triggered conversation to an AI agent. Give the agent relevant knowledge and a defined handoff route, and test the customer's reply path as well as the opening message.

#### Can triggers work in a single-page application?

Yes, provided the chat integration recognizes route changes and updates the page context. Test navigation without a full reload, including whether timers reset and pending messages stop when the route changes. Follow your widget provider's supported integration method.

#### Can triggered messages use different languages?

Platforms with [multilingual live chat](https://www.featurebase.app/blog/multilingual-live-chat) can support translated messages, but check whether that extends to proactive campaigns. Use a supported language signal and define a fallback when it is unavailable. Check that the reply experience and linked help content also support the chosen language.

#### Does an automated greeting count as a first response?

That depends on how your reporting tool defines [first response time](https://www.featurebase.app/blog/first-response-time). Separate the proactive invitation from the response to a customer's actual question, and distinguish automated from human replies. Otherwise, a fast greeting can hide a long wait for useful support.

---
