Interview Agents

Triggers

When an agent fires. The full taxonomy — manual triggers (pageview, time, scroll, element, exit), compound conditions (AND/OR), and agentic triggers on Pro.

A trigger is the condition (or combination of conditions) that tells a custom interview agent when to invite a visitor into a conversation. The general feedback agent has no triggers — it's always available for the visitor to click into. This page is about custom agent triggers.

Manual triggers

These are deterministic, observable conditions. Each one evaluates a single signal from the visitor's session.

URL targeting

Every custom agent has a URL target. Options:

  • Global — fires on any page on the site.
  • Specific URL pattern — fires only on pages whose URL matches the pattern (supports simple globs, e.g. /checkout/*, /pricing).

URL targeting is how you scope where an agent can fire at all. Additional conditions below scope when.

Time on page

Fire after the visitor has spent N seconds on the matching page. Good for "the visitor is actually reading this" vs. "bounced in a second and left."

Scroll depth

Fire after the visitor has scrolled past a specific percentage of the page height. Useful for landing pages and long-form content where the signal you care about is "they made it to the middle / end."

Landed on Page

Triggers when a user lands on a specific page, e.g., a success page.

Left a Page

Triggers when a user navigates away from a page, e.g., leaving the checkout page.

Pages Visited

Fires after the user visits N pages, e.g., after the user visits any 5 pages on the site.

Returned to Page

Fires after the user returns a specific page N times, e.g., when the user visits a product page 3 or more times.

Custom event

Fire when your own code emits a specific event. From any page:

window.Seena.setCustomData({
  customer_id: 'cus_abc123',
  plan_tier: 'enterprise',
});

You can trigger agents on your custom event by name, and reference the properties in conditions. You can target people based on a feature flag, a specific product tier or a specific customer id if you need to get their feedback.

Compound triggers — AND / OR

You can combine multiple conditions into one compound trigger. Seena supports both:

  • AND — all conditions must match. Example: "URL is /pricing AND scroll depth ≥ 50% AND time on page ≥ 20 seconds."
  • OR — any condition matching fires the agent. Example: "Scroll 70% OR spend 15 seconds"

Compound triggers are configured visually in the agent editor. Most teams end up using AND to scope "the right moment" precisely.

Agentic triggers (Pro+ tiers) coming soon

Agentic triggers use an AI model to detect behavioral signals in real time. Unlike manual triggers, they don't need you to describe the exact DOM interaction — they look at the pattern of events.

Available agentic triggers:

  • Frustration — detected from compounding behaviors rage clicks, and errors.
  • Engagement — detected from engagement with content, reading, and successful interactions.
  • Confusion — detected from erratic navigation, rapid tab switching, dead clicks on non-interactive regions.
  • Intent to leave — detected from accelerating cursor toward the window edge, long idle, or rapid scrolling past content.

Priority — when multiple agents match

If two or more custom agents could fire on the same visitor at the same moment, Seena uses priority to pick one. Each custom agent has a priority number; lower numbers fire first. There's no tie-breaking — if two agents have the same priority and both match, the first one Seena sees wins.

As a design rule, give your most specific, time-sensitive agents the lowest priority numbers. Your general-purpose "any-page" agents get the highest.

What's not a trigger

  • Governance rules (session cap, cooldown, dismissal escalation, visitor recurrence) run after triggers match. An agent's trigger can fire and still not engage the visitor because governance blocked it. See Agent governance.
  • Page entry alone isn't a trigger — use Timer or Time on Page if you want a delay from load.
  • A failed network call is not a detectable trigger signal today. If you want to interview on error, emit a custom event from your error handler.

What to read next