Conversation lifecycle in AskVault
The three conversation states
Every conversation has one of three states:
- Active. The AI is handling it. New customer messages get AI answers.
- Escalated. A person has been asked for, or a teammate has taken it over. It shows in the Help Desk queue.
- Resolved. Done. It leaves the active queue.
Three other things sit alongside the state and change independently of it:
- Assigned to. The teammate who owns the conversation, or nobody.
- AI paused. When on, the AI does not answer new messages in this conversation.
- Snoozed until. A time before which the conversation is hidden from the inbox. See snoozing conversations.
There is no separate "claimed" or "archived" state.
How conversations start
A conversation starts as active when a customer sends their first message on any channel. The AI answers, and the conversation.started webhook fires if you subscribe to it.
A conversation stays tied to the customer's session on that channel, such as a widget visitor or a WhatsApp number. If an AI conversation has been silent for 4 hours and the customer writes again, the old conversation is resolved and their new message starts a new one.
Escalation
A conversation becomes escalated in these ways:
- The AI hands off with the escalate_to_human skill, when live chat is on and someone is reachable. The AI is paused.
- The visitor clicks "Talk to a human" in the website widget, when live chat is on.
- An automation rule with the Escalate action matches. See automation rules.
- A teammate clicks Escalate on a conversation in Chat History.
- A teammate takes over the conversation in the Help Desk, or pauses the AI. Both assign it to them and pause the AI.
- Your own system calls
POST /v1/agent/escalatewith an API key.
Paths 1 to 4 fire the conversation.escalated webhook. Paths 5 and 6 do not.
Escalated conversations land unassigned unless a teammate took them over. See escalate a conversation for what happens next.
Taking over
In the Help Desk, a teammate clicks Take over on a conversation. It is assigned to them, the AI is paused, and the conversation becomes escalated. On the website widget the visitor sees the teammate join.
Only one teammate can take over a conversation. If two try at the same moment, the second gets an error.
Resolve
A conversation becomes resolved when:
- A teammate clicks Resolve in the Help Desk, or uses bulk Resolve on up to 200 selected conversations. This clears the assignee and turns the AI back on.
- An automation rule with the Auto-resolve action matches.
- The idle timeout applies: an AI conversation idle for 4 hours is resolved when the same visitor writes again.
There is no configurable 7-day auto-resolve, and no scheduled sweep that resolves idle conversations in the background. Escalated conversations are never resolved by the idle timeout.
When a resolved conversation gets a new message from the same customer, that message starts a new conversation. The old one stays resolved and is not linked to the new one.
Reopening
A teammate can reopen a resolved conversation with Reopen in the Help Desk. It goes back to active.
Retention
Conversations are deleted automatically once they pass your plan's retention period:
| Plan | Retention |
|---|---|
| Free | 7 days |
| Starter | 30 days |
| Growth | 90 days |
| Business | 365 days |
| Enterprise | 365 days |
There is no archive, and no button to delete a single conversation.
Webhook events
The conversation webhooks are:
conversation.started: a new conversation began.conversation.escalated: see the escalation paths above.conversation.escalation_missed: a visitor asked for a person but nobody was reachable.conversation.resolved: sent today only when an automation rule auto-resolves. Resolving in the Help Desk, bulk resolve and the idle timeout do not send it.conversation.feedback: a visitor gave a thumbs up or down on an answer.
There are no claimed, snoozed, unsnoozed, reopened or archived webhooks. Subscribe on the Webhooks page.
Common pitfalls
A customer's follow-up isn't in the old thread. A reply after resolve starts a new conversation. Search by the customer's email or name to find both.
An escalated conversation sits forever. Escalated conversations don't time out. Resolve them, or hand them back with Resume AI.
The resolved webhook didn't fire. It only fires for automation-rule resolves today. Use the audit log on the conversation to see who resolved it in the Help Desk.
FAQ
Can I disable the idle timeout?
No. It applies to AI conversations on every workspace.
Does the bot respond in a conversation a teammate took over?
No. The AI stays paused until the teammate clicks Resume AI or resolves the conversation.
Do snoozed conversations change state?
No. Snooze only hides a conversation from the inbox until a time you pick. Its state, assignee and AI pause stay as they were.
Can I customize the states?
Not from the dashboard today. The three states above are the ones you can set.
Related guides
- Snoozing conversations
- Resolve a conversation
- Escalate a conversation
- Escalate to human skill
- SLA policies