Skip to main content
Level 2 — Lesson 4 of 8 — Master response controls to regulate agent output and enforce tone.
Response Controls regulate the agent’s own output. They run after the model generates text and before anything is spoken or sent. Powerful 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.

Halt responses

Prevent specific phrases from being spoken

Trigger routing

Activate corrective or fallback behavior

Log patterns

Track unwanted patterns for analysis

Enforce tone

Maintain brand voice consistency
They 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:
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 Managed Topics
  • If the issue is about how the agent speaks, use Response Controls

How response controls work

1

LLM generates response

The model creates text based on context and prompts
2

Response Controls scan output

Regex patterns are evaluated against the generated text
3

Action taken if matched

  • The response may be halted
  • A function may be triggered
  • The event may be logged for analytics
Controls are evaluated in real time and apply consistently across Chat and Call.

Check your understanding

Core fields

Each Response Control includes:
A short, descriptive identifier used for tracking and debugging.
Optional, but strongly recommended. Explains why the rule exists.
The exact pattern that will be matched against agent output.
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
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. .*sorry.* \b(sorry for the inconvenience|apologies for the delay)\b

Target symptoms

Encode specific phrases you have observed, not abstract concepts. “Prevent the agent from being verbose” \b(let me explain how|to give you some background)\b

Prefer halting

If a phrase should never appear, halt it rather than replacing it.

Test thoroughly

Verify in both Chat and Call to catch unnatural truncation.

Common use cases

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.
  • ID: hedge_language_monitor
  • Regex: \b(might|maybe|possibly)\b
  • Say phrases: FALSE
This allows you to analyze uncertainty trends without disrupting users.

Testing and verification

After adding or updating a Response Control:
1

Test in Chat

  • Confirm the phrase no longer appears
  • Ensure the response still completes cleanly
2

Test in Call

  • Listen for unnatural truncation
  • Ensure turn-taking still feels natural
3

Review Conversation logs

  • Check whether the rule is triggering too often
  • Look for false positives

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

Pronunciations (separate feature)

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
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

1

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:
  1. ID
  2. Description
  3. Regex
  4. Say phrases setting
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.
  • 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

← Previous: Return values

Lesson 3 of 8

Next: Audio management →

Lesson 5 of 8
Last modified on April 1, 2026