Out-of-office detection
Why it matters
An OOO auto-responder and a genuine human reply are structurally identical inbound emails. Without explicit OOO detection, the system treats every Auto-Submitted: auto-replied as a real engagement signal — permanently pausing sequences, creating rep notifications, and potentially marking the contact as 'replied' when they are simply on vacation. The inverse failure is equally bad: some implementations silently discard all inbound emails to avoid OOO noise, missing genuine replies in the process. iso-25010:2011 reliability.fault-tolerance requires that the system handle this expected abnormal input class explicitly, not by accident.
Severity rationale
Medium because undetected OOO messages either incorrectly terminate sequences (false-positive reply) or create spurious rep notifications, degrading signal quality and operational trust.
Remediation
Check IETF-standard headers before routing an inbound email to reply handling. The Auto-Submitted header is the authoritative signal; subject/body patterns catch non-compliant mail clients.
function isOutOfOffice(headers: Record<string, string>, subject: string, body: string): boolean {
if (headers['auto-submitted'] && headers['auto-submitted'] !== 'no') return true
if (headers['x-autoreply']) return true
const oooPatterns = [/out of office/i, /on vacation/i, /automatic reply/i, /auto-reply/i, /away from/i]
return oooPatterns.some(p => p.test(subject) || p.test(body.slice(0, 500)))
}
async function handleInboundEmail(email: InboundEmail) {
if (isOutOfOffice(email.headers, email.subject, email.body)) {
// Temporarily defer — do NOT mark as replied or notify reps
const returnDate = extractReturnDate(email.body) ?? addDays(new Date(), 7)
await deferEnrollmentUntil(email.contactId, returnDate)
return
}
await handleReply(email)
}
Check at least two signal types — Auto-Submitted header plus at least one subject/body pattern — to handle both compliant and non-compliant mail servers.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Campaign Orchestration & Sequencing Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · reliability.fault-tolerance
Taxons
History
- 2026-04-18·v1.0.0·Initial import from campaign-orchestration-sequencing·automated