How to set up proactive chatbot triggers
Start helpful conversations from real visitor behavior with built-in anti-annoyance controls.

Proactive triggers let the chatbot approach a visitor after a meaningful signal. A good trigger is specific, delayed and easy to dismiss; an aggressive trigger damages trust.
WebChatAgent combines behavioral conditions with URL filters, schedules, priorities and global frequency limits. Start with one scenario and measure replies and dismissals.
What you will have at the end
- One verified five-second trigger
- Visitor-friendly cooldown and frequency limits
- A measured trigger-to-API conversation
Before you start
- Standard plan or higher
- A page and visitor behavior to target
- A private browser window for testing
Signal first, message second
Time, scroll, exit intent and rage clicks are signals—not proof of a visitor need. Pair a signal with a page-specific message and conservative limits.
Each trigger fires only once per session. Global session/day caps, cooldown and permanent dismiss add further protection.
01–06
Set it up step by step
Open Triggers and enable the feature
Start from the complete light-mode trigger editor.
Open the intended chatbot → Widget Integration → Triggers and enable proactive triggers. WebChatAgent supports Time on Page, Exit Intent, Scroll Depth, Inactivity, URL Match, Section Visibility, Returning Visitor, Pages Visited and Rage Click.
Use only a signal you can connect to a real visitor need. The verified example targets a visitor who has stayed long enough to benefit from a demo customer lookup.
Configure the five-second Time on Page example
Pair a reproducible delay with one specific invitation.
Select Time on Page and Add trigger. Keep Static message for the first test, set Delay to 5 seconds and write “Need help? I can look up demo customer 1 for you.” The short delay is used only for reproducible tutorial QA; production pages normally need a longer evidence-based delay.
Priority 10 is sufficient with one trigger. When several rules can match, lower priority numbers should represent the more specific or valuable scenario. URL rules, schedules and required-trigger combinations belong on the individual rule when the audience must be narrower.
Set cooldown and global protections
Prevent repeated interruptions before publishing.
For the verified test, use a maximum of one trigger per session, two per day, a five-second per-session cooldown, Respect permanent dismiss and Show as speech bubble. Bubble auto-hide 0 keeps the invitation visible until the visitor acts or closes it.
Production values should be more conservative when multiple pages and triggers share the same chatbot. Mention localStorage-based visit counting and cooldown state in the privacy information that applies to the widget.
Verify the live message in a clean session
Wait for the complete trigger sequence, not just its delay field.
Open a fresh visitor session with the widget closed. If a normal welcome bubble is configured, WebChatAgent waits for the global cooldown before starting the trigger timer; a five-second cooldown plus a five-second Time on Page rule can therefore take about ten seconds.
Confirm that the message appears once, can be dismissed and does not cover important page controls. Select the message to open the chat and keep its proactive context in the conversation history.
Auto Translate can localize the configured English invitation to the visitor browser language. The verified screenshot therefore shows the German visitor rendering while the WebChatAgent interface remains English; disable Auto Translate or explicitly force English when you need an English-only visitor test.
Continue to a real resolved conversation
The invitation must lead to useful help, not a dead end.
Reply “Yes. Look up demo customer 1 with Sincere@april.biz.” The configured REST connector validates the email and returns Leanne Graham, Romaguera-Crona and hildegard.org. This proves the trigger, chat input, connector call, response validation and final answer as one live flow.
Use an outcome that fits the page: product comparison on pricing, troubleshooting after rage clicks, or a callback form outside staffed hours. A proactive message that cannot resolve or route the stated need should not be published.
Review fired, response and dismiss rates
Use the built-in result table to improve one variable at a time.
Select Show trigger performance. The verified run recorded two firings, a 50% response rate and 0% dismissed. Small tutorial samples are proof of instrumentation, not evidence of business performance.
After enough sessions, compare fired, response and dismiss rates by trigger. Change either timing, audience or message, keep the other two fixed and record the result before expanding to more trigger types.
Example & result
See the practical test and its result
Every tutorial includes a fixed input, the expected outcome and a transparent record of what was actually verified locally.
Practical example: How to set up proactive chatbot triggers
This exact scenario was completed with the temporary tutorial account.
Exact test input
Wait for the five-second trigger, open its message and reply: “Yes. Look up demo customer 1 with Sincere@april.biz.”
Expected result
The bubble appears once, opens the chat, resolves the API lookup and records a fired and answered event.
What was actually verified
The real visitor flow returned Leanne Graham, Romaguera-Crona and hildegard.org. Trigger Performance recorded 2 firings, a 50% response rate and 0% dismissed.
Tips & tricks
Make the setup reliable
Test with realistic examples, record your baseline and change one setting at a time. That makes real improvements visible.
Combine signals for intent
A visitor who spent 45 seconds and scrolled 70% is more qualified than someone who merely loaded the page.
Treat dismiss rate as feedback
A high dismiss rate usually means the trigger is early, broad or irrelevant—not that visitors dislike chat in general.
Use static messages before AI-generated ones
A fixed invitation makes timing and audience measurable. Use AI-generated context only when it adds relevance, and evaluate latency, cost and unsafe wording with the same fixed pages.
When something does not work
Troubleshooting
Check status, permissions and test data systematically before changing the model or prompt.
The expected option is missing
Confirm the account plan, feature permissions and selected chatbot. Paid or beta features can be hidden when prerequisites are not met.
The test result is inconsistent
Reset the test conversation, keep the input identical and change one setting at a time so the cause remains measurable.
Ready for a production-style test
Run the trigger for enough sessions to compare response and dismiss rates, then refine only the timing, audience or message—not all three at once.
