Tutorial: Response control
Level 2 – Lesson 4 of 8 – Master response controls to regulate agent output and enforce tone.
Advanced voice settings regulate the agent’s own output. They run after the model generates text and before anything is spoken or sent. Useful for tone, safety, and flow – easy to misuse if patterns are too broad.
What response controls are
Response Controls are string- or regex-based rules that inspect the agent’s generated response.
Response controls are not about what the user says – they are about what the agent says.
Which tool to use for which problem
When to use response controls
Use response controls when you want to fix or prevent:
Redundant preambles
Looping behavior
Off-brand phrasing
Unsafe output
Examples:
- “Let me check that for you…”
- “Please hold while I look into this…”
- If the issue is about recognition, use ASR tools
- If the issue is about retrieval, fix the FAQs
- If the issue is about how the agent speaks, use Response Controls
How response controls work
Controls are evaluated in real time and apply consistently across Chat and Call.
Check your understanding
Your agent keeps saying 'Let me check that for you' before every response, creating awkward pauses in voice calls. Which tool should you use to fix this?
- Managed Topic sample questions
- Keyphrase Boosting in Global ASR
- A Response Control with Say phrases set to TRUE
- A Transcript Correction rule
Answer: A Response Control with Say phrases set to TRUE
This is an agent output problem – the agent is generating filler phrasing. A Response Control with ‘Say phrases: TRUE’ will halt the unwanted phrase before it reaches the user.
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)
Despite the name, this field controls halting, not allowing:
- ON (Halt): matching output is blocked before it reaches the user
- OFF (Log): matching output is allowed through but recorded for analytics
Function (optional)
A fallback action to run when the phrase is detected.
Best practices
Common use cases
Removing preambles
Preventing greeting loops
Blocking dead ends
Brand tone enforcement
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
Result: The agent proceeds directly to the answer or action.
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
Tracks hedging frequency without disrupting users.
Testing and verification
After adding or updating a Response Control:
Common mistakes
Avoid these pitfalls:
- 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
Check your understanding
What do Response Controls regulate?
- What the user is allowed to say
- How ASR processes audio input
- The agent’s own generated output
- Which FAQs can be triggered
Answer: The agent’s own generated output
Response Controls run after the LLM generates a response, before it’s spoken or sent. They regulate the agent’s own output – not what the user says or how speech is transcribed.
Pronunciations (separate feature)
Use Pronunciations when:
- Names are mispronounced
- Numbers need pacing
- Domain terms require IPA or SSML guidance
Do not use Response Controls to solve pronunciation issues.
Response Controls are a surgical tool – the final layer of polish, not the first fix.
Try it yourself
Challenge: Write a response control
You notice the agent frequently says “Let me look into that for you” before answering – which creates an awkward pause in voice calls.
Write the full Response Control configuration:
- ID
- Description
- Regex
- Say phrases setting
Hint
Write the regex to match the specific phrase you observed, not a broad pattern. Start as narrow as possible – you can always widen it if needed.
Example solution
- ID:
filler_preamble_cutoff - Description: Prevents the agent from saying “Let me look into that for you” before responding – this creates latency and sounds unnatural in voice.
- Regex:
\blet me (look into|check) that for you\b - Say phrases: TRUE
Check your understanding
What's the difference between Halt and Log in Response Controls?
- Halt monitors the phrase; Log blocks it
- Both do the same thing but at different latency costs
- Halt blocks the response; Log lets it through while tracking it
- Halt applies globally; Log applies per conversation
Answer: Halt blocks the response; Log lets it through while tracking it
If a phrase should never appear, Halt it – the response is blocked before reaching the user. Logging lets the phrase through while recording it, which is useful for monitoring but not for enforcement.

