✅ Qualified
Session.forwarded becomes "qualified" when it meets certain criteria and is considered a valid and useful transfer within the conversation flow — that is, after the AI has done its qualification or prior data-collection work.
📋 When is it considered qualified?
An escalated session is considered qualified if:
The AI collected all the information required by the conditionals (for example: name, email, reason for contact, etc.).
The criteria of the current state were met before moving to the transfer state (
next_flow).The escalation state was reached after meeting conditions, not due to abandonment, anger, or error.
Typical example:
The AI asked for the name, email, and reason for contact. The customer answered everything correctly. Then they asked to speak with a human. That is a "forwarded qualified".
📈 Escalated
An escalated session.forwarded is a conversation that was automatically escalated by the AI due to critical behavior, customer frustration, offensive language, or an explicit request to speak with a human — and this happened before the flow’s objectives were met.
🔥 When is an escalation triggered?
This occurs when the AI detects any of these scenarios:
The customer is upset or angry
e.g., “This doesn’t work,” “I want to cancel now,” “this is garbage.”The customer insults or uses aggressive language
e.g., “you’re useless,” “I don’t want to talk to a robot.”The customer asks to speak to a human directly
e.g., “I want to talk to someone,” “is anyone there?”, “can you transfer me?”Custom escalation conditions
(Configured in the agent’s escalation state).
🔄 Recovered
What does it do?
Allows recovering sessions that were unqualified and not escalated at the moment of closure, automatically transferring them to a representative if they meet predefined conditions. The end customer is not notified.
Important: adjust session_inactivity_timeout to control how quickly inactive sessions are closed.
Limitation: not supported on Instagram (it’s not possible to request a phone number after closure).
How it works (in simple terms)
When the session is closed, the Agent evaluates recovery conditions.
If any condition is met (OR logic), the conversation is transferred.
The destination is defined with
rep_round.Darwin 2.0: the destination is an Escalation stage in a Pipeline (not a direct “Rep/Team”).
What you can condition
minimum_human_interactions: minimum number of human messages required.smart_fields: rules about fields (operators:is,is_not,contains,greater_than_or_equal,in, etc.).tags: all specified tags must be present.min minutes since last human activity: only recover if X minutes have passed since the last human activity (max 7 days / 10080 minutes).
