Skip to main content

Overview

Send iMessage, SMS, or email to leads or arbitrary recipients. Messages can be sent immediately or scheduled for later delivery.

Quick Send

Perfect for testing, one-off messages, or contacting people not in your system.
No lead required - Send directly to any phone or email address

How to Quick Send

1

Open Quick Send

Navigate to Leads → Import and click Quick Send button
2

Enter Recipient

Type recipient address:
  • Phone: Include country code (e.g., +12025551234)
  • Email: Full email address
3

Check Availability

System automatically checks iMessage availability:
  • 🔵 Blue icon - iMessage available
  • ⚪ Gray icon - Will send as SMS/email
4

Compose Message

Type your message in the text area
5

Choose Timing

Select delivery time:
  • Send Now - Immediate delivery
  • Send Later - Schedule for specific date/time
6

Send

Click Send Now or Schedule Message

Limitations

  • Cannot send to unavailable addresses (button will be disabled)
  • Must have an active line configured
  • Message length limits apply based on type

Send to Leads

The recommended method for campaigns, follow-ups, and organized outreach.

Single Lead Message

Send to one lead at a time:
  1. Navigate to Leads page
  2. Find and select a lead (checkbox)
  3. Click Send Message in toolbar
  4. Compose and configure message
  5. Click Send

Bulk Messaging

Send to multiple leads simultaneously:
1

Select Leads

Check multiple leads in the table
2

Open Message Composer

Click Send Message (bulk action)
3

Compose Message

Type your message (same for all recipients)
4

Choose Message Type

System automatically selects optimal type:
  • iMessage - If available
  • SMS - Fallback for unavailable iMessage
  • Email - Email delivery
5

Set Timing

Choose immediate or scheduled delivery
6

Send Batch

Click Send - progress indicator shows completion
Batch Processing: Messages are sent sequentially with individual delivery status per lead.

Message Types

Choose the right message type for your communication:

iMessage

Blue bubbleApple iMessage deliveryRequires: iMessage enabled

SMS

Green bubbleStandard text messageRequires: Any mobile number

Email

Email deliveryEmail client deliveryRequires: Valid email address
The system automatically selects the best delivery method based on availability checks.

Scheduling Messages

Send messages at the perfect time, even when you’re not available.

Schedule for Later

1

Select 'Send Later'

Choose the scheduling option when composing
2

Pick Date

Use calendar picker to select date
3

Pick Time

Use time picker for specific hour/minute
4

Validation

System validates:
  • Must be future date/time
  • Cannot be in the past
5

Queue Message

Message saved with Scheduled status

How Scheduled Messages Work

Processing: Scheduled messages are processed by a cron job that runs every minute.

Managing Scheduled Messages

View and manage your scheduled messages:
  1. Navigate to Messages page
  2. Filter by status: Scheduled
  3. Can cancel messages before send time
  4. Edit or reschedule as needed

Message Tracking

Every message includes comprehensive tracking data:

Message Properties

status
string
Current message state:
  • Sent - Successfully delivered
  • Scheduled - Queued for future send
  • Failed - Delivery failed
  • Cancelled - Manually cancelled
timestamp
datetime
When message was sent or scheduled
recipient
object
Lead reference or direct address
fromLine
string
Which line sent the message
messageType
string
iMessage, SMS, or Email
batchId
string
For bulk sends - links related messages

View Message History

Access complete message logs:
  1. Navigate to Messages page
  2. Use filters:
    • Status
    • Date range
    • Message type
    • Recipient
  3. Search by content or recipient name
  4. Export for analysis

API Reference

Send messages programmatically via REST API.

Send Message Endpoint

POST /api/messages
Headers:
{
  "Content-Type": "application/json",
  "Authorization": "Bearer <clerk_token>"
}
Request Body:
{
  "message": "Hello! This is a test message.",
  "messageType": "imessage",
  "fromLineId": "507f1f77bcf86cd799439011",
  "recipientPhone": "+12025551234",
  "recipientName": "John Doe",
  "scheduledDate": "2025-10-15T14:30:00Z",
  "leadId": "507f1f77bcf86cd799439012"
}

Request Parameters

message
string
required
Message text content
messageType
string
required
One of: imessage, sms, or email
fromLineId
string
required
ID of the line to send from
recipientPhone
string
Phone number (required if no recipientEmail)
recipientEmail
string
Email address (required if no recipientPhone)
recipientName
string
Display name for recipient
scheduledDate
datetime
ISO 8601 timestamp for scheduled delivery
leadId
string
Associated lead ID (optional)
batchId
string
Batch identifier for bulk operations
Response:
{
  "success": true,
  "message": {
    "_id": "507f1f77bcf86cd799439013",
    "message": "Hello! This is a test message.",
    "messageType": "imessage",
    "status": "sent",
    "createdAt": "2025-10-14T10:30:00Z"
  }
}

Error Codes

CodeDescription
400Missing required fields or invalid data
401Unauthorized - invalid or missing token
404Lead or line not found
500Server error - delivery failed

Complete API Docs

View detailed API documentation with more examples

Best Practices

✅ Do’s

Always verify iMessage availability before bulk sending to maximize delivery rates
Schedule messages for optimal times based on your audience’s timezone and habits
Use lead data to personalize messages and increase engagement
Use Quick Send to test messages before launching full campaigns
Regularly check delivery status and adjust strategy based on results

❌ Don’ts

Avoid these common mistakes:
  • ❌ Sending to unchecked addresses
  • ❌ Spamming recipients with multiple messages
  • ❌ Sending without an active line configured
  • ❌ Using all caps or excessive punctuation
  • ❌ Sending promotional content without consent
  • ❌ Ignoring delivery failures and errors

Troubleshooting

Common causes:
  • Recipient address is invalid
  • Line is not active or misconfigured
  • Server connection issue
Solution: Verify recipient address, check line status, and retry
Common causes:
  • Line became inactive
  • Server was down at scheduled time
  • Message was cancelled
Solution: Check message status in Messages page, verify line is active
Cause: Recipient doesn’t support iMessage and message type is set to iMessage onlySolution: Change message type to SMS or Email, or use auto-select mode