Skip to main content

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

1

Navigate to Settings

Go to your Crew → SettingsBlocked Numbers
2

Add Number

Click Add and enter the phone number
3

Set Options

Choose block behavior and add notes
4

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:
ActionDescription
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"

DNC List Format

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:
MetricDescription
Blocked callsTotal calls blocked
Block reasonsBreakdown by reason
Top blocked numbersMost frequently blocked
Auto-blocksAutomatically triggered blocks
Block ratePercentage 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.
Start with temporary blocks to avoid permanently blocking legitimate callers.
Periodically audit your blocklist to remove outdated entries.
Automatic blocking can catch spam but may block legitimate callers if misconfigured.
Protect important contacts from accidental blocking.
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