Stop conditions: when the agent should stand down
Auto-pause on bookings, keywords, hostile sentiment, message counts. Tag needs-attention and trigger GHL workflows on the way out.
Updated June 26, 2026
Stop conditions define when the agent should pause itself on a specific
conversation. Different from transfer_to_human (which the agent calls
itself when stuck) — stop conditions are your rules for when the agent
should stop even if it thinks it's doing fine.
Why you'd want this
- Don't double-handle after booking. Agent booked the meeting — stop
- Pause the moment the contact gets hostile. Angry language, legal
- Human takes over after a specific keyword. e.g. "manager" or
- Message limit. After 15 turns, if no booking, escalate to a human
- Pipeline stage change. Deal moved to "negotiation" — humans own it
Condition types
- Appointment booked — fires when
book_appointmentsucceeds - Keyword — fires when the inbound message contains any of your
- Message count — fires when the conversation hits N total messages
- Pipeline stage — fires when
move_opportunity_stageruns - Hostile / angry sentiment — fires when the inbound matches a
Actions when a condition fires
Every condition carries its own action config — you can mix and match:
- Pause agent (default on) — stops all further replies until a
- Tag
needs-attention(default on) — the contact shows up on - Enrol in workflow (optional) — GHL workflow ID. The contact is
- Remove from workflow (optional) — GHL workflow ID. The contact
Workflow pickers only appear if your GHL connection includes theworkflows.readonly scope. Reconnect from Integrations if the
picker shows no options.
Flag-only (non-pausing) patterns
You don't have to stop the agent — you can just flag a contact. Common
patterns:
- Sentiment, flag-only: Keep replying, but tag every hostile
- Keyword "refund", flag-only: Tag and enrol into a finance-team
What happens end-to-end when a condition fires
- The condition's actions run (tag, enrol, remove — each
- If Pause agent is on, the conversation state flips to PAUSED —
- A needs_attention notification fires on your configured channels
- The conversation can be resumed manually from the Inbox
Pause vs Transfer
- Stop condition → automatic pause based on your rule
- transfer_to_human → the agent decides it's over its head and calls
- Fallback: transfer → the agent hits a question it can't answer and
All three fire the same human-handover notifications
so whoever's on-call gets a deep link either way.
Tips
- Always add a SENTIMENT condition. The built-in pattern catches
- Always set a message-count stop condition. Catches runaway loops
- Layer keyword + sentiment. Sentiment catches emotional tone;
- Test with the Playground. Fire the condition manually to make