Troubleshoot SMS Delivery
Most SMS messages deliver within seconds, but carrier networks, spam filters, and phone number issues can cause delays or failures. This guide helps you diagnose and fix delivery problems.
Quick diagnostics
Check delivery status in Toolfy
Navigate to Reminders → Message logs (or the Activity tab on any customer/job). Messages show one of three statuses:
- DeliveredMessage reached the customer's device
- SentHanded to carrier, awaiting confirmation (normal for up to 10 minutes)
- FailedCarrier rejected or could not deliver (click for error code)
Review Twilio logs (BYO Twilio only)
In your Twilio console, go to Monitor → Logs → Messaging. Twilio provides detailed error codes (e.g., 30006 = landline, 30007 = spam filtered). Search by recipient number or time range.
Test with your own number first
Send a test reminder to your mobile from Reminders → Channels → Test SMS. If it delivers instantly, the problem is specific to your customer's number or carrier.
Common delivery issues
Messages show 'Sent' but customers never receive them
Possible causes
- • Customer's number is on carrier spam blocklist
- • Carrier filtering message content
- • Phone number format incorrect (missing country code)
- • Customer's phone is off or out of coverage
How to fix
- →Check message content for spam triggers (all caps, too many links, shortened URLs)
- →Verify phone number includes country code (e.g., +44 for UK, +1 for US)
- →Ask customer to check spam/junk SMS folder
- →Review Twilio delivery logs in Settings → SMS → Message logs
Some messages deliver instantly, others take 5+ minutes
Possible causes
- • Carrier throttling during high-traffic periods
- • International messages routing through multiple carriers
- • A2P campaign daily throughput limits
How to fix
- →This is normal carrier behavior—delivery windows can vary
- →Schedule reminders earlier to account for carrier delays
- →For BYO Twilio: check your A2P campaign throughput tier in Twilio console
- →Managed SMS: contact support if delays exceed 10 minutes consistently
Messages fail with 'Undeliverable destination'
Possible causes
- • Phone number is invalid or no longer active
- • Landline number (SMS not supported)
- • Number ported to different carrier but routing not updated
- • Customer blocked SMS from all sources
How to fix
- →Verify number is correct in customer record
- →Ask customer to confirm their mobile number (not landline)
- →Remove invalid numbers to avoid carrier penalties
- →Try alternative contact method (email)
International messages fail or cost more than expected
Possible causes
- • Destination country requires sender registration
- • Your Twilio number type not approved for that country
- • International messaging not enabled on your Twilio account
How to fix
- →Managed SMS: International messaging is enabled by default for most countries
- →BYO Twilio: Enable international permissions in Twilio console
- →Some countries (e.g., India, China) require local sender IDs—contact support
- →Check Twilio's country-specific requirements
Carrier spam filters
Mobile carriers automatically filter messages that look like spam. Follow these best practices to avoid getting blocked:
✓ Good practices
- • Use natural, conversational language
- • Include your business name in every message
- • Provide opt-out instructions
- • Send from a consistent number
- • Space out bulk sends over time
✗ Spam triggers
- • ALL CAPS TEXT
- • Excessive punctuation!!!
- • Shortened URLs (bit.ly, tinyurl)
- • Words like "FREE", "WIN", "URGENT"
- • Sending 100+ identical messages instantly
Phone number formatting
Incorrect number formats are the most common cause of "undeliverable" errors. Toolfy accepts several formats, but international numbers must include country codes.
| Country | Format | Example |
|---|---|---|
| UK | +44 followed by number (no leading 0) | +447700123456 |
| US/Canada | +1 followed by 10-digit number | +14155551234 |
| Australia | +61 followed by number (no leading 0) | +61412345678 |
Toolfy automatically formats UK numbers entered as "07700 123456" to "+447700123456". For other countries, always include the + and country code.
When to escalate to support
Contact support@toolfy.io if:
- •Multiple customers report not receiving messages (potential carrier block)
- •Test messages to your own number fail consistently
- •Delivery delays exceed 30 minutes for more than 10% of messages
- •Twilio error codes you don't understand (include the error code in your email)
- •You need international SMS to a country Toolfy doesn't currently support
Common Twilio error codes
If you're using BYO Twilio, these error codes appear in Twilio console logs:
30003 - Unreachable destination handset
The customer's phone is off, out of coverage, or their inbox is full. Try again later or use email instead.
30006 - Landline or unreachable carrier
The number is a landline or belongs to a carrier that doesn't support SMS. Verify the customer provided a mobile number.
30007 - Message filtered (spam)
Carrier blocked the message as suspected spam. Review your message content and remove spam trigger words/formatting.
30008 - Unknown destination
The phone number is invalid or doesn't exist. Double-check the number in the customer record and remove if incorrect.
21610 - Attempt to send to unsubscribed recipient
The customer previously replied STOP. Remove the opt-out flag in Toolfy (Customers → [Name] → SMS preferences) only if they explicitly re-consent.
Related articles
- Set Up SMS Notifications - Configure SMS reminders
- SMS Opt-Out Management - Handle unsubscribe requests
- Troubleshooting Common Issues - Other platform problems

