# Why did the AI agent hand over, stop replying, or qualify a lead too early?

> A diagnosis table for the AI agent: unexpected hand-overs, unanswered messages, leads qualified too early, goals that never finish, rules that never fire.

Source: https://www.linkubit.com/docs/why-the-agent-handed-over-or-stopped-replying  
Section: Linkubit help centre › Troubleshooting  
Updated: 2026-10-09

## In short

Start from the conversation's automatic events and banners, then the contact's score breakdown, then Settings › Audit log. An unexpected hand-over is usually a workflow on lead.qualified or conversation.escalated, a goal marked to escalate, or a reply from the WhatsApp Business app. An unanswered message is usually human mode or a paused agent, and the banner says which.

## The agent handed over and I don't know why

| Likely cause | How to confirm | Fix |
| --- | --- | --- |
| A workflow ran `escalate_conversation` | Audit log: a `workflow:<trigger>` entry at that time listing `escalate_conversation`. Often a task appears beside it. | Edit or switch off that workflow. Escalating on `lead.qualified` hands over as soon as the score clears 40. |
| A goal marked **Escalate to a human when this goal completes** finished | The goal's last required field was captured on that message. | Expected. Untick it if a person should not take over at that point. |
| An escalation topic matched | Automatic events show a **Rule** line naming the topic rule. | Rewrite the topic as a fuller description so passing mentions don't match. |
| The customer sounded frustrated | Hand-over on an upset or angry message, no rule named. | Built in; cannot be turned off. |
| A reply failed verification | The customer got a holding reply; the audit log has the reason (often a price not in the catalogue). | Add the missing product or price to the Catalogue. |
| Someone replied from the WhatsApp Business app | A reply in the thread sent from the phone, and no event or rule. | Expected — press **Return to AI** when done. |
| A burst of 40+ messages, or the person's daily AI-reply limit | The thread banner says so. | Read the thread, then **Return to AI**, or block the sender. |

## The agent isn't replying

| Likely cause | How to confirm | Fix |
| --- | --- | --- |
| The conversation is with a person | The thread offers **Return to AI**; the list shows it as Human. | Press **Return to AI**. Messages that arrived meanwhile are not answered automatically — reply to the last one yourself. |
| The workspace is out of credits | Banner: the AI agent is paused — the workspace is out of credits. | Top up on **Plan & billing**; the agent resumes on the next message. |
| The contact is past the Free plan's contact cap | Banner on the thread; the row is blurred. | Clear out contacts or move up a plan. |
| The workspace hit its hourly ceiling on AI replies | Banner says so. | It lifts within the hour. |
| The subscription is not active | Banner says so. | **Plan & billing**. |
| The contact is blocked | The conversation only shows under the **Blocked** filter. | **Unblock this person**. |
| Someone already replied after that message | A reply from a person or a campaign follows it in the thread. | Nothing to fix — the agent does not answer a message that was already answered. |

## Leads qualify too early, or never

- **Too early:** open the contact's score breakdown. On the starter set, 40 points qualifies a lead as low, and a message count alone is worth 25. Raise the bands in **Score qualifies the lead**, lower or remove engagement rules, or test a field's value instead of its presence.
- **Never:** no goal has **Qualifies as**, the score never reaches 40, or **Score qualifies the lead** is switched off. A lead that only ever scored below the bands is a lead that has not qualified, by design.
- **Qualified once, then stuck:** `lead.qualified` fires once per lead. A later, higher class updates the lead but fires nothing new.

## Other symptoms

| Symptom | Cause |
| --- | --- |
| The agent never moves past small talk | The role's **Goal it pursues** is a stance-only goal and no collecting goal exists, or the opener's stance tells it not to ask anything. |
| The agent keeps asking the same question | The answer doesn't fit the field — usually an enum whose values don't match how customers answer. Widen the values or make it text. |
| A goal never completes | One required field never gets a value. Check the contact for which one is empty. |
| An escalation topic never fires | The topic is a keyword rather than a description, or the rule is not Active. |
| A workflow never runs | Its condition never holds at the moment the event fires, its trigger is fired by nothing in your setup, or it is not Active. The audit log lists every run. |
| An Append instruction is ignored | It is guidance. Turn it into a gated rule if it must hold. |
| The agent quoted no price, or said it would check | The product has no price in the Catalogue. The agent may only quote listed prices. |

> **Asking an AI assistant to help.** Every help page is also available as plain text: add `.md` to its address, or use **Copy page for AI** at the top. Paste the page with the conversation's automatic events and the audit log entries around the time, and ask what fired.

## Related
- [Human escalation: every trigger](https://www.linkubit.com/docs/human-escalation-explained)
- [From a conversation to a lead to a deal](https://www.linkubit.com/docs/conversation-to-lead-to-deal)
- [Take over a conversation from the AI agent](https://www.linkubit.com/docs/take-over-a-conversation)
