type.inbound
// previous threads are all self-replies
and (
(
length(body.previous_threads) >= 2
and all(body.previous_threads, .sender.email.email == sender.email.email)
)
// negate forwarded messages
and not (
(length(headers.references) > 0 or headers.in_reply_to is not null)
and subject.is_forward
)
)
// calendar invite present with generic "online location"
and (
length(attachments) > 0
and all(attachments,
(
.file_type == "ics"
or .file_extension == "ics"
or .content_type in ("application/ics", "text/calendar")
)
//
// This rule makes use of a beta feature and is subject to change without notice
// using the beta feature in custom rules is not suggested until it has been formally released
//
and any(beta.file.parse_ics(.).events,
strings.icontains(.location, "online meeting")
)
)
)
Playground
Test against your own EMLs or sample data.