What Response Controls are
Response Controls are string- or regex-based rules that inspect the agent’s generated response. They can be used to:- Halt responses entirely
- Prevent specific phrases from being spoken
- Trigger corrective routing or fallback behaviour
- Log unwanted patterns for later analysis
When to use Response Controls
Use Response Controls when you want to fix or prevent:-
Redundant preambles
“Let me check that for you…” “Please hold while I look into this…”
-
Looping or restart behaviour
Repeating the greeting mid-call Restarting the conversation after silence
-
Off-brand phrasing
Overly apologetic language Internal system explanations
-
Unsafe or disallowed output
Speculation Policy invention Meta commentary about limitations
How Response Controls work
- The LLM generates a response.
- Response Controls scan the output using regex patterns.
- If a pattern matches:
- The response may be halted
- A function may be triggered
- The event may be logged for analytics
Core fields
Each Response Control includes:- ID A short, descriptive identifier used for tracking and debugging.
- Description Optional, but strongly recommended. Explains why the rule exists.
- Regular Expression The exact pattern that will be matched against agent output.
-
Say phrases (Boolean)
- ON: matching output is stopped
- OFF: matching output is logged but allowed
- Function (optional) A fallback action to run when the phrase is detected.
Best practices
Start narrow
Broad patterns are hard to debug and can suppress valid responses.
Bad pattern
.*sorry.*
Better pattern
\b(sorry for the inconvenience|apologies for the delay)\b
Target symptoms, not intent
Do not try to encode “bad behaviour” abstractly. Encode specific phrases you have observed.Instead of: “Prevent the agent from being verbose”
Use:
\b(let me explain how|to give you some background)\b
Prefer halting over rewriting
If a phrase should never appear, halt it rather than replacing it. Replacement can mask deeper issues.Common use cases
1. Removing redundant preambles
LLMs often add filler before answering or executing actions.Example unwanted output “Let me check that for you. Please hold…”Suggested control
- ID:
flow_redundancy_cutoff - Regex:
\b(let me check|please hold|one moment while I)\b - Say phrases: TRUE
2. Preventing greeting loops
Sometimes the agent restarts the conversation mid-call.Example unwanted output “Thank you for calling Hopper…”Suggested control
- ID:
greet_loop - Regex:
(thank you for calling|you have reached|hi thanks for calling) - Say phrases: TRUE
3. Blocking “I don’t have information” dead ends
Agents sometimes respond with unhelpful refusals instead of routing.Example unwanted output “I don’t have information about that.”Suggested control
- ID:
default_no_info - Regex:
I don't have (any|specific)? information - Say phrases: TRUE
- Function:
prompt_OOS_Check
4. Brand tone enforcement
Prevent phrasing that violates brand voice.Example unwanted output “Unfortunately, I’m unable to…”Suggested control
- ID:
tone_softener - Regex:
\b(unfortunately|sadly|regret to inform)\b - Say phrases: TRUE
Logging-only controls
Not all controls need to halt output. You can use Response Controls purely for monitoring.Example: tracking hedging language
- ID:
hedge_language_monitor - Regex:
\b(might|maybe|possibly)\b - Say phrases: FALSE
Testing and verification
After adding or updating a Response Control:-
Test in Chat
- Confirm the phrase no longer appears
- Ensure the response still completes cleanly
-
Test in Call
- Listen for unnatural truncation
- Ensure turn-taking still feels natural
-
Review Conversation logs
- Check whether the rule is triggering too often
- Look for false positives
Common mistakes
- Using overly broad regex patterns
- Blocking phrases that appear in legitimate answers
- Using Response Controls to fix retrieval problems
- Forgetting to test in voice after chat validation
Pronunciations (related but separate)
Response Controls affect what is said. Pronunciations affect how it is spoken. Use Pronunciations when:- Names are mispronounced
- Numbers need pacing
- Domain terms require IPA or SSML guidance
Summary
Response Controls are a surgical tool. Used well, they:- Eliminate friction
- Enforce tone
- Prevent loops and dead ends
- Suppress valid responses
- Create silent failures
- Obscure deeper configuration issues

