Skip to main content

Overview

Verify whether a lead’s phone number or email supports iMessage before sending messages. The system automatically checks all new leads and provides manual re-check options.
iMessage availability checking helps you send messages through the optimal channel and avoid delivery failures.

Automatic Checking

When you upload leads, the system automatically checks availability:
1

Upload Detection

System detects new leads from upload
2

Address Check

Automatically checks all phone and email addresses
3

Status Update

Updates lead record with availability status

Status Indicators

IconStatusDescription
🔵AvailableSupports iMessage (blue bubble)
UnavailableDoes not support iMessage (SMS/email only)
🔄CheckingCurrently verifying
⚠️ErrorCheck failed - retry available
No Active LineConfigure a line first

Manual Checking

Single Lead Check

Check availability for individual leads:
  1. Navigate to Leads page
  2. Find the lead in the table
  3. Click Check Availability button
  4. Status updates in real-time
Re-check leads periodically as contacts may enable or disable iMessage on their devices.

Bulk Checking

Check multiple leads at once:
  1. Select multiple leads using checkboxes
  2. Click Check Availability (bulk action in toolbar)
  3. System checks all selected leads
  4. Progress indicator shows completion
Bulk checking is processed sequentially to avoid rate limiting. Large batches may take a few minutes.

Quick Send Preview

Get instant availability feedback when composing quick messages:
1

Open Quick Send

Navigate to Leads → Import and click Quick Send
2

Enter Recipient

Type phone number or email address
3

Auto-Check

System automatically checks availability (500ms debounce)
4

View Status

See availability icon next to recipient field

Status Icons

  • 🔵 Blue circle - iMessage available
  • Gray circle - Not available (will send as SMS/email)
  • Spinner - Checking…

How It Works

Understanding the availability check process:

Check Priority

The system checks addresses in this order and stops at the first available one:
  1. Primary phone
  2. Primary email
  3. Alternate phone 1
  4. Alternate phone 2
  5. Alternate phone 3
  6. Alternate email 1
  7. Alternate email 2
  8. Alternate email 3
Checking stops at the first available address to optimize performance.

Requirements

Before checking availability, you must have an active line configured:
Important: Without an active line, all checks will show “No Active Line” status.

Setup Required

  1. Navigate to Lines page
  2. Purchase or configure a line
  3. Ensure line status is Active
  4. Line must have a valid Server URL

Configure Lines

Learn how to set up and manage your messaging lines

API Reference

Check Single Lead

Check availability for a specific lead by ID.
GET /api/leads/check-availability?id={leadId}
Response:
{
  "success": true,
  "leadId": "507f1f77bcf86cd799439011",
  "available": true,
  "status": "available"
}

Check Multiple Leads

Batch check multiple leads at once.
POST /api/leads/check-availability
Request:
{
  "leadIds": [
    "507f1f77bcf86cd799439011",
    "507f1f77bcf86cd799439012",
    "507f1f77bcf86cd799439013"
  ]
}
Response:
{
  "success": true,
  "checked": 3,
  "successful": 3,
  "errors": 0,
  "results": [
    {
      "leadId": "507f1f77bcf86cd799439011",
      "available": true,
      "status": "available"
    },
    {
      "leadId": "507f1f77bcf86cd799439012",
      "available": false,
      "status": "unavailable"
    },
    {
      "leadId": "507f1f77bcf86cd799439013",
      "available": true,
      "status": "available"
    }
  ]
}

Check Individual Address

Check availability for a phone or email address (Quick Send).
POST /api/leads/check-availability
Request:
{
  "address": "+12025551234"
}
Response:
{
  "success": true,
  "available": true,
  "address": "+12025551234"
}

Error Codes

CodeDescription
400No active line configured
401Unauthorized - invalid or missing token
404Lead not found
500Server error - check failed

Best Practices

Re-check leads periodically (weekly/monthly) as people change devices and enable/disable iMessage
Use bulk checking for large lists to save time and ensure all leads are current
Always verify availability before launching messaging campaigns to maximize deliverability
If you see high error rates, verify your line configuration and server URL

Troubleshooting

Solution: Configure an active line in Settings → Lines before checking availability.
Solution: Verify your server URL is correct and accessible. Check network connectivity.
Solution: Refresh the page. If issue persists, check your line’s server status.