Burki’s AI-powered Spam Detection System evaluates calls in real-time to identify and automatically terminate spam, scam, and unwanted calls—protecting your business and saving agent time.
Overview
The Spam Detection System uses LLM-based evaluation to analyze conversations and detect unwanted calls:Real-Time Analysis
Evaluates transcripts during live calls without blocking conversation flow.
Configurable Scenarios
Define what constitutes spam for your specific business context.
Fail-Open Design
Errors default to allowing calls—never blocks legitimate callers.
How It Works
1
Call Begins
Spam detection is registered when the call starts. A grace period prevents premature evaluations.
2
Transcript Evaluation
As conversation progresses, the LLM periodically evaluates the transcript against your defined scenarios.
3
Verdict Aggregation
Multiple evaluations are aggregated. A final verdict requires consistent results with sufficient confidence.
4
Action
If spam is confirmed with high confidence after the minimum call duration, the call is automatically terminated.
Configuration
Enable and configure spam detection per assistant:Configuration Parameters
Scenario Configuration
Denied Scenarios
Define what constitutes spam for your business. Be specific and descriptive:Common Denied Scenarios
Common Denied Scenarios
Telemarketing & Sales
- “caller is trying to sell insurance products”
- “caller is offering credit card services”
- “caller is promoting investment opportunities”
- “caller is selling extended warranties”
- “caller is conducting a survey”
- “caller is doing market research”
- “caller is collecting opinions for a study”
- “caller refuses to identify themselves”
- “caller provides false or inconsistent information”
- “caller is asking for sensitive personal information”
- “caller claims to be from a government agency demanding immediate payment”
- “caller appears to be a robocall”
- “caller is playing pre-recorded messages”
- “call has long silences followed by scripted speech”
- “caller is using profanity or abusive language”
- “caller is making threats”
- “caller is harassing the assistant”
Allowed Scenarios
Whitelist legitimate call patterns to prevent false positives:Common Allowed Scenarios
Common Allowed Scenarios
Customer Identification
- “caller provides a valid order number”
- “caller mentions a valid account number”
- “caller references a recent transaction”
- “caller knows their service agreement details”
- “caller is returning a call from our company”
- “caller received a voicemail from us”
- “caller has a scheduled callback appointment”
- “caller mentions a specific employee by name”
- “caller is a known vendor or partner”
- “caller references an active contract or agreement”
- “caller is responding to an appointment reminder”
- “caller mentions the specific promotion they’re calling about”
- “caller provides the reference number from their email”
Start with a small set of clear scenarios and expand based on real spam patterns you observe. Over-broad scenarios may cause false positives.
Verdict Aggregation
The system requires multiple consistent evaluations before taking action:Requirements for Final Verdict
- Minimum Evaluations: At least
min_evaluations(default: 2) must be completed - Confidence Threshold: Average confidence must exceed
min_confidence(default: 0.75) - Consistency: Evaluations must be consistent (not flip-flopping)
- Transcript Quality: Sufficient transcript content to make a judgment
Example Aggregation
If evaluations conflict (one spam, one not spam), more evaluations are gathered until consistency is achieved or the limit is reached.
Safety Features
Grace Period
Grace Period
No call can be terminated within the first
min_call_duration_before_termination seconds (default: 15).This prevents premature termination from:- Misunderstood greetings
- Brief initial silences
- Caller gathering their thoughts
Non-Blocking Evaluation
Non-Blocking Evaluation
Spam evaluation runs asynchronously and never blocks conversation flow:
- Transcript is evaluated in background
- AI continues responding normally during evaluation
- No latency added to conversation
- If evaluation is slow, conversation proceeds unaffected
Fail-Open Design
Fail-Open Design
If any error occurs during spam detection:
- The call continues normally
- Error is logged for debugging
- No false terminations from system issues
Evaluation Limits
Evaluation Limits
The
max_evaluations_per_call parameter caps total evaluations to:- Control LLM costs
- Prevent infinite evaluation loops
- Once limit reached, no further evaluations occur
Call Termination
When spam is confirmed:- Verdict Persisted: The spam detection result is saved to the call record
- Termination Event Published: A Redis pub/sub event signals call termination
- Call Ends: The call is terminated with a configurable message
- Analytics Updated: Call is marked as spam in analytics
Termination Data
The call record includes:Best Practices
Start Conservative
Start Conservative
Begin with obvious spam scenarios and high confidence thresholds:Monitor for false positives before loosening thresholds.
Use Specific Scenarios
Use Specific Scenarios
Good: “caller is trying to sell life insurance or annuities”Bad: “caller is being annoying”Specific scenarios lead to more accurate detection and fewer false positives.
Balance Allowed Scenarios
Balance Allowed Scenarios
If you see legitimate calls being flagged:
- Review the call transcript
- Identify the pattern that makes it legitimate
- Add a corresponding allowed scenario
Monitor and Iterate
Monitor and Iterate
Review spam-flagged calls regularly:
- Check for false positives
- Identify new spam patterns to add
- Adjust confidence thresholds based on results
- Use call analytics to track spam rates over time
Example Configurations
- Customer Service
- Sales Line
- High Security
Troubleshooting
Legitimate Calls Being Flagged
Legitimate Calls Being Flagged
- Review the flagged call’s transcript
- Check which scenario was matched
- Add an allowed scenario to whitelist the pattern
- Consider increasing
min_confidencethreshold
Spam Calls Not Being Detected
Spam Calls Not Being Detected
- Verify spam detection is enabled for the assistant
- Check if your denied scenarios are specific enough
- Lower
min_confidenceif verdicts aren’t reaching threshold - Review the transcript—does it clearly match a denied scenario?
Too Many Evaluations
Too Many Evaluations
If you’re seeing high LLM costs from spam detection:
- Reduce
max_evaluations_per_call - Increase
min_transcript_lengthto skip short transcripts - Increase
min_transcript_turnsto require more conversation
Spam detection results are included in call webhooks, allowing you to build custom analytics and alerting systems.