Package Information
Documentation
Contact Validator for n8n
Omnichannel Quality & Continuity for n8n Workflows
Validate contacts, intelligently route messages, and ensure critical communications reach your customers through the best available channel.
Overview
Contact Validator brings enterprise-grade contact validation and intelligent multi-channel communication to n8n automation workflows. This package includes three powerful nodes and three ready-to-use workflow templates that help you:
- Validate phone numbers before sending SMS or making calls
- Verify email addresses to reduce bounce rates and improve deliverability
- Execute voice calls for critical notifications and escalations
- Intelligently route messages based on contact quality and channel availability
- Ensure message delivery through automatic channel escalation
What's Included
Three Powerful n8n Nodes
- Number Lookup - Validate and enrich phone number data
- Email Validation - Validate email addresses
- Voice - Execute voice calls with text-to-speech
Three Production-Ready Workflow Templates
- Smart Multi-Channel Campaign - Intelligent outreach with quality gates and voice escalation
- Event Registration Quality Control - Real-time validation and automated event reminders
- Support Ticket Escalation - Priority-based contact escalation with continuity guarantee
Quick Start
Installation
npm install n8n-nodes-contact-validator
Or install directly in n8n:
- Go to Settings → Community Nodes
- Search for
n8n-nodes-contact-validator - Click Install
Prerequisites
You'll need the following API credentials:
Sinch Account - Sign up here
- Project ID
- API Key & Secret
- Service Plan ID (for Voice API)
Mailgun Account - Sign up here
- API Key
- Domain
Configuration
1. Add API Credentials
- In n8n, go to Credentials → New
- Select Sinch API (for Number Lookup and Voice nodes)
- Enter your credentials:
- Project ID
- API Key (Key ID)
- API Secret (Key Secret)
- Service Plan ID (optional, for Voice)
- Region (US/EU/AP)
- Click Save
2. Add Mailgun API Credentials
- In n8n, go to Credentials → New
- Select Mailgun API (for Email Validation node)
- Enter your credentials:
- API Key
- Domain
- Region (US/EU)
- Click Save
Node Documentation
Number Lookup Node
Validate and enrich phone numbers with intelligence about reachability, line type, carrier, and risk factors.
Operations
Number Lookup
- Validate phone number format and active status
- Retrieve carrier information
- Determine line type (mobile, landline, VoIP, toll-free)
- Country and region identification
- Porting status
Reachability Check
- Real-time reachability assessment
- SMS capability detection
- Voice capability detection
- Risk scoring
Bulk Lookup
- Process multiple numbers in batch
- Return aggregated results
Example Output
{
"phoneNumber": "+14155551234",
"countryCode": "US",
"numberType": "mobile",
"carrier": "T-Mobile USA",
"reachable": true,
"smsCapable": true,
"voiceCapable": true,
"riskScore": 0.12,
"ported": false,
"validation": {
"valid": true,
"formatted": "+14155551234"
}
}
Use Cases
- Pre-send validation for SMS campaigns
- Contact list hygiene and cleanup
- Phone number enrichment for CRM
- Fraud detection and risk assessment
Email Validation Node
Validate email addresses, assess deliverability risk, and prevent sending to invalid or risky addresses.
Operations
Single Email Validation
- Format validation (RFC 5322)
- Domain verification (MX records, DNS)
- Mailbox verification
- Risk assessment (disposable, role-based, catch-all)
- Deliverability score
- Typo suggestions
Bulk Email Validation
- Process lists of emails
- Return aggregated risk metrics
Domain Validation
- Check domain reputation
- Verify domain configuration
- MX record validation
Example Output
{
"email": "user@example.com",
"valid": true,
"mailboxVerified": true,
"disposable": false,
"roleBasedAddress": false,
"catchAll": false,
"didYouMean": null,
"riskScore": 0.08,
"deliverabilityScore": 0.95,
"domainReputation": "high",
"reasons": [],
"flagged": false
}
Use Cases
- Pre-send validation for email campaigns
- Form validation and real-time feedback
- Email list cleaning and verification
- Reduce bounce rates and improve sender reputation
Voice Node
Execute voice calls for escalation, notification, and continuity scenarios.
Operations
Make Call
- Outbound call to number
- Custom audio file playback
- Call recording
Text-to-Speech Call
- Convert text to speech
- Multiple voice options and languages
- Dynamic message generation
Conference Call
- Create conference room
- Add participants dynamically
Check Call Status
- Query call status
- Retrieve call logs and recordings
Example Output
{
"callId": "1ce0ffee-ca11-ca11-ca11-abcdef123456",
"to": "+14155551234",
"from": "+14155556789",
"status": "completed",
"duration": 42,
"startTime": "2025-01-13T10:30:00Z",
"endTime": "2025-01-13T10:30:42Z",
"recordingUrl": "https://...",
"cost": 0.012
}
Use Cases
- Critical alert notifications
- Two-factor authentication via voice
- Appointment reminders
- Support ticket escalation
- Emergency communications
Workflow Templates
How to Import Workflow Templates
The workflow templates are included with this package. After installing n8n-nodes-contact-validator, you can find them at:
Location: node_modules/n8n-nodes-contact-validator/workflows/templates/
To import a template:
- Navigate to the template file location above
- Open the desired
.jsonfile and copy its contents - In n8n, click the "+" button in the top right
- Select "Import from File" or "Import from URL"
- Paste the JSON content
- Click "Import"
- Configure your credentials in the imported workflow nodes
Available Templates:
multi-channel-campaign.jsonevent-registration-quality.jsonsupport-escalation-continuity.json
Workflow 1: Smart Multi-Channel Campaign
Use Case: Validate contacts before sending, intelligently route messages based on channel capability, and escalate to voice when critical messages aren't engaged.
How It Works:
- Contact Validation - Validates both phone and email in parallel
- Quality Gate - Routes based on validation results:
- Route A: High quality (valid email + SMS-capable mobile)
- Route B: Email only (invalid/landline phone)
- Route C: Phone only (invalid email)
- Route D: Suppress (both invalid)
- Progressive Engagement (Route A):
- Send email → Wait 24h
- If not opened → Send SMS → Wait 48h
- If still no engagement → Voice call
- CRM Update - Track validation results and engagement
Benefits:
- Reduce wasted messaging costs by 30-50%
- Improve engagement rates through channel optimization
- Automatic escalation ensures critical messages are seen
- Complete audit trail of contact attempts
Workflow 2: Event Registration Quality Control
Use Case: Enhance event registration with real-time validation and automated continuity to ensure attendees receive critical updates.
How It Works:
- Real-Time Validation - Validates contact info at registration
- Quality Check - Accepts valid registrations or requests correction
- Confirmation - Sends email + SMS confirmation
- Reminder Sequence:
- Day -7: Email reminder
- Day -3: SMS reminder
- Day -1: Email + SMS
- Day 0 (2h before): Voice call if no check-in
- Post-Event Follow-up - Survey and engagement tracking
Benefits:
- Prevent no-shows with multi-channel reminders
- Ensure all attendees receive event updates
- Improve data quality for future events
- Higher attendance and engagement rates
Workflow 3: Support Ticket Escalation
Use Case: Automatically escalate high-priority support tickets through the most reliable channels with continuity guarantee.
How It Works:
- Contact Validation - Validates customer contact methods
- Priority Assessment - Routes based on ticket priority
P0/P1 Immediate Escalation:
- Attempt 1: Voice call → Wait 5min
- Attempt 2: SMS + Email → Wait 15min
- Attempt 3: Call alternate contact + Page on-call team
P2/P3 Standard Flow:
- Email → Wait 2h
- If no response → SMS → Wait 4h
- If no response → Voice call
- Tracking - Log all attempts and update customer profile
- Feedback Loop - Track which channels lead to fastest response
Benefits:
- Guaranteed contact for critical issues
- Reduced resolution time
- Improved customer satisfaction
- Optimized support team efficiency
Best Practices
Phone Number Validation
- Always use E.164 format - International format with country code (e.g., +14155551234)
- Validate before sending - Check SMS capability before sending SMS
- Handle errors gracefully - Use "Continue on Error" for bulk operations
- Cache results - Store validation results in your CRM to avoid repeated lookups
Email Validation
- Set appropriate risk thresholds - 0.5 is recommended for marketing, 0.7 for transactional
- Use suggestions - Present "Did you mean?" suggestions to users for typos
- Validate at collection - Validate emails when users submit forms
- Suppress high-risk emails - Don't send to disposable or high-risk addresses
Voice Calls
- Keep messages concise - 30-60 seconds maximum
- Use appropriate voice - Match voice to your brand and audience
- Record important calls - Enable recording for compliance and quality
- Set reasonable timeouts - Don't let calls run indefinitely
- Provide callback options - Always include a callback number
Workflow Design
- Fail gracefully - Use "Continue on Error" to prevent workflow failures
- Log everything - Track all contact attempts in your CRM
- Respect preferences - Honor customer channel preferences
- Test thoroughly - Use sandbox credentials for testing
- Monitor costs - Track API usage and set budget alerts
API Rate Limits
- Number Lookup: 100 requests/second
- Email Validation: 100 requests/hour (free tier), higher on paid plans
- Voice: 10 calls/second per account
Consider implementing rate limiting and queueing for bulk operations.
Troubleshooting
Common Issues
"Invalid credentials" error
- Verify your API Key and Secret are correct
- Check that you've selected the correct region
- Ensure credentials are saved in n8n
"Phone number invalid" error
- Use E.164 format (+country code + number)
- Remove spaces, hyphens, and parentheses
- Ensure country code is included
"Email validation failed" error
- Check that the email address is properly formatted
- Verify your Mailgun domain is verified
- Check your Mailgun API key is active
Voice calls not connecting
- Verify your Service Plan ID is correct
- Ensure the "from" number is a valid phone number from your provider
- Check that the "to" number can receive calls
Examples
Example 1: Validate Phone Before Sending SMS
{
"nodes": [
{
"name": "Number Lookup",
"type": "numberLookup",
"parameters": {
"operation": "reachability",
"phoneNumber": "={{ $json.phone }}",
"checkSms": true
}
},
{
"name": "IF SMS Capable",
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"boolean": [{"value1": "={{ $json.smsCapable }}", "value2": true}]
}
}
},
{
"name": "Send SMS",
"type": "n8n-nodes-base.twilio",
"parameters": {
"operation": "send",
"toNumber": "={{ $json.phoneNumber }}",
"message": "Your verification code is 123456"
}
}
]
}
Example 2: Email Validation with Suggestions
{
"nodes": [
{
"name": "Email Validation",
"type": "emailValidation",
"parameters": {
"operation": "validate",
"emailAddress": "={{ $json.email }}",
"returnSuggestions": true,
"riskThreshold": 0.6
}
},
{
"name": "Check Valid",
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"boolean": [{"value1": "={{ $json.valid }}", "value2": true}]
}
}
},
{
"name": "Send to Valid",
"type": "n8n-nodes-base.emailSend"
},
{
"name": "Suggest Correction",
"type": "n8n-nodes-base.webhook",
"parameters": {
"responseData": "={{ {suggestion: $json.didYouMean} }}"
}
}
]
}
Example 3: Progressive Voice Escalation
{
"nodes": [
{
"name": "Send Email",
"type": "n8n-nodes-base.emailSend"
},
{
"name": "Wait 1 Hour",
"type": "n8n-nodes-base.wait",
"parameters": {"amount": 1, "unit": "hours"}
},
{
"name": "Check Opened",
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"boolean": [{"value1": "={{ $json.opened }}", "value2": false}]
}
}
},
{
"name": "Voice Call",
"type": "programmableVoice",
"parameters": {
"operation": "ttsCall",
"toNumber": "={{ $json.phone }}",
"message": "This is an urgent notification. Please check your email.",
"voice": "en-US-female"
}
}
]
}
License
MIT License - see LICENSE file for details.
Built with ❤️