Blocked Numbers
The blocked numbers feature allows you to prevent specific phone numbers from reaching your agents. Use it to stop spam, harassment, or unwanted repeat callers.
How Blocking Works
Incoming call from +14155551234
↓
Check blocklist → Match found?
↓ ↓
Yes No
↓ ↓
Play message Route to agent
and hang up
Managing the Blocklist
Via Dashboard
Navigate to Settings
Go to your Crew → Settings → Blocked Numbers
Add Number
Click Add and enter the phone number
Set Options
Choose block behavior and add notes
Save
The number is immediately blocked
Via API
Add to blocklist:
curl -X POST https://api.usecrew.ai/v1/blocklist \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"phone_number": "+14155551234",
"reason": "Repeated harassment",
"action": "reject",
"expires_at": null
}'
Remove from blocklist:
curl -X DELETE https://api.usecrew.ai/v1/blocklist/+14155551234 \
-H "Authorization: Bearer YOUR_API_KEY"
List blocked numbers:
curl https://api.usecrew.ai/v1/blocklist \
-H "Authorization: Bearer YOUR_API_KEY"
Block Actions
Configure what happens when a blocked number calls:
Action Description rejectImmediately disconnect busyPlay busy signal messagePlay custom message, then disconnect voicemailSend to voicemail silentAnswer and remain silent
Configuration
{
"blocklist_entry" : {
"phone_number" : "+14155551234" ,
"action" : "message" ,
"message" : "This number has been blocked. Please contact us through other channels." ,
"reason" : "Repeated spam calls" ,
"added_by" : "user@company.com" ,
"added_at" : "2024-01-15T10:00:00Z"
}
}
Temporary Blocks
Block numbers for a limited time:
{
"phone_number" : "+14155551234" ,
"action" : "reject" ,
"reason" : "Temporary block for investigation" ,
"expires_at" : "2024-02-15T00:00:00Z"
}
Auto-Expiry
# Block for 24 hours
curl -X POST https://api.usecrew.ai/v1/blocklist \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"phone_number": "+14155551234",
"reason": "Cooling off period",
"expires_in": "24h"
}'
Automatic Blocking
Agent-Triggered Blocks
Allow agents to add numbers during calls:
{
"auto_block" : {
"agent_can_block" : true ,
"trigger_phrases" : [ "block this number" , "add to blocklist" ],
"confirmation_required" : true ,
"default_reason" : "Blocked during call by agent"
}
}
Threshold-Based Blocking
Automatically block after repeated issues:
{
"auto_block_rules" : [
{
"trigger" : "hangup_count" ,
"threshold" : 5 ,
"window_hours" : 24 ,
"action" : "block_temp" ,
"duration_hours" : 48 ,
"reason" : "Auto-blocked: Excessive hangups"
},
{
"trigger" : "profanity_count" ,
"threshold" : 3 ,
"window_hours" : 24 ,
"action" : "block_permanent" ,
"reason" : "Auto-blocked: Repeated profanity"
}
]
}
Pattern Blocking
Block number patterns instead of individual numbers:
{
"pattern_blocks" : [
{
"pattern" : "+1900*" ,
"reason" : "Block all 900 numbers" ,
"action" : "reject"
},
{
"pattern" : "+1555*" ,
"reason" : "Block fictional numbers" ,
"action" : "reject"
}
]
}
Regex Patterns
{
"pattern_blocks" : [
{
"pattern" : " \\ +1415555 \\ d{4}" ,
"type" : "regex" ,
"reason" : "Block specific range"
}
]
}
Integration with Do Not Call Lists
Importing DNC Lists
curl -X POST https://api.usecrew.ai/v1/blocklist/import \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@dnc_list.csv" \
-F "action=reject" \
-F "reason=DNC list import"
phone_number, reason
+14155551111, Customer request
+14155552222, DNC registry
+14155553333, Unsubscribed
Allowlist (Override)
Create exceptions that bypass the blocklist:
{
"allowlist" : [
{
"phone_number" : "+14155559999" ,
"reason" : "VIP customer - never block" ,
"added_by" : "admin@company.com"
}
]
}
Allowlist takes precedence over blocklist.
Webhooks
Get notified of block events:
{
"event" : "call.blocked" ,
"call_id" : "call_abc123" ,
"phone_number" : "+14155551234" ,
"reason" : "Repeated harassment" ,
"action_taken" : "reject" ,
"timestamp" : "2024-01-15T10:30:00Z"
}
Analytics
Track blocking activity:
Metric Description Blocked calls Total calls blocked Block reasons Breakdown by reason Top blocked numbers Most frequently blocked Auto-blocks Automatically triggered blocks Block rate Percentage of calls blocked
API
curl https://api.usecrew.ai/v1/blocklist/analytics \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"start_date": "2024-01-01",
"end_date": "2024-01-31"
}'
Audit Trail
Track all blocklist changes:
{
"audit_log" : [
{
"action" : "add" ,
"phone_number" : "+14155551234" ,
"performed_by" : "user@company.com" ,
"reason" : "Harassment reported" ,
"timestamp" : "2024-01-15T10:00:00Z"
},
{
"action" : "remove" ,
"phone_number" : "+14155555678" ,
"performed_by" : "admin@company.com" ,
"reason" : "Block expired" ,
"timestamp" : "2024-01-15T12:00:00Z"
}
]
}
Best Practices
Always include a reason for future reference and auditing.
Use temporary blocks first
Start with temporary blocks to avoid permanently blocking legitimate callers.
Periodically audit your blocklist to remove outdated entries.
Set up auto-blocking carefully
Automatic blocking can catch spam but may block legitimate callers if misconfigured.
Protect important contacts from accidental blocking.
Legal Considerations
Blocking callers may have legal implications depending on your industry and jurisdiction. Consult with legal counsel, especially in regulated industries.
Document all blocking decisions
Maintain records of the reason and duration
Provide alternative contact methods when appropriate
Review blocking policies with compliance teams
Next Steps