AgentStack Docs

Continuous conversations

Reach a widget visitor by email after they leave, and receive their reply in the same ticket.

A widget conversation ends when the visitor closes the page. A teammate reply after that moment reaches nobody. Continuous conversations closes this gap. The visitor gives an email address, and the system sends the unseen teammate replies to that address.

How the address is collected

When a human ticket becomes active in a widget chat, the widget shows one dismissible banner that asks for an email address. The banner appears at most once for each session, and it does not block the chat. The visitor can decline. The feature is then inactive for that ticket.

An address typed into the widget is not trusted. It creates an unverified contact record only. It never enters your customer records, and it never merges with an existing customer. An inbound reply from that same address is the only proof of ownership. That reply verifies the address, promotes it to a customer record, and reopens the anchored ticket as On you.

When an email is sent

The system does not email a reply that the visitor already saw. The widget reports a reply as read only when the chat panel is open, the browser tab is in the foreground, and the message is visible on screen.

A background sweep runs every minute. It selects a ticket with an unseen teammate reply that is more than three minutes old. It collects every unseen teammate reply into one digest and sends one email. The digest contains teammate replies only. It never contains the visitor's own messages, the AI answers, or the conversation transcript.

The sweep tries three times for each ticket. A successful send resets the count. If all three attempts fail, the ticket returns to On you and appears in the Undelivered view. A bounce, a drop, or a spam report clears the stored address and returns the ticket to On you. A recipient who sent STOP is suppressed, and the reason is recorded.

What to check

Read the ticket status as a delivery fact, not as an intention. See assignment and ticket statuses for what On customer now means. Work the Undelivered view regularly. A ticket in that view needs a different contact route. Do not assume that an address a visitor typed belongs to them until an inbound reply proves it.

On this page