đź’¬ Automated email verification & onboarding with VerifiEmail, Gmail & Slack
⚡ 238 views · 💬 Lead Nurturing & AI Sales Agents
Description
Customer Onboarding Email Verification
Automated email verification and welcome email workflow that validates new user signups, prevents fake emails, and creates a seamless onboarding experience with real-time team notifications.
Features
âś… Real-time email validation with VerifiEmail API
âś… Automatic data sanitization (lowercase, trim whitespace)
âś… Smart typo detection and correction suggestions
âś… Disposable email domain blocking
âś… Professional HTML welcome emails with responsive design
âś… Automatic duplicate prevention in Google Sheets logging
âś… Real-time Slack notifications for sales/marketing teams
âś… MX record and SMTP deliverability checks
What You Need
Required Accounts/APIs:
- VerifiEmail API - For email validation (verifi.email)
- Gmail account (or SMTP server) - For sending welcome emails
- Google Sheets - For logging verified users
- Slack workspace - For team notifications (optional but recommended)
Setup Instructions
-
Create Google Sheet
- Create new spreadsheet named “Verified Users”
- Add headers: Name | Email | Status | Verified At | Original Email | Validation Score
-
Connect Credentials
- Add VerifiEmail API key in n8n credentials
- Connect Gmail via OAuth2 (enable 2FA, generate app password if needed)
- Connect Google Sheets via OAuth2
- Connect Slack workspace via OAuth2
-
Customize Email Template
- Open “Personalize Welcome Email” node
- Replace “Your Company” with your brand name (appears 3 times)
- Update CTA URLs:
yourapp.com/dashboard→ Your actual dashboard URLyourapp.com/getting-started→ Your docs/guide URLyourapp.com/support→ Your support page URL
- Modify colors: Purple gradient
#667eeato#764ba2(line 37)
-
Configure Slack Channel
- Create #new-signup channel in Slack (or use existing)
- Update channel in “Team Notification” node
-
Test Workflow
- Activate workflow
- Copy webhook URL from Webhook node
- Test with:
curl -X POST [webhook-url] -H "Content-Type: application/json" -d '{"name":"Test User","email":"test@gmail.com"}'
-
Integrate with Your Signup Form
- Point form submission to webhook URL
- Ensure payload includes
nameandemailfields
Input Format
Send POST request to webhook with this JSON:
{
"name": "John Doe",
"email": "johndoe@gmail.com"
}
The workflow handles various input formats (nested in body field, query params, etc.) and sanitizes automatically.
Output
After execution, you’ll get:
- Email validated via VerifiEmail API with deliverability score
- Welcome email sent to user with personalized greeting and CTAs
- User logged to Google Sheets with timestamp and validation details
- Slack notification sent to team with user details and status
- Invalid emails blocked with typo correction suggestions prepared
For Valid Emails (~85-90%):
- Professional HTML welcome email delivered
- Entry added to “Verified Users” sheet
- Real-time Slack alert to #new-signup channel
For Invalid Emails (~10-15%):
- Workflow stops with error message
- No email sent (prevents bounces)
- Typo suggestion prepared (e.g., gmial.com → gmail.com)
Customization
Change Email Design:
Edit the “Personalize Welcome Email” node HTML:
- Colors: Change gradient in line 37:
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) - Logo: Add
<img>tag in header section - Buttons: Modify CTA text and links in lines 45-65
- Footer: Update copyright year and company name
Modify Validation Rules:
In “Prepare Correction Email” node, add more typo patterns:
const commonTypos = {
'gmial': 'gmail',
'gmai': 'gmail',
// Add your custom patterns:
'yourdomain': 'yourcorrectdomain'
}
Enable Correction Email Sending:
Replace “Stop and Error” node with Gmail “Send Email” node:
- Connect from “Prepare Correction Email”
- Use
{{ $json.email }}as recipient - Use
{{ $json.emailBody }}as message - User receives helpful correction suggestion instead of silent failure
Add More Notification Channels:
After “Log Valid Users” node, add:
- Discord webhook for team notifications
- Microsoft Teams connector
- Email to sales@ or support@
- Custom webhook to your CRM
Log Invalid Attempts:
Add Google Sheets node after “Prepare Correction Email”:
- Create “Invalid Attempts” tab in same spreadsheet
- Log: Name, Email, Reason, Suggestion, Timestamp
- Analyze patterns weekly for form improvements
Troubleshooting
“undefined” error in Data Sanitization:
- Check webhook payload structure
- Verify
nameandemailfields are present - Test with the debug code provided in sticky notes
All emails marked as invalid:
- Verify VerifiEmail API key is active
- Test API directly at verifi.email dashboard
Welcome emails not sending:
- Confirm Gmail OAuth2 is connected (check for expired tokens)
- Verify sending limits not exceeded
- Check spam folder if testing with personal email
- Review Gmail “Sent” folder for delivery confirmation
No Slack notifications:
- Verify OAuth2 connection is active
- Check bot has permission to post in #new-signup channel
- Confirm channel ID is correct
- Test Slack credentials in n8n
Duplicate entries in Google Sheets:
- Verify “Email” is set as matching column
- Confirm operation is “Append or Update” not just “Append”
- Check Sheet1 has the exact column names expected
High validation failure rate:
- Review invalid emails in execution logs
- Check for form submission issues (bots, testing)
- Verify VerifiEmail API is not blocking legitimate domains
Performance Optimization
For high-volume signups (>100/day):
- Switch Slack notifications to hourly digest
- Implement rate limiting on webhook
- Consider caching frequent domain validations
- Use Google Workspace for higher email sending limits
Maintenance
Weekly:
- Check VerifiEmail API usage and quota
- Review Slack notifications for anomalies
- Scan Google Sheets for data quality
- Test with sample signup
Monthly:
- Archive old Google Sheets data (>90 days)
- Review invalid email patterns
- Update email template if needed
- Audit credential security
Support
For issues or questions, visit the n8n community forum.
đź”— Nodes Used
Google Sheets, Slack, Webhook, Gmail, Stop and Error
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File