Slack + MailOdds
Validate emails with slash commands and get validation alerts in your Slack channels. Keep your team informed on email quality.
Prerequisites
- MailOdds account with API key
- Slack workspace with admin access
- Zapier, Make, or n8n account
Slack Use Cases
Slash Command Validation
Type /validate user@example.com in any channel to check an email instantly during sales calls.
Hot Lead Alerts
Get notified when MailOdds detects a hot lead from engagement events, with rich Block Kit formatting.
Bounce/Deferral Alerts
Receive real-time alerts when emails bounce or are deferred, with diagnostic details.
Daily Health Digest
Schedule automated daily reports on validation health and deliverable rates posted to a channel.
How to Connect
n8n: Slack Slash Command Workflow
JSON// n8n Webhook - Slack Slash Command /validate
// 1. Webhook node receives POST from Slack
// 2. Extract email from command text
// 3. HTTP Request to MailOdds API
// 4. Format response as Slack Block Kit message
// 5. Reply to Slack webhook
// POST to https://api.mailodds.com/v1/validate
// Body: { "email": "{{ $json.text }}" }
// Slack response format:
{
"response_type": "ephemeral",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Email Validation Result*\n\nEmail: user@example.com\nStatus: valid\nAction: accept\nScore: 0.95"
}
}
]
} Zapier: Bulk Job Slack Alert
JAVASCRIPT// Zapier: Send Slack Alert for Invalid Emails
// Trigger: MailOdds bulk job webhook (job.completed)
// Filter: Only continue if invalid count > threshold
// Action: Send Slack Channel Message
// Message template:
// :warning: *Email Validation Alert*
// Job `{{job_id}}` completed with {{summary.invalid}} invalid emails.
// Valid: {{summary.valid}} | Invalid: {{summary.invalid}}
// <{{results_url}}|View Full Results> Hot Lead Alerts
Receive real-time Slack alerts when MailOdds detects a hot lead from intent.hot_lead webhook events. Route to your sales channel with rich Block Kit formatting so your team can act immediately.
n8n: Hot Lead Alert for Slack
JAVASCRIPT// n8n Function Node - Format Hot Lead Alert for Slack
const payload = $json;
return {
blocks: [
{
type: "header",
text: { type: "plain_text", text: "Hot Lead Detected" }
},
{
type: "section",
fields: [
{ type: "mrkdwn", text: "*Email:*\n" + payload.to },
{ type: "mrkdwn", text: "*Event:*\n" + payload.event },
{ type: "mrkdwn", text: "*Score:*\n" + (payload.score || "N/A") },
{ type: "mrkdwn", text: "*Time:*\n" + payload.timestamp }
]
},
{
type: "actions",
elements: [{
type: "button",
text: { type: "plain_text", text: "View in Dashboard" },
url: "https://mailodds.com/dashboard"
}]
}
]
}; Bounce and Deferral Alerts
Get notified when emails bounce or are deferred. Trigger on message.bounced and message.deferred webhook events and post diagnostic details to your ops channel.
Understanding is_bot and is_mpp in Webhook Events
is_bot = true when the event came from a security scanner, link prefetcher, or corporate email gateway (not a human). Common with Barracuda, Proofpoint, and Mimecast.
is_mpp = true when the event came from Apple Mail Privacy Protection, which pre-fetches all images and inflates open counts. Affects roughly 50% of iOS/macOS mail users.
Both fields are Booleans on engagement events (opened, clicked). Always guard with == true since they may be absent on non-engagement events.
n8n: Bounce Alert for Slack
JAVASCRIPT// n8n Function Node - Format Bounce/Deferral Alert for Slack
const payload = $json;
return {
blocks: [
{
type: "section",
text: {
type: "mrkdwn",
text: "*Email Bounce Alert*\n*To:* " + payload.to + "\n*Type:* " + (payload.bounce_type || "unknown") + "\n*Message ID:* `" + payload.message_id + "`"
}
}
]
}; Daily Telemetry Digest
Schedule a daily digest from GET /v1/telemetry/summary and post a formatted health report to your team channel. Track validation counts, deliverable rates, and credit usage over time.
Zapier: Daily Telemetry Digest for Slack
JAVASCRIPT// Daily Telemetry Digest for Slack
const response = await fetch('https://api.mailodds.com/v1/telemetry/summary', {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await response.json();
return {
blocks: [
{
type: "header",
text: { type: "plain_text", text: "Daily Email Health Report" }
},
{
type: "section",
fields: [
{ type: "mrkdwn", text: "*Total Validations:*\n" + data.totals.validations },
{ type: "mrkdwn", text: "*Deliverable Rate:*\n" + data.rates.deliverable + "%" },
{ type: "mrkdwn", text: "*Credits Used:*\n" + data.totals.creditsUsed },
{ type: "mrkdwn", text: "*Period:*\n" + data.period }
]
}
]
}; Frequently Asked Questions
Troubleshooting
Need more help?
Can't find what you're looking for? We're here to help you get Slack working.
Add Email Validation to Slack
Get 1,000 free validations and connect MailOdds to your Slack workspace.